Age | Commit message (Collapse) | Author |
|
Support TMC22xx drivers with independent UARTs
Support more thermistors than heaters
Support configurations with no aux port
Support multiple fan tacho inputs (move tacho support to a separate class)
Corrected error in tacho RPM calculation
|
|
Merged in chrishamm's changes to support fan naming and additional status information
|
|
Use our own version of vsnprintf to save stack and avoid needing to stop
scheduler during calls to it
G0 now moves at maximum travel speed and ignores F parameters
Fixed problem with doing G20 after loading or probing a height map with
a significant Z offset
Added chrishamm's spindle and fan map changes
Added type 10 Z probe which uses Z motor stall detection
Don't need to home any more before simulating a file
Update user coordinates after G10 is used to change tool offsets
Don't require both X and Y or both I and J parameters to be specified in
G2/G3 commands
|
|
Got rid of the global scratchString
Rationalised some String and StringRef functions
Bug fix: if a motor stall triggered a pause, the driver numbers were not
listed in the message
Fixed possible race conditions in TMC2660 driver,
|
|
New features and changed behaviour:
- Report spindle motor speed in rr_status and M408 reports
- M106 now also reports the current fan PWM for
thermostatically-controlled fans
- Machine coordinates are always used when running system macros
automatically
Bug fixes:
- Pulse-type filament monitors are now working
- WiFi sockets whose connections abort are now terminated to make them
available for re-use
- DWC Machine Properties page shows the correct state of active low
endstops
|
|
New features:
- New M569 T parameter options to specify step pulse width, step pulse
interval, direction setup and direction hold times
- M665 now sets the M208 limits (except Z min) to match the machine
limits, so that Duet Web Control reports the correct values
Bug fixes:
- M116 commands were sometimes executed out-of-order relative to
previous G10 commands if movement commands were in progress
- G10 L20 now computes the workplace coordinate origin correctly
- G53 is only active until the end of the current line of GCode
- The default coordinate system is the one selected by G54
- G54..G59 update the user coordinates immediately
- Fixed "Error: Pop(): stack underflow!" when a file or macro is
terminated due to an illegal move command
- A short delay is inserted when M558 is used to change the Z probe
type, to allow the averaging filters to accumulate the new data
- M291 messages which are non-blocking (i.e. mode < 2) are now
synchronised to queued moves, like M117 messages
Other changes:
- Duet Web Control and PanelDue now report the coordinates relative to
the origin of the current workplace
- Rewrote dhcp_rec function on Duet06/085 to avoid goto statements
(possible fix for startup problem when using DHCP)
|
|
Refactored some string handling
Fixes for Duet 2M
|
|
Fix stepper driver warning/error messages
Reduce SPI speed on Duet Ethernet
M350 Enn with just one E value given is now applied to all extruders
Corrected nonlinear extrusion steps calculation
Refactored the filament monitor support
Added laser filament monitor support
Added pulse-type filament monitor support
Corrected display of M574 endstop type when the type is active low
Added support for extruder "endstops" using motor load detection
M305 Pn with no other parameters no longer allocates a thermistor to the
heater
|
|
New features:
- Heater PWM frequencies are limited to 1kHz to protect
the heater mosfets
- Tool offsets and fan mapping are now passed to
DWC
- More free memory is available, especially in the Duet 0.6/0.8.5
build
- Maximum bed heaters increased to 4 for the Duet WiFi/Ethernet
-
The software reset data now records the date/time of the reset if known
and a longer stack trace
- The maximum length of GCode commands has been
increased, in particular to allow long passwords in M587 commands
Bug
fixes:
- Fixed M28/M29 file upload
- Fixed some USB/Telnet response
formats when in Marlin emulation mode
- Fixed move timing when a long
slow printing move follows a faster printing move
- Heater tuning was
not possible in 1.20RC1
- If a file being printed executed a macro right
at the start, DWC could assume that the print had already finished
(thanks chrishamm)
|
|
New features:
M109 and M104 commands now set both the active and the standby
temperatures of the tool.
M109 now only selects a tool if no tool was selected
Filament errors are now logged
M587 now checks that the password is either empty or is at least 8
characters long
M122 now includes the minimum and maximum StallGuard registers for each
driver seen since the last M122 command
M307 now accepts an F parameter to allow the PWM frequency to be set.
Caution: do not use excessively high PWM frequencies, especially with
the bed heater, because you may overheat the mosfets.
The calculation of PID parameters from the heater model has been changed
to provide faster heating and less risk of undershoot
The M81 command now accepts an optional S1 parameter, which defers the
power down until al thermostatic fans have stopped
SD card detection is now working properly (Duet WiFi/Ethernet only)
A file that is open on the SD card can no longer be deleted
Bug fixes:
M109 commands could cause unwanted head movement when no tool change was
required
If a filament error occurred more than one, the print would be paused
each time but a message box would only be displayed the first time
If a new request arrived but no responder was available, there was no
timeout waiting for a responder (thanks chrishamm)
Z probe types 5 and 8 didn't work on Duet 085
M500 didn't save axis lengths found by G1 S3
|
|
Merged in changes from dev branch
|
|
New features:
On SCARA printera arm position limits are applied as well as XY size
limits
Heater 0 values are sent to to PanelDue even if there is no heated bed
When logging is enabled, log entries are now written for when the
date/time/date is set
When logging is enabled, "Maximum open file count exceeded" messages are
logged
Loss of power is now handled much faster. The print is paused in the
middle of a move if necessary. The M991 parameters are changed to
facilitate this.
When resuming a print after loss of power, the head is now moved,
sideways and finally down when restoring position
Following a power failure, M916 can now be used to resume the print
instead of using M98 Presurrect.g
The heater control now switches to fast PID parameters when the
temperature is within 3C of target, instead of within 1C
The TMC2660 Stallguard detection and Coolstep parameters may now be
configured using M915. Currently, no action os performed when a stall is
signalled.
If a heater fault occurs, the print is paused instead of cancelled
All error messages relating to incorrect use of a G- or M-code now
include the G- or M-number of the command that caused them
Increased ADC oversample bits to 2
Duet WiFi: M122 diagnostics now include the wifi module sleep mode and
additional network diagnostics
You can now disable monitorng of TMC2660 drivers rthat are not in use by
using parameter R-1 in the corresponding M569 command
The M585 (probe tool) command is now implemented (thanks chrrishamm)
If axis lengths are adjusted by probing, a subsequent M500 command saves
them in config-override.g
If tool offsets are adjusted by probing, a subsequent M500 command saves
them in config-override.g
The layer counting mechanism has been modified to better handle GCode
files that use a different layer height when printing support
Debug messages sent to the USB port are truncated or thrown away if a
software watchdog reset is imminent
XY speed limiting is now done separate for each kinematics, in
particular for CoreXY printers
Support for Polar kinematics has been added but not tested (see M669
command)
The TMC2660 drivers are configured to detect short-to-ground conditions
faster
The parameters in rr_ http commands are now all order-independent
Bug fixes
An error in computing the time taken to execute moves that were not yet
frozen caused the first movement on a SCARA printer following homing to
be jerky
An extra space in the output from the M114 command confused Printerface,
causing it to print exception messages
When tuning a heater, any previous maximum PWM that was set is now
ignored
|
|
Added support for M3, M4, M5 and M450-M453
Added support for DHT11, DHT21 and DHT22 temperature/humidity sensors
(thanks chrishamm)
Some additional events are now logged
The grid defined by M557 is now stored separately from the grid loaded
by G29 S1 so that they don't overwrite each other
The resurrect.g file is no longer created or deleted during a simulated
print
SCARA prints are simulated without segmentation so that the simulation
runs much faster. In tests, the difference in the simulation time
with/without segmentation was negligible.
The change to fast PID parameters is now made when the temperature is
within 3C of the target instead of when within 1C
M408 S1/2/3 responses now include dummy values for the bed heater if
there is no bed heater
The commands to resume printing that are written to resurrect.g now move
the head to 2mm above the printing height, then sideways, then down
Bug fixes:
If a Duet3D filament sensor was connected and congfigured but flashing
an error code instead of sending filament data, the error recovery code
running on the Duet caused short pauses in the print
On a delta printer if you created additonal axes, when you tried to home
them it ran homedelta.g instead of e.g. homeu.g
On a delta printer with additional axes, you can now do XYZ moves as
soon as the towers have been homed
Fixed a possible race condition if the time and date were set at
midnight
The 4-leadscrew auto/4-screw manual bed levelling code didn't work
properly
The P parameter was missing from G10 commands written to resurrect.g
Arm angle limits are now applied when converting Cartesian to SCARA
coordinates
The correction limit is no longer applied when computing manual bed
levelling screw corrections
SCARA arm mode changes are now only permitted in uncoordinated (G0)
moves
|
|
We now create a resurrect.g file any time the print is paused
Introduced new feature #defines and a DUET_06_085 define to simplify
conditoinals that depend on the target board
|
|
Upgraded compiler
Floading point constants now default to single-precision
Changed to hardware floating point ABI on Cortex-M4 targets
|
|
Homing functionality is now handled by the Kinematic classes. SCARA
homing is supported.
Added support for binary file upload in M559 and M560
Added support for an additional SX1509B port expander
Pause commands issued while a macro is being executed are deferred until
the macro has completed and they can be resumed
Bug fix: XYZ coordinates could be reported as NaN in DWC status
responses, causing AJAX errors
Axis compensation now takes account of X and Y axis mapping
Messages rejected by webserver now generate a generic message only if
debug is enabled
More work on filament sensor support
|
|
New and changed features:
- Experimental resume-after-power-failure support on Duet WiFi/Ethernet.
See
https://duet3d.com/wiki/Setting_up_to_resume_a_print_after_a_power_failure.
- Partly implemented bed levelling using multiple independent Z motors
(M671). See
https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors.
- If the G10 command is used to set the standby temperature of a tool
that is on standby, the live temperature is adjusted accordingly
- SCARA parameters configured using M669 now include X and Y bed origin
offsets
- Baby stepping is no longer cleared when you home the printer or probe
the bed
- The Y axis can now be mapped in a similar way to the X axis
- When the WiFi module is in access point mode, M122 displays the number
of connected clients (needs DuetWiFiServer 1.19beta9)
- The M305 command now uses the S parameter to set the heater name
instead of the H parameter
- The meaning of the first M669 crosstalk parameter for a SCARA printer
has changed. A zero value now means that the proximal motor does not
affect the proximal-to-distal arm angle.
- The CoreXY kinematics calculations have been changed to conform to the
way they are defined in other firmwares and at CoreXY.com. See the
important upgrade notes. The CoreXZ and CoreXYU kinematics have been
changed similarly.
- The maximum allowed target temperature for auto tuning now depends on
the configured maximum temperature for that heater
- The heater gain that provokes a warning when setting heater model
parameters with M307 or after auto tuning now depends on the configured
maximum temperature for that heater
Bug fixes:
- G2 and G3 arc movement commands didn't work when the X axis was mapped
- On an IDEX machine there was unwanted movement of the new tool after a
tool change occurred
- Duet WiFiServer 1.19-beta9: fixed a bug that sometimes caused WiFi
connection failures
- On the Duet WiFi, if the own access point parameters were configurds
but the list of remembered host access points was empty, the own access
point name appeared in the remembered list displayed by M587
- On a SCARA mnachine, sending G92 X0 Y0 caused the Duet to return
position data containing NaNs to Duet Web Control, which caused it to
disconnect
Upgrade notes:
- **Important!** On a CoreXY machine, you need to either swap the X and
Y motor connections, or set the Y axis factor to -1 in the M667 command.
Similarly for CoreXZ and CoreXYU machines.
|
|
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
|
|
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
|
|
Major refactoring to make it easier to support additional kinematics.
Added M669 command to select and configure Scara kinematics
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|