LCDProc 0.5.4-dev
-
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! -
Renaming the menu option as 'Firebox (sdeclcd)' would probably be useful. If only to reduce the number questions on the forum!
The keypad is a Watchguard part it's not on the sdeclcd module so in the unlikely event that someone was using a compatible sdec display it would need a different keypad driver anyway (if it had a keypad).Steve
-
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,
MicheleWell, tbh, I can't get the completely default package to work with the example menu if I rename "lcdexec.conf.sample" to "lcdexec.conf" - I checked perms, too. And yes, I had it working with that standalone firebox LCDProc package that was on here. All I did was execute "./lcdexec -c ./lcdexec.conf" after LCDProc was up and running.
Am I missing something to enable LCDExec and for it to run from the lcdexec.conf?
-
Well, tbh, I can't get the completely default package to work with the example menu if I rename "lcdexec.conf.sample" to "lcdexec.conf" - I checked perms, too. And yes, I had it working with that standalone firebox LCDProc package that was on here. All I did was execute "./lcdexec -c ./lcdd.conf" after LCDProc was up and running.
Am I missing something to enable LCDExec and for it to run from the lcdexec.conf?well… I am updating LCDproc to version 0.5.5 (package 0.8, will be released soon), I hope that this will solve your problem. If not please send me the your file lcdd.conf that I try to look what is wrong. Consider that this file changes machine to machine and does not contain any sensitive information.
Thanks,
Michele