Age | Commit message (Collapse) | Author |
|
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)
|
|
New features:
- On CoreXZ machines we no longer require Z to be homed before bed
probing with G30
- M589 now checks that the password is either empty or 8 characters
minimum
- G10 L2 is supported as an alternative way to set tool offsets
- G10 L20 is supported as an alternative way to set workspace
coordinates
- Heater fault detection is suppressed when heaters are suspended during
bed probing
- DuetWiFiServer/bin uses a new SDK version, which seems to resolve some
issues
- On boards with a W5500 Ethernet interface, the Ethernet PHY is now
programmed to auto negotiate
- Added M564 H0 command to allow axis movement before homing on
Cartesian/CoreXY printers
- The filament length comment proposed to be generated by the next
version of Cura when using more than one filament is supported
Bug fixes:
- I parameter on M452, M453 and M573 didn't work
- If a homing file contained an illegal movement command then homing was
not cancelled
- Corrected Z probe input pin in RADDS build
- Possible fix to Duet 06/085 failure to start when using DHCP
|
|
Upgrade notes:
- On Cartesian and CoreXY printers, normal G0 and G1 moves are no longer
allowed before the corresponding axes have been homed. In particular, if
your homex.g, homey.g and homeall.g files raise Z a little at the start
and lower it at the end, you will need to add the S2 parameter to those
G1 Z moves. Otherwise the G1 Z move will be refused unless Z has already
been homed and the homing macro will be terminated.
New features:
- On Cartesian and CoreXY printers, normal movement commands are no
longer permitted until the corresponding axes have been homed
- Illegal movement commands in a print file or macro file cause the file
to be terminated and heaters/spindle motors/lasers to be turned off;
except that when the printer is in FDM mode, G0 and G1 moves outside the
movement limits are just truncated as before
- The M39 command reports the SD card cluster size
- If GCode attempts to set the temperature of a non-existent bed or
chamber heater to zero (to turn it off), the error message that would
normally be generated is suppressed
- G60 command to set a restore point is implemented
- M671 command now supports the F (fudge factor) parameter
- The standstill current fraction can now be set on the Duet Maestro
build
- M118 support added (thanks chrishamm)
- When using external stepper drivers the DIR signal is no longer
changed before the step pulse has ended
- The M452, M453 and M573 commands now support the I1 parameter to
invert the laser, spindle or extrusion signal polarity
Bug fixes
- Duet Ethernet only: fixed bugs in the DHCP client code that could
cause the printer to become very slow
- G2 and G3 arc moves are terminated if the attempt to exceed the axis
limits
- When multi-touch Z probe mode is enabled, the recovery time is applied
before all probing movements, not just the first one
- Z probe mode 9 (for BLTouch) ow works in multi-touch mode
- During simulation the status is set to "Simulating" instead of
"Printing"
- M556 with a zero S parameter no longer messes up the coordinate
calculations
- When large files were uploaded or copied to the SD card and the
cluster size was small, HTTP requests could time out while DWC attempted
to get the information for those files
- The Duet3D rotating magnet filament monitor is supported again
- FTP didn't work reliable in 1.21RC2
- Endstops 5 thru 9 on a DueX2/DueX5 board can now be used for simple
filament sensors
- When resuming a paused print the first move executed was sometimes
incorrect
|
|
The filament usage comments generated by Ideamaker are now recognised
A separate Z probe type (P9 in M558) is now used for BLTouch and
compatible Z probes. When this is selected, the deployprobe.g macro is
run just before each probing move, and retractprobe.g is run every time
the probe triggers, or at the end of the probing move if it doesn't
trigger
All heaters are turned off during probing moves if parameter B1 is
specified in the M558 command
The M671 command can be used with just one pair of X and Y coordinates,
which disables the manual bed calibration assistant
Continuous rotation proximal and distal joints are now supported on
SCARA printers, and continuous rotation turntables are assumed on Polar
printers
When beginning a print from SD card, macro /sys/start.g is run if it is
present
Sending M0 or M1 from a source other than the SD card no longer stops an
SD card print that is not paused
When a serial input channel detects a framing or overrun error other
than in a GCode end-of-line comment, the line of GCode in which it
occurs is discarded
When the M207 Z hop setting was changed during a print while a travel
move is in progress, at the end of the travel move the head was lowered
by the new value for Z hop instead of the original value
Endstop pins 5-9 (E2-E6) on the expansion connector are now working
If neither of the /www/reprap.htm and /www/html404.htm files was present
when the web server as asked to fetch a file, it returned a 404 error,
however there was no associated plain text response so most browsers
displayed a blank screen (fixed in Duet WiFi/Ethernet build only)
If a G0 or G1 command resulted in no movement (e.g. because it was a
duplicate of a previous line) then correct synchronisation between
subsequent movement and non-movement commands was lost
|
|
|
|
Recognise Ideamaker filament usage comments
Unified network interface for all generation 2+ Duets
|
|
|
|
Renamed IoPort{.cpp,.h} to avoid name clash with ASF
Fixes to 12864 display
Support beeper on 12864 display
Encoder parameters are now configurable (M918)
|
|
Refactored some string handling
Fixes for Duet 2M
|
|
Added support for M260 and M261
Added support for workspacve coordinates (G10 L2, G53 to G59.3)
Added absolute bebystepping mode in M290 command
Support endstops 5-9 when no DueX board is present
Show Duet board revision as 1.02+ when we can
If no temperature sensor is configured for a heater. M305 Pn with no
other parameters no longer allocates a thermistor
Fixed "listen failed" error with repeated use of FTP
Fixed M304
Fixed crash when an attempt was made to configure a filament monitor on
a DueX endstop input
Fixed jerky curves when pressure advance is used and the slicer doesn't
command a uniform extrusion rate
Fixed missing newline at end of "Done printing file" message
|
|
|
|
Added multi-tap probing
Added M260/M281 I2C send and receive
Added absolute babystepping mode
Fix for pressure advance with non-uniform extrusoin rate
Disabled cache oin SAM4E
Fixed FTP "listen failed" bug
Fixed crash when trying to confoigure a filament monitor on a DueX
endstop input
Change endstops 5-9 pin allocation when no DueX board present
Show board revision as 1.02 if VSSA sense present
Ported DHCP fixes form lwip 2 to Duet 06/085 build
M304 bug fix
Bug fix to recent PrintMonitor change when getting "Generated by" string
|
|
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
|
|
Added nonlineear extrusion support (M592)
Show calibration parameters in M592 D# response
Bug fix: don't run stop.g, sleep.g or cancel.g at the end of simulating
a print or cancelling a simulation
|
|
Added file that got missed in last commit
|
|
Fixed step number calculation bug that caused benign extuder step errors
in some configurations
Fixed a lookahead bug that caused step errors
Filament monitor is now disabled when simulating a print
Added M39 command to get SD card free space and other info
|
|
Fixed sending of motor currents to DWC
Immediate LCD messages are now sent in a more timely manner
Clear system paramerters area when uploading new wifi firmware
Baud rates for wifi firmware upload now start at 230400 and end at 9600
|
|
Added P31 parameter to M500 command
|
|
Changed ot C++'14 compilation mode
Re-enabled pullups on endstop inputs for Duet085 and Duet NG
Fixed M200 reporting
Fixed extruder position reporting when some axes are hidden
|
|
M107 now turns off the mapped fan
|
|
Use separate conditionals for stall detect and smart drivers
functionality
Added PT1000 support
|
|
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
|
|
Refactored to make network configuration less depedent on board ID
Added DuetM configuration
|
|
New features:
- Added Hangprinter kinematics. Auto calibration is not
expected to work yet.
- Added M122 P1 command for use in the Duet test
procedure
- Changed a path to a file in the linker command line to work
around an intermittent Eclipse bug
- DuetWiFi/Duet Ethernet: the
secondary hardware watchdog is now enabled and generates an interrupt,
so that if interrupts are enabled at the time then a crash dump can be
saved. If this fails then the primary watchdog will reset the processor
as before.
Bug fixes:
- Fixed issues caused by insufficient RAM (stack
running into heap) by freeing up additional RAM in the movement
structures
- Fixed occasional hang in USB ISR
- M201/203/208/566
commands now allow parameters for invisible axes to be set
- If a M584
command does not include the P parameter, the number of visible axes is
only set to the number of total axes if new axes are created in the
command
- Reverted to rounding down in step time calculations, because
the change to round to nearest may have contributed to issues seen by
some users of 1.20beta10
- Set correct priority for interrupt from the
UART used to receive debug info from the WiFi module
- When a filament
error occurred, the message displayed was one of the lines written to
resurrect.g instead of the type of filament error. Similarly if the
print was paused due to a motor stall.
|
|
Heater fault timeout to cancelling print to be configurable M570 S
parameter)
Filament monitor always updates calibration accumulators during a print
even if not in calbration mode
Added CoreXYUV
Aded Z probe types 7 and 8
Bug fix: semicolons inside quoted strings were still stipped out from
some gcode sources
Bug fix: giving silly numbers of microsteps in M350 messed up the
steps/mm
Bug fix: High microstepping and high acceleration on deltas led to poor
timing in deceleration phase and high MaxReps
Bug fix: The commands in tool change macro files were sometimes not
fully executed before the next action
Bug fix to speed limits in CoreXYU
Possible bug fix: avoid race condition in TMC SPI ISR
|
|
The I parameter in the M587 command is now optional again.
|
|
New features:
T R1 activates the tool that was active at the last pause
M915 R2 and R3 actions are now implemented
Extruder heater PWM values are now compensated for supply voltage
Duet WiFi only: M587 and M589 without parameters now report the IP
addresses etc. as well as the SSID (needs DuetWiFiServer 1.20beta9)
When sensorless homing is used on a CoreXY printer, both X and Y motors
are monitored for stalling when homing X or Y. Similarly for CoreXYU
(both X and Y or U and V are monitored).
When using a segmented kinematics such as SCARA, or when long moves are
segmented due to mesh bed compensation, segmented moves can be paused
between segments
M562 with no parameters now clears all heater faults
New debugging module 14 added to report debugging message from the WiFi
module to USB. Use M111 S1 P14 to activate it.
Under voltage and over voltage events are now logged
Overheating drivers are now logged
M81 power off commands are now logged
Bug fixes:
Workaround for SX1509B chip problem: if an analog write was performed to
a pin on an SX1509B device, subsequent digital writes and pinMode calls
didn't work
When a print was resumed after power failure, the amount of extrusion
during the initial partial move was incorrect
|
|
When a T command is sent and the current tool does not change, the
firmware now makes sure that the tool heaters are turned on, in case
they had been turned off explicitly e.g. due to upgrading WiFi
firmware
SCARA printer homing didn't take account of the crosstalk
parameters
M589 with an S parameter now flags an error if there is no I
(IP address) parameter
When resuming a print, the initial feed rate
wasn't being passed to the SD card GCode source
|
|
String parameters can now be quoted in all G- and M-commands
Added partial support for standstill current reduction (M917)
M0 and M1 no longe turns anything off or run any macros when in
simulation mode
|
|
Fixed M584 command
Added axisNames variable in the extended status responses
|
|
Implemented motor load monitoring and sensorless homing
Various bug fixes and other changes, see whatsnew file
|
|
* Support for 3-wire PT100 sensor
* Support for 3-wire PT100 sensor -- added 2/4 or 3-wire mode reporting
|
|
Use PDC to send SPI data to TMC2660 drivers, in preparation for
continuous polling using interrupts
Tidied up new MAX31865 support
Increased number of allowed HTTP headers to 30
FTP server now allowes arguments in LIST command
FTP server now allows TYPE command when passive port is open
|
|
* added support for custom MAX31865 reference resistors
based on: https://github.com/adafruit/pt100rtd
* fixed rounding error
* simplified temperature calculation
* reverted a change to bottom tempTable value condition
it wasn't needed
* increased step size of the max31865 tempTable
* fixed the R parameter of max31865 gcode setup
* added current ref resistor to max31865 info output
|
|
Bug fixes:
Resume after pause sometimes still didn't work if no M911 parameters
were configured
Simulating a print didn't work
|
|
Bug fixes:
Extra M307 lines were written to config-override.g in 1.20b2
CoreXY homing was broken in 1.20b2
Motor idle detection was broken in 1.20b2
M585 didn't work
Resuming a print gave a "low voltage" error if no M911 command was used
The code to detect M122 early also recognised commands of the form
Mxxx122 where xxx were non-numeric
|
|
Fixed CoreXY homing bug
Fixed M585 bug
Fixed motor idle timeout bug
Fixed bug that causes additional M307 lines ot be written to
config-override.g
|
|
Fixed DHT temperatire sensors (thanks chrishamm)
Fixed saving of tool offsets by M500 if they were probed (thanks
chrishamm)
Other minor changes
|
|
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
|
|
Send zero values for heater 0 to PanelDue if no bed heater configured
In resurrect.g move up, sidways and down when restoring position
Bug fix: missing P parameter in G10 command in resurrect.g
|
|
Don't create or delete resurrect.g file during simulations
Don't apply kinematics segmentation in simulation mode 1
|
|
Check arm angle limits when computing SCARA moves
Don't allow SCARA arm mode changes on coordinated 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
|
|
Removed define of printf=iprintf in build settings
Removed Platform::Time() function, use millis() or millis64() instead
Added event logging to SD card. MessageType is now a bitmap. Implemented
M929.
Enable pullup resistors on endstops 10 and 11
SCARA printers can now use the manual bed levelling assistant
When using the manual bed levelling assitant, don't give an error if the
bed screw corrections were out of range, and always leave the first
screw alone
M552 now supports connection to a specified SSID
M572 now allows multiple D values
Thermocouple type letter in M305 command may now be in lower case
Bug fix: G29 bed probing on a SCARA printer gave spurious "not
reachable" warnings and skipped probe points
Protect against a dud command line containing the letter M being
interpreted as a M0 command
Fix reference to towers in the error message when trying to move a SCARA
printer before homing it
When updating firmware, warn that USB will disconnect
Fix duplicate error messatge when opening a gcode file fails
|
|
Better detection of whether a move was intended to be a printing move or
not, to handle slicers that generate moves with tiny amounts of
extrusion better
|