GLCDdiags is a test sketch included in the examples folder. It will validate the connections and test the memory of GLCD module as well as report the active configuration information to the serial port. Unfortunately, the nature of glcd hardware interfaces is such that nearly all the pins have to be correctly configured and wired up correctly in order to initialize the glcd and see anything. If your display is not working properly then check the information displayed in the serial monitor. This shows what information the library is using and you can use this to help verify if the library is configured correctly.
The tests conclude with a final display screen that indicates whether all the tests finished successfully and also reports the speed of the glcd::SetDot() API function call when setting non contiguous pixels which is a worst case (slowest) scenario as it requires additional low level glcd commands to reposition the glcd X & Y addresses between each glcd::SetDot() call.
Below is a sample of the diagnostic information available on the glcd display.
![]() Draws from upper left to lower right | ![]() Flashes each chip# sequentially |
![]() Library versions and Test Pattern | ![]() Testing chip0 memory |
![]() Testing chip1 memory | ![]() Results and SetDot speed (thousands/sec) |
Below is a sample of the diagnostic information available on the serial port. The information includes library versioning information, all the configuration settings, which includes pin configurations as well as delay settings, and data port modes. It also includes results from all the diagnostic tests as they are being performed.
All the pin configuration information is displayed in both Arduino pin::s as well as AVR pin values.
Serial initialized -------------------------------------------------------------------- Reported Arduino Revision: 22 -------------------------------------------------------------------- GLCD Lib Configuration: glcd ver: 3 glcd_Device ver: 1 gText ver: 1 GLCD Lib build date: Tue 03/29/2011 23:11:15.96 GLCD Lib build number: 406 Panel Configuration:ks0108 Pin Configuration:ks0108-Arduino -------------------------------------------------------------------- GLCD:ks0108 DisplayWidth:128 DisplayHeight:64 Chips:2 ChipWidth:64 ChipHeight:64 CSEL1:14(PIN_C0) CSEL2:15(PIN_C1) RW:16(PIN_C2) DI:17(PIN_C3) EN:18(PIN_C4) D0:8(PIN_B0) D1:9(PIN_B1) D2:10(PIN_B2) D3:11(PIN_B3) D4:4(PIN_D4) D5:5(PIN_D5) D6:6(PIN_D6) D7:7(PIN_D7) Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450 ChipSelects: CHIP0:(14,0x1, 15,0x0) CHIP1:(14,0x0, 15,0x1) Data mode: d0-d3:nibble mode d4-d7:nibble mode -------------------------------------------------------------------- Diag Loop: 1 Initializing GLCD Displaying ChipSelect Screens Walking 1s data test Wr/Rd Chip Select Test Testing GLCD memory pages Horizonal Page Test Chip: 0 Pixels 0-63 Vertical Page Test Chip: 0 Pixels 0-63 Horizonal Page Test Chip: 1 Pixels 64-127 Vertical Page Test Chip: 1 Pixels 64-127 Full Module Horizontal Page Test:Pixels 0-127 Full Module Vertical Page Test:Pixels 0-127 Tests PASSED GLCD.SetDot() speed (K ops/sec): 16.39