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

    PanelDue no longer connecting on Duet3/io0 with 3.01-RC11

    Scheduled Pinned Locked Moved
    Beta Firmware
    4
    48
    1.7k
    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.
    • gtj0undefined
      gtj0 @Nuramori
      last edited by

      @Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:

      I'm always up to trying anything; out of pure curiosity, I am interested in what changed that would prevent both devices from sharing the data on io0.out, when it worked prior to RC11, without any hardware changes.

      I'm guessing there was a drive strength change or something. I can't get to the source code right now but I can check tomorrow if @dc42 hasn't answered by then.

      Nuramoriundefined 1 Reply Last reply Reply Quote 0
      • Nuramoriundefined
        Nuramori @gtj0
        last edited by

        I'm guessing there was a drive strength change or something. I can't get to the source code right now but I can check tomorrow if @dc42 hasn't answered by then.

        Interesting. I wasn't aware that something like that was controllable through software. Thanks for the help @gtj0 .

        gtj0undefined 1 Reply Last reply Reply Quote 0
        • gtj0undefined
          gtj0 @Nuramori
          last edited by

          @Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:

          I'm guessing there was a drive strength change or something. I can't get to the source code right now but I can check tomorrow if @dc42 hasn't answered by then.

          Interesting. I wasn't aware that something like that was controllable through software. Thanks for the help @gtj0 .

          Yeah on most "microcontroller" platforms, including the ones on the Duets, Pis and other SBCs, many pins are general purpose and have their function (uart, GPIO, SPI, etc) and capabilities (input, output, both, drive strength, pull up/pull down, tristate, etc) controlled from software.

          1 Reply Last reply Reply Quote 0
          • A Former User?
            A Former User
            last edited by

            couldn't spot any changes to low level functions, just some conditional logic around the higher level initilization.
            https://github.com/dc42/RepRapFirmware/commit/6f912e9ca47930d7b91d504c0e9c8be31251284a#diff-52cb419324e9c23a2e2c5a269e0e70fcR3581

            0 dc42 committed to dc42/RepRapFirmware
            Various changes for 3.01-RC11
            
            Tool change files are now run even if axes have not been homed
            PanelDue replies are now sent immediately instead of being saved for
            retrieval by M408
            Added aux raw mode
            On Duet 3, IO_0 is not configured in serial mode until M575 P1 is
            executed
            GCodeException class now stores a small string to allow more meaningful
            error messages
            1 Reply Last reply Reply Quote 0
            • Nuramoriundefined
              Nuramori
              last edited by Nuramori

              Could it be this?

              setPullup(APIN_Serial0_RXD, true);

              I didn’t see anywhere else where the pull-up resistor is used/set in the old code, could the setting the pull-up affect the signal enough that it “dies” enough in signal strength for two electrical connections to be too much for the paneldue circuitry?

              gtj0undefined 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User
                last edited by A Former User

                @Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:

                setPullup(APIN_Serial0_RXD, true);

                click the beginning of the line and choose "git blame" to see when it was changed. (if viewed on github, otherwise git cli works as well)

                i'm guessing its part of the other repositories then

                gtj0undefined 1 Reply Last reply Reply Quote 0
                • gtj0undefined
                  gtj0 @Nuramori
                  last edited by

                  @Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:

                  Could it be this?

                  setPullup(APIN_Serial0_RXD, true);

                  I didn’t see anywhere else where the pull-up resistor is used/set in the old code, could the setting the pull-up affect the signal enough that it “dies” enough in signal strength for two electrical connections to be too much for the paneldue circuitry?

                  Absolutely!
                  I just did a build without the pullup. See this helps...
                  http://dueui.org/download/Duet3Firmware_MB6HC.bin

                  Nuramoriundefined 1 Reply Last reply Reply Quote 0
                  • gtj0undefined
                    gtj0 @A Former User
                    last edited by

                    @bearer It was new in the last 2 commits.

                    1 Reply Last reply Reply Quote 0
                    • A Former User?
                      A Former User
                      last edited by

                      (for CoreNG, ofc, my bad)

                      1 Reply Last reply Reply Quote 0
                      • Nuramoriundefined
                        Nuramori @gtj0
                        last edited by

                        @gtj0 I downloaded the file, pushed it to the printer, and performed a "M997 S0"

                        Result was :
                        Error: Operation failed (Reason: ArgumentNullException in SimpleCode: Value cannot be null. (Parameter 'input'))

                        gtj0undefined 1 Reply Last reply Reply Quote 0
                        • A Former User?
                          A Former User
                          last edited by

                          But without the pull up? Comment said it was removed pending a M575, so the fix would be to enable it upon finding a M575 P1 command?

                          1 Reply Last reply Reply Quote 0
                          • gtj0undefined
                            gtj0 @Nuramori
                            last edited by

                            @Nuramori Eh? I just did it myself and it worked. Maybe try to download again?
                            @bearer Yeah I just removed it altogether to see if it helps. If it doesn't then the issue is elsewhere.

                            1 Reply Last reply Reply Quote 0
                            • Nuramoriundefined
                              Nuramori
                              last edited by Nuramori

                              unfortunately, my hopes were higher. No change. 😕

                              gtj0undefined 1 Reply Last reply Reply Quote 0
                              • gtj0undefined
                                gtj0 @Nuramori
                                last edited by

                                @Nuramori Ah well. Don't happen to have an oscilloscope do you? 🙂

                                Nuramoriundefined 1 Reply Last reply Reply Quote 0
                                • Nuramoriundefined
                                  Nuramori @gtj0
                                  last edited by Nuramori

                                  @gtj0 I in fact do! It also does fun things like I2C. Siglent DCS 1202X-E

                                  gtj0undefined 1 Reply Last reply Reply Quote 0
                                  • gtj0undefined
                                    gtj0 @Nuramori
                                    last edited by

                                    @Nuramori You could examine the level on that pin with and without the Arduino connected and see if it changes. You could also see if either the Arduino or the PanelDue is attempting to pull it up or down itself.

                                    Nuramoriundefined 1 Reply Last reply Reply Quote 0
                                    • A Former User?
                                      A Former User
                                      last edited by A Former User

                                      Arduno won't affect the Duet's RX pin, he says that's not connected and works in any case?

                                      (i.e. Io0.out would be the TX pin)

                                      Nuramoriundefined 1 Reply Last reply Reply Quote 0
                                      • Nuramoriundefined
                                        Nuramori @gtj0
                                        last edited by

                                        @gtj0 ok, I'll try that out. My herd of cats (family) are vying for my attention, so I'll poke at it in the morning. Thank you very much for the help!

                                        1 Reply Last reply Reply Quote 0
                                        • Nuramoriundefined
                                          Nuramori @A Former User
                                          last edited by Nuramori

                                          @bearer correct. the only wire that's linking the arduino to the duet is through the io.out pin. removing the connection allows the paneldue to receive packets, but attached or not, the paneldue issues commands TO the duet correctly. It (the paneldue) just doesn't update with information such as temps, positions, etc. It WILL do that once the arduino wire is disconnected. The same setup worked prior to RC11.

                                          A Former User? 1 Reply Last reply Reply Quote 0
                                          • A Former User?
                                            A Former User @Nuramori
                                            last edited by A Former User

                                            @Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:

                                            but attached or not, the paneldue issues commands TO the duet correctly.

                                            then while the RX pull up is relevant, its not the cause. (unless maybe to disable it on the arduino)

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