Rework softmenus
Previous issues (#621 (closed) and #630 (closed)) have concluded that the menu system is different from that originally specified in ReM 112. There are some 'gaps' in the specification in the OM/ReM which are further specified here (although the OM/ReM do not need updating to include these extra details).
- There will be separate menu stacks for TAM/AIM and normal modes
- Moving from TAM/AIM to normal will return you to whatever was previously in the normal menu stack
- Moving to TAM/AIM will open a clean menu stack with only the 'default' menu for TAM/AIM
- The default menu for normal mode will be MyMenu, for AIM it will be MyAlpha, and for TAM it will be dependent on whatever the TAM is used for
- Opening a new menu from the softmenu keys (a 'submenu' to a parent menu) will add that menu to the stack
- Opening a new menu from another key (a 'base' menu) will replace the menu stack with just that menu
- Pressing
EXIT
will remove a menu from the stack- If the stack is empty it will be replaced by the default menu in normal mode, or will close entry in AIM/TAM
- We need to ensure there are no infinite loops in the menu system as highlighted by #621 (closed)
Edited by Benjamin Titmus