Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Repurpose M568 for tool settings (offsets, temps, spindle speed)
Deprecate setting tool settings via G10
Assign spindle to tool instead of vice versa
Change M3/M4/M5 to primarily work without parameters on the spindle of
the current tool
Remove spindle speed from restore point (no longer needed) together with
M3 Rn
All spindle speeds are now unsigned integers and have to be interpreted
together with new SpindleState (stopped, forward, revers)
|
|
|
|
Spindle RPMs are now integers not floats
Spindles now have PWM, on/off and reverse/forward ports
Spindle PWM frequency parameter is now Q not F
A minimum RPM can now be specified as well as a maximum RPM
Call InitStatic functions of network responder classes in Network::Init
so that calls to the responder Disable functions can be made
|
|
Also added restore points and some additional limits to object model
|
|
|
|
Bug fix: after pausing during a g2/G3 move, resumimg didn't work properly
Bug fix: M579 scale factors were not properly applied to G2/G3 moves
|
|
Support fan tachos on expansion boards
Fix SHA1 value display bug
Add DotStar support to Duet 3 v0.6
Support CRC32 checking of uploaded files
Include spindle speeds in restore points
Reduced memory usage in Duet 2 builds
Minor improvements to thermistor handling
FansManager class is no longer attached to Platform
Removed duplicate CRC32 functionality
Fixed W5500 network code startup issue
|
|
(note: dynamic acceleration control is probably not working correctly yet)
New features and changed behaviour:
- When switched into Laser mode (M452), the S parameter on G0 and G1 commands sets the laser power
- The primary parameter letter used to control the type of a G0 or G1 move has been changed from S to H. This is because S is the standard parameter to control laser power on a laser cutter or engraver. However, unless you use M452 to put the firmware into Laser mode, you can continue to use S to set the move type.
- If you set the motor idle current percentage to 0 in the M906 command, all drives will now be disabled when all motors have been idle for the idle timeout and all axes will be flagged as not homed.
- The M569 accepts a new F parameter for the off-time. Valid values are 1 to 15.
- Attempts to use M569 to set disallowed combinations of TOFF and TBL in the chopper control register of TMC2660 or TMC22xx drivers are rejected
- The M106 command supports a new A parameter to map the fan to a different fan output or a heater output, or to re-enable a disabled fan
- On Duet Ethernet and Duet Maestro the physical link speed and half/full duplex status is included in the Network section of the M122 report
- The total number of axes is now passed to DWC and PanelDue as well as the number of visible axes
- Added M703 support (thanks chrishamm)
Bug fixes:
- Lock the scheduler during M260 and M261 commabnds
- The E parameter was ignored in G0 commands
- Fixed bad JSON response when the 'first' parameter of a rr_filelist HTML command was non-zero
- M106 Snn commands with no P parameter failed if fan 0 had been disabled but the print cooling fan was mapped to another fan in the current tool definition
- If config.g invoked a macro then final values were copied to GCode sources too early and a subsequent M501 command wasn't acted on (thanks chrishamm)
- If an emergency stop occurred during execution of a macro, an internal seek error message was sometimes generated. Emergency stop now closes any active print files and macro files.
|
|
Bug fixes:
DWC sometimes disconnected after uploading a GCode file
Reverted the behaviour of G0 commands to the pre-2.0 behaviour when the
machine mode is FFF (i.e. the F parameter is recognised and the feed
rate is shared with the G1 feed rate)
If a G1 command with extrusion was followed by a G0 command, the
extrusion was repeated in the G0 command
When high microstepping was used, certain sequences of movement commands
could lock up the movement system
|
|
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
|
|
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
|
|
|
|
New features:
- M291 command is provided to display a message box with options for
timeout, acknowledgement and Z jog buttons
- M292 command is provided to acknowledge M291 messages
- Manual delta calibration and bed compensation is supported (use P0 in
the M558 command to indicate that there is no Z probe)
- Minimum value for S parameter (maximum heater PWM) in M307 command is
reduced from 20% to 1%
- Core XYU kinematics are now supported (thanks Lars)
- RADDS build now supports 9 motors (thanks Tom)
- If a homing move uses parameter S3 instead of S1 then the axis minimum
or maximum value is set to the current position instead of vice versa
- M589 with no parameters now reports the Duet's own SSID
- M589 S"*" now deletes the Duet WiFi's own access point details
Bug fixes:
- Tool X offsets are now applied on the next move even if it has no Z
parameter
- The tool change restore point coordinates now take account of X axis
mapping
- M588 P"*" command (forget all access points) now works
- On the Duet WiFi, after using M589 to set up access point parameters,
when M552 S2 was sent to start the WiFi module in AP mode it reported
"WiFi reported error: invalid access point configuration". The fix also
needs DuetWiFiServer version 1.19beta7.
- On a delta printer the effector height is limited to reachable values
Areas of code refactored (so watch out for new bugs):
- G30 bed probing
- Baby stepping
- Tool offset implementation
Upgrade notes:
- SSIDs and passwords in M587, M588 and M589 commands must now be
enclosed in double quotes
- Height map filenames in G29, M374 and M375 commands must now be
enclosed in double quotes
- On a Duet WiFi you should also upgrade DuetWiFiServer.bin to version
1.19beta7. You do not need to perform a simultaneous upgrade, but M587
and M589 reporting functionality won't work correctly if your
DuetWiFiFirmware and DuetWiFiServer versions are out of step.
|