45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
|   // This is the command sequence that rotates the RM68140 driver coordinate frame
 | |
| 
 | |
| 
 | |
|   writecommand(TFT_MADCTL);
 | |
|   rotation = m % 4;
 | |
|   switch (rotation) {
 | |
|    case 0: // Portrait
 | |
|      writedata(TFT_MAD_BGR);
 | |
|      writecommand(0xB6);
 | |
|      writedata(0);
 | |
|      writedata(0x22);
 | |
|      writedata(0x3B);
 | |
|       _width  = TFT_WIDTH;
 | |
|       _height = TFT_HEIGHT;
 | |
|      break;
 | |
|    case 1: // Landscape (Portrait + 90)
 | |
|      writedata(TFT_MAD_MV | TFT_MAD_BGR);
 | |
|      writecommand(0xB6);
 | |
|      writedata(0);
 | |
|      writedata(0x02);
 | |
|      writedata(0x3B);
 | |
|       _width  = TFT_HEIGHT;
 | |
|       _height = TFT_WIDTH;
 | |
|      break;
 | |
|    case 2: // Inverter portrait
 | |
|      writedata(TFT_MAD_BGR);
 | |
|      writecommand(0xB6);
 | |
|      writedata(0);
 | |
|      writedata(0x42);
 | |
|      writedata(0x3B);
 | |
|       _width  = TFT_WIDTH;
 | |
|       _height = TFT_HEIGHT;
 | |
|      break;
 | |
|    case 3: // Inverted landscape
 | |
|      writedata(TFT_MAD_MV | TFT_MAD_BGR);
 | |
|      writecommand(0xB6);
 | |
|      writedata(0);
 | |
|      writedata(0x62);
 | |
|      writedata(0x3B);
 | |
|       _width  = TFT_HEIGHT;
 | |
|       _height = TFT_WIDTH;
 | |
|      break;
 | |
|   }
 | |
|    
 |