Why use a Raspberry Pi with a Duet 3?
-
<Editorial comment>
In my opinion/perception, this entire discussion on the Panel plugged into the Duet is an example of where the future lies: With the Pi. The "stack" of DuetSoftwareFramework and RRF clearly connects the Panel "downstream" of "where it should be" in the natural flow of the future architecture. Thus all the oddities in dealing with things that should originate on the DSF.
The hours that DC42 (and others at Duet/Escher) spend "back porting" ways to make the Panel work better with a 3+Pi are taken from a fixed pool that could be advancing features, or bug fixing, or making the Pi/Touchscreen combo work better (arguably, this is mostly Chris). You get the concept.
Upward/backward compatibility is good, when balanced against the advancement of a system. Clearly, I am an "only forward" kinda guy. I'd much rather see Panel have published limitations, and stop right there. Your opinion may be very different...
</Editorial comment>
-
@gtj0 said in Why use a Raspberry Pi with a Duet 3?:
I should have a version of DueUI for the SBC/DSF ready for testing on Monday if you're interested. It's been working great on my HDMI touchscreen.
I still haven't picked up an HDMI touch screen. Any recommendations?
-
This one "just works". Plugs into USB and HDMI on the pi. No Pi changes needed. There are no doubt others...
https://www.amazon.com/gp/product/B07TXFPHM2
With default DWC, the buttons are pretty small. The following can be adjusted for your preference:
sudo vi /usr/bin/launch-dwc
--force-device-scale-factor=3 at the end of the line that launches chrome (only line in the file, other than header).I settled on 3. You can use fractions to your taste, like 2.5
-
@Phaedrux said in Why use a Raspberry Pi with a Duet 3?:
@gtj0 said in Why use a Raspberry Pi with a Duet 3?:
I should have a version of DueUI for the SBC/DSF ready for testing on Monday if you're interested. It's been working great on my HDMI touchscreen.
I still haven't picked up an HDMI touch screen. Any recommendations?
These are the ones I use not just on the SBC but anywhere i need a small monitor.
https://www.amazon.com/gp/product/B07TXP4CSY/
Excellent picture quality and the touchscreen is spot on.
It's native 1920x1080 but on the SBC I run it as 1280x720. -
@dc42 @bearer I did some more experimenting with placing macros onto the Duet's SD card. It turns out that all that is needed is an empty file that is named exactly as the macro in the RPI's macro folder.. when selecting the macros from the PanelDue, it is directly calling the copy on the RPI.
I recognize the Duet would have no way of getting the required info from the RPi, but would the RPi have knowledge of the Duet's SD card? If so, I'd think it would be trivial to sideload a copy (or null file) to the Duet's SD card..
One other observation is that something I've done has made the macros stop showing up on the right hand side of the Control tab of the PanelDue - they are only accessible from the Macro tab. Any thoughts?
-
I ordered this screen. Seems similar to the one Danal posted, and was reasonably priced in Canada.
https://www.amazon.ca/gp/product/B07ZH6L9L4/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
-
@Phaedrux said in Why use a Raspberry Pi with a Duet 3?:
I ordered this screen. Seems similar to the one Danal posted, and was reasonably priced in Canada.
https://www.amazon.ca/gp/product/B07ZH6L9L4/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
Pretty far off topic, but I followed that link and immediately started laughing. Considering it's showing a 7 inch diagonal screen, how tiny is the hand in the picture?
-
@garyd9 I know, right?!
-
@gfisher said in Why use a Raspberry Pi with a Duet 3?:
@dc42 @bearer I did some more experimenting with placing macros onto the Duet's SD card. It turns out that all that is needed is an empty file that is named exactly as the macro in the RPI's macro folder.. when selecting the macros from the PanelDue, it is directly calling the copy on the RPI.
I recognize the Duet would have no way of getting the required info from the RPi, but would the RPi have knowledge of the Duet's SD card? If so, I'd think it would be trivial to sideload a copy (or null file) to the Duet's SD card..
If this is important, I think the real answer is to implement a call from RRF to the Pi to get the list of files in a folder, so that RRF can implement M20. I don't think it should be hard. If M36 was implemented in the same way then it would also be possible to start print jobs from PanelDue.
One other observation is that something I've done has made the macros stop showing up on the right hand side of the Control tab of the PanelDue - they are only accessible from the Macro tab. Any thoughts?
Have you tried resetting the PanelDue?
-
@dc42 said in Why use a Raspberry Pi with a Duet 3?:
If this is important, I think the real answer is to implement a call from RRF to the Pi to get the list of files in a folder, so that RRF can implement M20. I don't think it should be hard. If M36 was implemented in the same way then it would also be possible to start print jobs from PanelDue.
I agree - everything else is just a hack. We are in the process of evaluating the integration of the Duet 3 / PanelDue into our next generation of printers. This has been a stumbling block and was the reason for my original question. I would like to move forward with the RPi+Duet3 combo, but need some level of assurance that the the PanelDue will be able to become fully functional as it is with your other products.
Do you want me to submit this as an enhancement request in some way? For clarity, after your explanation, yes - I'd like to see both M20 and M36 implemented.
Thank you for your consideration..
-
M20 and M36 are already implemented in DSF (including emulation support). So what I'd like to do in the future is to move the whole SBC interface in the firmware to a separate task and to send all but a few certain codes (like M112/M999) from RRF to DSF for further processing. So when you execute a code from serial USB or PanelDue, DSF would process it in the first place and return a proper response where applicable.
@spllg
cancel.g
isn't processed yet because that macro file is optional and followed by a request tostop.g
. So currentlystop.g
overrides the first macro request. I'll fix this bug in the firmware soon - probably when the Linux interface has been moved to its own task. -
Thank you for looking into this. I understand the Duet 3 is quite new - I was just afraid to move forward with the Duet3+RPi combo if the PanelDue would have limitations. I feel the functionality provided by the PanelDue is the correct amount for direct control at the printer (with the addition of macros and jobs, etc). The web interface can be used standalone for the rest.. I did not want to go down the road of adding a monitor to the RPi as that adds complexity we do not want to support.
If you need/want anyone to help you beta test any changes around this, please let me know.
-
@dc42 said in Why use a Raspberry Pi with a Duet 3?:
In my office, with good WiFi signal strength, I get around 800kbytes/sec to both Duet WiFi and Duet Ethernet, if CRC checking is disabled.
I am getting about 250KiB/s. Doesn't help if I move the computer and printer near the wifi router. This is with default settings. I am not familiar with the CRC settings and its implication on data integrity. Will search for it.
Waiting a few more seconds should not be a problem except that Prusa Slicer times out on larger files so I need to transfer them 'manually' via DWC.
-
@dc42 said in Why use a Raspberry Pi with a Duet 3?:
If this is important, I think the real answer is to implement a call from RRF to the Pi to get the list of files in a folder, so that RRF can implement M20. I don't think it should be hard. If M36 was implemented in the same way then it would also be possible to start print jobs from PanelDue.
I just would like to add my positive vote for this. It would give much more flexibility in setting up duet 3 boards.
While it's possible to run both HDMI and USB cables to a small screen, the simple fact is that the wiring for the PanelDue is much smaller. There's also the fact that the PanelDue UI is a mature, well designed, simple small screen touch interface that's proven.
-
@garyd9 apparently one of these tiny chinese hands which are capable of handling smallest screws at hidden places.
-
Perhaps I'm over-simplifying, but...
Is it correct that the PanelDue just uses serial communication with the duet board? Is it also correct that the PanelDue just uses gcode commands and responses to display data and take actions (in a manner very similar to how DWC works)?
If so, would it be possible to just connect the PanelDue directly to the SBC and add serial code support to the daemon on the SBC?
-
@garyd9 said in Why use a Raspberry Pi with a Duet 3?:
Perhaps I'm over-simplifying, but...
Is it correct that the PanelDue just uses serial communication with the duet board? Is it also correct that the PanelDue just uses gcode commands and responses to display data and take actions (in a manner very similar to how DWC works)?
If so, would it be possible to just connect the PanelDue to the SBC and add serial code support to the daemon on the SBC?
Yes. But we plan to change RRF to send file-related commands received locally by the Duet to the Pi anyway.
-
@garyd9 said in Why use a Raspberry Pi with a Duet 3?:
If so, would it be possible to just connect the PanelDue directly to the SBC and add serial code support to the daemon on the SBC?
No need to add anything. Search forum for socat
-
I've been trying to justify using rPi with Duet3 myself, and its not the cost :-). If you want wifi, you can always use a router in bridge mode and plug Duet3 into it.
Using rPi I see as have a few concerns: It's adds another possible point of failure. Maybe needing additional cooling, not to mention the extra space needed in the box for the board. What about power? rPi is a computer and should be shutdown properly. If you turn the power supply off you also cut power to rPi, or you have it setup another separate power supply to keep it running. Or you have to do a lot of rigging to have the rPi shut down properly then shutting off the noisy power supply.
It's nice that it's easier to update the system. If you have a spare rPi laying around doing nothing, then maybe or you want to experiment. You can always add one later on down the road. I don't foresee anything coming down the pike, as a plugin, for a long time. So far I haven't even seen anyone with a great idea for a plugin and I can't think of any except maybe display the model that's in the stl file(s). -
In the near term it offers greater choice in touch screen interfaces and easier customization of the touch interaface compared to the PanelDue.