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: hx8340bs.cpp
- Revision:
- 22:4c169297f374
- Parent:
- 20:4bdca8d8dadc
--- a/hx8340bs.cpp Sat Jan 26 02:55:46 2013 +0000 +++ b/hx8340bs.cpp Sat Jan 26 04:36:46 2013 +0000 @@ -22,11 +22,9 @@ #include "hx8340bs.h" #include "helpers.h" -HX8340S_LCD::HX8340S_LCD( PinName CS, PinName RESET, PinName SCL, PinName SDI, PinName BL ) - : LCD( 176, 220, CS, NC, RESET ), _lcd_pin_scl( SCL ), _lcd_pin_sdi( SDI ) +HX8340S_LCD::HX8340S_LCD( PinName CS, PinName RESET, PinName SCL, PinName SDI, PinName BL, backlight_t blType, float defaultBackLightLevel ) + : LCD( 176, 220, CS, NC, RESET, BL, blType, defaultBackLightLevel ), _lcd_pin_scl( SCL ), _lcd_pin_sdi( SDI ) { - if ( BL != NC ) _lcd_pin_bl = new DigitalOut( BL ); - else _lcd_pin_bl = 0; } void HX8340S_LCD::Initialize( orientation_t orientation, colordepth_t colors ) @@ -45,6 +43,8 @@ _lcd_pin_sdi = HIGH; if ( _lcd_pin_bl != 0 ) *_lcd_pin_bl = HIGH; + else if ( _bl_pwm != 0 ) + *_bl_pwm = _bl_pwm_default; wait_ms( 55 ); Activate(); @@ -136,8 +136,7 @@ wait_ms( 10 ); WriteCmd( 0x10 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = LOW; + LCD::Sleep(); Deactivate(); } @@ -148,8 +147,7 @@ wait_ms( 10 ); WriteCmd( 0x11 ); wait_ms( 125 ); - if ( _lcd_pin_bl != 0 ) - *_lcd_pin_bl = HIGH; + LCD::WakeUp(); Deactivate(); }