Пример #1
0
void MI0283QT9::setOrientation(uint16_t o)
{
  #define MEM_Y   (7) //MY row address order
  #define MEM_X   (6) //MX column address order 
  #define MEM_V   (5) //MV row / column exchange 
  #define MEM_L   (4) //ML vertical refresh order
  #define MEM_H   (2) //MH horizontal refresh order
  #define MEM_BGR (3) //RGB-BGR Order 

  wr_cmd(LCD_CMD_MEMACCESS_CTRL);

  switch(o)
  {
    default:
    case 0:
      lcd_orientation = 0;
      lcd_width  = 320;
      lcd_height = 240;
      wr_data((1<<MEM_BGR) | (1<<MEM_X) | (1<<MEM_Y) | (1<<MEM_V));
      break;

    case 90:
      lcd_orientation = 90;
      lcd_width  = 240;
      lcd_height = 320;
      wr_data((1<<MEM_BGR) | (1<<MEM_X));
      break;

    case 180:
      lcd_orientation = 180;
      lcd_width  = 320;
      lcd_height = 240;
      wr_data((1<<MEM_BGR) | (1<<MEM_L) | (1<<MEM_V));
      break;

    case 270:
      lcd_orientation = 270;
      lcd_width  = 240;
      lcd_height = 320;
      wr_data((1<<MEM_BGR) | (1<<MEM_Y));
      break;
  }
  
  setArea(0, 0, lcd_width-1, lcd_height-1);

  p_x = PRINT_STARTX;
  p_y = PRINT_STARTY;

  return;
}
Пример #2
0
//-----------------------
// display_162
//----------------------- 
void display_162(void)
{
  unsigned char i;
  
  //WDR();
  wr_com(0x80);  			//set ram address, line1
  
  for(i=0;i<16;i++)
  {
   wr_data(lcd_line1[i]);  	//display "0"
   }

  wr_com(0xc0);				// dispaly line2

  for(i=0;i<16;i++)
  {
   wr_data(lcd_line2[i]);  	//display "0"
  }
}
Пример #3
0
void MI0283QT9::setOrientation(uint_least16_t o)
{
  uint_least8_t p;

  #define MEM_Y   (7) //MY row address order
  #define MEM_X   (6) //MX column address order 
  #define MEM_V   (5) //MV row / column exchange 
  #define MEM_L   (4) //ML vertical refresh order
  #define MEM_H   (2) //MH horizontal refresh order
  #define MEM_BGR (3) //RGB-BGR Order 

       if((o ==   9) || 
          (o ==  90))
  {
    lcd_orientation = 90;
    lcd_width  = LCD_HEIGHT;
    lcd_height = LCD_WIDTH;
    p = (1<<MEM_BGR) | (1<<MEM_X);
  }

  else if((o ==  18) || 
          (o == 180))
  {
    lcd_orientation = 180;
    lcd_width  = LCD_WIDTH;
    lcd_height = LCD_HEIGHT;
    p = (1<<MEM_BGR) | (1<<MEM_L) | (1<<MEM_V);
  }

  else if((o ==  27) || 
          (o ==  14) || 
          (o == 270))
  {
    lcd_orientation = 270;
    lcd_width  = LCD_HEIGHT;
    lcd_height = LCD_WIDTH;
    p = (1<<MEM_BGR) | (1<<MEM_Y);
  }

  else
  {
    lcd_orientation = 0;
    lcd_width  = LCD_WIDTH;
    lcd_height = LCD_HEIGHT;
    p = (1<<MEM_BGR) | (1<<MEM_X) | (1<<MEM_Y) | (1<<MEM_V);
  }

  wr_cmd(LCD_CMD_MEMACCESS_CTRL);
  wr_data(p);

  setArea(0, 0, lcd_width-1, lcd_height-1);

  return;
}
Пример #4
0
void wr_reg( int ra, int rd )
{
    command( ra );
    wr_data( rd );
}