cleaned up

This commit is contained in:
sumotoy 2014-05-24 02:21:14 +02:00
parent def2720d1b
commit 3d729b544c
2 changed files with 47 additions and 31 deletions

View file

@ -381,12 +381,12 @@ void TFT_ILI9163C::chipInit() {
writedata(0X00);
writedata(_GRAMHEIGH);
writecommand(CMD_MADCTL);//Set Scanning Direction && Colorspace
writedata(DTA_MADCTL_MX | __COLORSPC); //08
//writecommand(CMD_MADCTL);//Set Scanning Direction && Colorspace
//writedata(DTA_MADCTL_MX | __COLORSPC); //08
writecommand(CMD_MADCTL);
writedata(0b00001000);
delay(10);
//writecommand(CMD_SDRVDIR);//Set Source Output Direction
//writedata(0x00);
//delay(10);
writecommand(CMD_DISPON);//display ON
delay(10);
@ -518,7 +518,24 @@ void TFT_ILI9163C::setAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t
writecommand(CMD_RAMWR); //Into RAM
}
//MY: 1(bottom to top), 0(top to bottom) Row Address Order
//MX: 1(R to L), 0(L to R) Column Address Order
//MV: 1(Exchanged), 0(normal) Row/Column exchange
//ML: 1(bottom to top), 0(top to bottom) Vertical Refresh Order
//RGB: 1(BGR), 0(RGB) Color Space
//MH: 1(R to L), 0(L to R) Horizontal Refresh Order
// MY, MX, MV, ML,RGB, MH, D1, D0
/*
( 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0),//normal
( 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0),//Y-Mirror
( 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0),//X-Mirror
( 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0),//X-Y-Mirror
( 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0),//X-Y Exchange
( 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0),//X-Y Exchange, Y-Mirror
( 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0),//XY exchange
( 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0)
};
*/
void TFT_ILI9163C::setRotation(uint8_t m) {
writecommand(CMD_MADCTL);
rotation = m % 4; // can't be higher than 3

View file

@ -18,7 +18,7 @@
have totally different controller that's not compatible.
http://www.ebay.com/itm/Replace-Nokia-5110-LCD-1-44-Red-Serial-128X128-SPI-Color-TFT-LCD-Display-Module-/141196897388
http://www.elecrow.com/144-128x-128-tft-lcd-with-spi-interface-p-855.html
Pay attention that ILI9163C can drive different resolutions and your display can be
Pay attention that can drive different resolutions and your display can be
160*128 or whatever, also there's a strain of this display with a black PCB that a friend of mine
got some weeks ago and need some small changes in library to get working.
If you look at TFT_ILI9163C.h file you can add your modifications and let me know so I
@ -64,7 +64,7 @@
0.1a1: First release, compile correctly. Altrough not fully working!
0.1a3: Better but still some addressing problems.
0.1b1: Beta! Addressing solved, now rotation works and boundaries ok.
0.2b1: Cleaned up.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BugList of the current version:
@ -156,13 +156,13 @@ you can copy those parameters and create setup for different displays.
//ILI9163C registers-----------------------
#define CMD_NOP 0x00//Non operation
#define CMD_SWRESET 0x01//Soft Reset
#define CMD_RDDID 0x04//Read Display Identification Information
#define CMD_RDDST 0x09//Read Display Status
#define CMD_RDMODE 0x0A//Read Display power mode
#define CMD_RDMADCTL 0x0B//Read Display MADCTL (orientation)
#define CMD_RDPIXFMT 0x0C//Read Display Pixel Format
#define CMD_RDIMMDE 0x0D//Read Display Image Mode
#define CMD_RDSNMDE 0x0E//Read Display Signal Mode
// #define CMD_RDDID 0x04//Read Display Identification Information
// #define CMD_RDDST 0x09//Read Display Status
// #define CMD_RDMODE 0x0A//Read Display power mode
// #define CMD_RDMADCTL 0x0B//Read Display MADCTL (orientation)
// #define CMD_RDPIXFMT 0x0C//Read Display Pixel Format
// #define CMD_RDIMMDE 0x0D//Read Display Image Mode
// #define CMD_RDSNMDE 0x0E//Read Display Signal Mode
//#define CMD_RDSNMDE 0x0F//Read Display Signal Mode
#define CMD_SLPIN 0x10//Sleep ON
@ -207,27 +207,27 @@ you can copy those parameters and create setup for different displays.
#define CMD_VCOMCTR2 0xC6//VCOM_Control 2
#define CMD_VCOMOFFS 0xC7//VCOM Offset Control
#define CMD_WRID4VL 0xD3//Write ID4 Value
// #define CMD_WRID4VL 0xD3//Write ID4 Value
#define CMD_NVMEMFC1 0xD5//NV Memory Function Controller(1)
#define CMD_NVMEMFC2 0xD6//NV Memory Function Controller(1)
#define CMD_NVMEMFC3 0xD7//NV Memory Function Controller(1)
#define CMD_RDID1 0xDA//Read ID1
#define CMD_RDID2 0xDB//Read ID2
#define CMD_RDID3 0xDC//Read ID3
#define CMD_RDID4 0xDD//Read ID4
// #define CMD_NVMEMFC1 0xD5//NV Memory Function Controller(1)
// #define CMD_NVMEMFC2 0xD6//NV Memory Function Controller(1)
// #define CMD_NVMEMFC3 0xD7//NV Memory Function Controller(1)
// #define CMD_RDID1 0xDA//Read ID1
// #define CMD_RDID2 0xDB//Read ID2
// #define CMD_RDID3 0xDC//Read ID3
// #define CMD_RDID4 0xDD//Read ID4
#define CMD_PGAMMAC 0xE0//Positive Gamma Correction Setting
#define CMD_NGAMMAC 0xE1//Negative Gamma Correction Setting
#define CMD_GAMRSEL 0xF2//GAM_R_SEL
#define DTA_MADCTL_MX 0x40//0x40 or 00
#define DTA_MADCTL_MY 0x80
#define DTA_MADCTL_MV 0x20
#define DTA_MADCTL_ML 0x10
#define DTA_MADCTL_RGB 0x00
#define DTA_MADCTL_BGR 0x08
#define DTA_MADCTL_MH 0x04
// #define DTA_MADCTL_MX 0x40//0x40 or 00
// #define DTA_MADCTL_MY 0x80
// #define DTA_MADCTL_MV 0x20
// #define DTA_MADCTL_ML 0x10
// #define DTA_MADCTL_RGB 0x00
// #define DTA_MADCTL_BGR 0x08
// #define DTA_MADCTL_MH 0x04
class TFT_ILI9163C : public Adafruit_GFX {
@ -251,7 +251,6 @@ class TFT_ILI9163C : public Adafruit_GFX {
invertDisplay(boolean i);
uint16_t Color565(uint8_t r, uint8_t g, uint8_t b);
void setBitrate(uint32_t n);
//void test(uint8_t rot);
private: