// This is the command sequence that rotates the ILI9163 driver coordinate frame rotation = m % 4; writecommand(TFT_MADCTL); switch (rotation) { case 0: writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); _width = _init_width; _height = _init_height; #ifdef CGRAM_OFFSET colstart = 0; rowstart = 0; #endif break; case 1: writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); _width = _init_height; _height = _init_width; #ifdef CGRAM_OFFSET colstart = 0; rowstart = 0; #endif break; case 2: writedata(TFT_MAD_BGR); _width = _init_width; _height = _init_height; #ifdef CGRAM_OFFSET colstart = 0; rowstart = 32; #endif break; case 3: writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); _width = _init_height; _height = _init_width; #ifdef CGRAM_OFFSET colstart = 32; rowstart = 0; #endif break; }