Fryar's LCD: DX160 Driver Last Updated: 8/23/2007
Navigation
Home
Display Drivers
Spark Fun SerLCD
DX160
Plug-Ins
DX160CharMapper
HTwoBar
Trillian
Photo Gallery
Contact Me
DX160 LCD Driver

Introduction | Installation | Parameters | Revisions | Older News

Introduction

DX160.dll will be a LCD Smartie driver for the serial enabled DX160 LCD Display. This display is different than most LCD Character displays in that it allows bit access to all 128x64 pixels on the display. This allows for graphics to be displayed as well as the standard characters of a traditional display.

Current Status

8/23/07: I have a stable version that I can release. I still need to update all the fonts and custom character codes to 6x8 instead of 5x8 so I can offer gapless graphs. Please check out the related DX160CharMapper plugin to take the most advantage of this plugin as well.

Installation

DX160.dll should be placed in the 'displays' subdirectory of the LCD Smartie installation directory.
It requires that the Visual 2005 redistributable package is installed on the executing computer. If necessary, this package can be downloaded from Microsoft's site.

Parameters

The driver requires the following parameters: Com port, and baud speed.

The default baud rate is 57,600 and is how the display is configured out of the box.

Supported Functionality

The DX160 driver currently supports 3 banks of 8 custom characters. Currently these custom characters are 5x8 with a one pixel gap on the right side. LCDSmartie only directly supports 8 custom characters or a single bank in this driver. Through additional plug-ins the other banks can be accessed.

Currently only 4x20 and less are supported. I plan on allowing 4x40 to wrap the other end of the line to the next row. But would rather LCDSmartie allow for more than 4 lines.

This driver also currently only updates the screen when characters are being written to it. So if just the custom character definition has been updated but not any characters LCD Smartie will not "repaint" the display so the new definition does not get updated.

Future Work

  • Update the fonts to be 6x8, allow 6x8 custom characters to allow gapless graphics.
  • Introduce special characters into characters > 127 (Hardcoded bar components, degree, etc)
  • Support 40 character widths and "split" row into two rows.
  • Have the screen sent to the LCD via a background thread when it is "dirty". This would fix one of the issues above. Need more info on threads in win32 to complete.

Revision Information

  • 0.8: Initial released version
  • 0.7: Corrected backlight control and shut off backlight upon exit
  • 0.6: Added start-up splash screen. Can be customized upon request for a donation. :)
  • 0.5: Fixed all timing issues with the device.
  • 0.4: Driver rewritten to use direct 1024 screen buffers. Now every pixel can easily be used directly
  • 0.3: Crude custom character support by "drawing" each pixel, too slow to use
  • 0.2: Character updates completed with timing issues, no custom character support
  • 0.1: Preliminary driver outline done

Downloads

  • Version 0.8: zip (7.7kb) (Source available upon request)

Older News

8/14/07: I added a nice graphical splash screen on initilization, may offer a way to customize this in the future. Decided to rewrite the driver to not use the default character driver built into the LCD but will instead manage the entire screen as a bitmap. This will allow greater ease of use for custom characters since a screen full of custom characters would take much longer to display than a single bitmap of the screen. Have finished the coding but not able to test yet so I will need to see how fast this is able to refresh the screen to note the trade offs.

8/10/07: Have a working version, however outputting custom characters is very slow as I am forced to output a pixel at a time for each custom character displayed on the screen (40ms per character). May rework entire display driver.

8/8/07: I have started the driver development, have a majority of the functionality completed. Working out bugs in the raw text outputting and a random driver exception. Hope to have an intial release completed by the end of the week.

Copyright ©2007-2024