Example #1
0
void u8g_box_frame(uint8_t a) {
    u8g_DrawStr(&u8g, 0, 0, "drawBox");
    u8g_DrawBox(&u8g, 5,10,20,10);
    u8g_DrawBox(&u8g, 10+a,15,30,7);
    u8g_DrawStr(&u8g, 0, 30, "drawFrame");
    u8g_DrawFrame(&u8g, 5,10+30,20,10);
    u8g_DrawFrame(&u8g, 10+a,15+30,30,7);
}
Example #2
0
// Showing the record screen
void showRecordScreen(void){
	char lengthStr[4], totLenTimeStr[9], curLenTimeStr[9];
	itoa(currentLength, lengthStr, 10);
	timeToString(totLenTime, totLenTimeStr);
	timeToString(curLenTime, curLenTimeStr);

	u8g_FirstPage(&u8g);
	u8g_SetDefaultForegroundColor(&u8g);
	u8g_SetFont(&u8g, u8g_font_6x13);
	do{
		// Draw boxes
		u8g_DrawLine(&u8g, 64, 0, 64, 64);
		u8g_DrawLine(&u8g, 64, 32, 128, 32);
		
		// Draw text
		u8g_DrawFrame(&u8g, 0, 0, 128, 64);
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, "Length"))/2, 5, "Length");		
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, lengthStr))/2, 32+5, lengthStr);
		
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, "Total"))/2, 5, "Total");
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, totLenTimeStr))/2, 5+15, totLenTimeStr);
		
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, "Last len"))/2, 5+32, "Last len");
		//u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, timeToString(lastLengthTime, rS)))/2, 5+32+15, timeToString(lastLengthTime, rS));

	} while (u8g_NextPage(&u8g));
}
Example #3
0
void showHistoryTotal(void){
	EEOpen();
	
	uint8_t lengths = EEReadByte(2);
	history.totalLength = lengths;
	history.showLength = 255;
	// This will be wrong till I update the record length
	uint16_t totalTime = EEReadByte(3) << 8;
	totalTime += EEReadByte(4);
	
	// Creating the times for the history display
	char lengthStr[4], totalTimeStr[10];	
	itoa(lengths, lengthStr, 10);
	timeToString(totalTime, totalTimeStr);
	
	u8g_FirstPage(&u8g);
	u8g_SetDefaultForegroundColor(&u8g);
	do {
		u8g_DrawFrame(&u8g, 0, 0, 128, 64);
		u8g_DrawLine(&u8g, 64, 0, 64, 64);
		
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, "Lengths"))/2, 5, "Lengths");
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, lengthStr))/2, 5+20, lengthStr);
		
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, "Time"))/2, 5, "Time");
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, totalTimeStr))/2, 5+20, totalTimeStr);
		
	} while (u8g_NextPage(&u8g));
}
Example #4
0
void drawMainMenu(uint8_t menuPosition){
	char *mainMenuStrings[MAIN_MENU_ITEMS] = {"Last swim", "New Swim"};
	uint8_t i, h;
	u8g_uint_t w, d;
	u8g_SetFont(&u8g, u8g_font_6x13);
	u8g_SetFontRefHeightText(&u8g);
	u8g_SetFontPosTop(&u8g);
	h = u8g_GetFontAscent(&u8g) - u8g_GetFontDescent(&u8g);
	w = u8g_GetWidth(&u8g);
	
	char vccChar[10];
	my_itoa(vcc, vccChar, 10);

	// Doing the actual drawing
	u8g_FirstPage(&u8g);
	do{
		
		for (i = 0; i < MAIN_MENU_ITEMS; i++){
			d = (w - u8g_GetStrWidth(&u8g, mainMenuStrings[i])) / 2;
			u8g_SetDefaultForegroundColor(&u8g);
			if (i == menuPosition){
				u8g_DrawBox(&u8g, 0, i*h+1, w, h);
				u8g_SetDefaultBackgroundColor(&u8g);
			}
			u8g_DrawStr(&u8g, d, i*h, mainMenuStrings[i]);
		}
		u8g_SetDefaultForegroundColor(&u8g);
		u8g_DrawFrame(&u8g, 0, 0, 128, 64);
		
		u8g_DrawStr(&u8g, 5, 50, vccChar);
	} while (u8g_NextPage(&u8g));
}
Example #5
0
/* draw procedure of the u8g picture loop */
void draw(void)
{
  u8g_SetDefaultForegroundColor(&u8g);
  
  if ( is_led_on )
    u8g_DrawBox(&u8g, 0,0,5,5);
  else
    u8g_DrawFrame(&u8g, 0,0,5,5);
  /* call the m2 draw procedure */
  m2_Draw();
}
Example #6
0
void m2_u8g_draw_frame(uint8_t x0, uint8_t y0, uint8_t w, uint8_t h)
{
  u8g_uint_t y;
  y = m2_u8g_dev_variables.m2_u8g_height_minus_one;
  y -= y0;
  y -= h;
  y++;			/* 13 Jan 2013: Issue 95 */
  u8g_SetColorIndex(m2_u8g_dev_variables.m2_u8g, m2_u8g_dev_variables.m2_u8g_draw_color);
  u8g_DrawFrame(m2_u8g_dev_variables.m2_u8g, x0, y, w, h);
  /*
  printf("draw_frame: x=%d y=%d w=%d h=%d\n", x0, y, w, h);
  */
}
Example #7
0
/* drawing callback for battery */
int gui_battery_draw_cb(u8g_t *u8g, struct GuiWindow *win,
                struct GuiPoint abspos)
{
    struct GuiBattery *batt = (struct GuiBattery*)win;
    int percent = batt->percent;

