/*! \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; } }
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 }