Firmware wishlist and priorities for Duet WiFi and Duet Ethernet
-
Already implemented in 1.19. See https://duet3d.com/wiki/G-code#M586:_Configure_network_protocols for how to enable it.
Apologies… and thanks!
P.s. Maybe the list in the first post should be updated to reflect features already implemented (telnet support is in the first bullet)?
-
After the TCT show I will review which requested features have/have not been implemented and start a new thread to prioritize the remaining items.
-
It would be nice to be able to register several wifi AP, and have the Duet connect on the first available.
Usefull when moving the printer in different places (home, friends, hackerspace…)
-
@fma:
It would be nice to be able to register several wifi AP, and have the Duet connect on the first available.
Usefull when moving the printer in different places (home, friends, hackerspace…)
You can already do this in 1.19 Firmware you just add the AP as normal and then I believe the Duet then connects to the strongest one it finds in it's list
See the last line under The upgrade section at the bottom of https://duet3d.com/wiki/Upgrading_to_DuetWiFiFirmware_1.19
-
Great! I'm running a beta version of 1.19 (with the MTU fix), so I will give it a try.
Thanks!
-
It works for me I have both my Router and wifi AP listed so wherever the printer is in the house it works
-
Printers may experience a slight tilt of their carriage for their movement. Tilts that are small enough that they do not matter for actual printing may still cause problems during bed probing as the probe is often significantly offset from the pivot center (where the hot-end tend to be) This causes errors when probing the bed in which probes done when travel approaches from one side along the sensive axis vs. the other creating a bed height map with ripples that do not correspond to an actual imperfection in the bed.
To minimize this the carriage should ideally approach each probe point from the same direction on both axis during probing.
As a simpler but mostly good enough solution it is suggested to allow the user to select if the g29 command traverses X first or Y. While not a perfect solution it does solve any situation there tilting occurs on only one axis
-
10
11
12 -
Time to review the wish list. Here is the original one, in order of decreasing votes, and a note of which ones have been implemented:
(24 votes) 7. Dynamically-varying microstepping. This will allow you to configure 256x microstepping most cases, because the microstepping will be reduced automatically during high-speed moves.
(19 votes) 1. Reworked WiFi server code, including configuration using files on the SD card, automatic retry if the connection is lost, live reporting of signal strength and status, more reliable support of multiple concurrent connections, and optional FTP and Telnet support. Done, although multiple concurrent clients can be problematic when one of them goes offline without disconnecting first.
(17 votes) 6. Live monitoring of TMC2660 driver status and reporting of problems (e.g. overheat warning). Done.
(17 votes) 16. Feed-forward temperature control to predict the effect of turning the print cooling fan on or increasing the extrusion rate, and therefore reduce the temperature fluctuation.
(14 votes) 14. Support for powering off during a print, then resuming it when the printer is powered up again. Done, and being improved in 1.20.
(13 votes) 3. Logging of various events, including print start/pause/resume/cancel/end, and error messages. Done in 1.20
(13 votes) 17. Filament and printing time odometers.
(13 votes) 18. Ability to update PanelDue firmware via the web interface. PanelDue version 3 has the hardware to support this but the firmware support needs to be written.
(12 votes) 5. True bed levelling using 2, 3 or possibly 4 independently-driven Z motors and a Z probe. Done.
(10 votes) 15. Support for PanelOne 20x4 text displays, or possibly 12864 mono graphics displays.
(9 votes) 12. Better support for CNC machines. Partly done (M3/M4/M4 commands implemented in 1.20).
(9 votes) 20. Ability to control an electronics cooling fan thermostatically based on CPU temperature and driver overheat warning. Done.
(8 votes) 8. Standstill current reduction, which will allow higher motor currents to be used when the motors are moving.
(8 votes) 19. Ability to wait for cool down before turning off ATX power.
(7 votes) 11. Better support for laser cutters. Partly done (M3/M4/M4 commands implemented in 1.20).
(6 votes) 13. Automatic advance of changes in the colour mix when using a mixing hot end. See deckingman's blog.
(5 votes) 2. Better network security, including SSL if it can be made to work fast enough.
(4 votes) 4. Independent homing switches for multiple Z motors. Largely superseded by #5, but can be done by defining additional axes.
(4 votes) 9. Auto-park of motors when power is lost. This will help prevent motors getting out of sync when multiple motors are used to drive a single axis.
(4 votes) 10. Axis hysteresis compensation.
In addition, some new features have been requested:
(requested and seconded) Filament monitor In beta
(requested and seconded) Heater fault to pause print instead of aborting it Coming in 1.20beta2
Automatic firmware update I would be reluctant to do this, because firmware updates sometimes require changes to the configuration files
Email notifications of e.g. print complete
Print start/stop macros There is already stop.g which is called when M0 is executed at the end of your print, and you can use the slicer start/end gcode to call your own macros
Automatic XY skew compensation (using Mk42 bed)
Use Stallguard for bed probing See recent thread on this subject
Probe the bed multiple times at each point and take an average
Allow file uploads to be requested during a print, defer them until the print has completed
When bed probing, allow the probe point to be approached from the same direction each time, to mitigate the effect of combined tilt and backlash when positioning the head
As many of the items have been completed now, I'll stat a new wishlist soon. Top of that list will be the highest-voted items that haven't yet been implemented. But before I create a new thread for the new wishlist, are there any other items that should be on it - for example, using StallGuard to detect printing problems?
-
Using StallGuard to detect possible print collisions and layer shifts is probably the coolest feature in Prusa's new i3. I realize it's much easier for them since Prusa Research controls which motors they have, but an option to configure that would be really nice.
-
David,
I'd kind of hold fire on "13 - advancing tool change commands" due to my recent discoveries about PLA hydrolysing which means it still needs to be purged. Granted, advancing the tool change command would reduce the amount of purge required, but that purge would still need to happen at the original tool position - not the new (advanced) one. So it all gets a bit complicated. You'd need to do something like move the tool command forward but keep the original in place, then do the (small) purge on the second (the original) instance of that tool command. Having said all that, filaments which don't hydrolyse may benefit but I need to do more testing.
Ian -
5
7
9
12
14Not the most popular options, but that would really be a next big step forward in this board and allow us to build more complex machines using it.
-
How about
-
an iPhone/Android APP to control the board remotely? I think that would be awesome. Seems like an obvious choice, but I believe there is no app available yet.
-
Make UI more eye pleasing/tap friendly.
I know aesthetics is definitely less important than functional part, but shouldn't be overlooked too in my opinion Just purchased your board, haven't received yet. Very excited to start my new build with it. Would loved to have purchased two boards, one for my CNC router, but I am unsure if it can deliver solid CNC functionality at this point. SO stayed with MACH4 controlled breakout board from "PoKeys" company. Would really prefer to switch to your board at some point in future though.
-
-
How about
- an iPhone/Android APP to control the board remotely? I think that would be awesome. Seems like an obvious choice, but I believe there is no app available yet.
The web interface works really nicely as a full screen web app on Android ("Add to Home Screen" on Chrome menu). It's responsive and full-featured, including access to the web-cam display. I use it to keep an eye on the printer from a different room in the house.
I don't think there is anything technically stopping the web interface from being accessed over the Internet using port-forwarding or reverse-proxying. I'd personally be very nervous about doing that though for, hopefully obvious, safety and security reasons.
-
I'm using DWC over the Internet via a reverse proxy + TLS + HTTP-Basic-Auth - and it works just fine!
Got my webcam, a wifi-enabled power socket, and DWC: all controlled & managed from my phone.Just make sure your proxy doesn't add weird HTTP headers, as the Duet RRF limits headers to 16 at most (memory reasons?)
-
We can support more HTTP headers if it helps.
-
@dc42: great! I'm still not sure how I ended up hitting this limit, but my typical nginx config adds at least 4 additional headers. Chrome (or probably any other browser) adds 9 (when POST-upload). HTTP-Basic-Auth is one more header.
So we are pretty close to the current limit.If there is enough RAM / resources available, I would recommend bumping [c]MaxHeaders[/c] to maybe at least 24 or 32.
(not sure what happens if somebody sends a really large cookie…?) -
I've increased it to 30 for the Duet WiFi/Ethernet in the next beta. The other limit is that a complete HTTP request (excluding any postdata) must fit in 1460 bytes. A really large cookie could cause this limit to be exceeded, however DWC hasn't used cookies for a long time.
-
Using StallGuard to detect possible print collisions and layer shifts is probably the coolest feature in Prusa's new i3. I realize it's much easier for them since Prusa Research controls which motors they have, but an option to configure that would be really nice.
Seconded. I have read the other thread, and realize that there may be limitations, but the concept is sure interesting.
-
MQTT - so the printer can send out it’s status to MQTT compatible services, not so it can be controlled. Basically the printer reports as an mqtt sensor.
Personally I would use it to send me a text message via IFTTT , or flash my living room lights when a print has stopped/finished. Though other things like show hot end temperature via the colour of. A Philips hue lightbulb would also be possible.
Reference designs based on LWIP stack are available. I reckon %complete, finished state and temperatures would be the info to broadcast.