Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also allow for PrusaSlicer reporting "1 minute" in print time estimate
|
|
|
|
Bug fix: fix filament needed array overflow when then GCode file
contains a filament used comment line with too many values
Adjust the number of stepper drivers on Duet 2 if a 12864 display is
configured
Changed step pulse code to not use paralell write because those are not
available on the 5LC board (or on LPC-based boards)
Changed 12864 LCD pin allocations for Duet NG
Removed calls to SafeStrtoul from BinaryParser and IoPorts
|
|
Use new NumericConverter, StrToInt32 and StrToUint32 functions in
RRFLibraries
Added DueXn i2C transaction counter
Replaced strptime by SafeStrptime
|
|
|
|
|
|
Also changed all calls to gmtime to use gmtime_r instead, for thread
safety
|
|
Loops are now working
Added noexcept specifiers to omst of the remaining C++ source files
|
|
MassStorateg is now a namespace, in preparation for moving some of its data to non-cached memory
SBC transfer buffers moved to non-cached memory
|
|
Extended file info parsing to support new version of KISSSlicer
|
|
Reverted some changes to Linux/MessageFormats.h and Linux/BinaryParser.cpp for compatibility with the existing SDF release
Added HAS_MASS_STORAGE definition
Removed lots of mass storage code when HAS_MASS_STORAGE is false
Removed non-RTOS code
Moved SPI channel usage definitions into CoreNG
Added some new CAN message formats (not used by this project yet)
|
|
Feature improvements/changed behaviour:
- M584 formatting improvement when no extruders
- In CoreNG, increment I2C reset count when resetting the I2C system
- Recognise filament usage comment in Prusa slicer
- G53 is now available even when workplace coordinates not supported in build (cancels tool offsets)
- For E3D: scale feed rate in proportion to total mix, for serial extruder drives etc.
- Allow M203 max speeds lower than 1mm/sec
- Enable laser in Duet085 build
- M563 P# with no other parameters: better response formatting when no heaters or no drives
- Added extra diagnostics for when a filename is too long
Bug fixes:
- Problem with leadscrew move when driver numbers >= MaxAxes are used to drive Z motors
- Added missing newline at end of some error messages
- M585 L parameter was not working
- In resume.g a G1 R command goes to the wrong coordinates if workplace coordinate offsets are being used
- Homing files when workplace coordinate offsets were active cause other axes to move
- Resurrect.g all coordinates need to be machine coordinates
- Resurrect.g restore workplace # and workplace offsets
- Error with babystepping: incorrect sign when doing tool offset inverse transform, so it restores an incorrect Z position
|
|
Implemented M505
Implemented baby stepping on all axes, but only Z babysteps get accelerated by pushing them through the move queue
Increased max heaters per tool and extruders per tool to 8 in Duet NG build
Bug fix: when a file to print was selected on the 12864 display, the wrong file could be started if there were filename entries star4ting with '.'
Bug fix: disable limit checking on special moves, even on CNC and Laser machines
Fix DuetNG configuration build errors when smart driver support is turned off
|
|
G1 X1E1 no longer gets treated as if it also has an E parameter
On 12864 display increment default column by 1 extra to leave a space
Bug: setting M558 A parameter to anything >31 sets it to 0 instead of to 31
Recognise Slicer PE latest version time estimate string, https://forum.duet3d.com/topic/8440/rrf-2-02-slic3r-pe-1-41-2-filament-used-and-print-times-wrong and SodaStreamHolder gcode file
Support generalised Cartesian/Core kinematics inc. markForged
M572 and M221 with no extruder drive number now sets all extruders used by the current tool, https://forum.duet3d.com/topic/8444/setting-pressure-advance-in-filament-file
Support experimental filament sensor firmware v2
Improve efficiency of debug print in WiFiInterface: don't keep calling cat and strlen
Disable mdns in legacy Duets, https://forum.duet3d.com/topic/8352/duet-0-6-randomly-reboots/5
rr_fileinfo and M36 with no filename now includes estimated print time and simulation time in the response, as in the report with a filename
In CNC and laser mode update user Z coordinate after tool change, https://forum.duet3d.com/topic/8181/tool-offset-honored-but-not-displayed-correctly
On SCARA and delta printers, apply geometric limits even if not applying M208 limits
G92 should not constrain the passed coordinates to the M208 limits if M564 S0 has been used to disable limits
MBytes/sec -> Mbytes/sec in M122 P104 report
Remove 'RTOS' from firmware name
|
|
Further changes to HttpResponder for DWC
|
|
HTML responder changes for new DWC
Failure to delete a file no longer generates a global error message if the reason is that the file or path was not found. This was done for the Cura upload plugin, and also means that the 'silent' parameter to the delete call is no longer needed.
|
|
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)
|
|
New features:
- The M569 response when only the P parameter is given now includes chopper configuration register if it is a smart driver
- Multiple DHT sensors are supported, connected to any of the 8 SPI daughter board chip select pins
The Duet 2 Maestro build now supports DHT sensors
- Simple switch-type filament sensors can now be enabled/disabled using S1/S0 in the M591 command
- If the HSMCI idle function times out, an error code bit is now set
Bug fixes:
- If getting file info for DWC or PanelDue timed out, it didn't close the file. This could lead to running out of open file entries.
- The DHT sensor task ran out of stack space under some conditions
- Corrected DHT start bit timing to avoid a bus conflict
- Fixed unreliable DHT sensor reading in RTOS build, caused by call to micros()
- Pausing between the segments of a segmented move didn't happen even if the jerk settings were high enough
- Possible fix for incorrect extrusion in the first move after resuming from a pause
- If filament monitors were deleted or the type changed, this could result in an exception
- When step rate limiting occurred due to the speed and microstepping combination needing an excessive pulse rate, movement could become irregular
- When the SD card is removed during a print it says 1 file was invalidated even if there were more
- When the SD card is removed during a print we got several internal error messages, no "print abandoned" or similar message, and the heaters remain on
- Emergency stop now turns off all spindles if the machine type is CNC, and the laser if the machine type is Laser
|
|
New features and changed behaviour:
- M502 now resets all firmware
parameters back to the values in config.g except network parameters
-
RRF attempts to pass the estimated print time and simulated print time
from GCode files to DWC and PanelDue
- When M37 is used to simulate a
file, at the end of a successful simulation the simulated print time is
appended to the file unless parameter F0 is included in the M37
command
- The default folder for the M36 command is now 0:/gcodes
instead of 0:/
Bug fixes:
- In RC2 it was no longer possible to turn a
heater off by setting its temperatures to -273
|
|
Use our own version of vsnprintf to save stack and avoid needing to stop
scheduler during calls to it
G0 now moves at maximum travel speed and ignores F parameters
Fixed problem with doing G20 after loading or probing a height map with
a significant Z offset
Added chrishamm's spindle and fan map changes
Added type 10 Z probe which uses Z motor stall detection
Don't need to home any more before simulating a file
Update user coordinates after G10 is used to change tool offsets
Don't require both X and Y or both I and J parameters to be specified in
G2/G3 commands
|
|
Increased main task stack size to handle delta auto calibration
Replaced strtod by our own version. The one in newlib isn't threadsafe
unless we enable reetrant newlib in FreeRTOS, but the _reent struct
define in new lib contains lots of stuff we don't need that makes tasks
much bigger, using up many kb of memory
Use newlib nano instead of regular newlib
Note: in this release the network still disconnects at intervals, but it
can be reconnected.
|
|
The Network module is now a separate task
Reduced network buffers from 8 to 6 to free up RAM
FileInfoParser has its own buffer to save allocating them on multiple
stacks
Got rid of longWait and ClassReport
|
|
Refactored mutex and task interface
Output channels, tool list and message box data are now thread safe
|
|
Movd the file info parser out of PrintManager into a separate class
within Storage and made it thread safe
Added "Off" status for DWC and PanelDue
Fixed bug with using G1 S1 Ennn on a delta printer
|