Fixed bugs related to grid bed compensation and M571 in 1.17dev7 version
Software reset code storage/retrieval now works on Duet WiFi
Removed max average printing acceleration parameter
M571 now accepts F parameter to set the PWM frequency
M106 now shows if fan is disabled
Implemented loading height map from file (G29 S1)
Implemented move segmentation when grid levelling is used
M571 now accepts a P parameter to define the output pin
M558 R parameter is now Z probe recovery time
Keep track of time locally instead of using the inaccurate RTC
M109 and M104 default to first tool if no tool selected or specified
M109 activates the tool if no tool or a different tool was activated
Default max temperature excursion increased to 15C
Removed PROTO1 confivguration, added RADDS configuration
Fixed deadlock in some earlier 1.17dev builds when a macro that does
movement is run during a print
Added support for M557 grid definition and G29 grid probing (not
complete yet)
Workaround for DWC sending volume ID in new name when renaming a file
across directories
G1 moves with S2 modifier no longer ad the tool offset
Support concurrenrt execution of commands form different channels
M143 now supports individual temperature limits per heater
Fixed issue with dely of up to 2 seconds when switching Duet WiFi heater
channel 3 to servo mode
When enable polarity is set using the M569 R parameter, disable the
corresponding drive
Add exdperimental S99 option on G1 command to log probe changes (Duet
WiFi only)
Support R and S parameters in M109 and M190 as Marlin does
Added support for M191
Added support for Steinhart-Hart C parameter
Thermistor disconnected threshold now depends on thermistor parameters
Added I parameter in M280 command
Added diagnostic test (M122 S101) for SX1509B chip on Duet WiFi
expansion boards
Heaters driven from TC channels on Duet WiFi no longer glitch on for a
short while after reset
Bug fix: M280 S-1 was ignoring inverted output status
Bug fix: if there were too many files in the /gcodes folder then AJAX
errors occurred (thanks chrishamm)
Fixed several bugs in file time stamping
Fixed M280 and M42 commands using unused heaster channels on Duet 0.6
and 0.8.5
Reduced the amount of I2C traffic, by using DueX5 interrupt line to tell
if new data is available and by only sending fan PWM values when they
change
Display TMC2660 driver status and DueX2/X5 stall status in M122 response
Removed E parameter from M574 command (use M558 I parameter instead)
Fixed response to M307 with H parameter only
Added DueX2/DueX5 support
Report expansion board type in electronics string
Added Z probe type 6 (switch on E1 stop)
Support heater 6 on Duet 0.8.5 (untested, probably incomplete)
Changed M42 pin numbering, see duet3d.com wiki
Added M280 servo support
Allow separate firmware un-retract speed to be configured in M207
Allow negative extra un-retraction in M207
Allow dans ot be disabled yusing M106 P# I-1. They can then be used as
general-purpose pins (m42) or servos (M280).
Removed support for Duet WiFi prototype 1 board
Support expanson pin PB6 and use it for cooling fan tacho
Implemented X axis set and report mapping in M563 command and in web and
M408 status responses (but mapping doesn;t do anything yet)
Report number of axes to DWC
M307 H# A-1 C-1 D-1 disables the pid controller for that heater to free
up the pin
Debug print of matrixes during delta calibration is now to 4dp
Implemented fan blip
Support up to 6 axes in many commands
Allow creation of additional axes in M584
Display delta paremners to 3dp instead of 2dp
Removed M126/M127 error messages
Delta calibration now supports bed tilt parameters
On Duet WiFi, delta calibration is now done in double precision maths
Added support for G4 S parameter
Bed compensation or delta calibration is now aborted if the probe was
triggered at the start or was not triggered by the end of the probing
move
Bug fix: JSON file list returned by M20 S2 is now terminated by \n
Bug fix: stupidly high temperatures were returned immediately after
power up in response to status requests
Bug fix: when using an analog Z probe, probing movements were sometimes
aborted before the full depth had been probed but the firmware thought
that probing had terminated at the full depth
Bug fix: generic messages were sent to PanelDue in plain text format
Max temperature excursion and fault trigger time are now configurable
via M570
If a heater fault occurs then any SD card print in progress is abandoned
Improved M122 diagnostics headings
Bug fix: some values of pressure advance caused too many extruder steps
to be schedules, resulting in extruder step errors, and another bug in
the error handling then caused layer shifts
Changes to reduce incidence of false heating fault alarms, in particular
"temperature rising much more slowly than the expected 0.0C"
Stepper drivers beyond the first 5 are assumes to be non-TMC2660 drivers
Increased max number of probe points to 64 on Duet WiFi and 32 on Duet
0.6/0.8.5
Corrected M37 reporting of simulation time
Added move debug facility
Added recording of more types of move underrun
Use fabsf instead of fabs
M21 doesn't re-mounjt a drive that is aloready mounted and has open
files on it
Added "volumes" variable in extended status report
Report card details after M21 is called
Bug fix: M220 speed changes were nott being implemented as soon as they
should be
Bug fix: lookahead was sometimes failing to join sequences of short
decelerating moves together
Bug fix: at startup the thermistor readings were sometimes very high,
which triggered a bug in strtod() called in PanelDue firmware 1.14 and
earlier
Fixedbug with PrintMonitor code to find object height
Qualify some omre #include filenames with paths, to reduce the number of
include file paths needed in the compiler options
Fixed doubling of M301 I parameter and halving of M301 P parameter
Implemented M303 auto tune and M307 heater process model
Improved temperature monitoring to detect heater cartridges or
thermistor falling out
Implemented M38 (thanks chrishamm)
Retructured course code tree
Add support for second SD card on SPI bus for Duet WiFi including
implementation of M21 and M22
New temperature monitoring
Increased PWM resolution
When uploading files to wifi module, skip empty blocks
Revised TMC driver in preparation for standstill current reduction
Fixed PrintMonitor bug when the slicer comment includes a '\' character
- Fix for uncommanded stepper motor movement on some systems following a
software reset
- When multiple motors are due to step, generate all the step pulses
simultaneously
- Added support for multiple drivers for a single axis (M584)
- Added support for extended step pulse width when using external
drivers (T parameter on M569 command)
- Removed XYZE params from M569 (use M584 instead)
- Added M913 command (set motor % of normal current)
- Added Z probe type 5, which is a normally-closed switch or active-high
probe connected to the Z probe connector
- Duet WiFi default Z probe threshold is now 500
- Duet WiFi defaults to using a low end homing switch on the X axis
Changes to use new pin modes in CoreNG
Initialise TMC2660 step/dir/CS pins as early as possible
Allow emergency stop in simulation mode
Disable drives and heaters when doing a software reset
Support 10th drive and 8th heater on Duet WiFi
TMC2660 driver support is now only in Duet WiFi firmware build
Bug fix: PanelDue showed fan at 1% instead of 100%
Added supply voltage monitoring (Duet WiFi)
Rr-initialise TMC2660 drivers whenever Vin supply is lost and comes back
up again
Fixed thermostatic fan bug introduced in version 1.13
Added MCU temperature monitoring
Duet WiFi only: added voltage monitoring, and disable TMC2660 drivers if
the voltage is too low or too high. Not tested as at time of this
checkin,
Temporary fix for RTD temperature spikes causing failed prints
Added 'only if printing a file' condition in M581 command
Fixed M117 for PanelDue
Don't print extruder positions in M114 because they are always zero
Process M0 and M1 when in simulation mode
Allow setting of fan PWM from 50% upwards when a fan is in thermostatic
mode
Reduced default extruder heater PWM frequency
Axes are no longer homes when microstepping is changed
SD card interface speed is included in M122 output
Added support for M581 and M582 commands
M25 pause command can now be used inside a macro file to pause a file
being printed from SD card
Firmware update messages are now sent to USB and PanelDue (but the
existing PanelDue firmware doesn't display them)
Added gcode queue underrun counter, displayed in M122 Move diagnostic
info
M122 responses are now sent only to the comms channel that requested
them
Added support for additional firmware modules to be updated for Duet NG
Corrected a possible problem with multiple incompatible gcodes being
executed concurrently
Support H parameter on M0 and M1 commands
When executing M0/M1 commands and no print is paused, execute
stop.g/sleep.g if they exist
Treat M25 within the file being printed the same as M226
Added additional simulation modes to help identify bottlenecks
Don't disable all interrupts when starting a new move, to reduce
interrupt latency so that we can still receive data from PanelDue
Moved some utility maths functions to CoreNG
Enhancements
=========
Added support for RTD temperature sensors
When cancelling a print, if cancel.g exists then run it instead of
turning heaters off
Improved file upload speed over the web interface
Chamber heater is now exempted from timeout
Pressure advance now reduces maximum extruder jerk setting by a smaller
amount when the extruder steps/mm is high
The Duet no longer reports itself as an Arduino Due and has its own
Windows driver
Added experimental "maximum average printing acceleration" feature
Try to improve speed of getting file information in Print Monitor
Bug fixes
======
Simulation mode was not working properly
External driver support code sometimes failed to enable the associated
drives
Fixed potential overflow if a user attempted to use non-existent driver
9 on a Duet 0.6
M408 status requests were not handled when in simulation mode
Removed hard coded PATH in project
Changed to CoreNG
Implemented chrishamm's latest Network and Webserver changes, including
Telnet streaming
Added S parameter to M997 command for DuetNG
Increased file read block size to 2K when getting file info
Merged in chrishamm's changes to Network, PrintMonitor, and his support
for firmware updates from SD card
Fixed print monitor issue that threw out the layer count and time
estimates when there was an initial extruder priming move in the start
gcode
Got rid of most of module SamNonDuePin because CoreDuet now provides the
required functionality
No need to define function watchdogSetup any more because the core no
longer calls it