disclaimer / info:
DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK. THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE, LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE. IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.
- this page deals with connecting an alps lsu7s1011a to a parallel port and drive it using
serdisplib
- i'm not responsible for the content of external web pages
- external web pages will generally open in separate browser windows or tabs
- english is not my native language. please keep that in mind (corrections of english grammar and formulations are very welcome!)
- email: mrwastl at users.sourceforge.net
attention
a typo in serdisplib versions 1.97.5 - 1.97.7 renders the driver for this display unusable.
this bug has been fixed in version 1.97.8.
this bug has been fixed in version 1.97.8.
quick fix
in the source fileserdisp_specific_sed153x.c
simply replace in array-definitionserdisp_sed153x_wiresignals[]
:,{SDCT_PP, "DC", 0, 'D', 17 }through,{SDCT_PP, "DC", 0, 'D', 16 }thanks to daniel badberg for helping me find this bug
alps lsu7s1011a:
description
alps lsu7s1011a is a nice display driven by a build-in controller sed 1530.
i bought two displays (together with display module kits) at
pollin.
the following instruction assumes that the display is controlled using that module kit
('ALPS LC-Display Module-Kit').
specifications | |
---|---|
resolution | 96x32 |
colours | monochrome |
controller | SED1530 |
backlight | no |
adjustable contrast | yes, programmable |
dimensions | module: 70 x 30 mm, display area: 61.8 x 23 mm |
comments | row 0 to row 15 are swapped (row 0 in sed1530 modifies display row 15 and so forth). row 16 to row 31 are addressed as expected in a painful way ... |
name in serdisplib |
"LSU7S1011A " or "ALPS " (example: serdisp_init(sdcd, "LSU7S1011A", ""); ) |
some images
alps lsu7s1011a and lc-display module kit | alps lsu7s1011a and lc-display module kit, display visible |
test image generated by testserdisp |
|
output generated by graphlcd |
top ^
connecting an alps lsu7s1011a to the parallel port:
intro
alps lsu7s1011a was connected using pollin's 'lc-display module-kit'. so the wiring was 'pre-defined'.
addressing
anomaly of alps lsu7s1011a
sed1530 supports a max. resolution of 132x65, but alps lsu7s1011a only uses 96x32. unlike one might expect, the first column is not 0, but 18. so every column address has to be shifted by 18. another anomaly to take care of: row 0 to row 15 are swapped.
pages vs. rows:
another item to take care of: the display is organised in colums and pages: 8 pixel-rows are combined to a so called page.
as only whole bytes can be transferred to the display, a single pixel cannot be changed without knowing its 7 'neighbour' pixels.
so a display buffer was introduced in the library. pixel changes are all done in this buffer and in a separate step only changed pages are transferred (using an optimising algorithm) to the display. the display buffer is also responsible for the translation of 'real' x/y-addresses to corresponding display addresses.
top ^
passing options through serdisp_init():
intro
using the third parameter of
common information about passing options and customisable wiring can be found in a separate document.
serdisp_init()
, driver specific options and custom wiring can be set.common information about passing options and customisable wiring can be found in a separate document.
examples: serdisp_init(sdcd, "LSU7S1011A", "INVERT=YES"); serdisp_init(sdcd, "ALPS", "ROTATE=90");
options
identifier | short | remark | default |
---|---|---|---|
ROTATE | ROT | rotate display (1 == 180 degrees) | 0 |
INVERT | INV | invert display | 0 |
DELAY | delay after each write/read operation.0 .. no delay 1 .. one call of gettimeofday() >1 .. delay at least x nanoseconds | 0 | |
CONTRAST | set display contrast | 5 | |
BACKLIGHT | BG | switch background light on or off | 0 |
WIRING | WIRE | pre-defined or customisable wiring | 1 |
ranges, aliases
identifier | range | aliases |
---|---|---|
ROTATE | 0, 1, 90, 180, 270 | YES=180, NO=0, TRUE=180, FALSE=0 |
INVERT | 0, 1 | YES=1, NO=0, TRUE=1, FALSE=0 |
DELAY | >= 0 | NONE=0 |
CONTRAST | [0, 10] | |
BACKLIGHT | 0, 1 | YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0 |
pre-defined wiring definitions
identifier | numeric id | protocol | description |
---|---|---|---|
Optrex | 0 | PAR | Original Optrex 323 wiring, w/ backlight |
Alps | 1 | PAR | ALPS LC-Display Modul-Kit wiring, the same as optrex wiring, but without backlight |
display signals
identifier | description | mandatory |
---|---|---|
SI | serial data input | * |
SCL | serial clock | * |
DC | data or command | * |
CS | chip select input 1 | * |
ICS | chip select input 2, active low | * |
RESET | reset signal, active low; optional if wired to a hardware reset circuit | * |
BACKLIGHT | backlight, optional |
annotations
- Optrex 323 and Alps LSU7S1011 share the same wiring (one exception: ALPS-wiring is without backlight)
- signal
BACKLIGHT
might be used for enabling a background light added separately - identifier
ALPS
is a synonym forLSU7S1011A
top ^
links:
Alps LSU7S1011A | |||
---|---|---|---|
datasheet | specifications for alps display | (english) | SpecSheet_LSU7S1011A.pdf |
controller SED 1530 | |||
---|---|---|---|
technical reference for SED1530 | local copy of SED1530 technical reference | (english) | sed1530.pdf |
top ^
history:
2008-04-06 | added attention-note (typo in versions 1.97.5-1.97.7) |
2005-05-08 | adapted page for new css added section 'passing options' |
2004-07-25 | first release |
top ^