29 #define min(x,y) ((x)<(y)?(x):(y)) 33 #define max(x,y) ((x)>(y)?(x):(y)) 36 static uint8_t getMaxScreenItems(
void)
50 static uint8_t calculateScrollPosition(
SAppMenu *menu, uint8_t selection)
52 if ( selection < menu->scrollPosition )
56 else if ( selection - menu->
scrollPosition > getMaxScreenItems() - 1)
58 return selection - getMaxScreenItems() + 1;
63 static void drawMenuItem(
SAppMenu *menu, uint8_t index)
83 drawMenuItem(menu, i);
92 uint8_t scrollPosition = calculateScrollPosition( menu, menu->
selection );
void ssd1306_showMenu(SAppMenu *menu)
uint8_t ssd1306_displayWidth()
void ssd1306_negativeMode()
uint8_t ssd1306_displayHeight()
void ssd1306_updateMenu(SAppMenu *menu)
uint8_t ssd1306_printFixed(uint8_t xpos, uint8_t y, const char *ch, EFontStyle style)
void ssd1306_drawRect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2)
void ssd1306_createMenu(SAppMenu *menu, const char **items, uint8_t count)
void ssd1306_clearScreen()
void ssd1306_positiveMode()
uint8_t ssd1306_menuSelection(SAppMenu *menu)
void ssd1306_menuDown(SAppMenu *menu)
void ssd1306_menuUp(SAppMenu *menu)