LCDProc 0.5.4-dev
-
I have a test driver with LED support. It's been tested some on X-Peak and X-Core-e models, but there is code for X-Core as well. The updated FreeBSD driver is here:
https://github.com/downloads/fmertz/sdeclcd/sdeclcd.so
Once up and running, telnet to lcdproc (pretend to be a client) and type
telnet localhost 13666
hello
connect LCDproc 0.5.5 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8
output 1 <—Short red blink about every 4 seconds
success
output 2 <—Short green blink about every 4 seconds
successThe output logic is this: we have 32 bit to work with, and we need 3 states (Red, Green and off). This is 2 bits. So, in 32 bits, I have 16 time slots to work with. So, basically, code in the LED sequence of colors you want to see (Red, Green or off) and keep filling in the groups of 2 bits by shifting. the sequence just repeats indefinitely.
Worksheet:
XXXX XXXX XXXX XXXX, X is 0,1, or 2, and represents 2 bits0000 0000 0000 0001 is slow short blink red
0101 0101 0101 0101 is fast short blink red
0011 0011 0011 0011 is medium medium blink red
0000 1111 0000 1111 is slow long blink red
0000 2222 0000 1111 is slow blink alternating between red and green, and off in betweenThe representation above needs to be made decimal for the “output” command. Sequence is about 4 seconds.
Thanks for letting me know if this works out for everyone. Would be nice to work this out into the PHP client, too.
-
Hi Guys
Is it possible to ad this Lcd to
http://allnet.de/1577.html?&tx_mmallnetproductplugin_pi1[showUid]=421433&cHash=949c8a38a8
ftp://212.18.29.48/ftp/pub/allnet/utility-server/fw8888/lcm_server_1.0.tar.bz2i,m trying this for some time but with no success, see other posts from me
thx max
Hi Max (easyhugo),
it's impossible to know for me which driver this LCD panel uses… do you know the chipset? Can it use one of the drivers already made or you need another driver?Ciao,
MicheleHi
sorry but no driver work with this display, it does not work without these lcm server.My German is very bad! :-[ (Only beaten by my non-existant Italian! ::))
However, according to [url=http://www.ipcop-forum.de/forum/viewtopic.php?f=22&t=26948#p231301]this post by IPCop ledgend Wintermute the display in the FW8888 is an LCM-162.
This doesn't appear to be supported directly by LCDproc but this blog post seems to show it is possible. That's quite old now so support maybe better integrated.
What drivers/versions have you tried?
Steve
Edit: This post confirms this.
and yes wintermute is an excellent ipcop programmer, but ipcop is not an freebsd os so i cant copy the files .
i have tried to copy the lcm to the pfsense and change the config files but with no success.
my test with these lcm if i tried the dev version was not born :D so at now i will connect the guys from allnet how this lcm will work
the answer i would then postthx
edit:
from the lcm pckage:Make commands:
Static binary:
gcc –static -o lcm_server lcm_server.c
Dynamic linked binary:
gcc -o lcm_server lcm_server.cExecution command:
lcm_server /dev/ttyS1 "Banner"Command FIFO:
/var/run/lcm_cmdAvailable commands:
Clear -- Clear the LCM display
Home -- Set the cursor back to row 0, column 0
Display {on/off/nocur} -- Turn display on, off and on without cursor
BKLight {on/off} -- Turn LCM backlight on and off
Setpos {0~1} {0~15} -- Set the cursor position to row and column
Write {text} -- Write the text to LCM start from
current cursor position
Examples:
echo "Display oncur" > /var/run/lcm_cmd
echo "Setpos 0 0" > /var/run/lcm_cmd
echo "Write test message" > /var/run/lcm_cmdKey FIFO:
/var/run/lcm_keyAvailable keys: UP, DOWN, RET, ESC
Example:
cat /var/run/lcm_keyNote: There is no key de-bounce mechanism on LCM.
Multiple key response may happen while receiving keys.hi
the guys from allnet are not the fastest, no response to my mail from 18.2.2012
so google is now my friend angain to my problem with these lcm server on fw8888in found an interesting site http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/
how the managed these lcm server in freebsd
this description are from 2009 with an lcdproc version 0.5.2 but now im not sure if these changes are now includedthx max
max
-
In a parallel discussion we have established that the lcm-162 is in fact almost identical to the firebox lcd (or at least the nexcom display is).
Try using the firebox sdeclcd driver and see if you get anything at all.Steve
-
Execution command:
lcm_server /dev/ttyS1 "Banner"This tells me the interface is serial, not parallel. Good old RS-232. My SDEC LCD driver will not work.
Looking through the code here:```
ftp://212.18.29.48/ftp/pub/allnet/utility-server/fw8888/lcm_server_1.0.tar.bz2It seems like the commands for the LCD are the "usual" set (same as SDEC LCD, and possibly HD44780). Being serial interface, you can give a shot to the HD44780, part of lcdproc. You will have to read the documentation for the driver to properly configure it for your display. The reward is that, once working (if it does), then clients like lcdproc itself, or the pfSense PHP client will work, too. Good luck, and keep us posted. PS: [http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/](http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/) is for a parallel port interface, not serial.
-
Hi fmertz,
well, if the command/behavior is the same, maybe the sdec driver could accept the port as parameter from the client (there are already serial and parallel ports). Just an idea…Ciao,
Michele -
This would require new code. The parallel interface is driven directly with in/out machine language commands. Serial ports are typically coded with more abstraction, i.e. treated like files. At this point, let's see if the HD driver will do…
-
hi guys
thx for the answers
the parallel discussion i know i have read it
i tried the hd44780,nexcom and watchgard driver bevor my post but with no successo at now i am setting up a 2nd fw8888 to test these driver on testing machine
thx max
-
Here's a suggestion, while reading through some other bootup scripts I found this:
// Do not process while booting if($g['booting']) exit;
Perhaps we could use this somehow to limit the number of reloads? Of course it could easily stop it loading at all. ::)
Steve
Hi Steve,
I did this change, but I didn't notice any difference on my system (verified from the system.log file), the service is synced 2 times but run only one.Btw, can you apply this change to your "lcdproc.inc" file:
Line 525 becomes:
if(is_service_running(LCDPROC_SERVICE_NAME) && ! $g['booting'] ) {if this works for you I will release a new version with this change!
Thanks,
Michele -
Steve,
also, can you check in your /usr/local/etc/rc.d folder if you have a second .sh file running LCDd at startup? The one created by the package is "lcdproc.sh".Thanks,
Michele -
I've only recently stumbled upon this thread and it caught my interest.
I'd just like to see throughput on a panel.This thread is huge, but I still can't find a recommended panel that I can easily order (say ebay).
I found mention of U204FB-A1. but all I can find is the A2 model of it, and that one does not mention lcdproc (where the a1 specifically says lcdproc).
Can someone recommend a cheap, easy to order panel that just works?The idea is interesting to say the least.
-
Hi Tester,
well… I cannot recommend my panels because I had a bit to complain with the supplier (they are not precise, when I bought them, the main picture on ebay was the panel with the frame, frame that they didn't ship. When I bought a case it was not precise for my panels. When I complained with them they just said a kind of "that's it", and so on), but at least their stuff worked for me. Also, consider that this forum is not a marketplace, and I think it's better to avoid to turn it into one.So, after this introduction, I was buying two of this ones:
http://www.ebay.it/itm/20-4-LCD-Smartie-Display-Board-UART-USB-PC-Edition-III-/350546524199?pt=LH_DefaultDomain_0&hash=item519e337827made by this company: http://www.sureelectronics.net/
Consider that I was buying them last year, so was a different hardware version, but I think the "sureelect" driver should work also with this new release of the panel.
A little disclaimer:
- I am not swearing this will work;
- I am not taking any reward from that company;
- I am not related to that company (and responsible for any issues you could have with them: billing, payment, shipping, damaged items and so on);
- I am just saying "in my case it worked".
but if you want to try to spend about $30 to try them (about 20 Euro) it might work. I don't think there is nothing cheaper on the market (at least last year I was searching and searching).
Ciao,
Michele -
I was looking for something that mounted in a drive bay slot.
for example.http://www.ebay.ca/itm/U204FB-A2-8-USB-HD44780-204-Blue-LCD-Smartie-Computer-Case-Bay-Drive-PC-Modding-/220978640726?pt=LH_DefaultDomain_2&hash=item33735a7756
otherwise I'd jump on your suggestion and give it a try.
I'd just like to have something clean looking in the slot…Any thoughts on the item above, or another item that mounts in a drive slot? No commitments, it's cheap and it seems like a nice toy to play with :)
-
Hi,
yes, it looks nice, even better than mines! On the paper it should work (to tell you for sure I should try one, but for that price it worth a try).The only positive consideration to have it external, is that I am using HP servers to run pfSense and I have an active care pack. If something happens to the server, it's better the HP tech won't find anything "not HP" inside the case. Also, if some short or whatever happens to the panel, it does not compromise the server.
Ciao,
Michele -
THis might be related to the LCM-162 talk above, but I have no idea…
Been working on getting the Lanner LCMs working. I got some official code from Lanner, but it's for lcdproc-0.5.2. Of course it's outdated, but I figured I'd at least get it working before I try to move to the latest. I assume this code is for the lanner "standard" LCM, but maybe it's not...
Using lcdproc-0.5.2, I used the attached Lanner patch files (remove .png, etc). Patch works great, "compile" works great.
When I start LCDd with the driver, I get:
Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"
Obviously, something is wrong with the patch code, but I can't figure it out (hd_init_lanner seems defined) or understand why Lanner would release broken code.
I'd appreciate any help possible, I'd be willing to toss some bucks someone's way if they get my Lanner LCMs working.
edit: since my code is broken, see fmertz's post for the driver
-
When I start LCDd with the driver, I get:
Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"
Seems like the code in the new source file is not getting linked in the library (.so). Try:
make distclean
This should scrub the existing build files, then recompile again.
-
When I start LCDd with the driver, I get:
Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"
Seems like the code in the new source file is not getting linked in the library (.so). Try:
make distclean
This should scrub the existing build files, then recompile again.
Hmm, just tried it now, I did:
make distclean
./configure –enable-drivers=all
make all
make install
LCDd -c ./LCDd.confGets the same error. :(
-
-
Well, it works in that it doesn't crash - but there is no change to anything with the LCM.
How should I go about making sure the driver is even compatible? Check the wiring diagram with the h44780-lanner.c file?
The connector is very similar to the Firebox connector. It's like a small parallel port.
-
I'm not even sure what device this thing works as… /dev/parport0, /dev/lpt0 or /dev/ttyS0? They all don't work... Ugh...
I can't even get the FreeBSD LCD sample that shipped with my unit to work... :-\
-
Looks like it should be on lpt0 from the patch code. Assuming it's on 0x378 on your box.
Steve
-
Hmm… I checked the BIOS, looks like the LCM port might have been disabled. I set the parallel port to 0x378.
This is the output of "cd /dev/":
acpi ata cuau0.init fd md0 pf stdin ttyu1.lock ugen3.1 ad0 bpf cuau0.lock fido md1 ppi0 stdout ufs urandom ad0s1 bpf0 cuau1 geom.ctl mdctl ptmx ttyu0 ufsid usb ad0s1a console cuau1.init io mem pts ttyu0.init ugen0.1 usbctl ad0s2 crypto cuau1.lock klog nfslock random ttyu0.lock ugen0.2 xpt0 ad0s2a ctty devctl kmem null speaker ttyu1 ugen1.1 zero ad0s3 cuau0 devstat led pci stderr ttyu1.init ugen2.1
Not sure what "led" is, but I don't see anything in here interesting…
...breaking news: The backlight shuts off now when LCDd is started... Not sure why everything else doesn't work.
-
Holy #$&$ it works.
I love you guys. :D
I guess if we can move this to 0.5.4, it can be put into lcdproc-dev
-
Good to hear. Try the sdeclcd driver again now that the parallel port is enabled in the BIOS.
-
Good to hear. Try the sdeclcd driver again now that the parallel port is enabled in the BIOS.
Doesn't look like the sdeclcd works. I think the Lanner version specifying "connectiontype=lanner" means there is something funky with the implementation.
Only issue I see about the lanner driver is that the backlight doesn't timeout (maybe I'm stupid and that's an LCDProc config) and enabling the heartbeat on LCDProc limits the screen updates and actually closes the window the key presses can be detected (I think.)
-
Years ago i had lcdproc working with pfsense on my IPC2U/Lanner FW 7550. DSH made a path to support the special hd44780 wiring on this box. But in the actual lcdproc package this patch seem to be missing. You can find the path here : http://cvs.pfsense.org/cgi-bin/cvsweb.cgi/tools/pfPorts/lcdproc/files/
Can someone include this into the current lcdproc package ?
-
Hi Marcom,
if you can let me have the .so driver compiled for version 0.5.4 (x86 and/or x64) I'll be glad to add it to the package!If you need any other configuration for that driver (heartbeat, blacklight, and so on) please tell me so I can include them in the driver's configuration.
Ciao,
Michele -
Hm, i dont know how to do that. I have the .so driver compiled for lcdproc version 0.5.1. See :
http://www.mfc-nordhorn.de/hd44780.so
Does this help ?
Can you compile the .so with the information given at : http://cvs.pfsense.org/cgi-bin/cvsweb.cgi/tools/pfPorts/lcdproc/files/ ?
-
mmhhh… if you already have the .so file, instead of publishing a new version of the package without knowing if it works or not, we could manage a 20 minutes skype + remote assistance session to test the driver on your box, and if it works I can include it in the package...
what do you think about it?
Ciao,
Michele -
Great idea. I am currently unavailable, but be on later this evening. I already tried to use my .so file. Than i get the error message that this file is missing :
libusb-0.1.so.8
-
mmhhh… if it does not find that library means the driver should be recompiled (I am almost sure that library is already included in 0.5.5). If you were able to get to this point, I think a remote-connection is not needed... ;)
Probably we could work on the "connection type" in the configuration. Look here:
[hd44780] ConnectionType=lcd2usb
and here:
http://lcdproc.sourceforge.net/docs/lcdproc-0-5-5-user.html#hd44780-howtoThe driver should be hd44780, if you find the correct combination of ConnectionType and port, probably we can skip the compile step. If we are lucky and find it, I can add a new "driver" that uses the same hd44780 driver and the connectiontype you discover.
Ciao,
Michele -
Marcom, according to this post:
http://comments.gmane.org/gmane.comp.sysutils.lcdproc/10937it should work on a parallel port (0x378).
-
Brak, Fmertz,
let me summaryze:
I should add a new driver from https://github.com/downloads/fmertz/sdeclcd/hd44780.so that I will rename "lcm-162 (x86)", then add a new port "lcd" (change: "led" port), is it correct?If this is correct I will do it asap…
Ciao,
Michele -
Truthfully, I'm not sure. The driver is for 0.5.2, and that's what I've used it with. I didn't seem to be able to get 0.5.4-dev working with it, but I don't know enough about the package to be able to get it working.
I would assume tho it would be better to call it the "Lanner LCM" driver/port since it's neither the HD44780 spec nor the LCM-162 spec (at least the comments on the patch make it seem that way.)
-
Truthfully, I'm not sure. The driver is for 0.5.2, and that's what I've used it with. I didn't seem to be able to get 0.5.4-dev working with it, but I don't know enough about the package to be able to get it working.
I would assume tho it would be better to call it the "Lanner LCM" driver/port since it's neither the HD44780 spec nor the LCM-162 spec (at least the comments on the patch make it seem that way.)
well, if the driver is for 0.5.2 I don't think it will work for 0.5.4. But if someone could compile it for 0.5.4 I could integrate with the name you just told…
Ciao,
Michele -
Brak,
If you can make the Lanner hardware available to me, I can come up with proper driver code for it. This thread is labeled 0.5.4, but I think the lcdproc-dev package is actually on the current production release 0.5.5 (New development is done against 0.5dev). We probably have enough of the base functionality to take it from here and get it working completely. I would hope we could get the big clock, vbars, hbars, maybe even special characters and menus. If there are enough differences with an existing driver (HD or sdeclcd), then I can submit a patch upstream so this would become supported going forward. I would make the driver against 0.5dev, and backport it to 0.5.5. I could test Linux and FreeBSD, and compile with OpenBSD and NetBSD to be sure. Let me know.
-
I have it working with the 0x378 port. My problem is, that on every reboot my LCDd.conf file is overwritten. Esp. the line ConnectionType=winamp is reverted ti ConnectionType=lcd2usb. How can i make my changes permanent ?
-
The LCDd.conf file is generated each time the package is synced, which happens when ever the service is started.
If the required connection type is not in the package yet then you would have to edit /usr/local/pkg/lcdproc.inc to include it (or ask someone else to).It's interesting though that only one connection type (encoding type?) is available for hd44780 when there are many supported.
@LCDproc:
The HD44780 driver supports various ways of connecting HD44780 devices to your system. Each of these different ways is called a connection type of the driver.
On a parallel port, probably the first interface type HD44780 devices were historically connected to, the driver supports the connection types:
4bit: 4bit Wiring
8bit: 8bit Wiring ("lcdtime")
winamp: 8bit Wiring "winamp" Style
serialLpt: Serial LPT Wiring
For serial RS-232 ports you can choose among these connection types:
picanlcd: PIC-an-LCD serial device
lcdserializer: LCD serializer
los-panel: LCD on Serial panel device (http://www.xs4all.nl/~mlf/los/)
vdr-lcd: VDR LCD serial device
vdr-wakeup: VDR-Wakeup module
In recent years, with with parallel ports and serial ports being declared legacy and on the demise on modern computers, the USB connection types get more important. Here are the USB connection types the HD44780 driver supports:
pertelian: Pertelian X2040 LCD display (http://pertelian.com/joomla/index.php?option=com_content&task=view&id=43&Itemid=48)
bwctusb: BWCT USB LCD module (http://www.bwct.de/lcd.html)
lcd2usb: Till Harbaum's LCD2USB (http://www.harbaum.org/till/lcd2usb/)
usbtiny: Dick Streefland's USBtiny (http://www.xs4all.nl/~dicks/avr/usbtiny/)
uss720: Display connected to USS-720 USB-to-IEEE 1284 Bridge (Belkin F5U002)
lis2: LIS2 from VLSystem (http://www.vlsys.co.kr)
mplay: MPlay Blast from VLSystem (http://www.vlsys.co.kr)
ftdi: Display connected to a dual channel FTDI 2232D USB chip
usblcd: USBLCD from Adams IT Services (http://www.usblcd.de/)
Last but not least, for special purposes, there are even more connection types:
i2c: LCD driven by PCF8574(A)/PCA9554(A) connected via I2C
ethlcd: Display connected via TCP to PoE powered ethlcd device (http://manio.skyboo.net/ethlcd/)
-
I have it working with the 0x378 port. My problem is, that on every reboot my LCDd.conf file is overwritten. Esp. the line ConnectionType=winamp is reverted ti ConnectionType=lcd2usb. How can i make my changes permanent ?
Hi Macom2007,
I will release a version of the package with the driver "HD44780-winamp", so you won't have to change it manually on every reboot…I let you know when the new release is online!
Ciao,
Michele -
Hello
I have a Nexcom NSA3110 and NSA5130 both of which have the same LCD assembly. The display works great on both but I can't get the keypad to work. Are the drivers for the keypad seperate from the LCD? Has anyone gotten the keypad for the Nexcom to work? Any help would be appreciated.
Thank you
-
I have a Nexcom NSA3110 and NSA5130 both of which have the same LCD assembly. The display works great.
What driver/connection combination are you using? I assume this is with the lcdproc-dev package in pfSense…