Basically i glued Peter Drescher and Simon Ford libs in a GraphicsDisplay class, then derived TFT or LCD class (which inherits Protocols class), then the most derived ones (Inits), which are per-display and are the only part needed to be adapted to diff hw.
Dependents: testUniGraphic_150217 maze_TFT_MMA8451Q TFT_test_frdm-kl25z TFT_test_NUCLEO-F411RE ... more
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: