Ejemplo n.º 1
0
void DrawMessageWindow(char* message_line1, char* message_line2,
                       char* message_line3, char buttons)
{
  SetFont(SMALL_FONT);
  LcdSetColor(WHITE);
  LcdRect(5, 9, 123, 54);
  LcdSetColor(BLACK);
  
  LcdLine(6,   9,   122, 9);
  LcdLine(6,   55,  122, 55);
  LcdLine(4,   11,  4,   53);
  LcdLine(124, 11,  124, 53);
  
  LcdLine(5,   10,  5,   10);
  LcdLine(5,   54,  5,   54);
  LcdLine(123, 10,  123, 10);
  LcdLine(123, 54,  123, 54);
  
  LcdBmp(6, 26, BMP_EXLAMATION_WIDTH, BMP_EXLAMATION_HEIGHT, bmp_exlamation); 
  //LcdBmp(6, 26, BMP_KEY_INPUT_WIDTH, BMP_KEY_INPUT_HEIGHT, bmp_key_input); 
  
  LcdText(29, 12, 122, 18, message_line1);
  LcdText(29, 21, 122, 27, message_line2);
  LcdText(29, 30, 122, 36, message_line3);
  
  if(buttons & MB_OK)
    DrawButton(29, 40, BTN_OK, mw_focus == 0);
  if(buttons & MB_CANCEL)
    DrawButton(75, 40, BTN_CANCEL, mw_focus == 1);
};
Ejemplo n.º 2
0
Archivo: menu.c Proyecto: patlas/piwko
void slide_down()
{
	uint8_t i;

	for(i=1;i<6;i++)
	{
		LcdClearLine(i+1);
		LcdRectangle(0,8,83,(i+1)*8,TRANSPARENT);
		if(i==5)
			LcdLine(0,47,83,47,PIXEL_ON);
		delay_ms(50);
	}
}
Ejemplo n.º 3
0
void VBatQuant()
{
    /* Start ADC2 Software Conversion */

    /* Test EOC flag */
    while(ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC) == RESET);

    /* Get ADC2 converted data */
    int adcValue = ADC_GetConversionValue(ADC2);

    //Не задерживаем вывод на экран. Батарейка все равно медленно разряжается, поэтому показываем старое значение
    ADC_StartConversion(ADC2);

    const int Vup = 3080;//6.2 V
    const int Vdown = 2730;//5.5 V
    int value = 0;

    //Vup->6.5 Vdown->0
    value = adcValue-Vdown;
    if(value<0)
        value = 0;

    value = (value*65)/(10*(Vup-Vdown));

    //Draw battery
    byte x0 = 63, y0 = 0;
    LcdLine(x0, x0, y0+1, y0+7, PIXEL_ON );
    LcdLine(x0+1, x0+3, y0+1, y0+1, PIXEL_ON );
    LcdLine(x0+1, x0+3, y0+7, y0+7, PIXEL_ON );

    LcdLine(x0+3, x0+3, y0+1, y0+0, PIXEL_ON );
    LcdLine(x0+3, x0+3, y0+7, y0+8, PIXEL_ON );

    LcdLine(x0+3, x0+19, y0+0, y0+0, PIXEL_ON );
    LcdLine(x0+3, x0+19, y0+8, y0+8, PIXEL_ON );
    LcdLine(x0+20, x0+20, y0+0, y0+8, PIXEL_ON );

    if(value>5)
        LcdSingleBar( x0+2, y0+3+3, 3, 2, PIXEL_ON );

    for(byte i=0; i<5; i++)
    {
        if(value>4-i)
            LcdSingleBar( x0+5+i*3, y0+3+4, 5, 2, PIXEL_ON );
    }
}
Ejemplo n.º 4
0
void DrawParamScreen(void)
{
  SetFont(SMALL_FONT);
  LcdText(1, 0, 118, 7, screens[ps_screen].header);
  LcdLine(0, 8, 127, 8);  
  LcdLine(0, 9, 127, 9);
  LcdLine(0, 20, 127, 20);  
  LcdLine(0, 31, 127, 31);  
  LcdLine(0, 42, 127, 42);  
  LcdLine(0, 53, 127, 53); 
  //LcdLine(0, 54, 127, 54);
  
  LcdLine(42, 10, 42, 52);
  LcdLine(86, 10, 86, 52);
  LcdLine(119, 0, 119, 7);
  
  if(GetPasswordEntered()) LcdText(121, 1, 127, 7, "P");
  
  LcdText(1, 11, 41, 18, GetNameByTag(screens[ps_screen].var1));
  if(ps_focus == 0)
  {
    LcdSetColor(BLACK);
    LcdRect(43, 10, 85, 19);
    LcdSetColor(WHITE);
  };
  LcdText(44, 11, 85, 18, "9234.567");
  LcdSetColor(BLACK);
  LcdText(88, 11, 127, 18, GetUnitByTag(screens[ps_screen].var1));
  
  LcdText(1, 22, 41, 29, "variabl2");
  if(ps_focus == 1)
  {
    LcdSetColor(BLACK);
    LcdRect(43, 21, 85, 30);
    LcdSetColor(WHITE);
  };
  LcdText(44, 22, 85, 29, "9234.567");
  LcdSetColor(BLACK);    
  LcdText(88, 22, 127, 29, "some_tx2");

  LcdText(1, 33, 41, 40, "variabl3");
  if(ps_focus == 2)
  {
    LcdSetColor(BLACK);
    LcdRect(43, 32, 85, 41);
    LcdSetColor(WHITE);
  };
  LcdText(44, 33, 85, 40, "9234.567");
  LcdSetColor(BLACK);    
  LcdText(88, 33, 127, 40, "some_tx3");

  LcdText(1, 44, 41, 51, "variabl4");
  if(ps_focus == 3)
  {
    LcdSetColor(BLACK);
    LcdRect(43, 43, 85, 52);
    LcdSetColor(WHITE);
  };
  LcdText(44, 44, 85, 51, "9234.567");
  LcdSetColor(BLACK);  
  LcdText(88, 44, 127, 51, "some_tx4");
  
  //control buttons
  /*
  if(ps_focus == 4)
  {
    LcdSetColor(BLACK);
    LcdRect(0, 55, 41, 63);
    LcdSetColor(WHITE);
  };
  LcdText(1, 56, 41, 63, "Назад");
  LcdSetColor(BLACK);  

  if(ps_focus == 5)
  {
    LcdSetColor(BLACK);
    LcdRect(43, 55, 85, 63);
    LcdSetColor(WHITE);
  };  
  LcdText(44, 56, 85, 63, "Гл. экр.");
  LcdSetColor(BLACK);
  
  if(ps_focus == 6)
  {
    LcdSetColor(BLACK);
    LcdRect(87, 55, 127, 63);
    LcdSetColor(WHITE);
  };
  LcdText(88, 56, 127, 63, "Вперед");  
  LcdSetColor(BLACK);
  */
  LcdClear();
  DrawButton(0, 53, BTN_BACK, ps_focus == 4);
  DrawButton(42, 53, BTN_HOME, ps_focus == 5);
  DrawButton(84, 53, BTN_FORWARD, ps_focus == 6);
  
  DrawMessageWindow("строка1", "строка2", "строка2", MB_OK + MB_CANCEL);
  
  DrawEditorScreen();
    
  LcdDraw();
}