Wiki

Clone wiki

openGLCD / Known Issues

Known Issues

  • arduino.cc IDE version 1.6.8 should be avoided This version of the IDE has virtual serial port issues which does allow ftdi based boards to be used. It should be avoided. Here is more detailed information: IDE 1.6.8 issues No other version of the IDE either prior to 1.6.8 or after 1.6.8 has this issue.
  • APIexmaples/Text/print example does not work on certain IDE versions on Windows.
    This is an IDE issue and has been corrected as of IDE version 1.6.6 See issue #18 for more details.
  • some sketches don't work with IDE 1.6.6
    This is an IDE issue and has been corrected with newer versions of the IDE. See issue #15 for more details.
  • MAPLE is not and will not be supported.
    The maple IDE is based on Arduino 0018 which is before some major Arduino changes were introduced. The MAPLE core s/w also deviated too far from the standard Arduino core with respect to source and header files. It also appears that LeafLabs is no longer maintaining their IDE s/w as the IDE s/w has not been updated since December of 2011. For an ARM based product the Teensy3 is recommended as it is fully integrated in to the standard Arduino 1.x IDE and is fully suported by openGLCD.
  • Some cores only work on 1.x+
    • mighty1284p Because they don't include support for pre 1.x IDE
    • Leonardo
  • pre 0019 IDE is no longer supported to simplify the openGLCD API and make it consistent across pre/post 1.x, no support for pre 0019
    • before 0019 the analog pin constants didn't exist
    • before 0019 the String class didn't exist.
  • 0019,0020,0021, 0022, 0023 pre 1.x IDEs won't work with newer versions of avr-libC
    • new <util/delay.h> uses math.h and Arduino core code breaks math.h
      The solution to this is to either:
      • comment out #include <avr/delay.h> in wiring_private.h (none of the core code uses/needs it)
      • Or if wanting to make util/delay functions available: must add #include <math.h> to top of wiring.h since wiring.h #defines the math functions and breaks math.h Because of this, math.h must be included before defines stomp on math functions
  • Teensy 3 Issues
    • Teensy 3 AVR PROGMEM compatibilty can cause data to end up in RAM vs FLASH.
      Because of the many ways AVR PROGMEM declarations could be done, some of them can cause data that was intended to be in flash to end up in RAM. This happens if a progmem declaration was done without using "const". openGLCD overrides the Teensy3 PROGMEM compatibilty macros to force them to behave similar to AVR and force data into flash even if not declared using "const". This PROGMEM override can end up creating a linker warning when non const PROGMEM data is forced into flash.
  • chipKIT MPIDE issues
    • based on pre 1.x core so it has same issue above when building for AVR boards
    • with drop of plib support, versions prior to 0023 2013-07-15 are no longer supported
    • GLCDdiags will show a pins digital number rather than the A0-An define names
    • has #error in <avr/pgmspace.h> down in compiler tools hardware/pic32/compiler/pic32-tools/pic32mx/include/avr/pgmspace.h
    • missing
      • PGM_P #define PGM_P const char *
      • PSTR() #define PSTR(s) ((const char *)(s))

While code that includes pgmspace.h will not compile on the current MPIDE, openGLCD has data types for fonts and bitmaps that are not affected by the MPIDE issue. In some cases sketch code that uses pgmspace types will work if the include for pgmspace.h is omitted. Both the AVR and chipKIT system headers take care of these types/defines so the include is actually not necessary. Also, the openGLCD headers will add in the missing PGM_P and PSTR macros.

The digital pin number vs analog pin names is due to chipkit using #defines rather than const int declarations. There is no fix for this.

  • GLCD_Bigdemo does not fit on Leonardo (GLCDv3 version fits, openGLCD version does not)
  • Some GLCDv3Demos may have issues
    The demos in GLCDv3Demos/GLCDv3 are demos from the GLCDv3 library. They are unmodified other than to change the include header to enable GLCDv3 compatibility mode. As such, some of examples may have issues on the newer hardware that GLCDv3 does not support. The demos in GLCDv3Demos/openGLCD are the same demos that have been updated for openGLCD and to operate with the newer Arduino platforms.
  • Streaming is no longer distributed with openGLCD
    Users that wish to use streaming i/o will need to install the Arduino Streaming library. More about the streaming library can be found here:
    http://arduiniana.org/Streaming/Streaming5.zip

open issues

  • #4 Add Carriage return <CR> support (open)
  • #31 An educated guess on a problem (resolved)
  • #30 Not a bug, just a question (resolved)
  • #28 GTG-192642V6 LCD Support (resolved)
  • #27 Driving an UC1601 (new)
  • #26 Is it support for STM32duino (new)
  • #25 GLCD pin configuration problem (closed)
  • #23 Speed up Teensy 3.x i/o (new)
  • #21 No screen clipping for drawing text (new)
  • #22 KS0108 screen chip select signals active on low, bug or feature? (closed)
  • #24 Dispay image (new)
  • #20 Stuarty (new)
  • #17 KS0108 - 192 x 68 - Chips wrongly assigned (closed)
  • #16 Add support for Due boards (invalid)
  • #12 Mega support (closed)
  • #18 APIexamples/Text/print sketch won't build on Windows (pre 1.6.6 IDE) (wontfix)
  • #15 Arduino 1.6.6 breaks library and examples (wontfix)
  • #29 LCD 240x128 T6963 (new)
  • #14 Remapping to mega (closed)
  • #19 bmp2glcd won't compile with newer versions of gcc (resolved)
  • #10 doc issue: Example is wrong for SelectFont (resolved)
  • #9 Support for Falcon 4GLM12232-2 LCD (resolved)
  • #8 MPIDE/PIC32 support is broken (open)
  • #3 White pixel padding difference on Arduino Icons. (open)
  • #6 Rendering issues for fixed width small fonts (open)
  • #11 doc issue: FillRect (closed)
  • #13 Print backspace/ Get cursor position. (new)
  • #7 Add support for e-Gizmo gizduino/"mega" board. (open)
  • #2 slight bug in text scrolling/wrapping (open)
  • #5 Drag & Drop to glcdMakeBitmap not working on Linux (Ubuntu) (open)
  • #1 correct pin mappings to not require Arduino 1.x (resolved)

Updated