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
Enhancements:
- Implemented M143 and M350
- Wait until movement finished when processing M906
- Allow for additional axes in M906 reporting code
- Added support for external drivers module
- Aux2 device support is now conditional
- Added separate error code for temperature above safety limit
Bug fixes:
- Fixed spurious error report when processing corrupt input line
- When there is a temperature error, return the correct error code
- Update the overheat ADC value when changing thermistor parameters
- Fixed occasional divide by zero problem in PrintMonitor that led to
AJAX errors
- Cold extrusion prevention only checks the active tool, to allow the
same extruder and heater to be configured in multiple tools
- If extrusion is prevented because of a temperature fault, display a
message instead of silently preventing extrusion
Added timeout to output buffers destined for USB
Fixed bugs in thermocouple code
Reallocated thermocouple pin numbers
Made Roland mill and inkjet support conditional and normally disabled
Fixed issue with thermocouple code messing up the timekeeping system,
which was suspected of causing the network to be unreliable
Added support for M577 (thanks chrishamm)
Merged in chrishamm's changes including OutputBuffer fix, changes to
Roland pin numbers, rr_configfile support in web server, and Roland and
inkjet pin numbers moved to Pins_duet.h
Merged in wrangellboy's http response changes for compatibility with
Edge browser
Other minor changes
Fixed issue with rare missing steps at the end of delta moves
Fix minor delta calibration issue
Fix issue with ADC crosstalk on Duet 0.8.5
Refactored RepRap and OutputBuffer classes in preparation for fixing the
OutputBuffer bugs
Merged in Dan's thermocouple support
Define serial port allocation in Pins_duet.h
Fixed some leaks of OutputBuffer objects under error conditions
The terminating newline character in a gcode response is now added in
HandleReply
Implemented F, H and R parameters to M106 command. The second fan output
on a Duet 0.8.5 now defaults to being a thermostatic fan at power up.
Improved speed of file upload to SD card
G32 is now allowed if the printer has not been homed, if there is a
bed.g file
G30 commands are no longer allowed on a delta that has not been homed
M572 parameter P (drive number) replaced by parameter D (extruder
number)
File info requests are now processed in stages to reduce impact on
printing (thanks chrishamm)
Use latest network stack and webserver modules from chrishamm (thanks
chrishamm)
Added Roland mill support (thanks RRP/chrishamm)
Added S parameter (idle timeout) to M18 ans M84 commands (thanks
chrishamm)
Moved I/O pin assignments to separate Pins.h file to more easily support
alternative hardware (thanks dnewman)
Bug fix: filament usage and % print complete figures were incorrect when
absolute extruder coordinates were used
Bug fix: file-based print estimate was occasionally returned as 'inf'
which caused the web interface to disconnect
Bug fix: M666 now flags all towers as not homed
Bug fixes to extruder pressure compensation (M572 command).
New features
============
The PWM frequency for the heated bed and for any heater used as a
chamber heater is now 10Hz for bettercompatibility with DC-AC SSRs.
The PWM frequency for fans is now configurable using the F paramete ron
the M106 command. The default is 500Hz, which gives esonable control of
fans not designed for PWM. Increase it to 25000Hz when using 4-wire PWM
fans.
When a Duet 0.8.5 board is configured or detected, the fan control is
now automatically inverted. If you previously used M106 P0 I1 in
config.g to invert it, you will need to remove that.
M579 (scale Cartesian axes) is now implemented (thanks chrishamm).
M114, M119 and M573 commands can now be executed concurrently with other
commands.
When DDA debugging is enabled, the debug output now includes all active
extruders instead of just the first two.
M408 S0 now includes the fan speeds (for PanelDue).
M119 now reports the Z probe as well as the endstop switch states.
A tool can now be defined even if a tool with the same tool number
exists already. The existing tool will be shut down and deleted.
The bed heater can now be disabled using M140 S-1 (thanks chrishamm).
The chamber heater (if present) and the endstop switch states are now
reported to the web interface (thanks chrishamm).
Increased defauklt Z prove dive height to 5mm.
Increased default PID Ki to 0.2
Bug fixes
=========
On a CoreXY machine, XY speeds were too low by a factor of sqrt(2).
On a delta machine, after running auto calibration the Z=0 height could
be slightly inaccurate, depending on the difference between the X and Z
endstop corrections
When using a non-intelligent modulated Z probe on a Duet 0.8.5, the
modulation pin number was incorrect.
The M27 (Report SD card print status) response was inverted compared to
what it should be. When in Marlin mode it now includes the "byte n/m"
field that some versions of Pronterface expect.
Cold extrusion prevention did not work - an error message was generated,
but the extruder was driven anyway.
M999 PERASE is now more reliable (thanks chrishamm).
M23, M30 and M32 commands did not work when the filename parameter
passed included an absolute path.
//A T command inside a macro file did not execute the tool change macros
files.
A memory leak occurred when a tool was deleted.
All moves are now completed before switching to CoreXY mode.
Polling requests from PanelDue were not relied to when a macro was being
executed
M667 with no parameters returned an incorrect string
Added F (probing speed) and T (travel speed) parameters to M558 command
Removed M210 command because home feed rates are defined in the homing
files
Increased UART interrupt priority to avoid dropping characters sent by
PanelDue
Bug fix: M558 P3 did not leave the Z probe control pin high
Bug fix: in version 1.09j only, the move following a G92 E0 command was
sometimes executed from an incorrect start point
Fixed bugs with reads/writes from/to the SD card that spanned one or
more whole sectors
Updated to latest Atmel HSMCI driver
Bug fix: Pause function sometimes used to hang while running pause macro
file
Don't wait for all moved to complete when executing a G92 command that
just resets extruder positions
M574 endstop configuration now overrides M558 when determining whether
or not to use the Z probe instead of a homing switch
Added XYZ parameters to M667 command to support CoreXZ etc. machines
with paired axis ratios that are not 1:1
Minor change to step ISR to improve timings and service drives in
round-robin order
Added support for Duet 0.8.5 with auto detection between 0.6 and 0.85
board types
Added P parameter to M115 command to set board type
Changed M115 output to report the board type that was configured or
auto-detected
Improved ISR and step pulse generation efficiency to allow higher
movement speeds, especially wheh using 0.9deg/step motors
Added XYZE parameters to M569 command to allow driver remapping
Added R parameter to M569 command to allow enable signal to be reversed
when using external drivers (thanks dnewman)
Removed M558 R parameter because boare type 0.7 can now be set via M115
instead
Moved Fan0 RPM sense pin to PA14 to avoid conflict with Duet 0.8.5 FAN1
pin
M408 poll command can now be handled concurrently with other commands
Fixed race condition introduced in version 1.09f
If debug output isn't consumed by a USB host, discard it instead of
blocking( which eventually caused the software watchdog to time out).
Fixed print quality problems that mostly affected delta printers e.g. on
spiral vase cylinder
When reconnecting a browser, cancel any file upload from the same IP
address
M111 now prints the number of each module with debugging enabled or
disabled
In special moves on delta printers, the F parameter is now interpreted
as the speed of the tower that moves the most
M114 now reports stepper positions as well as head position
Default to output in Marlin mode
M104 command defaults to the only tool if there is only one tool and it
is not selected
Trying different code for M999PERASE command to see if we can get it to
unlock flash and reset more reliably
When step errors are logged, report them immediately if Move debugging
is enabled. Also reports the total number of step errors in M122.
Changed interrupt priority to make tick interrupt higher priority than
step interrupt, because we rely on the tick interrupt to check for over
temperature conditions and kick the watchdog
Fixed CoreXY homing bug
Support simultaneous XY homing on CoreXY printers
Updated sample homeall.g file for CoreXY printers to do simultaneous XY
homing
Added H (height correction) parameter to G30 command
G30 S-1 now reports trigger height without changing ZS origin
Added M665 Z parameter to better support square delta printers
Changed interrupt priorities to make step pulse timing interrupt higher
priority than Ethernet (thanks zpl)
Enabled gcc compiler warnings. Fixed over 100 warnings including at
least one actual and several potential bugs.
Simplified delta calibration code and added X and Y parameters to M665
command
Implemented chamber temperature commands (thanks chrishamm)