A modifiedversion of TFTLCD by Todor Todorov with ultra-fast operation for SSD1289 controller. TODO: speed-up fonts, add my own fonts Can work out-of-the-box with ST Nucleo F401RE
Dependents: TFT_320QVT_Window_Drag_Demo TFT_320QVT_HelloWorld
Fork of TFTLCD by
Diff: st7735.cpp
- Revision:
- 22:4c169297f374
- Parent:
- 20:4bdca8d8dadc
--- a/st7735.cpp Sat Jan 26 02:55:46 2013 +0000 +++ b/st7735.cpp Sat Jan 26 04:36:46 2013 +0000 @@ -22,11 +22,9 @@ #include "st7735.h" #include "helpers.h" -ST7735_LCD::ST7735_LCD( PinName CS, PinName RESET, PinName RS, PinName SCL, PinName SDA, PinName BL ) - : LCD( 128, 160, CS, RS, RESET ), _lcd_pin_scl( SCL ), _lcd_pin_sda( SDA ) +ST7735_LCD::ST7735_LCD( PinName CS, PinName RESET, PinName RS, PinName SCL, PinName SDA, PinName BL, backlight_t blType, float defaultBackLightLevel ) + : LCD( 128, 160, CS, RS, RESET, BL, blType, defaultBackLightLevel ), _lcd_pin_scl( SCL ), _lcd_pin_sda( SDA ) { - if ( BL != NC ) _lcd_pin_bl = new DigitalOut( BL ); - else _lcd_pin_bl = 0; } void ST7735_LCD::Initialize( orientation_t orientation, colordepth_t colors ) @@ -46,6 +44,8 @@ _lcd_pin_sda = HIGH; if ( _lcd_pin_bl != 0 ) *_lcd_pin_bl = HIGH; + else if ( _bl_pwm != 0 ) + *_bl_pwm = _bl_pwm_default; wait_ms( 55 ); Activate(); @@ -181,8 +181,7 @@ wait_ms( 10 ); WriteCmd( 0x10 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = LOW; + LCD::Sleep(); Deactivate(); } @@ -193,8 +192,7 @@ wait_ms( 10 ); WriteCmd( 0x11 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = HIGH; + LCD::WakeUp(); Deactivate(); }