コード例 #1
0
ファイル: menu.c プロジェクト: 88kacper8/u8glib
void menu_draw(void)
{
  unsigned y, i;
  
  if ( menu_o.current_dialog == CLOCK_DIALOG )
  {
	draw_hm(&oled_o, &clk_o);
  }
  else
  {
    const char *m = menu_dialog_list[menu_o.current_dialog];
    
    oled_set_font(&oled_o, helvR12small);
    
    y = 14;
    for( i = 0; i < menu_o.total; i++ )
    {
	if ( menu_o.curr == i )
	{
	  oled_draw_string(&oled_o, 0, y, ":");
	}
	oled_draw_string(&oled_o, 10, y, m+2); 
	if ( *m == 0xf3 || *m == 0xf2 )
	{
	  oled_draw_num(&oled_o, 100, y, 10, 1, menu_o.num[i]);    
	}
	
	y += 16;
	m = menu_get_entry(m, 1);
    }
  }
}
コード例 #2
0
ファイル: menu.c プロジェクト: 88kacper8/u8glib
static void draw_hm(oled_t *oled, clk_t *clk)
{
  unsigned x, y, d;
  y = 47;
  x = 0;
  d = 25;


  oled_set_font(&oled_o, logisoso46);
  
  x += oled_draw_num(oled,x,y,d,0,clk->current_time.data[2]);
  oled_draw_glyph(oled, x, y, ':');
  x += d/2;
  x += oled_draw_num(oled,x,y,d,1,clk->current_time.data[1]);

  oled_set_font(&oled_o, helvR12small);
  oled_draw_num(oled,100,64,10,1,clk->current_time.data[0]);
  
}
コード例 #3
0
ファイル: SensorTag.c プロジェクト: wythe-lin/ZTKBLE
/**
 * @fn      sensorTag_HandleDisp
 *
 * @brief
 *
 * @param
 *
 * @return
 */
static void sensorTag_HandleDisp(unsigned char mode, void *p)
{
	VOID		*p;
	UTCTimeStruct	time;


	if ((mode & 0xF0) == MODE_SLEEP) {
		// display time
		sensorTag_ClockGet(&time, 0);

		oled_set_font(&num8x16);
		oled_draw_icon(1,  0, time.hour/10);
		oled_draw_icon(1,  8, time.hour%10);
		oled_draw_icon(1, 16, 10);
		oled_draw_icon(1, 24, time.minutes/10);
		oled_draw_icon(1, 32, time.minutes%10);

		// display sleep icon
		oled_set_font(&icon16x16);
		oled_draw_icon(0, 44, 6);

		// display battery
		sensorTag_BattDisp(batt_get_level());
		return;
	}

	switch (mode & 0x0F) {
	case MODE_TIME:
		if ((mode & 0xF0) == MODE_NORMAL) {
			// display time
			sensorTag_ClockGet(&time, 0);

			oled_set_font(&num8x16);
			oled_draw_icon(1,  0, time.hour/10);
			oled_draw_icon(1,  8, time.hour%10);
			oled_draw_icon(1, 16, 10);
			oled_draw_icon(1, 24, time.minutes/10);
			oled_draw_icon(1, 32, time.minutes%10);

			// display clock icon
			oled_set_font(&icon16x16);
			oled_draw_icon(0, 44, 13);

		} else {
			// display chronograph
			sensorTag_ClockGet(&time, workout.time);

			oled_set_font(&num8x16);
			oled_draw_icon(0,  0, time.hour/10);
			oled_draw_icon(0,  8, time.hour%10);
			oled_draw_icon(0, 16, 10);
			oled_draw_icon(0, 24, time.minutes/10);
			oled_draw_icon(0, 32, time.minutes%10);
			oled_draw_icon(0, 40, 10);
			oled_draw_icon(0, 48, time.seconds/10);
			oled_draw_icon(0, 56, time.seconds%10);
		}
		// display battery
		sensorTag_BattDisp(batt_get_level());
		break;

	case MODE_STEP:
		// display step icon
		oled_set_font(&icon16x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_icon(0, 44, 0);
		} else {
			oled_draw_icon(0, 44, 1);
		}
		// display step
		oled_set_font(&num8x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_num(1, 0, normal.steps);
		} else {
			oled_draw_num(1, 0, normal.steps - workout.steps);
		}
		break;

	case MODE_CALORIE:
		// display calorie icon
		oled_set_font(&icon16x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_icon(0, 44, 2);
		} else {
			oled_draw_icon(0, 44, 3);
		}
		// display calorie
		oled_set_font(&num8x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_num(1, 0, normal.calorie);
		} else {
			oled_draw_num(1, 0, workout.calorie);
		}
		break;

	case MODE_DISTANCE:
		// display distance icon
		oled_set_font(&icon16x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_icon(0, 44, 4);
		} else {
			oled_draw_icon(0, 44, 5);
		}
		// display distance
		oled_set_font(&num8x16);
		if ((mode & 0xF0) == MODE_NORMAL) {
			oled_draw_num(1, 0, normal.distance);
		} else {
			oled_draw_num(1, 0, workout.distance);
		}
		break;

	case MODE_DBG:
		oled_set_font(&fonts7x8);
		oled_gotoxy(0, 0);
		oled_puts("x:");
		oled_puts_04x(acc[0]);

		oled_gotoxy(1, 0);
		oled_puts("y:");
		oled_puts_04x(acc[1]);

		oled_gotoxy(2, 0);
		oled_puts("z:");
		oled_puts_04x(acc[2]);

		oled_gotoxy(3, 0);
		oled_puts("s:");
		oled_puts_05u(normal.steps);
		break;
	}
}