Exemple #1
0
void Display::DrawSignalStrength()
{
	//percentage 0-5
	u8g_DrawHLine(&u8g,SIGNALPERCENTAGE_X     ,SIGNALPERCENTAGE_Y + 15,2);
	u8g_DrawHLine(&u8g,SIGNALPERCENTAGE_X + 3 ,SIGNALPERCENTAGE_Y + 15,2);
	u8g_DrawHLine(&u8g,SIGNALPERCENTAGE_X + 6 ,SIGNALPERCENTAGE_Y + 15,2);
	u8g_DrawHLine(&u8g,SIGNALPERCENTAGE_X + 9 ,SIGNALPERCENTAGE_Y + 15,2);
	u8g_DrawHLine(&u8g,SIGNALPERCENTAGE_X + 12,SIGNALPERCENTAGE_Y + 15,2);

	if (radioSignal >= 14) {
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X     ,SIGNALPERCENTAGE_Y + 12, 3);
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 1 ,SIGNALPERCENTAGE_Y + 12, 3);
	}
	if (radioSignal >= 24) {
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 3 ,SIGNALPERCENTAGE_Y + 9 , 6);
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 4 ,SIGNALPERCENTAGE_Y + 9 , 6);
	}
	if (radioSignal >= 34) {
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 6 ,SIGNALPERCENTAGE_Y + 6 , 9);
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 7 ,SIGNALPERCENTAGE_Y + 6 , 9);
	}
	if (radioSignal >= 44) {
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 9 ,SIGNALPERCENTAGE_Y + 3 , 12);
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 10,SIGNALPERCENTAGE_Y + 3 , 12);
	}
	if (radioSignal >= 54) {
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 12,SIGNALPERCENTAGE_Y     , 15);
		u8g_DrawVLine(&u8g,SIGNALPERCENTAGE_X + 13,SIGNALPERCENTAGE_Y     , 15);
	}
}
Exemple #2
0
static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option)
{
    /* upper right */
    if ( option & U8G_DRAW_UPPER_RIGHT )
    {
      u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
    }
    
    /* upper left */
    if ( option & U8G_DRAW_UPPER_LEFT )
    {
      u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
    }
    
    /* lower right */
    if ( option & U8G_DRAW_LOWER_RIGHT )
    {
      u8g_DrawVLine(u8g, x0+x, y0, y+1);
    }
    
    /* lower left */
    if ( option & U8G_DRAW_LOWER_LEFT )
    {
      u8g_DrawVLine(u8g, x0-x, y0, y+1);
    }
}
Exemple #3
0
void Display::DrawWaterIcon()
{
	/*
	 * v 0.1
	 * /
	unsigned char i, j, x;
	for (j = 0; j <= 6; j+=3)
	{
		x = 0;
		for (i = 0; i <= 10; i+=2)
		{
			u8g_DrawLine(&u8g, WATERICON_X + i, WATERICON_Y + j + (x == 1), WATERICON_X + i + 1 , WATERICON_Y + j + (x == 0));
			x = !x;
		}
	}*/

	/*
	 * v 0.2
	 */
	unsigned char i, x = 0;
	u8g_DrawHLine(&u8g,WATERICON_X + 1 ,WATERICON_Y + 8 ,12);
	u8g_DrawVLine(&u8g,WATERICON_X     ,WATERICON_Y     ,8);
	u8g_DrawVLine(&u8g,WATERICON_X + 13,WATERICON_Y     ,8);
	for (i = 1; i <= 11; i+=2)
	{
		u8g_DrawLine(&u8g, WATERICON_X + i, WATERICON_Y + 1 + (x == 1), WATERICON_X + i + 1 , WATERICON_Y + 1 + (x == 0));
		x = !x;
	}
}
Exemple #4
0
void Display::DrawFrostIcon()
{
	u8g_DrawHLine(&u8g,FROSTICON_X + 1 ,FROSTICON_Y + 8 ,6);
	u8g_DrawVLine(&u8g,FROSTICON_X     ,FROSTICON_Y     ,8);
	u8g_DrawVLine(&u8g,FROSTICON_X + 7 ,FROSTICON_Y     ,8);

	u8g_DrawHLine(&u8g,FROSTICON_X + 4 ,FROSTICON_Y + 4 ,10);
	u8g_DrawLine(&u8g, FROSTICON_X + 11,FROSTICON_Y + 2 , FROSTICON_X + 13, FROSTICON_Y + 4);
	u8g_DrawLine(&u8g, FROSTICON_X + 13,FROSTICON_Y + 4 , FROSTICON_X + 11, FROSTICON_Y + 6);
}
Exemple #5
0
void dog_ClrVLine(uint8_t x, uint8_t y1, uint8_t y2)
{
  y1 = dog_height_minus_one - y1;
  y2 = dog_height_minus_one - y2;
  u8g_SetColorIndex(&u8g_dogm128_obj, 0);
  u8g_DrawVLine(&u8g_dogm128_obj, x, y2, y1-y2+1);
}
Exemple #6
0
void draw_logo(uint8_t d)
{
  u8g_SetFont(&u8g, u8g_font_gdr25r);
  u8g_DrawStr(&u8g, 0+d, 30+d, "U");
  u8g_SetFont(&u8g, u8g_font_gdr30n);
  u8g_DrawStr90(&u8g, 23+d,10+d,"8");
  u8g_SetFont(&u8g, u8g_font_gdr25r);
  u8g_DrawStr(&u8g, 53+d,30+d,"g");
  
  u8g_DrawHLine(&u8g, 2+d, 35+d, 47);
  u8g_DrawVLine(&u8g, 45+d, 32+d, 12);
}
Exemple #7
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);
}
Exemple #8
0
// Lua: u8g.drawVLine( self, x, y, width )
static int lu8g_drawVLine( lua_State *L )
{
    lu8g_userdata_t *lud;

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

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

    u8g_DrawVLine( LU8G, args[0], args[1], args[2] );

    return 0;
}
Exemple #9
0
void Display::DrawMainScreen()
{
	DrawFrostIcon();
	DrawWaterIcon();
	u8g_SetFont(&u8g, u8g_font_5x8);
	u8g_DrawStr(&u8g, 0, 36, "set");

	u8g_SetFont(&u8g, u8g_font_7x13);
	for (int i = 0; i < 3; i++)
	{
		u8g_DrawStr(&u8g, 20, ((i+1)*12), temp[i]);
	}

	if (strlen(errorText) > 0)
	{
		u8g_DrawStr(&u8g, 0, 48, errorText);
	}
	else if (heatingState)
		u8g_DrawStr(&u8g, 0, 48, "Heating");

	u8g_DrawStr(&u8g, 0, 64, statusBar);

	u8g_DrawVLine(&u8g,64,0 ,52);
	u8g_DrawHLine(&u8g,0 ,51,64);

	if (radioState)
	{
		if (radioStereo)
		{
			u8g_SetFont(&u8g, u8g_font_5x8);
			u8g_DrawStr(&u8g, 108, 8, "st");
			u8g_SetFont(&u8g, u8g_font_7x13);
		}
		u8g_DrawStr(&u8g, 73, 26, radioChannel);
		DrawSignalStrength();
	}
	if (audioState)
	{
		u8g_DrawStr(&u8g, 81, 38, "Source:");
		u8g_DrawStr(&u8g, 66, 50, audioSource);
	}
}
Exemple #10
0
uint8_t m2_gh_u8g_base(m2_gfx_arg_p  arg)
{
  /* Do a safety check here: Abort if m2_SetU8g has not been called */
  if ( m2_u8g_dev_variables.m2_u8g == NULL )
    return 0;


  /* Proceed with normal message processing */
  switch(arg->msg)
  {
    case M2_GFX_MSG_INIT:		
      break;
    case M2_GFX_MSG_START:
      /* check for proper setup */
      
      break;
    case M2_GFX_MSG_END:
      break;
    case M2_GFX_MSG_DRAW_HLINE:
      u8g_DrawHLine(m2_u8g_dev_variables.m2_u8g, arg->x, m2_u8g_dev_variables.m2_u8g_height_minus_one - arg->y, arg->w);
      break;
    case M2_GFX_MSG_DRAW_VLINE:
      u8g_DrawVLine(m2_u8g_dev_variables.m2_u8g, arg->x, m2_u8g_dev_variables.m2_u8g_height_minus_one - arg->y, arg->h);  
      break;
    case M2_GFX_MSG_DRAW_BOX:
      m2_u8g_draw_box(arg->x, arg->y, arg->w, arg->h);
      break;
    case M2_GFX_MSG_DRAW_TEXT:
      {
        u8g_uint_t x = arg->x;
        u8g_uint_t y;

        u8g_SetColorIndex(m2_u8g_dev_variables.m2_u8g, m2_u8g_dev_variables.m2_u8g_current_text_color);
        u8g_SetFont(m2_u8g_dev_variables.m2_u8g, m2_u8g_get_font(arg->font));
        u8g_SetFontPosBottom(m2_u8g_dev_variables.m2_u8g);
              
        if ( (arg->font & 8) != 0 )
        {
          if ( arg->w != 0 )
          {
            x = arg->w;
            x -= u8g_GetStrWidth(m2_u8g_dev_variables.m2_u8g, arg->s);
            x >>= 1;
            x += arg->x;
          }
        }
        y = m2_u8g_dev_variables.m2_u8g_height_minus_one;
        y -= arg->y;
	y++;			/* 13 Jan 2013: Issue 95, problem 2 */
        x -= u8g_GetStrX(m2_u8g_dev_variables.m2_u8g, arg->s);
        //x += m2_gh_u8g_additional_text_border_x_size;
        u8g_DrawStr(m2_u8g_dev_variables.m2_u8g, x, y, arg->s);
        // printf("DRAW_TEXT: x=%d y=%d s=%s\n", x, y, arg->s);
      }
      break;
    case M2_GFX_MSG_DRAW_TEXT_P:
      {
	u8g_uint_t x = arg->x;
	u8g_uint_t y;
        
        u8g_SetColorIndex(m2_u8g_dev_variables.m2_u8g, m2_u8g_dev_variables.m2_u8g_current_text_color);
        u8g_SetFont(m2_u8g_dev_variables.m2_u8g, m2_u8g_get_font(arg->font));
        u8g_SetFontPosBottom(m2_u8g_dev_variables.m2_u8g);
        
	      if ( (arg->font & 8) != 0 )
        {
	        if ( arg->w != 0 )
	        {
	          x = arg->w;
	          x -= u8g_GetStrWidthP(m2_u8g_dev_variables.m2_u8g, (const u8g_pgm_uint8_t *)arg->s);
	          x >>= 1;
	          x += arg->x;
	        }
        }
        y = m2_u8g_dev_variables.m2_u8g_height_minus_one;
      	y -= arg->y;
        x -= u8g_GetStrXP(m2_u8g_dev_variables.m2_u8g, (const u8g_pgm_uint8_t *)arg->s);
        //x += m2_gh_u8g_additional_text_border_x_size;
	y++;			/* 13 Jan 2013: Issue 95, problem 2 */
      	u8g_DrawStrP(m2_u8g_dev_variables.m2_u8g, x, y, (const u8g_pgm_uint8_t *)arg->s);
      }
Exemple #11
0
void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option)
{
  if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0)
    return;

  int f = 1 - rad;
  int ddF_x = 1;
  int ddF_y = -2*rad;
  uint8_t x = 0;
  uint8_t y = rad;
  
  // Draw vertical diameter at the horiz. center
  // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);

  if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) {
	u8g_DrawVLine(u8g, x0, y0 - rad, rad+1);
  }
  else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) {
	u8g_DrawVLine(u8g, x0, y0, rad+1);
  }
  else {
	u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1);
  }
  
  while( x < y )
  {
    if(f >= 0) 
    {
      y--;
      ddF_y += 2;
      f += ddF_y;
    }
    x++;
    ddF_x += 2;
    f += ddF_x;
    
	//Draw vertical lines from one point to another
	
	switch (option)
	{
		case U8G_CIRC_UPPER_RIGHT:
			u8g_DrawVLine(u8g, x0+x, y0-y, y+1);
			u8g_DrawVLine(u8g, x0+y, y0-x, x+1);
			break;
		case U8G_CIRC_UPPER_LEFT:
			u8g_DrawVLine(u8g, x0-x, y0-y, y+1);
			u8g_DrawVLine(u8g, x0-y, y0-x, x+1);
			break;
		case U8G_CIRC_LOWER_RIGHT:
			u8g_DrawVLine(u8g, x0+x, y0, y+1);
			u8g_DrawVLine(u8g, x0+y, y0, x+1);
			break;
		case U8G_CIRC_LOWER_LEFT:
			u8g_DrawVLine(u8g, x0-x, y0, y+1);
			u8g_DrawVLine(u8g, x0-y, y0, x+1);
			break;
		case U8G_CIRC_ALL:
			u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1);
			u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1);
			u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1);
			u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1);
			break;
	}
  }
}