Releases: Duet3D/DuetSoftwareFramework
Releases · Duet3D/DuetSoftwareFramework
Version 3.2.0-b4
Compatible files:
- RepRapFirmware 3.2.0-b4
- DuetWebControl 3.2.0-b4
Changed behaviour:
- DCS service is now started via sysinit.target instead of basic.target so that config.g is processed faster on boot
- Thumbnails from PrusaSlicer are now parsed (thanks Sindarius)
- M500 writes new heater tuning parameters to config-override.g
- In Marlin emulation "ok" responses are only sent when the line is complete
Bug fixes:
- Codes could be sent to code interceptors in the wrong order
- M21 (P0) returned an error message breaking Octoprint support
- Under certain circumstances some object model keys were not updated on initialisation
- DCS service didn't have permission to change the datetime
- Print times with decimal places were incorrectly parsed
- When the controller was reset or updated, an extra data transfer was performed
Version 3.2.0-b3
Compatible files:
- RepRapFirmware 3.2.0-b3
- DuetWebControl 3.2.0-b3
Changed behaviour:
- DCS is now explicitly notified about closed messages and files (hence no longer compatible with 3.2-b2)
- CodeConsole utility allows evaluation of expressions using
eval <expression>
Bug fixes:
- When certain G-code inputs were disabled, the DSF API threw NullReferenceExceptions
- When the heaters contained null items, no config-override.g could be writen
- When the move compensation type was set to none, the heightmap file was not reset
- Starting macro files could cause out-of-order execution and stack underruns
- Sometimes the object model wasn't fully updated after a disconnect
Version 3.2.0-b2
Compatible files:
- RepRapFirmware 3.2.0-b2
- DuetWebControl 3.2.0-b2
Changed behaviour:
- runonce.g is no longer processed before config.g to match RRF's behaviour
- Increased SPI protocol version due to slight changes for the new Linux task in RRF
Bug fixes:
- Added missing "Starting" item to the MachineStatus enumeration
- M112/M999 were executed out-of-order when read from files
- Sometimes in print files codes invoking macro files could crash DCS
- Aborted macro files did not cancel codes properly
- Comments following codes directly without a whitespace could cause parsing errors
Version 3.2.0-b1+1
Compatible files:
- RepRapFirmware 3.2.0-b1
- DuetWebControl 3.2.0-b1
Changed behaviour:
- Permissions are now required for DSF commands for executables running in
/opt/dsf/plugins
- Simulation times are automatically written to G-code files
- Increased API level due to object model changes
- Renamed namespace
DuetAPI.Machine
toDuetAPI.ObjectModel
andMachineModel
toObjectModel
Bug fixes:
- DCS service file contained an invalid CPU priority
- Event logging via M929 was not working
- Macro files with an unknown start code were not properly cancelled by M99/M292 P1
Known issues:
- Security permissions are not enforced via AppArmor yet (and they are still subject to change)
- Package dependencies are not yet installed when a plugin is installed
Hotfixes since 3.2.0-b1:
- DCS didn't have permission to call statfs when running as
dsf
user
Version 3.1.1
Compatible files:
- RepRapFirmware 3.1.1
- DuetWebControl 3.1.1
Changed behaviour:
- Increased API level due to new object model fields
- Code replies from the firmware are now trimmed at the end right after receipt
Bug fixes:
- Final replies from system macros were discarded
- Substituted macro filenames were incorrect in the DCS log
- Codes requesting message boxes could be executed twice
- Message boxes could be closed internally in DCS when not supposed to
- Codes from pause.g were cancelled under certain circumstances
Version 3.1.0
Compatible files:
- RepRapFirmware 3.1.0
- DuetWebControl 3.1.0
Changed behaviour:
- Duplicate code parameters are now ignored
- If M122 cannot obtain locks in DCS within 2s, the lock is ignored
- SPI poll delay is skipped during updates
Bug fixes:
- When pausing a print at the end of a file, the file was closed on resume
- M500 P10 did not work
- DCS parameter for updates (-u) was broken if another instance was not started
- Whole-line comments were not truncated before they were sent to RRF
- Only the first filament usage was parsed from files generated by Prusa Slicer
- M505 did not return the current sys directory when invoked without parameters
- Whole-line comments preceding a code that requests a macro file could cause the code to be executed twice
Version 2.2.0
Compatible files:
- RepRapFirmware 3.01-RC12
- DuetWebControl 2.1.7
Changed behaviour:
- Changed letter of unprecedented parameters from '\0' to '@'
- Increased default and minimum API version number to 7
- Whole line comments are now sent to RepRapFirmware
Known issues:
- Print/Simulation times are not written to G-code files
- Codes with invalid expressions may not instantly terminate a macro or job file
Bug fixes:
- Expressions in square brackets were not evaluatated
- M500 wrote workplace coordinates without offsetting the indices by 1
Version 2.1.3
Compatible files:
- RepRapFirmware 3.01-RC11
- DuetWebControl 2.1.6
Changed behaviour:
- Increased API version number because fans[].actualValue is now nullable
- Warning message is shown in the DCS log when API clients with an old version number connect
Known issues:
- Print/Simulation times are not written to G-code files
- Comments for object cancellation detection are not parsed (work-around is to use M486 directly)
- Codes with invalid expressions may not instantly terminate a macro or job file
Bug fixes:
- Unchanged arrays could be reported in Patch subscription mode
- Initial query in Patch mode was not working
- Web server did not clear HTTP endpoints under certain circumstances
- echo expressions were not parsed correctly if strings contained commas
- Changing the system time just before a controller reset could lead to an abnormal program termination
Version 2.1.2
Compatible files:
- RepRapFirmware 3.01-RC10
- DuetWebControl 2.1.5
Known issues:
- Print/Simulation times are not written to G-code files
- Comments for object cancellation detection are not parsed (work-around is to use M486 directly)
- Codes with invalid expressions may not instantly terminate a macro or job file
Bug fixes:
- Leading G53 wasn't added to string representations of parsed codes
- Starting DCS with the fifo CPU scheduler via systemd could lead to maximum CPU usage
- Some nullable RRF OM fields were not declared as such in the DSF OM
Version 2.1.1
Compatible files:
- RepRapFirmware 3.01-RC10
- DuetWebControl 2.1.5
Changed behaviour:
- If DCS cannot establish a connection to RRF, the error message is always printed
- Code parser exceptions report the filename
- File info parser scans parsed comments in the file footer like in the file header
- Increased priority in systemd service for DCS and start it at
basic.target
instead ofmulti-user.target
Known issues:
- Print/Simulation times are not written to G-code files
- Comments for object cancellation detection are not parsed (work-around is to use M486 directly)
- Codes with invalid expressions may not instantly terminate a macro or job file
Bug fixes:
- Expression code parameters were not properly printed in the log
- Double quotes were incorrectly parsed
- limits key was not updated in the object model
- Height map file was overwritten by the RepRapFirmware object model
- G29 S1/M375 didn't print an offset warning when a heightmap was loaded without homing Z first
- Order of M0/M1 and notification about the print being cancelled was wrong
- Some internal fields of the Code object were incorrectly serialized
- Codes could finish in the wrong order
- PrusaSlicer print time and layer height were not parsed correctly
- Expression fields were always evaluated from the DSF object model