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)
77 static void drawMenuItem8(
SAppMenu *menu, uint8_t index)
91 static void drawMenuItem16(
SAppMenu *menu, uint8_t index)
111 drawMenuItem(menu, i);
122 drawMenuItem8(menu, i);
133 drawMenuItem16(menu, i);
142 uint8_t scrollPosition = calculateScrollPosition( menu, menu->
selection );
161 uint8_t scrollPosition = calculateScrollPosition( menu, menu->
selection );
180 uint8_t scrollPosition = calculateScrollPosition( menu, menu->
selection );
lcduint_t ssd1306_displayWidth(void)
void ssd1306_drawRect8(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
uint8_t ssd1306_printFixed8(lcdint_t x, lcdint_t y, const char *ch, EFontStyle style)
void ssd1306_createMenu(SAppMenu *menu, const char **items, uint8_t count)
void ssd1306_positiveMode()
uint8_t ssd1306_printFixed16(lcdint_t x, lcdint_t y, const char *ch, EFontStyle style)
uint8_t ssd1306_printFixed(uint8_t xpos, uint8_t y, const char *ch, EFontStyle style)
void ssd1306_updateMenu(SAppMenu *menu)
void ssd1306_drawRect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2)
void ssd1306_drawRect16(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
void ssd1306_updateMenu16(SAppMenu *menu)
void ssd1306_clearScreen16(void)
void ssd1306_menuDown(SAppMenu *menu)
void ssd1306_clearScreen8(void)
lcduint_t ssd1306_displayHeight(void)
void ssd1306_updateMenu8(SAppMenu *menu)
void ssd1306_showMenu8(SAppMenu *menu)
uint8_t ssd1306_menuSelection(SAppMenu *menu)
void ssd1306_clearScreen()
void ssd1306_showMenu(SAppMenu *menu)
void ssd1306_menuUp(SAppMenu *menu)
void ssd1306_negativeMode()
void ssd1306_showMenu16(SAppMenu *menu)