    if (percent < 0) { percent = 0; }
    if (percent > 100) { percent = 100; }

    u8g_SetDefaultMidColor(u8g);
    u8g_DrawBox(u8g, abspos.x, abspos.y, percent / (100/batt->win.size.x), batt->win.size.y);

    u8g_SetDefaultForegroundColor(u8g);
    u8g_DrawFrame(u8g, abspos.x, abspos.y, batt->win.size.x, batt->win.size.y);
    u8g_DrawFrame(u8g, abspos.x+batt->win.size.x, abspos.y+2, 2, 4);

    u8g_SetFont(u8g, u8g_font_helvR08);
    char s[12];
#if 0
    /* print percents */
    int k = itostr(s, 16, vbat_percent);
    s[k] = '%';
    s[k+1] = '\0';
#else
    /* print voltage */
    int vbat100 = batt->vbat_measured / 10;
    if ((batt->vbat_measured % 10) >= 5) { vbat100 += 1; }
    int k = itostr(s, 16, vbat100);
    memmove(s+2, s+1, k-1);
    s[1] = '.';
    s[k+1] = 'V';
    s[k+2] = batt->batt_state;
    s[k+3] = '\0';
#endif
    u8g_DrawStr(u8g,  abspos.x+batt->win.size.x+4, abspos.y+batt->win.size.y, s);

