Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also added extra #includes needed to work with latest CoreNG
|
|
|
|
|
|
|
|
|
|
|
|
Got remote BLTouch working
Bug fix: when endstops were already triggered, homing moved could hang
Bug fix: external SD card didn't work on Duet Maestro
|
|
|
|
M540 on Duet WiFi now returns correct MAC address
MAC address added to object model
WiFi firmware version now returned correctly in object model
|
|
Changed all object model names to use camelCase
Added # operator to return the number of elements in an array or the
length of a string
Replaced M408 P1 by M409 and added flags parameter
Added rr_model to do the same as M409 directly via http
Removed default fan and Z probe assignments in Duet 2 builds
|
|
Refactored object model framework to simplify the code
Started bringing the object model into line with DSF
Added echo command
Added line number constant
|
|
|
|
Removed LWIP_GMAC_TASK definition. We now always use a separate task for
the GMAC.
Added loop counter constant 'iterations'
Fixed some expressoin evaluation bugs
|
|
|
|
Support loading IAP in RAM instead of flash, to make more flash memory available for the main firmware
|
|
Fixed data corruption during file uploads. We now use a separate task to read data from the GMAC.
Bug fix for M574 S0
Bug fix for software reset data report wheh no module was spinning
|
|
Put CAN, GMAC and some DMA buffers in new .ram_nocache memory section (needs new linker script in CoreNG)
Added option to use separate Ethernet GMAC task (not working yet, so disabled - see LWIP_GMAC_TASK in compiler settings)
Added code to set up non-cached memory usnig MPU (not working yet, so disabled)
|
|
Fixed broken code after previous merge
In laser mode, if power is sticky then reset laser power to previous value on a G1 move after a G0 move
In resurrect.g select the tool before calling resurrect-prologue.g so that extrusion can be done
|
|
Also started using portability functions from RRFlibraries
|
|
|
|
Allow I2C addresses to be given in hex format
Allow axes to be mapped ot nin-existant driver numbers
More work on object model variable substitution in GCode commands
Added a possible fix for coast-to-end
|
|
G30 H parameters didn't work if deployprobe.g or retractprobe.g file present
Execute residual babystepping immediately
Warning message if trying to move motors on internal drivers but VIN too low or too high
Send mapped fan speed at the start of the fan speed list in the M408 response for PanelDue
PanelDue emergency stop interrupt from UART driver
M408 P1 F"gcodes" returned an empty gcodes object
Variable substitution in GCode commands wasn't working
Object model returned wrong value for speed factor
Support string-valued object model values in JSON report
Increased min fullsteps for motor open detection from 4 to 20
Brought RADDS build up to date and use RTOS
|
|
More refactoring of IP addresses in network code
|
|
New G/M code features since 2.02RC2:
G10 L2 and G10 L20 can now be used with no P parameter, meaning use the current coordinate system
G60 now saves the current tool as well as the current user coordinates
M116 now accepts an optional S parameter to specify the acceptable temperature difference
M205 is supported to set the jerk limits (in mm/sec) as an alternative to M566
M208 now accepts Xaa:bb Ycc:dd etc. as an alternative to separate M208 S0 and M208 s1 commands
M305 temperature sensor type 300-307 now supports a C parameter to select the input channel and a D parameter to select differential mode
M408 now accepts a P parameter. P0 (default) gives the previous behaviour. P1 S"filter" now returns those parts of the object model that match "filter".
M557 now supports a P parameter to set the number of X and Y points, as an alternative to using the S parameter to set the spacing
M558: zero or negative Z probe tolerance (S parameter) with A parameter > 1 now means always average all readings
M558 now accepts a C parameter to select the endstop number when the mode is 4. M558 P6 is translated to M558 P4 C4, and M558 P7 is translated to M558 P4 C2.
M600 is now supported
T R# (where # is a restore point number) is now supported
-
Other changed behaviour since 2.02RC2:
When storage module debug is enabled, failing to open a file is now a warning not an error because it is a normal accurrence when optional files are not present (e.g. tool change files, start.g, stop.g)
Increased number of restore points from 3 to 6
When the WiFi module is in client mode it tries to auto-reconnect continuously if the connection is lost
Implemented the object model framework and a few variables
Z leadscrew or manual be levelling adjustment results are now logged even if the process failed, if logging is enabled
Mesh probing results are now logged, if logging is enabled
Error and warning messages generated by incorrect GCode commands are now logged, if logging is enabled
-
Bug fixes since 2.02RC2:
The motor phase open circuit message is clearer, is now a warning instead of an error, and spurious instances of it should be reduced
M918 with no parameters now reports current settings (Duet 2 Maestro)
Further limited the amount of CPU time used to refresh the 12864 display
Fixed incorrect check for G2/G3 missing parameter
Fix CoreXYUV stall detection
Absolute babystepping was be restricted to 1mm change
After using G10 L2 or G10 L20 to change workplace coordinate offsets, the user positions of axes other than X and Y were not updated
M915 now recognises the E parameter
M915 output was truncated if no drives were specified
On the Duet 2 Maestro, if a BLTouch Z probe was used then the pin didn't always stay retracted after the probe was triggered
On the Duet 2 Maestro, if the SD card menu on the 12864 display was used then the network kept disconnecting
If G30 S-1 was sent with the Z probe type set to zero then reported trigger height was an undefined value
Fixed potential buffer overflow issues in 12864 menu code
-
Other changes:
Introduced class IPAddres and refactored most usage oif IP addresses
|
|
Moved some libraries out of this project into new project RRFLibraries so that we can use them in multiple projects
|
|
Bug fixes:
- When using a mixing extruder, the feed rate for extruder-only moves was incorrect
- If additional axes were not created in the order UVWABC then incorrect homing files might be run (thanks chrishamm)
- On the Duet Maestro, the 7th stepper step/dir pin numbers were swapped
- If you paused a print during a G2/G3 arc move, on resuming it the arc centre was at the wrong place. This release defers the pause until the arc move is completed.
- If a command that interrogated the network (e.g. M122 on the Duet WiFi) was sent from USB, PanelDue or another non-network channel, the network subsystem could be accessed by multiple tasks concurrently, causing network disconnections or other errors
- When using a bltouch, between probe points the pin retracted, deployed and retracted again
- M206 with no parameters didn't report the current axis offsets
- During heating, the firmware returned M408 S0 responses to the PanelDue port even if the last request was M408 S2
- Fixed VBUS detection (thanks chrishamm)
- If the resume threshold in the M911 command was set higher than the supply voltage then the save-on-power-off mechanism never got primed. It will now prime at thwe auto-save threshold plus 0.5V or the resume threshold, whichever is lower.
- Fixed "2dtstc2diva=u" in debug printout
- Where a G- or M-code command parameter was supposed to accept unsigned values only, if a negative value was supplied then it was accepted and converted to a large unsigned value
New features and changed behaviour:
- If the firmware gets stuck in a spin loop, the RTOS builds now discard LR and 16 stack dwords in order to get more useful information from the stack trace
- Increased M999 delay to 1 second
- The report generated by M122 now includes a list of mutexes and their owners
- Added SW_ENC pin on CONN_SD to available GPIO ports (thanks chrishamm)
|
|
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
|
|
|
|
Recognise Ideamaker filament usage comments
Unified network interface for all generation 2+ Duets
|