LCDProc 0.5.4-dev
-
I just updated the package to version 0.6. The only change was to integrate the sdeclcd driver.
I released the code for the driver here:
https://github.com/fmertz/sdeclcd/tree/sdec
Firebox users, just install the lcdproc-dev package, pick the sdeclcd driver and a port, and you should be good to go.
mdima: for this driver we need the following configuration for the buttons. The resulting LCDd.conf should be:
PrevScreenKey=Down NextScreenKey=Up [menu] MenuKey=Left EnterKey=Right UpKey=Up DownKey=Down
Taking a step back, lcdproc can use a number of keys (up, down, left, right, Enter, Menu, Next and Prev). Each driver has between 0 and 6 buttons. Depending on the particulars of each setup, some buttons have to do more than one key. As the Firebox setups has the buttons organized visually as a diamond, Menu can be Left and Enter can be Right. Updating the package to have this resulting LCDd.conf would bring the package support for the SDEc LCD driver to a 100%. Thanks to stephenw10 for documenting this issue.
-
Any chance you guys could look into the EZIO-100 driver?
Post a bounty and send me some hardware ;)
-
-
Using my firebox, I was trying this out. Seem to work fine with the menu edits. One issue I am having is getting LCDExec working. Is it supposed to launch on it's own? I added the lcdexec.conf file, but I don't believe the process is ever launching.
If I make my own rc.d script to start it, it works fine.
Also, any modifications I make to LCDd.conf gets wiped at reboot, what am I doing wrong?
-
mdima: for this driver we need the following configuration for the buttons. The resulting LCDd.conf should be:
fmertz: consider it done in a couple of days!
Ciao,
Michele -
Using my firebox, I was trying this out. Seem to work fine with the menu edits. One issue I am having is getting LCDExec working. Is it supposed to launch on it's own? I added the lcdexec.conf file, but I don't believe the process is ever launching.
If I make my own rc.d script to start it, it works fine.
Also, any modifications I make to LCDd.conf gets wiped at reboot, what am I doing wrong?Hi Brak,
lcdexex is not run at all, the package use its own client to interact with LCDproc. Sorry about the question, why do you need it to run?The file LCDd.conf gets refreshed every time the package gets a "resync" command, so I think also when the box is restarted. If you need to make some permanent change to LCDd.conf you need to modify the lcdproc.inc file in order to let it write the LCDd.conf file every time with the changes you need.
If the changes you need are related to the menu (see previous post), just consider it done in a couple of days.Ciao,
Michele -
Great work Michele, thanks for all you've done. :)
I have to get a post in this thread so I don't miss updates!
Steve
-
Great work Michele, thanks for all you've done. :)
I have to get a post in this thread so I don't miss updates!
Steve
Thanks a lot! I just released a new update, I summarize the changes:
- Removed driver "HD44780 fast" since the problem why this fork was created has been solved in a different way
- Set the custom Keys and Menu section for the "sdelcd" driver (fmertz: I wait for your feedback!)
- Added the Blacklight setting. Now it is possible to optionally turn the blacklight on, off or (default) to leave it managed by the panel
- Added the "output led" support for the "CFontz633" driver. This is totally to test since my panel doesn't have any output led, worked almost blind (fireman039: I wait for your feedback! Consider that I was working almost blind on this, to test it I need one of that panels in my office)
The changes are published on the version "LCDproc 0.5.4 pkg v. 0.7". Soon it will be available for the update… (thanks to Chris, Jim, Ermal and all the others members of the stuff that approve my pull requests).
Thanks to all,
Michele -
Hi Brak,
lcdexex is not run at all, the package use its own client to interact with LCDproc. Sorry about the question, why do you need it to run?I use a menu I made that runs in LCDExec, it does like reboot commands and stuff. I can't get it to cleanly start up with this package.
-
Hi Brak,
lcdexex is not run at all, the package use its own client to interact with LCDproc. Sorry about the question, why do you need it to run?I use a menu I made that runs in LCDExec, it does like reboot commands and stuff. I can't get it to cleanly start up with this package.
Hi Brak,
did it work with the previous version of LCDproc? (I mean, not LCDproc-dev) Just to understand if it's something I made that interfers with your menu.Can I have your lcdd.conf? Just to look which are the changes you need for your menu to work…
Thanks,
Michele -
Just to report that the Firebox keypad now works great, as expected, and the driver file seems to be correct also.
Tested on the X-Core-E box.The package version is still reported as 0.6 in package manager but as 0.7 in Services: LCDProc.
It's still listed as 0.6 in pkg_config.8.xml.Thanks again. :)
Steve
-
stephenw10, great, thanks for the feedback!!
Michele
-
The changes are published on the version "LCDproc 0.5.4 pkg v. 0.7".
Michele,
Just to throw it out there: any reason to settle on lcdproc-0.5.4? Seems like lcdproc-0.5.5 has been out for a couple of months. Maybe before you commit to merging this -dev package to make it official, we could upgrade to the latest and test among ourselves. I have no specific need to upgrade, just trying to get folks to benefits of the latest version. As usual, I'll be happy to provide a 0.5.5 binary of the SDEC driver if needed.
-
The changes are published on the version "LCDproc 0.5.4 pkg v. 0.7".
Michele,
Just to throw it out there: any reason to settle on lcdproc-0.5.4? Seems like lcdproc-0.5.5 has been out for a couple of months. Maybe before you commit to merging this -dev package to make it official, we could upgrade to the latest and test among ourselves. I have no specific need to upgrade, just trying to get folks to benefits of the latest version. As usual, I'll be happy to provide a 0.5.5 binary of the SDEC driver if needed.
you're right! I've just seen that lcdproc-0.5.5 is available in the package directory (http://files.pfsense.org/packages/8/All/), it was uploaded on the 20th of December… on the next release I will use that binaries, at a first sight it should have the same drivers than 0.5.4, so there should not be any change in the package itself...
After that, we can see if we need a new compiled version for the sdelcd driver or not!
Ciao,
Michele -
Tested on the X-Core-E box.
Just offering a suggestion up for a vote: For folks running pfSense on the Watchguard Firebox, would it be better if the driver entry in the web interface was called "Watchguard Firebox w/ SDEC LCD" instead of "sdeclcd"? It seems like the average person might not know (or need to care) that the LCD is from SDEC. Besides, the driver is kind of hard-coded for that implementation already. Just a thought.
-
Tested on the X-Core-E box.
Just offering a suggestion up for a vote: For folks running pfSense on the Watchguard Firebox, would it be better if the driver entry in the web interface was called "Watchguard Firebox w/ SDEC LCD" instead of "sdeclcd"? It seems like the average person might not know (or need to care) that the LCD is from SDEC. Besides, the driver is kind of hard-coded for that implementation already. Just a thought.
I don't know if Watchguard is the only company that use that panel… maybe something like:
"sdeclcd (Watchguard Firebox w/ SDEC LCD, etc)"
would be better, what do you think?
The same could be for all the other panels... would be a little mess to keep them updated. -
- Added the "output led" support for the "CFontz633" driver.
Michele,
Following the hard work of stephenw10, it is now known how to control the LED (just one) on the same Watchguard Fireboxes that we have the SDEC driver for. This LED, labeled "Armed/Disarmed" can be made Red or Green, and be off, on, or blinking. I was thinking of developing an output function in the driver code, trying to mirror the convention of the CFontz driver. Obviously, the output function would have to be called in from the client side, with some logic. Maybe folks can chime in and offer suggestions on how to control the meaning of the LED from the client side. I can focus on the implementation part in the driver.
From you commit, it seems like this code already exists in the client, but specifically for the CFonts driver:
-
LED1: NICs status (green: ok, red: at least one nic down)
-
LED2: CARP status (green: master, red: backup, off: CARP not implemented)
-
LED3: CPU status (green < 50, red > 50%)
-
LED4: Gateway status (green: ok, red: at least one gateway not responding, off: no gateway configured).
Maybe the logic for LED4 is what makes sense here…
-
…
From you commit, it seems like this code already exists in the client, but specifically for the CFonts driver:
Maybe the logic for LED4 is what makes sense here...If you want to implement the same algorithm for the CFontz driver, you can use values frin 0 to 255. Every bit of the byte turns on a led, as follows:
bit 0: first led green
bit 1: second led green
bit 2: third led green
bit 3: fourth led green
bit 4: fifth led red
bit 5: sixth led red
bit 6: seventh led red
bit 7: eight led redif you combine bits, in CFontz, you get "orange" (even if I didn't use that).
The syntax is: output<space>value[0..255]If you are developing the driver, maybe it could have sense to use the same code in order to have only 1 algorithm to mantain… also you can start with one led and add the others when it will be discovered how to control them...
What do you think about that?
Ciao,
Michele</space> -
I don't know if Watchguard is the only company that use that panel… maybe something like:
"sdeclcd (Watchguard Firebox w/ SDEC LCD, etc)"
would be better, what do you think?
The same could be for all the other panels... would be a little mess to keep them updated.This driver is for the SDEC LCD (generic, I guess), but specifically coded for the Watchguard wiring (parallel port with this control bit going to this particular line on the LCD,…). Others could possibly have an SDEC LCD, but there are many possibilities of wiring it, even with a parallel port. Bottom line is that I would not expect this driver to work on any other implementation of an SDEC LCD without reworking some of the code. As far as I know, the only testing that has ever been done is with these Fireboxes. Also, as you know, these boxes came with the SDEC LCD built-in, there is no home-made setups this driver is supposed to support.
At some future point, when the current models of Fireboxes become retired and available in the used market, they will need another driver anyway. I was hoping they would all sort nice like:
Watchguard Firebox w/ SDEC LCD
Watchguard Firebox w/ <new>LCDNo worries, whatever works.</new>
-
if you combine bits, in CFontz, you get "orange" (even if I didn't use that).
If you are developing the driver, maybe it could have sense to use the same code in order to have only 1 algorithm to mantain… also you can start with one led and add the others when it will be discovered how to control them...
That is the general idea, but there is no blink supported in there. I'll have to think of something.
There is no Orange supported on Fireboxes, as far as I know, and only one LED location visible to users.
Well, the actual control of the 2 LEDs is with GPIO. It boils down to simple "out" instructions, but coming up with code that determines the right ports/bits in a portable manner is a bit of a challenge. GPIO is part of the Southbridge device, and a number of different devices have been reported. And with each device, the LEDs were mapped to different bits. Stephenw10 has it all mapped, fortunately, so now it is a matter of coming up with clean code for it. Where would the fun be without a challenge!