* The full block icon now has index 0 and the heart has index 7. This makes
the full block work if vBar custom chars are loaded (which use index 1-7).
* Prevent (hbar, vbar, bignum) modes from overwriting custom chars (except
full block).
* Prevent the heartbeat from overwriting custom chars in vbar and bignum mode.
* Make the driver point to 0x1A and 0x1B characters for right/left arrow
characters (those are the codes from HD44780 A02) and make all charmaps
pointing to the correct characters.
* It is now possible to map the tilde character.
* Update other drivers that use hd44780-charmap.h (IOWarrior and ula200).
* Replace characters using charmaps on input instead of output!
* Remove some unnecessary comments.
image writer is for debugging only. The Freetype font renderer still misses
some features (e.g. big numbers, character encoding, non-standard cell size).
backlight handling:
Previously if keypad=yes was configured in LCDd.conf a value for the
backlight was sent, regardless of the configuration in hd44780-serial.c.
Now it decides upon the backlight flag from that file (enabling it in
LCDd.conf is still required). If the backlight flag indicates the device
supports backlight, the backlight_on / backlight_off values are sent (even
if they are 0x00)!
the original font of the HD44780 with European character set, but includes
only characters from ISO 8859-1 and has been extended with bar graph and icons.
The t6963 driver now has its size to be configured in pixels! The size in
characters is automatically calculated based on the cell size. This makes
internal calculations more easy.
* Do not include system headers in shared files (stdlib.h).
* Don't include lcd.h only once in each driver.
* Remove some unnecessary headers from driver (e.g. syslog.h)
* Include <poll.h> instead of <sys/poll.h>
* Spelling fixes.
but plays more nicely with the full block character used for ICON_BLOCK_FILLED.
Other changes:
- Use a full block with the last line cleared on 631/635.
- Remove unused icon definitions.
- Correct report level on some debug calls.
- Don't clear last line for big numbers.
- Remove the driver history - we have a SCM for this!
- Convert set_char to 8 byte bitmap.
- Reset ccmode on clear. Add a custom character cache to avoid unnecessary
updates of custom characters because of the reset.
- Add support for bignum.
- Remove the FB_modified flag, it did never work. Instead add a backing store
buffer to compare against. Remove the 40ms block of updates, this was a
no-op as well. However, pause 40ms after sending a complete screen update.
The display I have requires this to recognize the following cursor updates.
- Do not treat frame buffer as string. Always use memcpy, memcmp, and memset.
- Remove the changelog. This should be read from SCM.
- Remove contact info as T. Riewe has left Pyramid.
- Pass through indent, preserving 4 space indention.
- Add 68-familiy style interface support and make it configurable.
- Make delay configurable.
- Correct swapped display halves.
- Resurrect vBar / hBar functions.
- Fix icon definitions and modify set_char for common data format.
- Cache status of LEDs and only send on update, reduces communication
- Add prototypes for all and Doxygen comments to internal functions
- remove unused read_ACK()
Fix heartbeat and bignum by mapping character 0 to 8.
Fix backlight and contrast handling (by M. T. Jones).
Add more icons (by M. T. Jones).
Add OffBrightness for 20x4 (idea by S. Crane).
Add range checking for config settings.
- Limit the maximum size to 40x16 (240x128 pixel) and change the RAM locations
to make use of 8 KB only. (If one's display is larger and has more memory this
may have to be changed.)
- Drive control lines using defines from lpt-port.h without using a function.
- Use timing.h for delays (which are now optional).
- Remove any use of the graphic area and mode settings, except for optionally
clearing of graphic memory on start-up.
- Remove any cursor related stuff.
- Handle displays correctly which width (in pixels) is not a multiple of the
cellwidth (e.g. 128x64).
- Remove double buffering (display updates are already really fast).
- Update text and font memory using AUTO WRITE function.
- Remove the bignum stub. Now at least something is displayed.
- Fix character offset for bar graphs.
- Make local functions static and inline the most commonly used read / write
functions.
DELAY_IOCALLS is configured. DELAY_IOCALLS is never selected automatically
but has to be configured by the user anyway. Did not use writes to 0x80 as
readings make me think this tries to delay by 1ms where we want 1us.