I have an array of strings
Code:
char * s_MainMenu[] =
{
"MAINT ",
" AUTO ",
"MANUAL",
"FAILS "
};
and a struct
Code:
typedef struct
{
char **WordstoDisplay;
uint8_t MenuState;
uint8_t MaxStringIndex;
}g_sDisplay;
g_sDisplay g_DisplayStates;
I initialize it.
Code:
void set_display_state(uint8_t state_val, uint8_t state_maxind, char **words)
{
g_DisplayStates.MenuState = state_val;
g_DisplayStates.MaxStringIndex = state_maxind;
g_DisplayStates.WordstoDisplay = words;
}
set_display_state_ext(MAIN_STATE,MAX_MAIN_INDEX, s_MainMenu);
now as I suppose g_DisplayStates.WordstoDisplay points to s_MainMenu.
now I browse with buttons and display strings
Code:
WriteText((uint8_t *)(*g_DisplayStates.WordstoDisplay + g_uiCounterPush));
also tried this way
WriteText((uint8_t *)(g_DisplayStates.WordstoDisplay + g_uiCounterPush));
But I see gibberish. Obviously my pointers math is wrong.
What should I fix?