Exemplo n.º 1
0
void update_display()
{
    // update display
    LCDclear();
    for(int i=0; i<linebuff.size(); i++)                         
        LCDdrawstring(0, i*8, (char*)linebuff[i].c_str());

     // drawing buttom line    
     for (int i=0; i<83; i+=2)
        LCDdrawline(i, 40, i, 40, BLACK);

     // drawing battery
     LCDdrawrect(70, 42, 12, 5, BLACK);
     LCDdrawrect(81, 43, 3, 3, BLACK);
     // battery charge state    
     battery_level = (battery_level>100) ? 100 : battery_level;
     battery_level = (battery_level<0) ? 0 : battery_level;
     LCDfillrect(70, 43, battery_level/10+1, 4, BLACK); 

    // battery plugged state 
    if(battery_plugged)
    {
        LCDdrawline(66, 43, 68, 43, BLACK);
        LCDdrawline(66, 45, 68, 45, BLACK);
        LCDfillrect(63, 42, 3, 5, BLACK);
        LCDfillrect(61, 43, 2, 3, BLACK);
        LCDdrawline(58, 44, 61, 44, BLACK);
        LCDdrawline(56, 45, 58, 45, BLACK);
    }
}
Exemplo n.º 2
0
static int 
screen_update(screen_t *scp)
{

	LCDdrawstring(0, 0, scp->sc_line1_buf);
	LCDdrawline(0, 10, 83, 10, BLACK);
	if (scp->sc_line2_buf[0] != '\0')
		LCDdrawstring(0, 12, scp->sc_line2_buf);
	if (scp->sc_line3_buf[0] != '\0')
		LCDdrawstring(0, 20, scp->sc_line3_buf);
	if (scp->sc_line4_buf[0] != '\0')
		LCDdrawstring(0, 28, scp->sc_line4_buf);
	LCDdisplay();
	return (0);
}
Exemplo n.º 3
0
void lcdDisplayProfile(struct sGENERAL perfil){
	//while(GPIORead(changeDisplay)!=HIGH){		
		char	Nokia_Nome[25],Nokia_Genero[10],Nokia_Idade[10];
		unsigned int idade = perfil.Age;

		snprintf(Nokia_Nome,25,"Nome:%s",perfil.Name);
		snprintf(Nokia_Genero,10,"Genero:%s",perfil.Sex);
		snprintf(Nokia_Idade,10,"Idade:%d",perfil.Age); 
	
		LCDclear();

		LCDdrawstring(25,0,"PERFIL");
		LCDdrawline(0, 9, 83, 9, BLACK);
		LCDdrawstring(0,11,Nokia_Nome);
		LCDdrawstring(0,29,Nokia_Genero);
		LCDdrawstring(0,39,Nokia_Idade);
	
		LCDdisplay();
	//}
}	
Exemplo n.º 4
0
int main (void)
{
  // print infos
  printf("Raspberry Pi PCD8544 sysinfo display\n");
  printf("========================================\n");

  // check wiringPi setup
  if (wiringPiSetup() == -1)
  {
	printf("wiringPi-Error\n");
    exit(1);
  }

  // init and clear lcd
  LCDInit(_sclk, _din, _dc, _cs, _rst, contrast);
  LCDclear();

  // show logo
  LCDshowLogo();

  delay(2000);

  for (;;)
  {
	  // clear lcd
	  LCDclear();

	  // get system usage / info
	  struct sysinfo sys_info;
	  if(sysinfo(&sys_info) != 0)
	  {
		printf("sysinfo-Error\n");
	  }

	  // uptime
	  char uptimeInfo[15];
	  unsigned long uptime = sys_info.uptime / 60;
	  sprintf(uptimeInfo, "Uptime %ld min.", uptime);

	  // cpu info
	  char cpuInfo[10];
	  unsigned long avgCpuLoad = sys_info.loads[0] / 1000;
	  sprintf(cpuInfo, "CPU %ld%%", avgCpuLoad);

	  // ram info
	  char ramInfo[10];
	  unsigned long totalRam = sys_info.freeram / 1024 / 1024;
	  sprintf(ramInfo, "RAM %ld MB", totalRam);

	  // build screen
	  //LCDdrawstring(0, 0, "Raspberry Pi:");
	  LCDdrawstring(0, 0, "Sunfounder.com");
	  LCDdrawline(0, 10, 83, 10, BLACK);
	  LCDdrawstring(0, 12, uptimeInfo);
	  LCDdrawstring(0, 20, cpuInfo);
	  LCDdrawstring(0, 28, ramInfo);
	  LCDdisplay();

	  delay(1000);
  }

    //for (;;){
  //  printf("LED On\n");
  //  digitalWrite(pin, 1);
  //  delay(250);
  //  printf("LED Off\n");
  //  digitalWrite(pin, 0);
  //  delay(250);
  //}

  return 0;
}
Exemplo n.º 5
0
int main (void)
{
  // print infos
  printf("Raspberry Pi PCD8544 test\n");
  printf("========================================\n");
  
  printf("CLK on Port %i \n", _sclk);
  printf("DIN on Port %i \n", _din);
  printf("DC on Port %i \n", _dc);
  printf("CS on Port %i \n", _cs);
  printf("RST on Port %i \n", _rst);  
  printf("========================================\n");
  
  // check wiringPi setup
  if (wiringPiSetup() == -1)
  {
	printf("wiringPi-Error\n");
    exit(1);
  }
  
  // init and clear lcd
  LCDInit(_sclk, _din, _dc, _cs, _rst, contrast);
  LCDclear();

  // turn all the pixels on (a handy test)
  printf("Test: All pixels on.\n");
  LCDcommand(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYALLON);
  delay(1000);
  // back to normal
  printf("Test: All pixels off.\n");
  LCDcommand(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYNORMAL);
  LCDclear();
  
  // display logo
  printf("Test: Display logo.\n");
  LCDshowLogo();
  delay(2000);
  LCDclear();
  
  // draw a single pixel
  printf("Test: Display single pixel.\n");
  LCDsetPixel(10, 10, BLACK);
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  // draw many lines
  printf("Test: Draw many lines.\n");
  int i;
  for (i=0; i<84; i+=4) {
    LCDdrawline(0, 0, i, 47, BLACK);
  }  
  for (i=0; i<48; i+=4) {
    LCDdrawline(0, 0, 83, i, BLACK);
  }
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  // draw rectangles
  printf("Test: Draw rectangles.\n");
  for (i=0; i<48; i+=2) {
    LCDdrawrect(i, i, 96-i, 48-i, BLACK);
  }
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  // draw multiple rectangles
  printf("Test: Draw multiple rectangles.\n");
  for (i=0; i<48; i++) {
    // alternate colors for moire effect
    LCDfillrect(i, i, 84-i, 48-i, i%2);
  }
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  // draw mulitple circles
  printf("Test: Draw multiple circles.\n");
  for (i=0; i<48; i+=2) {
    LCDdrawcircle(41, 23, i, BLACK);
  }
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  // draw the first ~120 characters in the font
  printf("Test: Draw the first ~120 chars.\n");
  for (i=0; i < 64; i++) {
    LCDdrawchar((i % 14) * 6, (i/14) * 8, i);
  }    
  LCDdisplay();
  delay(2000);
  for (i=0; i < 64; i++) {
    LCDdrawchar((i % 14) * 6, (i/14) * 8, i + 64);
  }
  LCDdisplay();
  delay(2000);
  LCDclear();
  
  return 0;
}