Duet 3 work list - [done] Configure ESP SPI pins and channel on 0.3 board from Pins.h - [done] Fan/heater output flexible configuration - [done] Endstop/Z probe flexible configuration - [done, test] Leadscrew adjustment moves not implemented on remote drivers - [done] Separate temperature sensors from heaters - [done] Remote temperature sensors - [part done] Remote heaters - HeaterProtection objects probably don't work - Driver on/off voltages to be defined in Pins.h, they depend on the board - Enable dotstar support - SWdebug stuff for main board - Hiccup delay times will need sending to CAN drivers - Remote fans - Remote GPIO and servo ports - Driver numbers to be specified using board.driver format in M584 and M569 - Remote M906 and M913 - Remote M569 - Remote M915 - Move M912 function to sensor creation Done in 2.03beta1: - [done, ok] MBytes/sec -> Mbytes/sec in M122 P104 report - [done, ok] Remove 'RTOS' from firmware name? - [done, ok] G1 X1E1 no longer gets treated as if it also has an E parameter - [done, ok] On 12864 display increment default column by 1 extra to leave a space - [done, ok] Bug: setting M558 A parameter to anything >31 sets it to 0 instead of to 31 - [done, ok] Slicer PE time estimate string, https://forum.duet3d.com/topic/8440/rrf-2-02-slic3r-pe-1-41-2-filament-used-and-print-times-wrong and SodaStreamHolder gcode file - [done, ok so far, poss homing issue] Generalised Cartesian/Core kinematics inc. markForged - [done, ok] M572 and M221 with no extruder drive number to set all extruders used by the current tool, https://forum.duet3d.com/topic/8444/setting-pressure-advance-in-filament-file - [done, ok with new filament monitor, test with old] Support filament sensor firmware v2 - [done, ok] Improve efficiency of debug print in WiFiInterface: don't keep calling cat and strlen - [done, ok] Filament monitor to use time since end of last nonprinting extruder move - [done, ok] Fix continuous rotation speed error bug on Polar kinematics, https://forum.duet3d.com/topic/8747/polar-printing-polar-axis-rotation-issue/3 - [done, ok, needs community test] Generalised Cartesian kinematics - [done, ok] fixed a crash in the crash handler when no task was active - [done, ok] Fix M3D Kanji problem on some displays - [done, ok] 4-tower delta kinematics - [done, ok] G2/G3 R parameter instead of IJ - [done, ok] On delta, G1 Y-100 after homing hits endstops - new limit check not working properly - [done, ok] Configurable 12864 SPI frequency - [done, ok] PR to send standby bed temperature in M408 - [done, ok but test with babystepping] Deferred DM allocation and removal of DM array - [done] Support L parameter in M585, thanks chrishamm - [done] Scara R parameter to set min radius, https://github.com/dc42/RepRapFirmware/issues/221 - [done, test] Disable mdns in legacy Duets, https://forum.duet3d.com/topic/8352/duet-0-6-randomly-reboots/5 - [done, test] rr_fileinfo and M36 with no filename to include estimated print time and simulation time in the response, as in the report with a filename - [done, test] In CNC and laser mode update user Z coordinate after tool change, https://forum.duet3d.com/topic/8181/tool-offset-honored-but-not-displayed-correctly - [done, test] On SCARA and delta printers, apply geometric limits even if not applying M208 limits - [done, test] G92 should not constrain the passed coordinates to the M208 limits if M564 S0 has been used to disable limits - [done, test] Bug fix: month number written to height map.csv and filament files was too low by 1 - [done, test] wilriker PR to allow steps/mm to be quoted in M92, https://forum.duet3d.com/topic/8225/m92-parameter-to-indicate-microstepping/6 - [done, test] G30 S-3 option, to set trigger height to stopped height - [done, test] Bug: 12864 display needs to be refreshed when a change in printer state alters visibility - [done, test] When M106 Pn Sxxx received, if n = current print cooling fan number, update the print cooling fan speed variable, https://forum.duet3d.com/topic/8540/part-fan-value-missing/6 - [done, test] DAA to handle requested accel/decl > max - [done, doesn't scroll correctly at the end of the list, fixed in beta2] Suppress filenames starting with '.' in the 12864 display - [done, ok] Implement G17, error on G18/G19. - [done, test] Core kinematics: enable all necessary motors - [done, test] Make G2/G3 segment length lower at low speeds, https://forum.duet3d.com/post/79040 - [done, still not quite right, fixed in beta2] Bug: M997 S1 sent from USB keeps returning M105 status reports while the wifi firmware is flashing, and PanelDue 'flashing' update messages get erased - [done, ok] M453 do the switch to CNC mode even if bad P parameter used - [done, test] After pausing a print, if Cancel is pressed, cancel initial heating first like M108 does - [done, ok] M122 P105 prints object sizes Done in 2.03beta2: - [done, ok] Bug: M997 S1 sent from USB returns one M105 status reports when flashing wifi firmware completes, and PanelDue 'flashing' update messages get erased - [ok] Suppress filenames starting with '.' in the 12864 display - [done, ok] M305 P# report includes the last error - [done, ok] Remove M135 - [done] Increase temperature sampling from 2 to 4 samples/sec and increase max consecutive bad temperature count from 4 to 8 - [done, ok] Shrunk the DDA by 8 bytes (another 4 may be possible) - [done] Shrunk each Tool from 196 to 140 bytes - [done, ok] M203 Innn to set minimum movement speed - [done, ok] M203 now reports feedrates in mm/sec and includes minimum speed - [done, ok] Scale fan PWM up to M106 X value - [done, ok] Add error for M208 min >= max - [done, ok] Allow hex input everywhere that an unsigned value is expected - [done, ok] Fix leadscrew adjustment bug in 2.03beta1 - [done for single endstop per axis, ok] M574 endstop assignment, including option for >1 endstop per motor - [done, ok] Bug: M406 S6 or with other invalid S parameter never completes - [done, ok] M111 Sn where n != 0 no longer enables all debugging, for better compatibility with Repetier host - [tested, ok] Test heater tuning (sample rate changed) Done for 2.03beta3: - [done] Allow UVW tower endstop adjustments on deltas - [done] M291 only lock movement if jog buttons are enabled, https://forum.duet3d.com/topic/8988/wishlist-interrupt-tool-change-from-a-trigger/16 - [done, test] Apply tool offsets in tpre.g and tpost.g - [done, ok] Bug: 12864 display selects wrong file to print if files starting with '.' are present - [done] HttpResponder fix from sdavi - [done, test] Bug fix: if axis scaling was used then baby stepping, tool offsets and workplace coordinate offsets were not correctly accounted for when converting machine position to user position - [done, but looks like it doesn't work properly] Duet085: allow 2 additional fans - [done, test] Stop movement when changing pressure advance with M572, https://forum.duet3d.com/topic/9140/extruder-behaves-strangle-when-disabling-pressure-advance/10 - [done] Stop movement when changing endstop config in M574 - [done, test] Bug fix: don't apply limit checking in non-FFF mode to move types other than zero, https://forum.duet3d.com/topic/9203/laser-mode-endstop-limit-and-homing/4 - [partly done, test babystepping, test resurrect.g file M291 command correct] Y babystepping, https://forum.duet3d.com/topic/8015/change-z-babystepping-to-y-babystepping-for-belt-printers/14 - [done, but interference between them] support multiple DDA rings - [done, test] Implement M470/M471 PR, thanks wilriker - [done, test] Fix 'nan' standard deviation when G30 P0 X0 Y0 Z-9999 S-1 is run - [done, test] Per-channel and push/pop inch/mm setting - [done, test] Ryan's M453 issue, https://forum.duet3d.com/topic/9363/m453-issue-after-homing - [done, test] Unsupported G and M codes try to run Gxx.g or Mxx.g - [done, test] M650 and M651 are no longer handled specially - [done] Increase tuning timeouts to 30 mins for bed/chamber heaters and 7 minutes for extruder heaters - [done, test] Laser power is only sticky if S1 parameter is used in M452 command - [done] Calibration without homing afterwards left the machine position incorrect - [done] Bug fixes for deltas with >3 towers - [done] Setting a chamber heater sometimes crashed the firmware - [done] Support M505 - [done] Duet085: allow 2 additional fans Done in 2.03RC1: - [done, test] M291 don't ever lock movement, and unlock movement if it is owned and we are waiting for a response, e.g. if used within homeall.g and an SD file does G28 - [done, test] resurrect.g: put filename in quotes, and add R0 to M290 command - [done, test] 12864 % complete - [done, ok] 12864 time remaining - [done, ok] 12864 requested and top speeds - [done, ok] 12864 IP address as one variable - [done, ok] 12864 auto % where applicable - [done, test] 12864 menu items: visibility wasn't applied to alter/value/image items - [done, ok] Limit 12864 refresh rate to avoid fast-changing items flickering - [done, ok, port] Only add 1 space after left-aligned text items with no explicit width on 12864 - [done, ok, port] Bug: fix crash when there were no selectable items in a menu on 12864 - [done, ok, port] Ignore blank lines in menu files for 12864 - [done, ok] Mount SD cards automatically if they are not mounted and we are asked to list files on them on 12864, and display any error messages - [done] applied latest FatFs patches - [done, ok, check in v3] M109 not running tool change files, https://forum.duet3d.com/topic/10108/m109-command-does-not-run-tool-change-macro-s/6 - [done, check in v3] M302 to wait until moves have completed - [done, not tested] Duet085 additional fan issue - [done, test] Include workplace coordinate # in status response, https://forum.duet3d.com/topic/9896/display-current-active-csys-p1-g54-p2-g55-next-to-x-y-z - [done] Network reset didn't work on Maestro - [done, ok, check in v3] minor corrections to thermistor and PT1000 reading conversion - [done, check in v3] Increase #triggers from 10 to 16 - [done, test, check ported to v3] If a print is ended or cancelled with G10 in effect, cancel the Z lift - [done, reported ok, port to v3] TMC2208 drivers: disable open load detection when in stealthChop mode - [done, port to v3] increase number of output buffers to 24 - [done, port to v3] inches/mm now handled in resurrect.g - [done, ok, port] Bug: was holding movement lock while waiting for bed or extruder to heat up, so unable to pause/cancel during heat up - [done, ok, port] Bug: fix crash when there were no selectable items in a menu - [done, ok, port] Only add 1 space after left-aligned text items with no explicit width - [done, ok] Mount SD cards automatically if they are not mounted and we are asked to list files on them from 12864 display, and display any error messages Done in 2.0RC2: - [done, community to test] I2C errors: recover from them - [done, ok] Separate task to keep DuetX endstop input state up to date Done in 2.0 RC3: - [done] M584 formatting improvement when no extruders - [done] Probably issue with leadscrew move when driver numbers >= MaxAxes are used to drive Z motors - [done] In CoreNG, increment I2C reset count when resetting the I2C system - [done, ok] Recognise filament usage comment in Prusa slicer, https://forum.duet3d.com/post/95091 - [done, test] M585 L parameter still not working - [done, test] In resume.g a G1 R command goes to the wrong coordinates. Save restore point in machine coordinates always? But we do need to take tool offsets into account. - [should be ok now, reproduce original problem, test] Homing files when workplace coordinates were active cause other axes to move, RL and https://forum.duet3d.com/topic/10480/new-firmware-2-03rc2-available/16 - [should be ok now that restore points are in machine coordinates; test] Resurrect.g all coordinates need to be machine coordinates - [done, test] Resurrect.g restore workplace # and workplace offsets - [done] Probable error with babystepping: incorrect sign when doing tool offset inverse transform, so it restores an incorrect Z position - [done] G53 now available even when workplace coordinates not supported in build (cancels tool offsets) - [done, test] For E3D: scale feed rate in proportion to total mix, for serial extruder drives etc. - [done, test] Allow M203 max speeds lower than 1mm/sec, https://forum.duet3d.com/post/95049 - [done] Enable laser in Duet085 build - [done, ok] M563 P# with no other parameters: better response formatting when no heaters or no drives - [done] Added extra diagnostics for when a filename is too long - [done, test with over-long filenames] Added missing newline at end of some error messages - [done] in resurrect.g, for tool changer, select tool after running reasurrect-prologue and run tpre and tpost files when selecting current tool - [done] In resurrect.g, set up fan speeds after the tool is selected so that the mapped fan speed is correct - [no fault] Investigate https://forum.duet3d.com/post/94668 (filament load macro using stall detect not working) In 2.03RC4: - [done] Print Z shift in Move diagnostics - [done] In Move diagnostics, only print bed probe heights if 3/4/5-point bed compensation is in use - [done] Bug fix for Z shift if Z probe averaging mode is being used - [done, test]Bug fix: M0 H1 turns heaters off there is a stop.g file - [done] M1 no longer disables drives (you can do that in sleep.g) - [done] M0/M1 with a stop.g/sleep.g file no longer deselects the tool, it just turns off tool heaters if no H1 parameter - [done, ok] After grid probing, print min/max error as well as mean and std dev, also record them in the height map file - [done] M675 PR - [done] Warning if you run mesh bed probing and there is a substantial height offset - [done] Warning if you load a mesh and the Z datum has not been set by probing and there is a Z probe - [done] Fix 2.03RC3 bug: G10 L20 gave wrong results when a workplace coordinate offset was in use - [done] M114 displays bed compensation amount at current position In 2.03RC5: - [done] After running stop.g ensure all moves are finished before setting motors to idle current, https://forum.duet3d.com/post/96452 - [done] When downloading a .zip file don't set content-encoding to gzip, https://forum.duet3d.com/post/96469 - [done, test] When disabling HTTP protocol or disabling the network, release any associated resources e.g. output buffers. Similarly for FTP and Telnet. - [done, ok] Delta printer: after homing, allows attempts to move Z up beyond endstop switches, https://forum.duet3d.com/topic/10735/delta-printer-max-limits - [done, ok] FTP responder: initialise haveCompleteLine (thanks gtjoseph) - [done] In SCARA printers/laser cutters (not CNC), if we can't do a coordinated travel move due to unreachable intermediate positions, try an uncoordinated one - [done] Duet Maestro build now supports laser cutters - [done] SCARA bug: when attempting to move beyond arm limits the cached X and Y are inconsistent with the cached theta and psi For 2.03 release: - Add virtual extruder position to M114 response for Octoprint, https://forum.duet3d.com/topic/10821/returning-virtual-extruder-position-in-m114/3 - When disabling network or a protocol, set the number of active HTTP and/or Telnet clients to 0 - Added jerk policy, P parameter to M566 - Pulse-type filament monitor now reports mm/pulse to 3 decimal places instead of 2 - For 2.03.01: - [done] Bug: delta auto calibration adjusts homed height incorrectly if the delta radius or rod length was changed - [done] Bug: G29 P parameter doesn't work if there are nonempty deployprobe.g/retractprobe.g files, https://forum.duet3d.com/topic/10904/g29-p-parameter-ignored/5. Remove P parameter from G29 S0, add G29 S3 (same as M374). - [done] Bug: M557 P parameter didn't work - [done] G31 to show current parameters, not just probe output value - [done] Pulsed filament monitors: don't try to resync on every interrupt when interrupts are arriving very fast because the sensor has high resolution - resurrect.g missing the tool selection command? - Bug with small Z movements at Zmin, https://forum.duet3d.com/topic/11025/strange-behavior - Issues when diagonal rods are not all the same lengths, https://forum.duet3d.com/post/99714 Outstanding issues: - Running out of output buffers and not freeing them up, https://forum.duet3d.com/post/96586 - Inconsistent Z0 position, https://forum.duet3d.com/user/caveman - [defer] When writing resurrect.g after a pause, the G92 coordinates are wrong - Bug in 2.03, 2.04RC1 and latest 3.0 beta: https://forum.duet3d.com/topic/11343/new-reprapfirmware-3-0-early-beta/30 - Bug in 2.03 and 2.04RC1: M586 with T0 parameter generates spurious warning, https://forum.duet3d.com/topic/11632/m586-error-tls/4 - Display Error Status in hex Duet 3: - Bug: code queue not always used when it should be, https://github.com/chrishamm/DuetSoftwareFramework/issues/1 - Bug: M308 Y"mcutemp" or "drivers" doesn't work without P"nil" parameter - Different motor currents on Duet main board V0.6 vs older versions Planned for 3.0: - Two Z height issues, https://forum.duet3d.com/post/108569 - M291 not displaying on PanelDue as well as web interface, https://forum.duet3d.com/topic/11240/m291-display-on-lcd-not-always-working-when-web-session-is-open - [done] 3.0 bug: Fix Z probe starting height - Test leadscrew adjustment moves - Separate sensor config from heaters - analog threshold in M581, https://forum.duet3d.com/topic/11549/analog-threshold-for-m581-trigger - filament sensor errors run filamenterror0.g etc. in preference to pause.g - ignore M587 etc. commands in config.g - option to use Z endstop as emergency backup when probing with bltouch, IR sensor etc. - Option to invert PS_ON pin sense - Firmware retraction parameters per tool - Dynamic height map allocation, https://forum.duet3d.com/topic/11449/possible-increase-possible-441-points-for-bed-mesh-compensation - Bug: in CNC mode, if a move goes out of bounds then the spindle is stopped immediately but moves in the queue continue to execute. Need to go to a special state to empty the queue, and then turn the spindle off? - Bug: incomplete FTP uploads, https://forum.duet3d.com/topic/10987/ftp-not-uploading-whole-files - Bug? DWC 1.22.6 doesn't auto show the height map after probing since firmware 2.03, https://forum.duet3d.com/topic/10904/g29-p-parameter-ignored/5 - Support M24 in pause.g and filament-change.g - M24 in filament-change.g macro doesn't resume the print - Mechanism to restore original spindle speed (+ wait afterwards?) or laser power after a pause - [on hold] investigate filament file not run on initial tool change, https://forum.duet3d.com/topic/9405/first-t0-in-gcode-does-not-work/5 - Filament monitors: disable if tool is not active/no commanded extrusion, or does it do that already? - [yes it already did] In simulation mode, does M109 implicity select a tool? https://forum.duet3d.com/topic/9595/simulation-error - support live Z baby stepping (could also be live X and Y on Cartesian printers, maybe even on CoreXY) - abort SD print if G28 or G32 or G29 fails, https://forum.duet3d.com/topic/9383/way-to-cancel-print-after-g32-failure/9 - Check that in all modes, if insufficient axes are homed then the SD job is aborted - In CNC or Laser mode, abort job if it goes outside machine limits, https://forum.duet3d.com/topic/9269/yet-another-cnc-improvement-outside-machine-limits/4 - In simulation mode, if the job was aborted for any reason, report this instead of reporting the simulated print time - M143 A3 option to turn off whole machine immediately on heater fault? - Turn off power in emergency stop? https://forum.duet3d.com/topic/9158/ps_on-m81-incorporated-into-the-emergency-stop-functions/5 - Clear filament sensor alerts after they are acknowledged, https://forum.duet3d.com/topic/9072/filament-out-warning-always-present/8 - [done, document, test] Compensate probe trigger height for other heater temperature than bed - For PanelDue, send heater data for the first heater in each tool (does PD handle #heaters and #tools separately?) https://forum.duet3d.com/topic/8458/hide-unused-heater-channels-paneldue-5/4 and https://forum.duet3d.com/topic/8933/paneldue-two-tools-same-heater-one-pair-of-temp-buttons/2 - Implement M410 quick stop - Implement power loss M582 trigger action? - On heater fault shutdown, do we try to turn off power? https://forum.duet3d.com/topic/9283/controlled-shut-down-of-24-volt-power-supply-by-ssr/4 - Consider option to cancel objects, see https://forum.duet3d.com/topic/9226/cancel-skip-individual-objects-during-print/8. Also say which object we are printing. - Option to display current tool mix ratio on 12864 display, https://forum.duet3d.com/topic/10777/can-show-the-mixing-ratio-on-the-duet-maestro-12864-display - Laser turns off, https://forum.duet3d.com/topic/9636/laser-turns-of-during-straight-lines/5 - Test endstop input high/low noise immunity, decide on pullup enable/disable - [mostly done] Z height based on plasma voltage or force - [gone away? could be related to visibility issue] Investigate 12864 display heater fault warning, https://forum.duet3d.com/topic/7718/12864-display-current-tool-temperatures/6 - Slow startup move issue, https://forum.duet3d.com/topic/8284/firmware-2-02-released/7 (adding S2 fixes it) - M291 issue, https://forum.duet3d.com/topic/8381/m291-s2-does-not-block-macro-execution/5 - In laser mode allow M3 instead of S to control laser power? (wait for feedback, not as simple as it looked) - [check latest forum response, possibly caused by M208 checks] Investigate @frafa's SCARA issue, https://forum.duet3d.com/post/76024 - [await reply from Mario] Is there any benefit to setting RNDTF in M569? - [done] Danny's G1->G0 request [added IntermediatePositionsReachable function] - Warm up time not always displayed in 2.02 - Deferred allocation of DMs: don't create DMs for nonlocal drives, pass #steps to CAN interface instead - Reports that DueX5 endstops stop working after a while, https://forum.duet3d.com/topic/8284/firmware-2-02-released/9 - Pressure advance issue? https://forum.duet3d.com/topic/8672/extruder-motors-skip-steps-with-pressure-advance-enabled/3 - Command (M18/M84?) to enable specified motors or axes - Don't keep sending "wifi reported error" messages during reconnection attempts, https://forum.duet3d.com/topic/8837/wifi-reported-error 3.x planned: - Option to calibrate bed tilt but not tower positions, https://forum.duet3d.com/topic/9236/delta-auto-calibration-changes-in-bed-tilt-calculations/2 - Stop print after a short to ground report? https://forum.duet3d.com/topic/8239/duet-maestro-short-to-ground/10 - Option to enable a trigger when not printing (C3?), https://forum.duet3d.com/topic/8459/m581-external-trigger - Implement G43? - What does M48 do in Marlin? - Option in M452 to allow G1 S or M3 to control laser? Also whether S is sticky. - On Maestro, delay between first enabling the driver and moving the motor; or a separate command to enable a motor. - When installing DuetWiFiServer, PanelDue message keeps disappearing - Overlap SD card write and network fetch, for faster file upload? - Object model - Conditionals, loops and maths in GCode commands - S-curve acceleration - Some features from the list below Future: - G5 Bezier curves - https://forum.duet3d.com/topic/9507/unretract-after-tool-change/13 - Option to skip some parts of a build, https://forum.duet3d.com/topic/9226/cancel-skip-individual-objects-during-print - New DuetWiFiServer using RTOS and a later Expressiv SDK version - Remove string allocation from ActOnMCode to save stack space - Easier way to support multiple endstops on axes (combine with facility to reassign endstop inputs) - Junction deviation instead of jerk? Probably combine with S-curve acceleration. - Add I2C success count to I2C stats - Run script if thermal error? https://forum.duet3d.com/topic/8038/suggestion-run-script-in-case-of-thermal-error - Run script on filament error? - Option for an endstop input to trigger an emergency pause - Count steps until homing switch is triggered compared to original, https://forum.duet3d.com/topic/8017/request-check-for-lost-steps - In CNC or laser mode, don't segment G0 moves for mesh bed compensation, https://forum.duet3d.com/topic/7728/go-vs-g1-movement/11 - Z homing switch offset in M208 or elsewhere, https://forum.duet3d.com/topic/7767/z-offset-is-negated-in-homing-g-macro - After looking for G1 Z commands to find object height in gcode file analyser, check that there is extrusion after it - M260 allow bytes to be specified in hex, more generally allow hex anywhere? - Auto mount SD card when it is inserted - Option to set an idle timer, https://forum.duet3d.com/topic/7758/configuring-idle-timeout - Extruder motion until filament sensor senses motion stopped? - Allow jerk between printing and non-printing moves, so that coast-to-end works? already made a change for coast-to-end. - Error handling in [variable] parser in GCodeBuffer class - WiFi auto reconnect should not log all unsuccessful connection attempts, just the first one - Option to send M280 servo commands just a few times instead of continuously - M3 R parameter so it can restore the spindle/laser after a pause (https://forum.duet3d.com/topic/5418/cnc-laser-m3-unpause-r-parameter) - Adjust laser power during acceleration/deceleration - First layer segmentation, to help with baby stepping? Or another way to implement live babystepping? - Object model variables in 12864 display menus - CNC shutdown when movement outside limits attempted not working well, https://forum.duet3d.com/topic/6186/stable-firmware-2-01-duet-2-and-1-22-duet-06-085-released/55 - Better dead time measurement during auto tuning. Measure both turn-on and turn-off? - Feedforward heater control for fan and extrusion speed changes - If wifi module gets stuck in starting or changing mode state, reset it again - At the end of a simulation, restore the original workplace coordinate selection - CNC: look at G17/18/19, see https://forum.duet3d.com/topic/4669/ooznest-workbee-screw-driven - Option in M92 to specify what microstepping the values are specified at, https://forum.duet3d.com/topic/8225/m92-parameter-to-indicate-microstepping/4 - Trigger option to do emergency pause? https://forum.duet3d.com/topic/7846/pause-and-store-print-state-on-network-signal-ups/4 - Allow extruder movement in tpre? https://forum.duet3d.com/topic/7263/controlling-stepper-motors-via-drive-numbers-eg-g1-d4-700-f100/4 - M207 per-tool values, https://forum.duet3d.com/topic/6855/add-drive-extruder-parameter-to-m207/6 - Command to copy output from the following commands to the log file? - Track which devices use which pins - Hangprinter PRs - PR to have any enabled driver report 50C - Alternative G10 command to set offsets from known current tool position, see https://forum.duet3d.com/topic/6465/g92-g10-m585-for-setting-head-position-not-machine-position/4 - Keep sending M408 responses to PanelDue while waiting for movement to complete, or M400 or homing move or similar - Extra logging? [did some extra in 2.02RC3] https://forum.duet3d.com/topic/7103/extend-m929-logging-capabilities/5 - Danny's modified SCARA kinematics (workpiece is on a plate, extruder is fixed) - Look at pushover notification support, https://forum.duet3d.com/topic/169/notification-via-pushover-or-other-service/45 - M81: don't give low voltage warnings when main power has just been turned off - M81: option to invert polarity? - Add S4 option to G1 command, like S1 but no endstop checks (needed for CoreXY, CoreXZ) - M569 command to allow selection of smart/dumb driver (including on Duet M), also allow all 12 drivers to be smart - Apostrophe in quoted filename: can we make apostrophe special in SSIDs/passwords but not filenames? - M140 command to set default bed heaters for M140 S commands (e.g. M140 P0:1:2) - Consider: Heater faults to run M81 even when not doing a build (https://forum.duet3d.com/topic/6225/configure-action-on-heater-fault/7) - Option to repeat G32 until deviation/leadscrew adjustment is below a threshold or a retry count reached (and allow for probing failures) - Macro option when a motor stall is detected, https://forum.duet3d.com/topic/7026/more-options-for-stall-detection - Update PanelDue firmware via Duet - Use Heat task to read DHT sensors? - Add option R4 to M915 command, to do an emergency stop (useful for Z motor) - GCodes corresponding to rr_move and rr_mkdir, https://forum.duet3d.com/topic/5470/firmware-2-0rc6-and-1-21-1rc6-released/13 - support G12 clean tool? - Add fan PWM limit, https://forum.duet3d.com/topic/5370/m106-feature-request-limit-max-pwm-parameter/4 - after homing, warn if outside M208 movement limits on SCARA, polar etc. - Unexpected heaters off/tool selection behaviour, https://www.duet3d.com/forum/thread.php?pid=43059#p43059 - warn when using : where ; was probably meant - Error message if you attempt movement with VIN < minimum - When VIN power too low and stepper drivers turned off, flag axes as not homed? - min/max RSSI display? - report RSSI in M552? - Auto mount main SD card when inserted - Add warning message when print exceeds bounds - When uploading while a file is being printed, don't allow the currently-printing file to be replaced - Option to send stall warning messages when not printing from SD card, https://forum.duet3d.com/topic/6720/stall-protection-on-pyserial-print - Custom macros to execute on stall detection, including extruder stall detection https://forum.duet3d.com/topic/6730/stall-detection-custom-actions - When Z probe readings are out of tolerance, display the lowest difference seen between consecutive readings? - dual extrusion layer counting, see https://www.duet3d.com/forum/thread.php?pid=34816#p34816 - M140/M190 with no P parameter sets all bed heater temperatures (same for M141/M191) - M291 to lock movement and wait for it to finish? - Bug: https://www.duet3d.com/forum/thread.php?pid=34772#p34772 (needs RRF fix too?) - configurable minimum extrusion temperature (per extruder?) - case-insensitive http headers - Send reduce power command to PanelDue when main power turned off? - Option to not broadcast SSID? - Support faster homing by using interrupts to check homing switch states - Allow manual bed probing to be aborted - Don't do pressure advance during accel/decel of sequences of short segments - Add T parameter to M207 - look at supporting SIZE in FTP - Make mp.delta.hmz0sK, hmz0scK and dsk 64-bit in SAM4E versions, to increase movement limit - also increase K2? Investigations: [done, waiting forever for SD card] Investigate https://www.duet3d.com/forum/thread.php?pid=32237#p32237 [done] https://www.duet3d.com/forum/thread.php?pid=30414#p30414 (watchdog reset) [can't reproduce] https://www.duet3d.com/forum/thread.php?pid=28210#p28210 (pressure advance causes over extrusion) [done] https://www.duet3d.com/forum/thread.php?pid=28255#p28255 (tool change problem) [done] https://www.duet3d.com/forum/thread.php?pid=30431#p30431 (bed probing inaccurate) [can't reproduce] https://www.duet3d.com/forum/thread.php?pid=30799#p30799 (step errors at high E steps/mm) [no fault] https://www.duet3d.com/forum/thread.php?pid=30851#p30851 (split axis motor goes the wrong way) [done BUT still wrong in lwip 2] inconsistend oversize vs. len p->ref == 1 in WiFi File transfer/write error if you upload while printing, https://forum.duet3d.com/post/109751