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?
-
@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
-
@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 -
@bearer It was new in the last 2 commits.
-
(for CoreNG, ofc, my bad)
-
@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')) -
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?
-
@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. -
unfortunately, my hopes were higher. No change.
-
@Nuramori Ah well. Don't happen to have an oscilloscope do you?
-
@gtj0 I in fact do! It also does fun things like I2C. Siglent DCS 1202X-E
-
@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.
-
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)
-
@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!
-
@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.
-
@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)
-
I thought I might throw this in here, not to conflate the issue with another, but it’s somewhat related (if only because it was affected by the same port).
The other week when there was an update that included an update to the paneldue firmware (iirc it was RC-8?), I could not get the paneldue to communicate with Bossa at all. It finally worked, and I could flash the new version 1.24 after I physically disconnected the paneldue from the io0 connector. While plugged into io0, whether the duet3 was powered up or not during the attempt, the paneldue could not be flashed.
I’m not sure it’s even related or a coincidence, but I thought I’d mention it.
-
@Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:
@bearer said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:
The Arduino would have to send M408 S0 or S1 depending on how much of the data it needs to update to work independent of the PanelDue.
The arduino code is basically sniffing and parsing the JSON package for the time to complete, the bed temp, and the extruder(s) temps. That info is then graphically represented via driven neopixel rings.
How complicated is the code that translates the temperatures into neopixel colours? Perhaps you could connect the neopixels directly to the Duet 3 and use the daemon.g file to update the colours.
-
There are three distinct neopixel rings, one for each data point (bed temp, extruder temp, and time of print).
I’m still stumped why, from the code changes in RC-11 I saw, why there would be an issue with the paneldue.
-
@Nuramori said in PanelDue no longer connecting on Duet3/io0 with 3.01-RC11:
The other week when there was an update that included an update to the paneldue firmware (iirc it was RC-8?), I could not get the paneldue to communicate with Bossa at all. It finally worked, and I could flash the new version 1.24 after I physically disconnected the paneldue from the io0 connector. While plugged into io0, whether the duet3 was powered up or not during the attempt, the paneldue could not be flashed.
That can happen because the SAM4 chip in PanelDue v3 accepts programming from either the USB port or the serial port. So if it sees traffic on the serial port, that can stop it responding to the USB port. We planned to support PanelDue firmware updates from the Duet via the serial port, but we haven't found time to write this functionality yet.