    return 0;
}
Example #8
0
void m2_u8g_draw_frame_shadow(uint8_t x0, uint8_t y0, uint8_t w, uint8_t h)
{
  u8g_uint_t y;
  y = m2_u8g_dev_variables.m2_u8g_height_minus_one;
  y -= y0;
  y -= h;
  y++;			/* 13 Jan 2013: Issue 95 */
  w--;
  h--;
  u8g_SetColorIndex(m2_u8g_dev_variables.m2_u8g, m2_u8g_dev_variables.m2_u8g_draw_color);
  u8g_DrawFrame(m2_u8g_dev_variables.m2_u8g, x0, y, w, h);
  u8g_DrawVLine(m2_u8g_dev_variables.m2_u8g, x0+w, y+1, h);
  u8g_DrawHLine(m2_u8g_dev_variables.m2_u8g, x0+1, y+h, w);
}
Example #9
0
// Lua: u8g.drawFrame( self, x, y, width, height )
static int lu8g_drawFrame( lua_State *L )
{
    lu8g_userdata_t *lud;

    if ((lud = get_lud( L )) == NULL)
        return 0;

    u8g_uint_t args[4];
    lu8g_get_int_args( L, 2, 4, args );

    u8g_DrawFrame( LU8G, args[0], args[1], args[2], args[3] );

    return 0;
}
Example #10
0
void showChargingScreen(void){
	char vccChar[10];
	my_itoa(vcc, vccChar, 10);
	
	u8g_FirstPage(&u8g);
	u8g_SetDefaultForegroundColor(&u8g);
	do {
		u8g_DrawFrame(&u8g, 0, 0, 128, 64);
		
		// Show the first length
		u8g_DrawStr(&u8g, (124 - u8g_GetStrWidth(&u8g, "Charging"))/2, 5, "Charging");
		u8g_DrawStr(&u8g, 60, 20, vccChar);
	} while (u8g_NextPage(&u8g));
}
Example #11
0
void m2_u8g_draw_box_icon(uint8_t x, uint8_t y, uint8_t font, uint8_t icon)
{
  uint8_t h;
  h = m2_u8g_get_box_icon_size(font);
  y = m2_u8g_height_minus_one - y;
  
  u8g_SetColorIndex(m2_u8g, m2_u8g_current_text_color);
  u8g_DrawFrame(m2_u8g, x, y - h, h, h);
  
  if ( icon == M2_ICON_TOGGLE_ACTIVE || icon == M2_ICON_RADIO_ACTIVE )
  {
    h -= 4;
    u8g_DrawBox(m2_u8g, x + 2, y - h - 2, h, h);
  }
}
Example #12
0
void showLength(void){
	uint8_t curTime = EEReadByte(5+history.showLength);
	
	char lengthStr[4], timeStr[9];
	itoa(history.showLength+1, lengthStr, 10);
	timeToString(curTime, timeStr);
	
	u8g_FirstPage(&u8g);
	u8g_SetDefaultForegroundColor(&u8g);
	do {
		u8g_DrawFrame(&u8g, 0, 0, 128, 64);
		u8g_DrawLine(&u8g, 64, 0, 64, 64);
		
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, "Length"))/2, 5, "Length");
		u8g_DrawStr(&u8g, (64 - u8g_GetStrWidth(&u8g, lengthStr))/2, 5+20, lengthStr);
		
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, "Time"))/2, 5, "Time");
		u8g_DrawStr(&u8g, 64+(64 - u8g_GetStrWidth(&u8g, timeStr))/2, 5+20, timeStr);
		
	} while (u8g_NextPage(&u8g));
}
Example #13
0
void u8g_DrawInfo(void) //Malen der Batterie, Anzeige in %
{
    ///////Infos////  X  /////////
    //  Karte   //Pfeil// Frei  //
    //  akt.    //     // hier: //
    //  Raum    /////////       //
    //          //Info //       //
    //          //Karte//       //
    //////////////////////////////

    u8g_DrawHLine(&u8g, 0, 6, 128); //Horizontale Abgrenzungslinie

    u8g_SetFont(&u8g, u8g_font_4x6); //Schriftart

    //////Batterie////////////
    u8g_DrawFrame(&u8g, 0, 0, 10, 5); //Batteriekörper
    u8g_DrawPixel(&u8g, 10, 2);
    int8_t batt_volumeVar = batt_percent/11; //Berechnung Füllung
    if(batt_volumeVar > 8)
        batt_volumeVar = 8;
    if(batt_volumeVar < 0)
        batt_volumeVar = 0;
    u8g_DrawBox(&u8g, 1, 1, batt_volumeVar, 3); //Füllung

    //Anzeige daneben
    u8g_DrawLong(15,	5, batt_percent);
    u8g_DrawStr(&u8g, 25, 	5, "%");

    //Fehleranzeige daneben:
    if(timer_disp_msg == 0)
    {
        disp_msg_i ++;
        if(disp_msg_i == DISP_MSG_I_TOP)
        {
            disp_msg_i = 0;
            if(!(is_msg & (1<<1)))
            {
                which_msg = 0;
            }
            else
            {
                is_msg &= ~ (1<<1);
            }
        }
        is_msg &= ~ (1<<0);
    }

    switch(disp_msg_i)
    {
    case 0:
        if(batt_percent < 20)
        {
            set_msg();
        }
        break;
    case 1:
        if((check_srf & (1<<0)) ||
                (check_srf & (1<<1)) ||
                (check_srf & (1<<2)) ||
                (check_srf & (1<<3)))
        {
            set_msg();
        }
        break;
    case 2:
        if((check_srf & (1<<4)) ||
                (check_srf & (1<<5)) ||
                (check_srf & (1<<6)) ||
                (check_srf & (1<<7)))
        {
            set_msg();
        }
        break;
    case 3:
        if((check_srf & (1<<8)) ||
                (check_srf & (1<<9)) ||
                (check_srf & (1<<10)) ||
                (check_srf & (1<<11)))
        {
            set_msg();
        }
        break;
    case 4:
        if((check_srf & (1<<12)) ||
                (check_srf & (1<<13)) ||
                (check_srf & (1<<14)) ||
                (check_srf & (1<<15)))
        {
            set_msg();
        }
        break;
    case 5:
        if(check_mlx & (1<<0))
        {
            set_msg();
        }
        break;
    case 6:
        if(check_mlx & (1<<1))
        {
            set_msg();
        }
        break;
    case 7:
        if((check_um6 & (1<<0)) ||
                (check_um6 & (1<<1)))
        {
            set_msg();
        }
        break;
    case 8:
        if(motor_off)
        {
            set_msg();
        }
        break;
    case 9:
        if(timer_bt_is_busy > 0)
        {
            set_msg();
        }
        break;
    case 10:
        if(setup)
        {
            set_msg();
        }
        break;
    case 11:
        if(check_um6 & (1<<2))
        {
            set_msg();
        }
    case 12:
        if(!use_map)
        {
            set_msg();
        }
        break;
    }
    u8g_DrawStr(&u8g, 35, 	5, disp_msg[which_msg]);
}