fixed clearScreen V2, added idle mode
This commit is contained in:
parent
3a707debdf
commit
8ea48b902e
3 changed files with 32 additions and 10 deletions
|
|
@ -417,6 +417,26 @@ void TFT_ILI9163C::display(boolean onOff) {
|
|||
}
|
||||
}
|
||||
|
||||
void TFT_ILI9163C::idleMode(boolean onOff) {
|
||||
if (onOff){
|
||||
#if defined(__MK20DX128__) || defined(__MK20DX256__)
|
||||
SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
|
||||
writecommand_last(CMD_IDLEON);
|
||||
endProc();
|
||||
#else
|
||||
writecommand(CMD_IDLEON);
|
||||
#endif
|
||||
} else {
|
||||
#if defined(__MK20DX128__) || defined(__MK20DX256__)
|
||||
SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
|
||||
writecommand_last(CMD_IDLEOF);
|
||||
endProc();
|
||||
#else
|
||||
writecommand(CMD_IDLEOF);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void TFT_ILI9163C::sleepMode(boolean mode) {
|
||||
if (mode){
|
||||
if (sleep == 1) return;//already sleeping
|
||||
|
|
@ -464,38 +484,38 @@ void TFT_ILI9163C::defineScrollArea(uint16_t tfa, uint16_t bfa){
|
|||
}
|
||||
|
||||
void TFT_ILI9163C::scroll(uint16_t adrs) {
|
||||
if (adrs <= _GRAMHEIGH) {
|
||||
#if defined(__MK20DX128__) || defined(__MK20DX256__)
|
||||
SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
|
||||
writecommand_cont(CMD_VSSTADRS);
|
||||
writedata16_last(adrs);
|
||||
writedata16_last(adrs + __OFFSET);
|
||||
endProc();
|
||||
#else
|
||||
writecommand(CMD_VSSTADRS);
|
||||
writedata16(adrs);
|
||||
writedata16(adrs + __OFFSET);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//corrected!
|
||||
//corrected! v2
|
||||
void TFT_ILI9163C::clearScreen(uint16_t color) {
|
||||
int px;
|
||||
#if defined(__MK20DX128__) || defined(__MK20DX256__)
|
||||
//SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
|
||||
setAddr(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);//go home
|
||||
//writecommand_cont(CMD_RAMWR);//this was missed!
|
||||
SPI.beginTransaction(SPISettings(SPICLOCK, MSBFIRST, SPI_MODE0));
|
||||
writecommand_cont(CMD_RAMWR);//this was missed!
|
||||
_setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);
|
||||
for (px = 0;px < _GRAMSIZE; px++){
|
||||
writedata16_cont(color);
|
||||
}
|
||||
_setAddrWindow(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);//go home
|
||||
writecommand_last(CMD_NOP);
|
||||
endProc();
|
||||
#else
|
||||
writecommand(CMD_RAMWR);
|
||||
setAddr(0x00,0x00,_GRAMWIDTH,_GRAMHEIGH);//go home
|
||||
//writecommand(CMD_RAMWR);
|
||||
for (px = 0;px < _GRAMSIZE; px++){
|
||||
writedata16(color);
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@
|
|||
0.6: Small fix, added SD example and subroutines
|
||||
0.6b1: Fix clearscreen, missed a parameter.
|
||||
0.6b2: Scroll completed. (thanks Masuda)
|
||||
0.6b3: Clear Screen fix v2.
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
BugList of the current version:
|
||||
|
||||
|
|
@ -265,6 +266,7 @@ class TFT_ILI9163C : public Adafruit_GFX {
|
|||
fillRect(int16_t x, int16_t y, int16_t w, int16_t h,uint16_t color),
|
||||
setRotation(uint8_t r),
|
||||
invertDisplay(boolean i);
|
||||
void idleMode(boolean onOff);
|
||||
void display(boolean onOff);
|
||||
void sleepMode(boolean mode);
|
||||
void defineScrollArea(uint16_t tfa, uint16_t bfa);
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ pushData KEYWORD2
|
|||
endPushData KEYWORD2
|
||||
defineScrollArea KEYWORD2
|
||||
writeScreen24 KEYWORD2
|
||||
|
||||
idleMode KEYWORD2
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue