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
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
Changes to use new pin modes in CoreNG
Initialise TMC2660 step/dir/CS pins as early as possible
Allow emergency stop in simulation mode
Disable drives and heaters when doing a software reset
Support 10th drive and 8th heater on Duet WiFi
TMC2660 driver support is now only in Duet WiFi firmware build
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,
Temporary fix for RTD temperature spikes causing failed prints
Added 'only if printing a file' condition in M581 command
Fixed M117 for PanelDue
Don't print extruder positions in M114 because they are always zero
Process M0 and M1 when in simulation mode
Allow setting of fan PWM from 50% upwards when a fan is in thermostatic
mode
Reduced default extruder heater PWM frequency
Axes are no longer homes when microstepping is changed
SD card interface speed is included in M122 output
Added support for M581 and M582 commands
M25 pause command can now be used inside a macro file to pause a file
being printed from SD card
Firmware update messages are now sent to USB and PanelDue (but the
existing PanelDue firmware doesn't display them)
Added gcode queue underrun counter, displayed in M122 Move diagnostic
info
M122 responses are now sent only to the comms channel that requested
them
Added support for additional firmware modules to be updated for Duet NG
Corrected a possible problem with multiple incompatible gcodes being
executed concurrently
Support H parameter on M0 and M1 commands
When executing M0/M1 commands and no print is paused, execute
stop.g/sleep.g if they exist
Treat M25 within the file being printed the same as M226
Added additional simulation modes to help identify bottlenecks
Don't disable all interrupts when starting a new move, to reduce
interrupt latency so that we can still receive data from PanelDue
Moved some utility maths functions to CoreNG
Changed .gitattributes file to treat .inf files as binary so that their
hash values don't change and their digital signatures remain valid
Deleted duet.inf ready for adding back as a binary file
1. Changed thermocouple/RTD support to use new (fixed) version of
SharedSpi in CoreNG
2. PrintMonitor fixes:
- Speed up getting file info, because it was slow enough to cause Ajax
timeouts on some systems
- Reduce the number and volume of messages printed when debugging was
enabled, and send them only to the USB interface, because it was
overloading the message buffer system and causing Ajax errors
- Added separate time stats for file seeks
Enhancements
=========
Added support for RTD temperature sensors
When cancelling a print, if cancel.g exists then run it instead of
turning heaters off
Improved file upload speed over the web interface
Chamber heater is now exempted from timeout
Pressure advance now reduces maximum extruder jerk setting by a smaller
amount when the extruder steps/mm is high
The Duet no longer reports itself as an Arduino Due and has its own
Windows driver
Added experimental "maximum average printing acceleration" feature
Try to improve speed of getting file information in Print Monitor
Bug fixes
======
Simulation mode was not working properly
External driver support code sometimes failed to enable the associated
drives
Fixed potential overflow if a user attempted to use non-existent driver
9 on a Duet 0.6
M408 status requests were not handled when in simulation mode
Removed hard coded PATH in project
Changed to CoreNG
Implemented chrishamm's latest Network and Webserver changes, including
Telnet streaming
Added S parameter to M997 command for DuetNG
Increased file read block size to 2K when getting file info
Fixed incorrect parameters for un-retraction moves when z-hop,
orthogonal axis compensation and pressure advance are all enabled
Further refactoring of SD_HSMCI library in preparation for moving hsmci,
dmac and rtc modules into CoreDuet
Merged in chrishamm's changes to Network, PrintMonitor, and his support
for firmware updates from SD card
Fixed print monitor issue that threw out the layer count and time
estimates when there was an initial extruder priming move in the start
gcode
Got rid of most of module SamNonDuePin because CoreDuet now provides the
required functionality
No need to define function watchdogSetup any more because the core no
longer calls it
Switched to the new build system that doesn't need the Eclipse Arduino
plugin and uses the CoreDuet project instead of Arduino to provide
hardware support