Hello,
I'm implementing an application sitting on CircleOS3.4 and I'm struggling get the contol back to the Application_Handler after leaving a menu.
Watch my settings below:
1)The menu code is very easy:
//Menu Functions
enum MENU_code Node_Info_Init(void)
{
return MENU_CONTINUE_COMMAND;
}
enum MENU_code Node_Info_Action(void)
{
LCD_DisplayChar (10 , 10, (u8)'?' , RGB_PURPLE, 65535, 1);
return MENU_LEAVE;
}
2)I initialize the menu structures in Application_Ini:
/*Menu constants initialization*/
inputOptions.fdispTitle = 1;
inputOptions.Title = 0;
inputOptions.NbItems = 2;
inputOptions.XPos = 10;
inputOptions.YPos = 10;
inputOptions.XSize = 0;
inputOptions.YSize = 0;
inputOptions.Items[0].Text = "node info";
inputOptions.Items[0].Fct_Init = Node_Info_Init;
inputOptions.Items[0].Fct_Manage = Node_Info_Action;
inputOptions.Items[0].fRemoveMenu = 1;
inputOptions.Items[1].Text = "keys";
inputOptions.Items[1].Fct_Init = 0;
inputOptions.Items[1].Fct_Manage = 0;
inputOptions.Items[1].fRemoveMenu = 1;
3)In the Application_Handler I use the following lines to run the menu :
if (( BUTTON_GetState() == BUTTON_PUSHED ))
{
BUTTON_WaitForRelease();
MENU_Set(&inputOptions);
}
---
At the end of the menu operation (Node_Info_Action) looks like if the control is not returning to the the Application_Handler, in fact a second button push is not restarting
the Node_Info_Action menu but the scheduler's main menu.
The deadlines are getting tight and I'm saying my prayers hoping that Circle3.4 has full support for menus (since we already have a blocking issue for USART2 on Circle3.7 and
cannot use the latest).
Regards,
Adalberto