Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    PanelDue Firmware 3.5.0-rc3 released

    Scheduled Pinned Locked Moved
    PanelDue
    6
    21
    773
    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.
    • dc42undefined
      dc42 administrators @Aitor
      last edited by

      @Aitor the general rule is that string parameters in GCode commands must always be enclosed in quotes, except for some older commands that take just a string parameter without a parameter letter, such as M32.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      Aitorundefined 1 Reply Last reply Reply Quote 0
      • Aitorundefined
        Aitor @dc42
        last edited by

        Good morning @dc42,

        I understand what you're saying. That's why I tried adding quotes before writing, but I noticed that in the case of Duet Web Control it wasn't necessary, as I understand that it adds them automatically. I think it would be very helpful and make it easier to use if PanelDue worked the same way, adding quotes internally.

        Best regards, Aitor

        mfs12undefined dc42undefined 2 Replies Last reply Reply Quote 0
        • mfs12undefined
          mfs12 @Aitor
          last edited by

          @Aitor please refer to the gcode dictionary. This is the specification. This is paneldue's truth.

          Visit me on github at https://github.com/mfs12/

          Aitorundefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @Aitor
            last edited by dc42

            @Aitor can you give an example of a M291 command that you can send from DWC without using double quotes around one or more of the parameters?

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • Aitorundefined
              Aitor @mfs12
              last edited by Aitor

              Sorry, @mfs12. I haven't found any information about it in the Gcode dictionary (M291) section.

              In my initial tests, I used the web interface and then tried to perform the same tests on PanelDue. However, I found that it didn't work because I wasn't using quotation marks to enter the text. Then, when I used them, the M291 command started working correctly.

              My suggestion is that, in the case of requesting M291 S7, PanelDue automatically adds the necessary quotation marks to enter the text. In my opinion, this would improve its usability and be more intuitive for users. What do you think?

              @dc42, maybe I'm not explaining myself well or not understanding correctly. I'm attaching a series of images where it shows that when running the code below, in DWC I can send text without using quotation marks.

              Captura1.JPG
              Captura2.JPG

              M291 S7 R"S7" P"Solicitar un valor de cadena. L es el número mínimo de caracteres (predeterminado 1), H es el número máximo de caracteres (L2 H50)" L2 H50
              M400
              M291 S2 R"Respuesta input" P{input}
              M400
              

              However, if I use the same code in PanelDue, it doesn't work correctly if I don't use the quotation marks (In order for it to work, I have to write "hello" in Panel Due, unlike DWC which allows me to not use quotes and write hello, for the code to execute correctly.). Could you clarify if this is an expected behavior or if there is any problem with my configuration? I would appreciate any help you can provide.

              1 Reply Last reply Reply Quote 0
              • mikeabuilderundefined
                mikeabuilder
                last edited by mikeabuilder

                I agree with @Aitor, there is discrepant behavior with M291 S7. @dc42 - the issue Aitor is describing is not with an M291 parameter, but with the user input. When entering a text string on PanelDue, the first and last characters entered must be a quotation mark. These are then stripped and the value of input is the string minus the quotation marks. This make the maximum user input string only 8 characters on PanelDue. However, if the "string" consists of numerals, the quote characters are not needed.

                @mfs12, I've found these additional small issues with M291 S7.

                • If the user enters a string that exceeds the max allowed length, they get a message telling them this and allowing them to re-enter the string (and no "OK" button is shown) - all GOOD. If they then enter a string of the proper length, the "OK" button is shown (and works) but the length error message is still displayed.

                • I think the S7 handler is not resetting the max string length properly. If I create an M291 S7 without the H (max length) parameter, it defaults not to 10, but to the value last used. If my first M291 S7 has an H=3 and my second has no H parameter, the second uses H=3. If the first M291 command after a power-on has no H parameter, the max defaults to 0 and I get into a deadlock where any string I enter returns a length error message with "min length(0) < length < max length(0)". I must power cycle to recover.

                Overall, I'm super-happy with the PanelDue support of M291 higher modes. I've got startup and filament load/unload macro sets built that help novice users through those workflows. Your continuing efforts are really appreciated.

                dc42undefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @mikeabuilder
                  last edited by

                  @mikeabuilder said in PanelDue Firmware 3.5.0-rc3 released:

                  agree with @Aitor, there is discrepant behavior with M291 S7. @dc42 - the issue Aitor is describing is not with an M291 parameter, but with the user input. When entering a text string on PanelDue, the first and last characters entered must be a quotation mark.

                  Thanks for the clarification. It should not be necessary to use quotation marks when entering the response to a M291 prompt.

                  @mfs12, please correct this.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  1 Reply Last reply Reply Quote 0
                  • OwenDundefined
                    OwenD
                    last edited by

                    In addition to the information given above regarding M291 on PD, there are a couple of other things I've noticed.
                    The first is that if an error occurs such as entering an incorrect data type or length on PanelDue, any popups on other connected devices (DWC) are not closed.
                    And the other more trivial thing is the error messages such as
                    warningText.printf("out of range %ld <= value <= %ld"
                    Should probably read
                    warningText.printf("out of range %ld >= value <= %ld"

                    mfs12undefined 1 Reply Last reply Reply Quote 0
                    • mfs12undefined
                      mfs12 @OwenD
                      last edited by

                      @OwenD not sure... i wanted to write

                      min limit is smaller or equal than value, value is smaller or equal than max value.

                      min <= value <= max...

                      Visit me on github at https://github.com/mfs12/

                      OwenDundefined 1 Reply Last reply Reply Quote 0
                      • OwenDundefined
                        OwenD @mfs12
                        last edited by

                        @mfs12 I see what you mean.
                        I was expecting a message something like.
                        warningText.printf("out of range: value must be >= %ld and <= %ld"
                        As I said, a trivial matter really.
                        Thanks for your efforts on the extended functionality 👍

                        mfs12undefined 1 Reply Last reply Reply Quote 1
                        • mfs12undefined
                          mfs12 @OwenD
                          last edited by

                          new release available

                          https://forum.duet3d.com/topic/32309/paneldue-firmware-3-5-0-rc4-released

                          Visit me on github at https://github.com/mfs12/

                          1 Reply Last reply Reply Quote 0
                          • mfs12undefined mfs12 locked this topic
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA