Fixed bug with resetting extruder position introduced at version 1.17c+1
G2, G3 and M206 now take account of the mm/inches setting
Fixed bug with second SD card on Duet085 and RADDS builds
M102 command generated by D3D is now sliently ignored
Fixed bug in G2 and G3 commands (I and J parameters were not always
being assumed to be relative to current X and Y)
Hard fauld handler now stores the faulting PC and status registers in
the software reset data
Removed O3 optimisation pragmas because they inhibited function
inlining, making performance worse
Implemented G2 and G3 commands, inclusing corkscrew moves
Firmware retraction/unretraction now defaults to 2.0/2.0 instead of
1.0/2.0
Bug fix: absolute extrusion didn't work when using a mixing tool
New features:
The layer height comment in gcode files produced by Matter Control is
now recognised
M101 and M103 (firmware retraction commands generated by Simplify3D) are
now recognised
G20 bed probing now prints the mean height error and RMS deviation to 3
decimal places
Bug fixes:
G30 with no parameters now sets the machine position to the Z probe
trigger height instead of the user position. This means that running G28
(home) and G29 (bed probe) alternately no longer causes the bed height
map to creep up or down in average height when Z homing uses the Z
probe. However, it means that the Z height displayed after a G30 command
is no longer always the same as the Z probe trigger height.
In firmware 1.17 the speed change command by the M220 command got
delayed until the next G1 or G0 command with an F parameter was read.
In firmware 1.16 and 1.17 the acceleration used in G11 un-retraction
commands was sometimes incorrectly reduced if pressure advance was
configured on a different extruder.
In firmware 1.16 and 1.17 when pressure advance was configured, the
extruder acceleration limit implied by pressure advance used the
pressure advance value for the wrong extruder.
Firmware retraction did not work if additional axes had been configured
e.g. for an IDEX printer.
G29 commands using the P parameter with an upper case M in the filename
were recognised as M commands instead
Fixed bug in M226 handling (thanks chrishamm)
Z probe modulation signal is now driven high only during probing move
for Z probe types 4 upwards
Updated DuetWebCobtrol to 1.14
Homing speed:
- The speed factor (M220 command, or speed control in DWC and PanelDue)
no longer affects the speed of homing moves or other special moves (i.e.
G1 commands with S1 or S2 parameter)
Bug fixes:
- Fixed the M120 (Push)
command
- Setting relative extruder movement (M83) or a feed rate (G1
Fxxx) in config.g now works again
- The F (feed rate) parameter is now
processed correctly on a G1 command with the R parameter
- If you used
M106 to change a fan PWM frequency, the change did not take place until
you next changed the speed
- On boards with SAM3X processors, due to a
chip bug the fan speed was sometimes incorrect if you changed the PWM
frequency
- If an http client requested a non-existent file that was not
an HTML file, the server incorrectly returned a 404 HTML page
Bed compensation taper is now applied to 3/4/5-point compensation
methods too
Recognise generated-with comment in new Cura gcode files
Recognise filament-used info min new kisslicer files
When uploading files, create the full path if necessary
Duet 0.8.5 webserver looks for gzipped files first
A second controlled fan on the Duet 0.6 is no longer inverted
- Added support for M374 (save height map) and M375 (load height map)
- Added M376 (set bed compensation taper height)
- Added T parameter to G31 command
- M500, M501 and M502 now use config_override.g instead of flash memory.
The parameters saved and restored are:
-- M307 auto tune results
-- PID parameters, if you used M301 to override the auto tune PID
settings
-- Delta printer M665 and M666 settings
-- G31 trigger height, trigger value and X and Y offsets
- The M501 auto save option has been removed
- Removed S and T parameters from M301 command. Use M307 command
instead.
- M301 with negative P parameter no longer sets bang-bang mode. Use M307
instead.
- Added P parameter to the G31 command to specify Z probe type. This
allows you to view the parameters for the Z probe(s) and to set
parameters for a particular Z probe type without selecting that type.
G31 P or G31 P0 prints the parameters of the currently-selected Z probe.
- Z probe offsets are now applied during G30 probing with specified XY
coordinates, including during delta auto calibration
- Z probe recovery time is now applied from the end of the travel move
just before probing
- Fixed bad dive height when using G29 with a large trigger height
- Fixed bad JSON message during printing when there were no active
extruders
- Added exception handlers and store a software reset code when an
exception occurs
- Fixed reset reason text because on the Duet WiFi a watchdog reset can
look like an external reset
- G30 S-1 how printes the stopped height
- Implemented M401 and M402
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
Grid compensation now working except for G28 S2 and lack of segmentation
for long moves
Fixed pause command that was broken in previous 1.17 dev release
Support mixing extruders using absolute extruder coordinates, except
that pause/resume won't restore the correct extruder coordinates
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 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)
Initialise all heater model parameters in constructor so that on a Durt
0.8.5 heater 6 has sensible model parameters even though it is disabled
Fixed PWM frequenct on Duet 0.6/0.8.5
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
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
Fixed some issues with new PID control
Generate a warning message if the gain from auto tuning or in a M207
command is dangerously high
Don't escape forward slash in json responses because PanelFue doesn't
like it
Further optimisation of step generation ISR
Don't allow more than half the capacity of the DDA queue to be frozen
Duet WiFi: print additional info from WiFi module
- 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
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,