示例#1
0
文件: main.c 项目: novia713/raspi_lcd
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
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);
}
示例#2
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();
  
}
示例#3
0
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();

}