Age | Commit message (Collapse) | Author |
|
Fixed bug: if an expression in a GCode command used an object model
varoiable starting with g, m or t and the name was preceded by a space
or tab, then the firmware tried to interpret it as another command
|
|
M540 on Duet WiFi now returns correct MAC address
MAC address added to object model
WiFi firmware version now returned correctly in object model
|
|
|
|
Fixed bad JSON in M408 reports when no fans are configured
Added more object model fields: kinematics, machine coordinates
Refactored code that generates M408 responses
|
|
|
|
Changed all bitmaps to use the bitmap class from RRFLibraries
Fixed bugs in functoin evaluation
|
|
|
|
Also added a static assertion that the table is ordered
|
|
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
|
|
|
|
Changed M408 P1 response to return the key and value separately, and to
return null as the value for queries that fail
Replaced Electronics.MainBoard object by Boards[0]
Added firmware and IAP name members to Boards[0] object
|
|
Also changed all calls to gmtime to use gmtime_r instead, for thread
safety
|
|
Added facility to acquire a read lock around access to an array
Partially implemented Heaters and Sensors in the model
|
|
|
|
|
|
|
|
Refactored object model framework to simplify the code
Started bringing the object model into line with DSF
Added echo command
Added line number constant
|
|
|
|
Fixed M917
Improved handling of G31 temperature compensation parameters
Added conditional expressions
|
|
Loops are now working
Added noexcept specifiers to omst of the remaining C++ source files
|
|
Also tidied up some code
|
|
|
|
|
|
Remote endstops now working properly
M950 H# C"nil" now deletes a heater and doesn;t require a sensor number
MPU is now enabled
M574 report includes remote endstop pin names
|
|
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
|
|
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
|
|
Duet Maestro 12864 display: merged in Matt's changes and did some fixes
Changed Smart Drivers interface to support accessing additional registers and parts of registers
Started implementing an object model
Change C++ compilation mode to gnu++17 to handle lambda function pointers in flash memory
Added NamedEnum class *(notuzsed yet)
|