void main_platform() { if(button_read_button(&down_btn)) { if(is_view(gfx_mono_active_menu)) { if(gfx_mono_active_menu != NO_GPS_VIEW) { display_next_view(); } } // If it's not a view then the down button should be used for menu navigation. else { gfx_mono_menu_process_key(&menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)], GFX_MONO_MENU_KEYCODE_DOWN); ssd1306_write_display(); } } if(button_read_button(&select_btn)) { if(is_view(gfx_mono_active_menu)) { ssd1306_clear_display(); display_menu(MAIN_MENU); } else { volatile uint8_t menuChoice = gfx_mono_menu_process_key(&menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)], GFX_MONO_MENU_KEYCODE_ENTER); menu_link menu = menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].element_links[menuChoice]; // TODO: Skriv om snyggare :) if(menu == EXIT_MENU) { menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].current_page = 0; menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].current_selection = 0; if(is_view(menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].parent)) { display_view(menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].parent); } else { menu = menu_list[gfx_mono_active_menu-(VIEW_MAX_INDEX+1)].parent; display_menu(menu); } } else { display_menu(menu); } } } }
void draw_speed_view() { ssd1306_clear_display(); ssd1306_draw_huge_number(15,1,device.speed); }