Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    LCDProc 0.5.4-dev

    pfSense Packages
    68
    587
    595.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mdima
      last edited by

      @fmertz:

      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

      1 Reply Last reply Reply Quote 0
      • M
        mdima
        last edited by

        @Brak:

        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

        1 Reply Last reply Reply Quote 0
        • stephenw10S
          stephenw10 Netgate Administrator
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • M
            mdima
            last edited by

            @stephenw10:

            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

            1 Reply Last reply Reply Quote 0
            • B
              Brak
              last edited by

              @mdima:

              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.

              1 Reply Last reply Reply Quote 0
              • M
                mdima
                last edited by

                @Brak:

                @mdima:

                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

                1 Reply Last reply Reply Quote 0
                • stephenw10S
                  stephenw10 Netgate Administrator
                  last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • M
                    mdima
                    last edited by

                    stephenw10, great, thanks for the feedback!!

                    Michele

                    1 Reply Last reply Reply Quote 0
                    • F
                      fmertz
                      last edited by

                      @mdima:

                      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.

                      1 Reply Last reply Reply Quote 0
                      • M
                        mdima
                        last edited by

                        @fmertz:

                        @mdima:

                        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

                        1 Reply Last reply Reply Quote 0
                        • F
                          fmertz
                          last edited by

                          @stephenw10:

                          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.

                          1 Reply Last reply Reply Quote 0
                          • M
                            mdima
                            last edited by

                            @fmertz:

                            @stephenw10:

                            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.

                            1 Reply Last reply Reply Quote 0
                            • F
                              fmertz
                              last edited by

                              @mdima:

                              • 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…

                              1 Reply Last reply Reply Quote 0
                              • M
                                mdima
                                last edited by

                                @fmertz:

                                …
                                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 red

                                if 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>

                                1 Reply Last reply Reply Quote 0
                                • F
                                  fmertz
                                  last edited by

                                  @mdima:

                                  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>LCD

                                  No worries, whatever works.</new>

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    fmertz
                                    last edited by

                                    @mdima:

                                    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!

                                    1 Reply Last reply Reply Quote 0
                                    • stephenw10S
                                      stephenw10 Netgate Administrator
                                      last edited by

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Brak
                                        last edited by

                                        @mdima:

                                        @Brak:

                                        @mdima:

                                        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

                                        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 ./lcdexec.conf" after LCDProc was up and running.

                                        Am I missing something to enable LCDExec and for it to run from the lcdexec.conf?

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mdima
                                          last edited by

                                          @Brak:

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            mdima
                                            last edited by

                                            Hello,
                                            I just pushed a new version for the package. The changes are:

                                            Updates LCDProc to 0.5.5 (very experimental!)
                                            Rename the sdelcd driver to "Watchguard Firebox w/ SDEC LCD"

                                            All feedbacks are welcome!
                                            Michele

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.