RRF 1.20 work list Done in 1.21RC1: - [done, reported ok] nonlinear extrusion bug, see https://www.duet3d.com/forum/thread.php?pid=34811#p34811 (not updating netSteps?) - [done, ok] M574 reported active low switches as "unknown type" - [done, ok] If no temp sensor configured, M305 Px should say so instead of allocating a thermistor - [done] "Warning: Error: short to ground on driver(s) 3" - [done, ok] Bug: M350 E32 affects only 1st extruder - [done, ok] FTP listen failed problem, \bin\curl\curl -vvv ftp://192.168.1.98/sys/bed.g - [done, test] M304 bug fix - [done, test] Support M260 I2C code - [done, test] Support M261 I2C code - [done, test] absolute babystepping mode - [done, test] Missing check on valid pin number in attachInterrupt, causes reset if you try to use a filament monitor on a DueX endstop input - [don't do, instead consider new GCode to set pause point + G92 R option] add G92 Z command to resurrect.g - [done, ok] Jerky curves with pressure advance, see https://www.duet3d.com/forum/thread.php?pid=35688#p35688 also see Ian's blog. Need to reduce extruder jerk speed due to the need to jerk steps. - [done, test] Endstops 5-10 when no DueX board present - [done, ok] Show board revision as 1.02 if VSSA sense present - [done] Disabled cache - [done, ok] Double probe touch Done in 1.21RC2: - [done, ok] Unified wifi/Ethernet firmware - [done, working] Support Ideamaker filament used, see https://github.com/dc42/RepRapFirmware/issues/151 - [done, working] bltouch separate probe type - [done, working] option to disable heaters when probing, B1 in M558 - [done, working] constant time password compare - [done, ok judging from M671 readback] M671 to allow 1 pair of XY coordinates to clear settings - [done, SCARA looks OK] SCARA and polar continuous rotation - [done, ok] start.g file - [done, ok] M0/M1 from PanelDue etc. no longer cancels a non-paused print - [done, ok] when Z probe readings are out of tolerance, use the average in G32 bed probing - [done, test] count and report I2C errors in diagnostics - [done, working] G29 fixes (square delta height map and multi touch) - [done, working] M207 retract hop changed while retracted - [done, all working] Test expansion connector endstop inputs - [done, working] Test 404 page when no files present, change it to give a useful message instead of blank screen 1.21RC3: - [done, ok] Duet Ethernet/M DHCP fixes - [done, ok] prohibit movement until homed - [done, ok] recovery time before all taps, not just the first - [done, ok] https://www.duet3d.com/forum/thread.php?pid=37605#p37605 (rotating magnet filament monitor) - [done, ok] During simulation, send status 'M' - [done, ok] M39 result to include cluster size - [done, ok] No error message if you try to turn off a non existent bed or chamber heater - [done, ok] Implement G60 - [done, ok] bug fix for M556 S0 - [done, ok] check G2/G3 against axis limits - [done, ok] M671 to allow correction factor 'F' - [done, ok] can set standstill current fraction on Duet M - [done, ok] https://www.duet3d.com/forum/thread.php?pid=37629#p37629 (issues getting info from large files) - [done, ok] https://www.duet3d.com/forum/thread.php?pid=39637#p39637 (ftp doesn't work with 1.21RC2 DWS) - [done, no test] added M118 support from chrishamm - [done, no test] when using any external drivers, don't change DIR before end of STEP pulse - [done] bug fix for multi tap with M558 P9 - [done, test] M452, M453 and M573 option to invert laser/spindle/extrusion signal (I1 parameter) - [done, test?] endstops 5-9 allowed for simple filament sensors - [done, believed fixed] https://www.duet3d.com/forum/thread.php?pid=40154#p40154 (incorrect resume point after pause) - [done, should be better] https://www.duet3d.com/forum/thread.php?pid=40183#p40183, https://www.duet3d.com/forum/thread.php?pid=39509#p39509 (not starting up correctly in access point mode) - [done] Attempted movements outside limits or when not homed cause current print file to be aborted Done in 1.21RC4: - [done] for CoreXZ require just X and Y to be homed before probing (so that G30 can be used to home Z axis) - [done] G10 L2 - [done] G10 L20 - [done, test] Suppress heater fault detection when heaters are suspended - [done] DuetWiFiServer: new SDK version - [problem gone away with latest DuetWiFiServer] Duet WiFi (Kossel): disconnects every time after I upload file xyzCalibration_cube s3d.gcode due to incomplete json reply, but can reconnect afterwards - [done, ok] Ethernet: set W5500 to auto negotiate - [done, test] Check min. 8 character password in M589, see https://www.duet3d.com/forum/thread.php?pid=40914#p40914 - [done, test] I parameter on M452, M453 and M573 didn't work - [done, test] M564 H0 to allow axis movement before homing on Cartesian/CoreXY printers - [done, test] Filament length comment generated by Cura, see https://www.duet3d.com/forum/thread.php?pid=40913#p40913 - [done, test] Doesn't cancel homeall.g if there is an illegal Z move at the start, https://www.duet3d.com/forum/thread.php?pid=41082#p41082 - [done] Corrected Z probe input pin in RADDS build - [done, test] in M589 check password is empty or at least 8 characters - [done] Multi tap on G30 - [done, didn't help] Possible fix to Duet 06/085 failure to start when using DHCP - [ok] Test smart effector sensitivity programming Done in 1.21RC5: - [done] M116 fix, see https://www.duet3d.com/forum/thread.php?pid=41954#p41954. Also M109, M190, M191 - [done] queue M291 non-blocking messages - [done, networking seems OK inc. DHCP] Duet 06/085 DHCP issue; rewrite dhcp_recv without goto? https://www.duet3d.com/forum/thread.php?pid=34605#p34605 and https://www.duet3d.com/forum/thread.php?pid=41923#p41923 - [done, hard to test] Error: Pop(): stack underflow! https://www.duet3d.com/forum/thread.php?pid=41967#p41967 - [done, test] Short delay after M558, https://www.duet3d.com/forum/thread.php?pid=41967#p41967 - [done, test] G10 L20 sign error, https://www.duet3d.com/forum/thread.php?pid=42044#p42044 - [done, test] When G54 etc. are sent, update user coordinates immediately - [done, test] G54 is the default coordinate system; G53 only lasts until end of line - [done, test] DWC and PD report user coordinates, nt machine coordinates - [done] new step pulse timing for slow drivers - [done, test] delta printer axis limits in DWC Done in 1.21 release: - [done] Chrishamms' change - [done] configuration and readback of pulse-type filament monitors is wrong - [done] Terminate WiFi sockets that abort - [done similar, ok] PR to report actual fan speed - [done] DWC Machine properties doesn't show correct state of active low endstops - [done] Use machine coordinates when runninng system macros - [done] Axis limits on arc moves Investigations: [awaiting reply] SCARA https://www.duet3d.com/forum/thread.php?pid=43636#p43636 [can't reproduce - printing over USB?] Jerky printing https://forum.duet3d.com/topic/4502/jerk-accel-settings-not-working-for-me/38 BLTouch deploying an extra time, https://www.duet3d.com/forum/thread.php?pid=44891#p44891 Printer stall, https://forum.duet3d.com/topic/4862/duet-wifi-printer-stalls-stops-no-errors/4 Remaining: - [done in 2.0] BUG: G1 E5 S1 on delta says "Error: G0/G1: attempt to move delta motors to absolute positions" - [done in 2.0] BUG: if we get a pause due to stalled drivers, the driver numbers won't be listed - [done in 2.0, test] Warn if M500 used but M501 wasn't seen in config.g - [done in 2.0, test] M114 to report user coordinates first, https://www.duet3d.com/forum/thread.php?pid=43073#p43073 - [done in 2.0, test] Allow Z jerk down to 0.2mm/sec - [done in 2.0, ok] BUG: no call to HttpResponder::CheckSessions - [done in 2.0] Update user coordinates after using G10 to change offsets, https://www.duet3d.com/forum/thread.php?pid=44900#p44900 - [done in 2.0, test] G2/G3: allow X and Y to be not specified, and I or J not to be specified, see https://www.duet3d.com/forum/thread.php?pid=44915#p44915 - [done in 2.0, test] BUG: G29 height map is way below bed. Happened on Ormerod. When probing the bed with simple G30 and compensation is applied, correct for the height map offset - [done in 2.0] Motor stall detection Z probe. Run deploy/retract macros before/after each probe, as for bltouch, or not? - [done in 2.0] Simulation to assume machine starts homed, restore homed status at end - [done in 2.0] more changes from chrishamm (multiple spindles, fan map) - [no fault] Report workspace coordinates to 2dp not 1dp to DWC (https://www.duet3d.com/forum/thread.php?pid=43789#p43789) - [done in 2.0] G0 not to use G1 F parameter, move at machine limits instead (CNC, https://www.duet3d.com/forum/thread.php?pid=43825#p43825) - [fixed in 2.0b2, test] BUG M667 S1 echoes the new kinematics - [fixed in 2.0b2] BUG DWC disconnects with JSON error after uploading a GCode file to Ormerod/Maestro - [done in 2.0b2] Support F parameter in G0 command again when machine mode is FFF - [fixed in 2.0b2, test] BUG: G0 command after G1 E command does extrusion - [believed fixed in 2.0b2] BUG movement system hangs sometimes if using very high microstepping, e.g. janke PSU model and config.g Todo in 1.21.1 bugfix release: - [done in 2.0] BUG: G1 E5 S1 on delta says "Error: G0/G1: attempt to move delta motors to absolute positions" - [fixed in 2.0b2, test] BUG M667 S1 echoes the new kinematics - [done in 2.0] BUG: if we get a pause due to stalled drivers, the driver numbers won't be listed - [done in 2.0, ok] BUG: no call to HttpResponder::CheckSessions - [done in 2.0, test] Allow Z jerk down to 0.2mm/sec - [done in 2.0, test] BUG: G29 height map is way below bed. Happened on Ormerod. When probing the bed with simple G30 and compensation is applied, correct for the height map offset - [believed fixed in 2.0b2] BUG movement system hangs sometimes if using very high microstepping, e.g. janke PSU model and config.g - [consider, done in 2.0] Simulation to assume machine starts homed, restore homed status at end - [consider, done in 2.0] Update user coordinates after using G10 to change offsets, https://www.duet3d.com/forum/thread.php?pid=44900#p44900 Remaining: - [done, test] Support M916 on older Duets - [done, test] M122 has some duplicate parts of network status on Maestro - [done, ok] prevent watchdog reset if MaxReps gets too high - [done] BUG manual probing, see https://github.com/dc42/RepRapFirmware/issues/170#issuecomment-380790290 - [done, ok] BUG strange varying temperature readings if 100K resistor used on an input configured for a PT100 - [done, ok] BUG if you set an input to be a PT1000 and then set it back to being a thermistor, it still reads like a PT1000 - BUG SCARA continuous rotation doesn't work - BUG sounds like SCARA only checks that the end point is within limits, but for a G1 move intermediate positions may violate the minimum radius - [done, ok] When >1 hot end heater, add T0/T1 prefix to M105 response for compatibility with Marlin etc. - PanelDue won't connect if VIN velow minimum for stepper motors [PanelDue firmware needs to recognise status 'O'] - Add parameter to M116 to specify acceptable temperature difference - Laser support, see https://forum.duet3d.com/topic/4702/laser-cnc-support-in-rrf-gcode-semantics/4 - support M205 for setting jerk - support G12 clean tool? - support estimated print time comment from slic3r PE - Danny's modified SCARA kinematics (workpiece is on a plate, extruder is fixed) - Look at Bezier speed curves or other S-curve acceleration, https://github.com/MarlinFirmware/Marlin/pull/10373/files - 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 - min/max RSSI display? - save theta, phi in move and then in DDA? - report RSSI in M552? - When VIN power too low and stepper drivers turned off, flag axes as not homed? - M81: don't give low voltage warnings when main power has just been turned off - Return "Powered down" status when VIN power has never been seen or has gone down after sending M81 - Auto mount main SD card when inserted - Workplace offsets are supposed to be persistant (check NIST), https://www.duet3d.com/forum/thread.php?pid=43755#p43755 - At the end of a simulation, restore the original workplace coordinate selection - apostrophe in quoted filename - looks like we get a Pop underflow message when you send DWC jog commands and axes are not homed - Add warning message when print exceeds bounds - Does bltouch need a default recovery time? - Should bltouch use digital probe mode? Some users having problems with P25 in G31 command. - M584 when assigning a drive, unmap any existing assignment. Also allow an axis to be mapped to driver -1. - Add S4 option to G1 command, like S1 but no endstop checks (needed for CoreXY, CoreXZ) - When uploading while a file is being printed, don't allow the currently-printing file to be replaced - if a homing command in an SD print file is aborted due to e.g. G1 Z5 in the homing file, error message should be written to both DWC and PanelDue - [no fault] stall detect on Z axis - Files generated by Cura doesn't detect layer changes, see https://www.duet3d.com/forum/thread.php?pid=40865#p40865 - [re-test using new DuetWiFiServer] "Failed to change mode" messages after M552 S2/S0/S1 cycle - [can't reproduce] "Attempt to seek on a non-open file", https://www.duet3d.com/forum/thread.php?pid=41175#p41175 - [hopefully this is fixed by the DHCP fixes] https://www.duet3d.com/forum/thread.php?pid=37797#p37797 (Duet Ethernet long delays between moves) - [no idea, bus fault in pbuf_cat] Look at https://www.duet3d.com/forum/thread.php?pid=37551#p37551 - When Z probe readings are out of tolerance, display the lowest difference seen between consecutive readings? - laser control, https://www.duet3d.com/forum/thread.php?pid=37891#p37891 - slow DWC but fast FTP, https://www.duet3d.com/forum/thread.php?pid=38345#p38345 - no stall detect on Z axis, https://www.duet3d.com/forum/thread.php?pid=38504#p38504, https://www.duet3d.com/forum/thread.php?pid=39484#p39484 - Pressure advance, see https://www.duet3d.com/forum/thread.php?pid=38036#p38036 - check that we never enable the drivers before we set vsense - [don't do] Don't report the motor current for a non-existent extruder - SD card read error handling? - 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? - Add timeout to hsmci_send_cmd_execute, see https://www.duet3d.com/forum/thread.php?pid=35654#p35654 - Bug: pressure advance attempts high speed or acceleration extruder movements on bench setup (was it caused by hitting limits?) - Bug: https://www.duet3d.com/forum/thread.php?pid=34772#p34772 (needs RRF fix too?) - M40 to run eject.g [don't do, not NIST standard?] - configurable minimum extrusion temperature (per extruder?) - case-insensitive http headers - Send reduce power command to PanelDue when main power turned off? - Document multiple bed and chamber heaters - [mostly done] Check all classes for correct initialisation - sd_mmc_spi doesn't acquire/release the SPI bus. Need to change this for RTOS. - If wifi module gets stuck in starting state, reset it again - If wifi disconnects when in client mode, keep retrying the connection Bug investigations: - [done] step errors, https://www.duet3d.com/forum/thread.php?pid=33741#p33741 - [no fault, possibly related to low extruder steps/mm] SeeMeCNC scaling problem, see email of 2018-04-01 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 Later versions: - Multiple bed heaters, https://www.duet3d.com/forum/thread.php?pid=33903#p33903 - Use M140H1:2:3 to set multiple bed heater numbers - Check https://www.duet3d.com/forum/thread.php?pid=33951#p33951 - Option to not broadcast SSID? - On file read error during SD card print, treat like a temperature fault - Support faster homing by using interrupts to check homing switch states - Allow manual bed probing to be aborted - Implement G1 S4? (like S2 but always relative) - Add work coordinates? https://www.duet3d.com/forum/thread.php?pid=27128#p27128 - Don't do pressure advance during accel/decel of sequences of short segments - Arc move with same finish and start coordinates to do complete circle - 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?