Esempio n. 1
0
/*! \brief Set LCD orientation.
 *
 *  It sets the orientation of  the LCD.
 *  @param contrast Value between 0 and \ref DEGREE_270
 */
void lcd_set_Orientation(ORIENTATION orientation)
{
    if(d_orientation == orientation)
        return;
    d_orientation = orientation;
    writecommand_last(ILI9341_MADCTL);
    switch(d_orientation){
        case rot90: {
            d_width_x = LCD_WIDTH_Y;
            d_width_y = LCD_WIDTH_X;
            writedata8_last(ILI9341_MADCTL_BGR | ILI9341_MADCTL_MX | ILI9341_MADCTL_MY);
        }
        break;
        case rot180: {
            d_width_x = LCD_WIDTH_X;
            d_width_y = LCD_WIDTH_Y;
            writedata8_last(ILI9341_MADCTL_BGR | ILI9341_MADCTL_MX | ILI9341_MADCTL_MV);
        }
        break;
        case rot270: {
            d_width_x = LCD_WIDTH_Y;
            d_width_y = LCD_WIDTH_X;
            writedata8_last(ILI9341_MADCTL_BGR);
        }
        break;
        default: {
            d_width_x = LCD_WIDTH_X;
            d_width_y = LCD_WIDTH_Y;
            writedata8_last(ILI9341_MADCTL_BGR | ILI9341_MADCTL_MV | ILI9341_MADCTL_MY);
        }
        break;
    }

}
Esempio n. 2
0
void TFT_ILI9163C::setRotation(uint8_t m) {
	rotation = m % 4; // can't be higher than 3
	switch (rotation) {
	case 0:
		_Mactrl_Data = 0b00001000;
		_width  = _TFTWIDTH;
		_height = _TFTHEIGHT;//-__OFFSET;
		break;
	case 1:
		_Mactrl_Data = 0b01101000;
		_width  = _TFTHEIGHT;//-__OFFSET;
		_height = _TFTWIDTH;
		break;
	case 2:
		_Mactrl_Data = 0b11001000;
		_width  = _TFTWIDTH;
		_height = _TFTHEIGHT;//-__OFFSET;
		break;
	case 3:
		_Mactrl_Data = 0b10101000;
		_width  = _TFTWIDTH;
		_height = _TFTHEIGHT;//-__OFFSET;
		break;
	}
	colorSpace(_colorspaceData);
	#if defined(__MK20DX128__) || defined(__MK20DX256__)
		SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
		writecommand_cont(CMD_MADCTL);
		writedata8_last(_Mactrl_Data);
		endProc();
	#else
		writecommand(CMD_MADCTL);
		writedata(_Mactrl_Data);
	#endif
}