44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
| // This is the command sequence that rotates the ST7735/ILI9163/S6D02A1 driver coordinate frame
 | |
| 
 | |
|   rotation = m % 4; // Limit the range of values to 0-3
 | |
| 
 | |
|   writecommand(TFT_MADCTL);
 | |
|   switch (rotation) {
 | |
|     case 0:
 | |
|        writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_COLOR_ORDER);
 | |
|       _width  = _width_orig;
 | |
|       _height = _height_orig;
 | |
| #ifdef CGRAM_OFFSET
 | |
|       colstart = R0_OFFSET_X;
 | |
|       rowstart = R0_OFFSET_Y;
 | |
| #endif
 | |
|       break;
 | |
|     case 1:
 | |
|        writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_COLOR_ORDER);
 | |
|       _width  = _height_orig;
 | |
|       _height = _width_orig;
 | |
| #ifdef CGRAM_OFFSET
 | |
|       colstart = R1_OFFSET_X;
 | |
|       rowstart = R1_OFFSET_Y;
 | |
| #endif
 | |
|       break;
 | |
|     case 2:
 | |
|        writedata(TFT_COLOR_ORDER);
 | |
|       _width  = _width_orig;
 | |
|       _height = _height_orig;
 | |
| #ifdef CGRAM_OFFSET
 | |
|       colstart = R2_OFFSET_X;
 | |
|       rowstart = R2_OFFSET_Y;
 | |
| #endif
 | |
|       break;
 | |
|     case 3:
 | |
|        writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_COLOR_ORDER);
 | |
|       _width  = _height_orig;
 | |
|       _height = _width_orig;
 | |
| #ifdef CGRAM_OFFSET
 | |
|       colstart = R3_OFFSET_X;
 | |
|       rowstart = R3_OFFSET_Y;
 | |
| #endif
 | |
|       break;
 | |
|   }
 |