void lcdscreentimer::paintEvent()
{
  if( m_editMode )
  {
  }
  else
  {
    if( m_selectedTime>=0 )
    {
      int x = 0, y = 10*m_selectedTime, dx = 127, dy = 10;
      LCD_SetPenColor(1);
      LCD_DrawLine(x,y,x+dx,y);
      LCD_DrawLine(x+dx,y,x+dx,y+dy);
      LCD_DrawLine(x+dx,y+dy,x,y+dy);
      //LCD_DrawLine(x,y+dy,x,y); // does not really work ?
      LCD_DrawLine(x,y,x,y+dy);
    }
    LCD_SetFont(0);
    LCD_PrintXY(3, 2,timerText1);
    LCD_PrintXY(3,12,timerText2);
    LCD_PrintXY(3,22,timerText3);
    LCD_PrintXY(3,32,timerText4);
    LCD_PrintXY(3,42,timerText5);
  }
}
Esempio n. 2
0
void StatusView2(void)
{	
  char a[20];
  
  MEASUREMENT_VIEW_struct * AbgasMem = pt100_getViewMem();  
  
	LCD_ClearScreen();
	LCD_SetFont(0);	
  LCD_SetPenColor(1);
	LCD_PrintXY(0,0,"PufferKontrollSystem");
  LCD_DrawLine(0,21,127,21);
  LCD_DrawLine(0,42,127,42);
  
  LCD_DrawLine(63,21,63,63);

  LCD_PrintXY(2,23,"Abgas");
  LCD_PrintXY(2,32, AbgasMem->cur_value);

  LCD_PrintXY(66,23,"Verlust");
  double abgasverlust = get_abgasverlust();
  sprintf(a, "%4u",abgasverlust);
  LCD_PrintXY(66,32, a);


}
Esempio n. 3
0
void DemoFont(void)
{
	LCD_ClearScreen();
	LCD_SetFont(0);		LCD_PrintXY(0,0, "Font 0");
	LCD_SetFont(1);		LCD_PrintXY(0,8, "Font 1");
	LCD_SetFont(2);		LCD_PrintXY(0,23,"Font 2");
	LCD_SetFont(3);		LCD_PrintXY(0,39,"Font 3");
}
Esempio n. 4
0
//--------------------------------------------------------------------------------------------------
// Name:      Demo Functions
// Function:  
//            
// Parameter: 
// Return:    
//--------------------------------------------------------------------------------------------------
void DemoLogo(void)
{
	LCD_ClearScreen();
	LCD_DrawBitmap(0,0,bmp_raspi);		
	LCD_SetFont(0);	
	LCD_PrintXY(70,4 ,"Raspi-LCD");		
	LCD_PrintXY(75,14,"Project");
	LCD_PrintXY(68,32,"powered by");
	LCD_PrintXY(70,42,"Emsystech");
	LCD_PrintXY(62,52,"Engineering");
}
Esempio n. 5
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();

}
Esempio n. 6
0
void ConfigView(void)
{	
  char a[20];
 
LCD_ClearScreen();
LCD_SetFont(0);	
  LCD_SetPenColor(1);
LCD_PrintXY(0,0,"Konfiguration");
  LCD_DrawLine(0,21,127,21);
  LCD_DrawLine(0,42,127,42);
  
  LCD_DrawLine(63,21,63,63);
  LCD_PrintXY(2,23,"Puffer :");
  LCD_PrintfXY(64,23, "%dl", app_config_get_puffer_volume());
  
  LCD_PrintXY(2,33,"Licht :");
  LCD_PrintfXY(64,33, "%ds", app_config_get_light_on_time());
  	//LCD_SetFont(0);	

}
Esempio n. 7
0
void StatusView1(void)
{	
  char a[20];
  
  
/*
  (2000x4187x80-MW)/(3600x1000) = …KWh (Was noch in den Puffer geht);

Erklärung hierzu:

2000 = Puffervolumen;
4187 = Ws/(kg*K);  spezifische Wärmekapazität wasser in Wattsekunde/(kg*Kelvin)
80 = Maximaltemperatur des Puffers;
MW = Mittelwertberechnung der 8 Temperaturen;
Heizwert von 1 kg Holz = 3,5 KWh/kg
((2000x4187x80-MW)/(3600x1000))/3,5 = … kg (das ergibt die Holzmenge, die man nachlegen kann) – wird angezeigt am Display;

*/
  
  MEASUREMENT_VIEW_struct * CPUTempMem = cpu_temp_getViewMem();
  MEASUREMENT_VIEW_struct * O2Mem = lambda_getViewMem();
  MEASUREMENT_VIEW_struct * BrennerMem = k_sonde_getViewMem();
  MEASUREMENT_VIEW_struct * PufferMem = ds12b20_getViewMem();
  
  
  
  double KWh = (PUFFERVOLUMEN * SPEZ_WAERMEKAP_WASSER * MAX_PUFFER_TEMP - ds18b20_getAverage()) / (3600 * 1000);
  double kg = KWh / HEIZWERT_HOLZ;
 
	LCD_ClearScreen();
	LCD_SetFont(0);	
  LCD_SetPenColor(1);
	LCD_PrintXY(0,0,"PufferKontrollSystem");
  LCD_DrawLine(0,21,127,21);
  LCD_DrawLine(0,42,127,42);
  
  LCD_DrawLine(63,21,63,63);

  LCD_PrintXY(2,23,"Brenner");
  LCD_PrintXY(2,32, BrennerMem->cur_value);

  LCD_PrintXY(66,23,"Puffer");
  LCD_PrintXY(66,32, PufferMem->cur_value);

  LCD_PrintXY(2,44,"O2");
  LCD_PrintXY(2,53,O2Mem->cur_value);

  LCD_PrintXY(66,44,"nachlegen");
  LCD_PrintfXY(66,53,"%3.1f kg", kg);

}
Esempio n. 8
0
void DemoCpuTemperature(void)
{
	uint16	i,y;
	
	LCD_ClearScreen();
	LCD_SetPenColor(1);
	LCD_SetFont(1);
	LCD_PrintXY(40,0,"CPU:");
	LCD_PrintXY(80,0,TempString);
		
	LCD_SetFont(0);
	LCD_PrintXY(0,0, "60-");
	LCD_PrintXY(0,18,"50-");
	LCD_PrintXY(0,37,"40-");
	LCD_PrintXY(0,56,"30-");
	LCD_DrawLine(15,0,15,63);

	for(i=16;i<128;i++)
	{
		y = DemoMem[127-i];
		
		if(y > 290) 
		{
			y = ((y - 290) / 5);
			y = 64 - y;
			LCD_PutPixel(i,y,1);
			LCD_PutPixel(i,y+1,1);
		}
	}
}
Esempio n. 9
0
void CpuTemperatureView(void)
{
	uint16_t	i,y;
	MEASUREMENT_VIEW_struct * viewMem = cpu_temp_getViewMem();
	LCD_ClearScreen();
	LCD_SetPenColor(1);
	LCD_SetFont(1);
	LCD_PrintXY(40,0,"CPU:");
	LCD_PrintXY(80,0,viewMem->cur_value);
		
	LCD_SetFont(0);
	LCD_PrintXY(0,0, "60-");
	LCD_PrintXY(0,18,"50-");
	LCD_PrintXY(0,37,"40-");
	LCD_PrintXY(0,56,"30-");
	LCD_DrawLine(15,0,15,63);

	for(i=16;i<128;i++)
	{
		y = viewMem->Mem[127-i];
		
		if(y > 290) 
		{
			y = ((y - 290) / 5);
			y = 64 - y;
			LCD_PutPixel(i,y,1);
			LCD_PutPixel(i,y+1,1);
		}
	}
}
Esempio n. 10
0
void DemoText(void)
{	
	LCD_ClearScreen();
	LCD_SetFont(1);	
	LCD_PrintXY(30,0,"Raspi-LCD");
	LCD_PrintXY(0,12,"www.emsystech.de");
	LCD_SetFont(0);	
	LCD_PrintXY(8,29,"128 x 64 Pixel (BW)");
	LCD_PrintXY(6,38,"White LED Backlight");
	LCD_PrintXY(4,47,"8 Lines with 21 Char ");
	LCD_PrintXY(4,56,"in the smallest Font ");
}
Esempio n. 11
0
void AbgasTemperatureView(void)
{
	uint16_t	i,y;
	MEASUREMENT_VIEW_struct * viewMem = pt100_getViewMem();
	LCD_ClearScreen();
	LCD_SetPenColor(1);
	LCD_SetFont(0);
	LCD_PrintXY(30,0,"ABGAS:");
	LCD_PrintXY(80,0,viewMem->cur_value);
		
	LCD_SetFont(0);
	
  int max = roundUp(viewMem->max);
  int min  = roundDown(viewMem->min);
  int diff = max-min;
  int span;
  if(!diff) {
    span = 10;
    if(min) min -= 10;
  }else {
    span = diff/3;
  }
  
  if(span < 10) span = 10;
  
  char dummy[10];
 
    sprintf(dummy,"%4u-",min+(span*3));
    LCD_PrintXY(0,0, dummy);
    
    sprintf(dummy,"%4u-",min+(span*2));
    LCD_PrintXY(0,18,dummy);
    
    sprintf(dummy,"%4u-",min+(span*1));
    LCD_PrintXY(0,37,dummy);
    
    sprintf(dummy,"%4u-",min);
    LCD_PrintXY(0,56,dummy);

  
	LCD_DrawLine(27,0,27,63);
  diff = (span*3);
  
	for(i=27;i<128;i++)
	{
		y = viewMem->Mem[127-i];
		y =  64 - ((double)(y-min)*(double)(64.0/diff));
		LCD_PutPixel(i,y,1);
		LCD_PutPixel(i,y+1,1);
		
	}
}
Esempio n. 12
0
void DS18B20View(void)
{	
  char a[20];
  int i, count;
  DS18B20_struct *ds18b20_dev;
  
 
LCD_ClearScreen();
LCD_SetFont(0);	
  LCD_SetPenColor(1);
LCD_PrintXY(0,0,"DS18B20");
  LCD_DrawLine(0,21,127,21);
  count =  ds18b20_getDeviceCount() ;


  for(i=0; i<count;i++) {
    ds18b20_dev = ds18b20_getDevice(i);
    if(ds18b20_dev->crc)
      LCD_PrintfXY(0,23+(8*i), "%s: %5.1f",ds18b20_dev->_deviceid, ds18b20_dev->tempGrad); 
    else
      LCD_PrintfXY(0,23+(8*i), "%s: Fehler",ds18b20_dev->_deviceid); 
  }
}
Esempio n. 13
0
void O2View(void)
{
	uint16_t	i,y;
  
  if(lambda_fehler()) {
    O2_ErrorView();
    return;
  } 
  else if(!lambda_run()) {
    O2_StatusView();
    return;
  }
  
	MEASUREMENT_VIEW_struct * viewMem = lambda_getViewMem();
	LCD_ClearScreen();
	LCD_SetPenColor(1);
	LCD_SetFont(0);
	LCD_PrintXY(40,0,"O2:");
	LCD_PrintXY(80,0,viewMem->cur_value);
		
	LCD_SetFont(0);
	LCD_PrintXY(0,0, "25-");
	LCD_PrintXY(0,18,"15-");
	LCD_PrintXY(0,37," 5-");
	LCD_PrintXY(0,56," 0-");
	LCD_DrawLine(15,0,15,63);

  
  for(i=16;i<128;i++)
	{
    y = viewMem->Mem[127-i];
    if(y < 25) {
		
      y =  64 - ((double)(y)*(double)(64.0/25));
      LCD_PutPixel(i,y,1);
      LCD_PutPixel(i,y+1,1);
    }
	}

}
Esempio n. 14
0
void DemoBitmap(void)
{
	LCD_DrawBitmap(0,0,bmp_men);	
	LCD_SetFont(1);		LCD_PrintXY(6,0, "Bitmap");
}
Esempio n. 15
0
void O2_StatusView(void)
{
	uint16_t	i,y;
  
	LCD_ClearScreen();
	LCD_SetPenColor(1);
	LCD_SetFont(0);
	LCD_PrintXY( 0,0, "Lambda Fehler!");
	
	LCD_SetFont(0);
  
	LCD_PrintXY(0, 0, "W | S | U | U | S | C");
	LCD_PrintXY(0, 9, "D | P | H | L | O | J");
  LCD_DrawLine(0,18,127,18);
  LCD_PrintXY(0,19, "  |   |   |   |   |  ");
  
  if(lambda_get_single_error(WATCHDOG)) LCD_PrintXY(0,19, "X");
  if(lambda_get_single_error(SPI_ERROR)) LCD_PrintXY(24,19, "X");
  if(lambda_get_single_error(UBAT_HIGH)) LCD_PrintXY(48,19, "X");
  if(lambda_get_single_error(UBAT_LOW)) LCD_PrintXY(72,19, "X");
  if(lambda_get_single_error(SONDE_OVERHEAT)) LCD_PrintXY(96,19, "X");
  if(lambda_get_single_error(CJ_ERROR)) LCD_PrintXY(120,19, "X");

      
      
  LCD_PrintXY(0,35, "DIAHG|IA/IP|UN|VM");
  LCD_PrintXY(0,44, "DIAHD|IA/IP|UN|VM");
  LCD_DrawLine(0,53,127,53);
  LCD_PrintXY(0,54, "     |     |  |  ");
   if(lambda_get_single_cjerror(DIAHG_DIAHD_ERROR)) LCD_PrintXY(12,54, "X");                 
   if(lambda_get_single_cjerror(IA_IP_ERROR)) LCD_PrintXY(54,54, "X"); 
   if(lambda_get_single_cjerror(UN_ERROR)) LCD_PrintXY(78,54, "X"); 
   if(lambda_get_single_cjerror(VM_ERROR)) LCD_PrintXY(96,54, "X"); 
  
  
}