Refactored temperatyure sensor code
Refactored fan control code
Support invisible axes (M584 P parameter)
Supprt user-defined virtual heaters
Support heater names
Support proportional thermostatic fan control
Fix G10 retraction command
Removed delta probe code
Fixed CoreXY motor factor initialisation
Fixed mesh bed levelling
Fixed driver temperature thermostatic fan control
Suppress driver temperature warnings when an associated thermostatic has
just kicked in
Improved reliability of new interface to WiFi module
Added options to control thermostatic fans based on CPU and driver
temperatures
Support M204 S parameter for backwards compatibility
Fixes to Scara kinematics
Support additional axes on delta printers
Added extra info to M122 repoirt
First working release of new WiFi code
Axes moving other than X (possibly mapped), Y and Z are not taken to be
part of the feed rate
Introduced SafeStrncpy and SafeStrncat
Moved NetworkResponder and other common networking files from
DuetNG/DuetEthernet to DuetNG folder
Socket::ReadBuffer no longer marks the daya as taken, that has to be
done separately
More work on DuetWiFi new network interface
Started refactoring to more easily support SCARA and other new
kinematics
Fixed bug with M408 S1/S2 reples when there are no extruders configured
Changed Duet085 network startup to not startb protocols when network is
not active
Merged in chrishamm's code queue and input buffer code
Increased heater tuning timeout for finding peak temperatire from 60 to
120 seconds
Implemented M204
Increased precision of reported coordinates to 3 decimal places
PanelDue status responses continue to be sent while executing
M109/116/190/191 commands
Fixed homing on CoreXY printers
Added firmware file sanity check
Fixed reply from M290 with no parameters
Limit the number of X grid points so that we can read in height map
files without getting line overflow
If there are too many grid points in a M557 grid definition, suggest a
suitable spacing ti the user
Fix network on Duet Ethernet
Bug fix for FTP directory listing on Duet Ethernet
Limit the rate at which some warning messages are generated
Support VSSA fault detection on new prototype board
Moved call to ExtrapolateMissing in grid.cpp to what I believe is the
correct place
Tidied up code to fix compiler warnnigs and confirm to style guidelines
- Baby stepping is now implemented using the M290 command. The
accumulated baby stepping amount is reported in M408 replies.
- Faster
and easier-to-use auto tune algorithm with more consistent dead time
measurement
- M109, M190 and M191 commands now send the temperatures
ponce a second if the command cam form the USB port and Marlin emulation
is chosen
- The name of the firmware file to load is now passed to IAP,
so that iap4e.bin cab be used on both the Duet WiFi and the Duet
Ethernet
- Reduced the Duet WiFi VIN over-voltage detection threshold
from 29.5V to 29.0V
Bug fixes
- On the Duet WiFi, if you sent command
M122 while the machine was printing then occasionally it would stop and
reset due to a watchdog timeout
- If multiple input sources sent
overlapping G4 (dwell) commands, either or both of them wold not be
executed correctly
Initial implementation of babysteppnig
Fixed some issues with file upload and FTP networking on Duet Ethernet
(but FTP notr working yet)
Pass the name of the firmware file to IAP
Duet Ethernet and Duet 085 now each have their own Webserver modules
Fixed divide by zero bug in LWIP (affected Duet 085 build only)
G29 S1 now clears bed transform before loading height map
M122 software reset data now includes a stack dump if the reason was a
hard fault
M122 now reports the type of bed compensation in use
Save several words of stsck after a hard fault and print them in the
M122 software reset report
Increased the maximum step frequency before the firmware switches to
double stepping
Added diagnostic test for timing the square root calculation
Minor firmware optimisations
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
Restructured the header file inclusion so that the .cpp files are
dependent on fewer header files, resulting in less recompilation when
most header files are changed
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 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)
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
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 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