C.Dupaty 03-2018 test on NUCLEO STM32-F411RE LCD 2x16, I2C interface Chinese model, adress I2C=0x4E (search on AliExpress for IIC/I2C 1602 Module) Important ! configure in TextLCD_Config.h : Valid only one of the lines : #define DFROBOT 0 // chinese OK #define YWROBOT 0 // chinese 0K #define SYDZ 1 // chinese OK Font is the same as http://www.farnell.com/datasheets/2362518.pdf
Fork of TextLCD by
/* Hello World! for the TextLCD Enhanced Library C.Dupaty 03-2018 test on NUCLEO STM32-F411RE LCD 2x16, I2C interface Chinese model, adress I2C=0x4E (search on AliExpress for IIC/I2C 1602 Module) Important ! configure in TextLCD_Config.h : Valid only one of the lines :
- define DFROBOT 0 chinese OK
- define YWROBOT 0 chinese 0K
- define SYDZ 1 chinese OK Font is the same as http://www.farnell.com/datasheets/2362518.pdf
- /
Diff: TextLCD.h
- Revision:
- 24:fb3399713710
- Parent:
- 23:d47f226efb24
- Child:
- 25:6162b31128c9
--- a/TextLCD.h Wed Apr 02 18:16:37 2014 +0000 +++ b/TextLCD.h Sat May 10 13:50:25 2014 +0000 @@ -191,7 +191,8 @@ enum LCDCtrl { HD44780, /**< HD44780 (default) */ WS0010, /**< WS0010 OLED Controller */ - ST7036 /**< ST7036 */ + ST7036, /**< ST7036 */ + ST7032 /**< ST7032 */ }; @@ -335,7 +336,7 @@ /** Low level write operations to LCD controller */ void _writeNibble(int value); - void _writeByte(int value); + virtual void _writeByte(int value); void _writeCommand(int command); void _writeData(int data); @@ -496,4 +497,42 @@ //---------- End TextLCD_SPI ------------ + +//--------- Start TextLCD_NativeSPI ----------- + + +/** Create a TextLCD interface with direct SPI access to the controller + * + */ +class TextLCD_NativeSPI : public TextLCD_Base { +public: + /** Create a TextLCD interface using an SPI 74595 portexpander + * + * @param spi SPI Bus + * @param cs chip select pin (active low) + * @param rs Instruction/data control line + * @param type Sets the panel size/addressing mode (default = LCD16x2) + * @param bl Backlight control line (optional, default = NC) + * @param ctrl LCD controller (default = ST7032) + */ + TextLCD_NativeSPI(SPI *spi, PinName cs, PinName rs, LCDType type = LCD16x2, PinName bl = NC, LCDCtrl ctrl = ST7032); + virtual ~TextLCD_NativeSPI(void); + +private: + virtual void _setEnable(bool value); + virtual void _setRS(bool value); + virtual void _setBL(bool value); + virtual void _setData(int value); + virtual void _writeByte(int value); + +// SPI bus + SPI *_spi; + DigitalOut _cs; + DigitalOut _rs; + DigitalOut *_bl; + +}; + +//---------- End TextLCD_NativeSPI ------------ + #endif