Skip to content

Releases: Duet3D/DuetSoftwareFramework

Version 3.2.0-b4

26 Nov 18:45
Compare
Choose a tag to compare
Version 3.2.0-b4 Pre-release
Pre-release

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

07 Nov 14:37
Compare
Choose a tag to compare
Version 3.2.0-b3 Pre-release
Pre-release

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

05 Oct 18:33
Compare
Choose a tag to compare
Version 3.2.0-b2 Pre-release
Pre-release

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

16 Sep 11:43
Compare
Choose a tag to compare
Version 3.2.0-b1+1 Pre-release
Pre-release

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 to DuetAPI.ObjectModel and MachineModel to ObjectModel

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

19 May 12:09
Compare
Choose a tag to compare

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

15 May 16:02
Compare
Choose a tag to compare

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

06 May 13:30
Compare
Choose a tag to compare
Version 2.2.0 Pre-release
Pre-release

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

30 Apr 15:06
9297844
Compare
Choose a tag to compare
Version 2.1.3 Pre-release
Pre-release

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

28 Apr 12:53
Compare
Choose a tag to compare
Version 2.1.2 Pre-release
Pre-release

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

25 Apr 13:09
Compare
Choose a tag to compare
Version 2.1.1 Pre-release
Pre-release

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 of multi-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