Commit Graph
899 Commits
Author SHA1 Message Date
mmdolze e45822c37d glcd driver: Implement user selectable cell size (if FreeType enabled), big
numbers using FreeType and 16x24 built-in font. Complete API towards LCDd
and connection types.
2011-11-20 11:15:39 +00:00
mmdolze 77bf952dd2 Change icon handling and charmaps:
* 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.
2011-11-15 21:40:23 +00:00
mmdolze 438788e157 Remove commented out custom char definitions for which characters from CGROM
are used. Support the selector at left/right icons with newer firmware.
2011-11-15 19:30:39 +00:00
mmdolze fdbfd335ac Fix mapping of the interpunct. 2011-11-15 19:29:18 +00:00
mmdolze 37b931cef6 Fix prototypes. 2011-11-15 19:28:22 +00:00
mmdolze 0bdbc5f0cd Cfontz: Fix display of bars and output a warning on startup if driver was
not compiles with SEAMLESS_HBARS (hbars will not display correctly then). Also
update User's Guide.
2011-11-07 20:26:17 +00:00
mmdolze 2e2bb53af8 Add PNG connection type and Freetype 2 font rendering to glcd driver. The PNG
image writer is for debugging only. The Freetype font renderer still misses
some features (e.g. big numbers, character encoding, non-standard cell size).
2011-11-03 22:09:24 +00:00
mmdolze b1e8fa9fb8 Make glcd_icon5x8() not calling back drvthis->chr() as this the call-back
function is not configurable and interferes with the Freetype renderer.
2011-11-03 21:58:17 +00:00
mmdolze 0fdc92e156 hd44780/serial: Fix handling of keys for LoS-Panel (by M. Kirchner) and change
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)!
2011-11-02 20:04:36 +00:00
mmdolze 57c0645621 New driver: vlsys_m428 driver for Moneual MonCaso 320 (W. Hauck). 2011-10-23 12:08:55 +00:00
mmdolze b8646d2db3 Fix Doxygen comments for glcd_drv. 2011-10-23 11:40:08 +00:00
mmdolze 54755c80af Fix the curses_get_info() function which was incorrectly named. 2011-10-23 11:04:24 +00:00
mmdolze 5be8d42265 Fix bars not correctly being set after output(0x0). 2011-10-23 09:35:07 +00:00
mmdolze 869559f1fe Fix missed keystrokes (imported patch from Debian). 2011-10-23 08:23:47 +00:00
mmdolze 72dff35234 Correct settings example for hd44780/ftdi in 4bit mode (by L. Colangiuli) 2011-10-06 20:29:29 +00:00
mmdolze 377aa5d9f8 Step 2: Add glcd unified graphic display driver. See glcd_drv.c for details. 2011-09-09 18:45:55 +00:00
mmdolze 9dcabf8ce5 Step 1 to introduce the glcd driver: Refactor T6963 command set and low-level
I/O routines into a separate file.
2011-09-09 18:41:15 +00:00
mmdolze 30822231ad Remove deprecated CFontz633 driver. Use CFontzPacket with Model=633 instead! 2011-08-17 20:48:26 +00:00
mmdolze 648aeaf925 Change port initialization (SF #3212891). 2011-06-26 13:23:56 +00:00
mmdolze eafd63d2ed Fix spinning of disc icon (by E. Pooch). 2011-06-26 13:19:54 +00:00
mmdolze fa07c1ebc1 Fix deprecation message by migrating to to ftdi_set_bitmode(). Fix style. 2011-04-06 19:04:03 +00:00
mmdolze 55d4668ff9 Fix Doxygen comment. 2011-04-06 19:02:00 +00:00
mmdolze 60658ddee2 Build system: --enable-extra-charmaps option to add language specific charmaps
(currently mappings for input in Russian) and some rarely used controllers.
2011-04-03 19:25:08 +00:00
mmdolze 3bb27d1611 New common 5x8 font for t6963, sed1520, mdm166a and i2500vfd. It resembles
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.
2011-04-03 18:07:15 +00:00
mmdolze 788ef58b99 check for correct device response; add timeouts for socket (fixes LCDd hang up
e.g. when device disappear) (all by M. Bialonczyk)
2011-03-30 06:35:22 +00:00
mmdolze 5fbc384be5 Imon driver: Add bignum support (Y. Scheglyuk) 2011-03-28 19:09:58 +00:00
mmdolze c9c3272eba Header fixes:
* 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.
2011-03-28 18:17:58 +00:00
mmdolze c6f04179fe Add description of charmap support to imon driver doc. Update koi8-r charmap
to not cover symbols (Y. Scheglyuk).
2011-03-23 07:04:04 +00:00
mmdolze d06d06cba7 Register some ToDos. 2011-02-27 15:38:57 +00:00
mmdolze 9771e6ba30 Move the key events from CFontzPacket.c into CFontz633io.h replacing the
unused ones there. Note that CFontz633 driver uses its own key event definitions,
too. Don't update this driver as it is scheduled for removal anyway.
2011-02-27 14:56:34 +00:00
mmdolze b96b60b50d Convert custom characters to 8 byte bitmap.
Remove comments from the code that are already part of docbook documentation.
Pass through indent.
Remove unused prototypes.
2011-02-27 14:02:58 +00:00
mmdolze 739fee1ec8 Convert i2500vfd and mdm166a driver to use 8 byte bitmap custom character and
but the character definitions for heartbeat into the font.
2011-02-27 12:46:44 +00:00
mmdolze d4615059ce Convert font of t6963 driver to 8 byte bitmap. 2011-02-27 12:23:47 +00:00
mmdolze 374281e215 Use cellwidth = 5 on CFA-631 and CFA-635, too. This makes hBars not seamless,
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!
2011-02-27 11:42:22 +00:00
mmdolze 471fbc593e Fix select() not being used even if its available. config.h has to be included
before any HAVE_### macros may be used! Cleanup comments and group related
function descriptions.
2011-02-27 11:36:44 +00:00
mmdolze 2b28c02449 Convert set_char of drivers bayrad, lb216, lcterm, mtc_s16209x, wirz-sli.
lb216: Convert lb216_hbar and vbar to 0.5 API.
lcterm: Replace bignum implementation with the one from bignum library.
2011-02-13 21:19:43 +00:00
mmdolze 4d73e6660c Pyramid driver:
- 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.
2011-02-13 17:50:29 +00:00
mmdolze dfd486c55b Add charmap for NEC uPD16314 (ROM code 002). Add a small charmap search
function and update hd44780 to use it. Make charmap selectable in imon driver.
2011-02-10 23:07:04 +00:00
mmdolze eaf74128c6 Re-worked sed1520 driver:
- 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.
2011-02-10 23:03:04 +00:00
mmdolze baae2e1958 Unsigned variables should be used for right-shifting bitmasks if the have
their MSB bit set.
2011-02-10 22:55:45 +00:00
mmdolze 2b925d21d6 Update pyramid:
- 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()
2011-02-10 22:53:15 +00:00
mmdolze 565a861d91 Port remaining drivers to 0.5 API (icon, hbar, vbar). 2011-02-10 22:48:57 +00:00
mmdolze 361fcb2a51 Sync functions in driver .c and prototypes in .h files. 2011-02-10 22:45:35 +00:00
mmdolze 27c473fdc5 imonlcd: Fix possible lockup in output (by E. Pooch). Pyramid: Fix buffer
overflow in set_leds, correct escaping and icons.
2011-02-10 22:06:09 +00:00
mmdolze d2d466cf8a Fix parameter types on Linux. 2011-01-25 19:25:53 +00:00
mmdolze 004c5d7869 Better check for screen bounds. 2011-01-24 19:46:32 +00:00
mmdolze dbc2eb7cfc Clean-up includes and move all defaults to header file.
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.
2011-01-23 13:28:16 +00:00
mmdolze de7a132fbb Rewrote the t6963 driver:
- 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.
2011-01-21 06:59:37 +00:00
mmdolze c64646b4de Move line address in extended mode to other hardware constants (although
is it configurable).
2011-01-19 21:44:36 +00:00
mmdolze ebf9565f17 Do not configure scheduler twice. Try to read from 0x3BD (3rd LPT port) if
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.
2011-01-19 21:33:18 +00:00