release version - looks all working

This commit is contained in:
sumotoy 2015-03-04 16:43:55 +01:00
parent c99a78a994
commit 2b5421c3ca
2 changed files with 18 additions and 31 deletions

View file

@ -268,25 +268,18 @@ void TFT_ILI9163C::chipInit() {
delay(1); delay(1);
writecommand_cont(CMD_CLMADRS);//Set Column Address writecommand_cont(CMD_CLMADRS);//Set Column Address
/*
writedata8_cont(0x00);
writedata8_cont(0X00);
writedata8_cont(0X00);
writedata8_cont(_GRAMWIDTH);
*/
writedata16_cont(0x00); writedata16_cont(0x00);
writedata16_cont(_GRAMWIDTH); writedata16_cont(_GRAMWIDTH);
writecommand_cont(CMD_PGEADRS);//Set Page Address writecommand_cont(CMD_PGEADRS);//Set Page Address
/*
writedata8_cont(0x00);
writedata8_cont(0X00);
writedata8_cont(0X00);
writedata8_last(_GRAMHEIGH);
*/
writedata16_cont(0x00); writedata16_cont(0x00);
writedata16_last(_GRAMHEIGH); writedata16_cont(_GRAMHEIGH);
// set scroll area (thanks Masuda)
writecommand_cont(CMD_VSCLLDEF);
writedata16_cont(__OFFSET);
writedata16_cont(_GRAMHEIGH - __OFFSET);
writedata16_last(0);
endProc(); endProc();
colorSpace(_colorspaceData); colorSpace(_colorspaceData);
setRotation(0); setRotation(0);
@ -348,21 +341,17 @@ void TFT_ILI9163C::chipInit() {
delay(1); delay(1);
writecommand(CMD_CLMADRS);//Set Column Address writecommand(CMD_CLMADRS);//Set Column Address
//writedata(0x00);
//writedata(0X00);
//writedata(0X00);
//writedata(_GRAMWIDTH);
writedata16(0x00); writedata16(0x00);
writedata16(_GRAMWIDTH); writedata16(_GRAMWIDTH);
writecommand(CMD_PGEADRS);//Set Page Address writecommand(CMD_PGEADRS);//Set Page Address
//writedata(0x00);
//writedata(0X00);
//writedata(0X00);
//writedata(_GRAMHEIGH);
writedata16(0X00); writedata16(0X00);
writedata16(_GRAMHEIGH); writedata16(_GRAMHEIGH);
// set scroll area (thanks Masuda)
writecommand(CMD_VSCLLDEF);
writedata16(__OFFSET);
writedata16(_GRAMHEIGH - __OFFSET);
writedata16(0);
colorSpace(_colorspaceData); colorSpace(_colorspaceData);
setRotation(0); setRotation(0);
writecommand(CMD_DISPON);//display ON writecommand(CMD_DISPON);//display ON
@ -498,12 +487,12 @@ void TFT_ILI9163C::scroll(uint16_t adrs) {
} }
//corrected! v2 //corrected! v3
void TFT_ILI9163C::clearScreen(uint16_t color) { void TFT_ILI9163C::clearScreen(uint16_t color) {
int px; int px;
#if defined(__MK20DX128__) || defined(__MK20DX256__) #if defined(__MK20DX128__) || defined(__MK20DX256__)
SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0)); SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
writecommand_cont(CMD_RAMWR);//this was missed! //writecommand_cont(CMD_RAMWR);
_setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH); _setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);
for (px = 0;px < _GRAMSIZE; px++){ for (px = 0;px < _GRAMSIZE; px++){
writedata16_cont(color); writedata16_cont(color);
@ -511,7 +500,7 @@ void TFT_ILI9163C::clearScreen(uint16_t color) {
writecommand_last(CMD_NOP); writecommand_last(CMD_NOP);
endProc(); endProc();
#else #else
writecommand(CMD_RAMWR); //writecommand(CMD_RAMWR);
setAddr(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);//go home setAddr(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);//go home
for (px = 0;px < _GRAMSIZE; px++){ for (px = 0;px < _GRAMSIZE; px++){
writedata16(color); writedata16(color);
@ -572,7 +561,6 @@ void TFT_ILI9163C::writeScreen24(const uint32_t *bitmap,uint16_t size) {
} }
void TFT_ILI9163C::homeAddress() { void TFT_ILI9163C::homeAddress() {
//setAddrWindow(0x00,0x00,_GRAMWIDTH-1,_GRAMHEIGH-1);
setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH); setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);
} }

View file

@ -2,7 +2,7 @@
ILI9163C - A fast SPI driver for TFT that use Ilitek ILI9163C. ILI9163C - A fast SPI driver for TFT that use Ilitek ILI9163C.
Features: Features:
- Very FAST!, expecially with Teensy 3.x where uses DMA SPI. - Very FAST!, expecially with Teensy 3.x where uses hyper optimized SPI.
- It uses just 4 or 5 wires. - It uses just 4 or 5 wires.
- Compatible at command level with Adafruit display series so it's easy to adapt existing code. - Compatible at command level with Adafruit display series so it's easy to adapt existing code.
- It uses the standard Adafruit_GFX Library (you need to install). - It uses the standard Adafruit_GFX Library (you need to install).
@ -73,11 +73,11 @@
0.3b2: Minor fix, load 24bit image, Added conversion utility 0.3b2: Minor fix, load 24bit image, Added conversion utility
0.4: some improvement, new ballistic gauge example! 0.4: some improvement, new ballistic gauge example!
0.5: Added scroll and more commands, optimizations 0.5: Added scroll and more commands, optimizations
Fixed a nasty bug in fill screen!
0.6: Small fix, added SD example and subroutines 0.6: Small fix, added SD example and subroutines
0.6b1: Fix clearscreen, missed a parameter. 0.6b1: Fix clearscreen, missed a parameter.
0.6b2: Scroll completed. (thanks Masuda) 0.6b2: Scroll completed. (thanks Masuda)
0.6b3: Clear Screen fix v2. 0.6b3: Clear Screen fix v2. Added Idle mode.
0.7: Init correction.Clear Screen fix v3 (last time?)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BugList of the current version: BugList of the current version:
@ -318,7 +318,6 @@ class TFT_ILI9163C : public Adafruit_GFX {
void _setAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);//graphic Addressing for Teensy void _setAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);//graphic Addressing for Teensy
void waitFifoNotFull(void) { void waitFifoNotFull(void) {
uint32_t sr; uint32_t sr;
uint32_t tmp __attribute__((unused)); uint32_t tmp __attribute__((unused));