UniGraphic-Fork for ST7920-LCD-controller and SH1106. Tested with 128x64 LCD with SPI and 128x64-OLED with IIC
Dependents: UniGraphic-St7920-Test AfficheurUTILECO
Fork of UniGraphic by
Fork of the UniGraphic-Library for monochrome LCDs with ST7920 controller and 128x64-IIC-OLED-Display with SH1106-Controller
Had to adapt LCD for following reasons:
- Give access to screenbuffer buffer[] to parent class
- pixel() and pixel_read() as they are hardware-dependent
- added reset-pin to IIC-Interface
GraphicDisplay:: sends buffer to LCD when auto_update is set to true.
Testprogram for ST7920 can be found here:
https://developer.mbed.org/users/charly/code/UniGraphic-St7920-Test/
Revision 15:b9483ba842c8, committed 2015-02-23
- Comitter:
- Geremia
- Date:
- Mon Feb 23 16:05:16 2015 +0000
- Parent:
- 14:29bab588ba75
- Child:
- 16:244f9563ebc1
- Commit message:
- LCD macro undef workaround for KL46Z KL43Z, thanks ban4jp
Changed in this revision
--- a/Display/LCD.h Sun Feb 22 18:55:54 2015 +0000 +++ b/Display/LCD.h Mon Feb 23 16:05:16 2015 +0000 @@ -8,6 +8,10 @@ #include "SPI16.h" #include "Protocols.h" +// undefine the KL43Z and KL46Z LCD macro +#ifdef LCD +#undef LCD +#endif /** Draw mode * NORMAl
--- a/Display/TFT.cpp Sun Feb 22 18:55:54 2015 +0000 +++ b/Display/TFT.cpp Mon Feb 23 16:05:16 2015 +0000 @@ -18,7 +18,7 @@ #include "TFT.h" -#include "mbed_debug.h" +//#include "mbed_debug.h" #define SWAP(a, b) { a ^= b; b ^= a; a ^= b; }
--- a/Inits/SSD1306.cpp Sun Feb 22 18:55:54 2015 +0000 +++ b/Inits/SSD1306.cpp Mon Feb 23 16:05:16 2015 +0000 @@ -132,5 +132,5 @@ { contrast = o; - wr_cmd16(0x8100|(o)); + wr_cmd16(0x8100|(o&0xFF)); }
--- a/Inits/SSD1306.h Sun Feb 22 18:55:54 2015 +0000 +++ b/Inits/SSD1306.h Mon Feb 23 16:05:16 2015 +0000 @@ -40,7 +40,13 @@ * @param LCDSIZE_Y y size in pixel - optional */ SSD1306(proto_t displayproto, int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC, const char* name , unsigned int LCDSIZE_X = 128, unsigned int LCDSIZE_Y = 64); - + + /** set the contrast of the screen + * @note here overrided because of not standard value range + * @param o contrast 0-255 + */ + virtual void set_contrast(int o); + protected: