It may be found at https://github.com/Tectu/ChibiOS-LCD-Driver under the halext directory.
A glcd.h compatability file has been included that allow applications written to use the existing GLCD driver to use the GDISP driver with little or no change.
Major changes:
- It fixes architecture things like big-endian and word alignment issues in the font code.
- Support for many different pixel formats in an easily extendable manner.
- Allows low-level driver hardware accelerated drawing routines while providing a software emulation if the low level driver can not provide it.
- A basic low level driver now only requires 2 routines to be written (init and setpixel).
- Allows a low level driver to choose between different software emulation algorithms.
- It is written in the ChibiOS style with ChibiOS style includes and documentation.
- Types are abstracted so that you can do things like change the definition of a font column from uint16 to uint32 to allow supersized characters. Existing font tables will work seamlessly without code alteration if the type is changed. (This is also partly how multiple pixel formats has been implemented).
- Sections of functionality can be turned off with a resultant reduction in code size and/or improvement in performance. Eg. Don't need text or multi-thread support then turn them off.
- It is encapsulated into a "halext" structure with appropriate readme's that allow for easy inclusion in any ChibiOS project. This structure can be seamlessly added to as new driver types (non GDISP) are added. It also supports low level drivers that are neither platform or board specific (although they can be).
ToDo (not necessarily in order):
- Backport existing low level drivers
- Complete code for multi-thread support
- Complete code for packed pixel formats
- Write new low level driver for my own display
- Port things like console to the new format