for Arduino TFT LCD Screen 160x128
Dependents: TFTLCDSCREEN Pong_ILI9163C
Fork of TFT_ILI9163C by
Diff: TFT_ILI9163C_BASE.cpp
- Revision:
- 10:1ebc27775d92
- Parent:
- 8:8dea70cf3ae8
- Child:
- 11:4dd4a2f7b7f6
--- a/TFT_ILI9163C_BASE.cpp Wed Feb 04 10:58:53 2015 +0000 +++ b/TFT_ILI9163C_BASE.cpp Mon Mar 02 11:38:50 2015 +0000 @@ -270,6 +270,7 @@ colorSpace(_colorspaceData); setRotation(0); + defineScrollArea(0, 0); // top, bottom wait_ms(1); fillScreen(BLACK); @@ -421,3 +422,44 @@ void TFT_ILI9163C_BASE::invertDisplay(bool i) { writecommand(i ? CMD_DINVON : CMD_DINVOF); } + +void TFT_ILI9163C_BASE::display(bool onOff) { + if (onOff){ + writecommand(CMD_DISPON); + } else { + writecommand(CMD_DISPOFF); + } +} + +void TFT_ILI9163C_BASE::sleepMode(bool mode) { + if (mode){ + if (sleep == 1) return;//already sleeping + sleep = 1; + writecommand(CMD_SLPIN); + wait_ms(5);//needed + } else { + if (sleep == 0) return; //Already awake + sleep = 0; + writecommand(CMD_SLPOUT); + wait_ms(120);//needed + } +} + + +void TFT_ILI9163C_BASE::defineScrollArea(uint16_t tfa, uint16_t bfa){ + tfa += __OFFSET ; + int16_t vsa = _GRAMHEIGH - tfa - bfa; + if (vsa >= 0) { + writecommand(CMD_VSCLLDEF); + writedata16(tfa); + writedata16(vsa); + writedata16(bfa); + } +} + +void TFT_ILI9163C_BASE::scroll(uint16_t ssa) { + if (ssa <= _TFTHEIGHT) { + writecommand(CMD_VSSTADRS); + writedata16(ssa + __OFFSET); + } +}