//-------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- int main(int argc, char **argv) { int Contrast,Backlight; Contrast = 9; Backlight = 1; printf("RaspiLCD Demo V0.9 by Martin Steppuhn [" __DATE__ " " __TIME__"]\n"); printf("RaspberryHwRevision=%i\r\n",GetRaspberryHwRevision()); if(!RaspiLcdHwInit()) { printf("RaspiLcdHwInit() failed!\r\n"); return 1; } LCD_Init(); // Init Display SetBacklight(1); // Turn Backlight on DemoView = 0; DemoCpuTemperatureInit(); DemoBubblesInit(); while(1) { DemoCount++; SleepMs(100); UpdateButtons(); // printf("Buttons: %02X (%02X) Contrast=%i Backlight=%u\r\n",Button,ButtonPressed,Contrast,Backlight); if((DemoCount & 3) == 0) LogCpuTemperature(); if(BUTTON_PRESSED_UP || BUTTON_PRESSED_DOWN) { if(BUTTON_PRESSED_UP && (Contrast < 20)) Contrast++; if(BUTTON_PRESSED_DOWN && (Contrast > 0)) Contrast--; LCD_SetContrast(Contrast); } if(BUTTON_PRESSED_CENTER) { Backlight = (Backlight) ? 0 : 1; // Toggle Backlight SetBacklight(Backlight); // Write to Hardware } if(BUTTON_PRESSED_LEFT && DemoView) DemoView--; if(BUTTON_PRESSED_RIGHT && (DemoView < 6)) DemoView++; if( DemoView == 0) DemoLogo(); else if(DemoView == 1) { if((DemoCount & 3) == 0) DemoCpuTemperature(); } else if(DemoView == 2) DemoBitmap(); else if(DemoView == 3) DemoFont(); else if(DemoView == 4) DemoVector(); else if(DemoView == 5) DemoBubbles(); else if(DemoView == 6) DemoText(); LCD_WriteFramebuffer(); } return(0); }
void lcd_display_worker(void) { unsigned int cur_ms = millis(); if((cur_ms - last_view_update)<100 && !ButtonPressed) return; last_view_update = cur_ms; /* if(BUTTON_PRESSED_UP || BUTTON_PRESSED_DOWN) { if(BUTTON_PRESSED_UP && (Contrast < 20)) Contrast++; if(BUTTON_PRESSED_DOWN && (Contrast > 0)) Contrast--; LCD_SetContrast(Contrast); } if(BUTTON_PRESSED_CENTER) { Backlight = (Backlight) ? 0 : 1; // Toggle Backlight SetBacklight(Backlight); // Write to Hardware } */ if(BUTTON_PRESSED_LEFT && View) View--; if(BUTTON_PRESSED_RIGHT && (View < 6)) { View++; } if( View == 0) StatusView1(); else if(View == 1) StatusView2(); else if(View == 2) CpuTemperatureView(); else if(View == 3) {PufferTemperatureView();} else if(View == 4) { BrennerTemperatureView(); } else if(View == 5) { AbgasTemperatureView(); } else if(View == 6) {O2View();} else if(View == 7) {DS18B20View();} else if(View == 8) {ConfigView();} LCD_WriteFramebuffer(); }
void InitialView(char *str, uint8_t pos) { uint8_t i; char a[] ={0x7F, 0}; LCD_ClearScreen(); LCD_SetFont(1); LCD_SetPenColor(1); LCD_PrintXY(0,0,"Initialisierung..."); LCD_PrintXY(0, 20, str); for(i=0; i<pos; i++) LCD_PrintXY(0+10*i, 40, a); LCD_WriteFramebuffer(); }