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 GraphicsDisplay

Fork of the UniGraphic-Library for monochrome LCDs with ST7920 controller and 128x64-IIC-OLED-Display with SH1106-Controller

/media/uploads/charly/20170522_210344.jpg

/media/uploads/charly/20180425_230623.jpg

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:
3:48f3282c2be8
Parent:
2:713844a55c4e
Child:
4:12ba0ecc2c1f
--- a/Graphics/GraphicsDisplay.cpp	Fri Feb 13 23:17:55 2015 +0000
+++ b/Graphics/GraphicsDisplay.cpp	Sat Feb 14 17:42:21 2015 +0000
@@ -1,4 +1,17 @@
-/* mbed GraphicsDisplay Display Library Base Class
+ 
+ /* mbed library for 240*320 pixel display TFT based on ILI9341 LCD Controller
+ * Copyright (c) 2013 Peter Drescher - DC2PD
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+ 
+ /* mbed GraphicsDisplay Display Library Base Class
  * Copyright (c) 2007-2009 sford
  * Released under the MIT License: http://mbed.org/license/mit
  */
@@ -212,7 +225,7 @@
 {
     return oriented_height / fontvert;
 }
-void GraphicsDisplay::set_font(unsigned char* f, unsigned char firstascii, unsigned char lastascii)
+void GraphicsDisplay::set_font(unsigned char* f, unsigned char firstascii, unsigned char lastascii, bool proportional)
 {
     font = f;
     // read font parameter from start of array
@@ -224,6 +237,7 @@
     fontoffset = (fonthor*fontbpl)+1;
     firstch = firstascii;   // first ascii code present in font array (usually 32)
     lastch = lastascii;     // last ascii code present in font array (usually 127)
+    fontprop=proportional;
 }
 int GraphicsDisplay::_putc(int value)
 {
@@ -279,7 +293,8 @@
             }
         }
     }
-    char_x += w;
+    if(fontprop) char_x += w;
+    else char_x += fonthor;
 }
 void GraphicsDisplay::Bitmap_BW(Bitmap_s bm, int x, int y)
 {