Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-30Merge remote-tracking branch 'origin/3.4-input-shaping' into v3-chrishammChristian Hammacher
2021-07-30More improvements for SBC modeChristian Hammacher
Improved performance of the Linux task once again Added more debug info for spurious "failed to close macro file" messages Added new timeout when waiting for SPI transfers on SAM5Ex series Bug fix: Linux task spun longer than anticipated Bug fix: New cancelling state was broken Bug fix: File deletion from RRF on SBC wasn't working
2021-07-24Finished converting time units to step clocks, pending testingDavid Crocker
2021-06-04Bug fix: when a macro was aborted the error message was lostDavid Crocker
2021-03-10Implemented variablesDavid Crocker
2021-03-07More work on variables and parametersDavid Crocker
2021-03-04Created Platform and PrintMonitor folders within /srcDavid Crocker
2021-02-13Fixed arc moves being executed in the wrong planeDavid Crocker
2021-01-23Initial implementation of G17/G18/G19 (not tested)David Crocker
2020-11-12More SBC improvementsChristian Hammacher
Slightly reduced memory usage for virtual file IDs Requests to daemon.g no longer block the main task Added new diagnostic test to provoke output buffer starvation
2020-11-10More additions to latest bug fixesChristian Hammacher
Missed a change from uint8_t to FileId in GCodeMachineState Improved GCodeBuffer::SetFileFinished to deal with successive MacroClosed requests
2020-11-10Fixed macro issues in SBC modeChristian Hammacher
Bug fix: File ID counter overflowed to zero causing issues after 255 macro requests
2020-11-06Improvements for SBC modeChristian Hammacher
Refactored some SBC-related classes Prepared some functions for dual operation of SD card with Linux interface Bug fix: When macros were started, out-of-order replies and stack underruns were sometimes provoked
2020-10-26Implemented filament-error macro filesDavid Crocker
2020-10-24Improvements for SBC modeChristian Hammacher
RRF tells SBC explicitly about closed messages and macro files Removed one more mutex in the Linux subsystem Bug fix: Fixed issue about multiple stack levels in the same file in SBC mode Bug fix: Firmware filenames for Duet 3 Mini 5+ were wrong
2020-09-26More improvements for SBC modeChristian Hammacher
RRF now keeps track of the binary GB states per stack level Removed "FinishBinaryMode" work-arounds from a few places Bug fix: When executing config.g the macro mutex is awaited forever in SBC mode
2020-09-15Bug fixes for PanelDue in SBC modeChristian Hammacher
Bug fix: M291 S3/4 could block the whole Aux channel in SBC mode Bug fix: When prompts were cancelled, no event was sent back to the SBC
2020-04-24Bug fixesDavid Crocker
In laser mode, M3 and M5 commands were applied too early if there was a move waiting in the move buffer Move counters were reset at an inappropriate point, causing them to get out of sync The execute move number for queued moves didn't take account of segmented moves waiting to go Error messages from G1 and G2/G3 commands were lost
2020-04-12Fix to make 'result' constant correct after failing G30 commandsDavid Crocker
Also added restore points and some additional limits to object model
2020-03-31More work for DSF 1.3.0Christian Hammacher
Added line number support to binary GCodeBuffers Implemented blocking message box support for DSF Implemented expression evaluation for DSF Improved output parts in the OM and tested with DWC Status responses no longer modify data Minor improvements in the Linux subsystem
2020-03-08Bug fixes and refactoringDavid Crocker
Tightened up JSON path parsing Used NamedEnum for GCodeChannel and Compatibility Added a check for bad channel numbers received from SBC Fixed bugs in M220 Increased max number of MDNS services form 1 to 4 Added noexcept specifiers to functions in DataTransfer class
2020-02-08Various changes for 3.01-RC1David Crocker
Fixed Abort command so that it resets the state to not printing Introduced null literal and allow objects to be compared to null
2020-01-19Major refactoring, bug fixes in function evaluationDavid Crocker
Changed all bitmaps to use the bitmap class from RRFLibraries Fixed bugs in functoin evaluation
2020-01-13VariousDavid Crocker
FreelistManager in RRFLibraries now has its own namespace Class GCodeMachineState now uses FreelistManager to manage its storage Leading tabs are treated as going to the next multiple of 4 spaces from start of line or end of line number etc. Generate warning if both tabs and spaces are used to indent blocks
2020-01-13VariousDavid Crocker
Refactored how GCode blocks and indentation are tracked Fixed lack of motor movement on Duet 3 Create path recursively if needed when creating a directory or renaming a file
2020-01-04Conditional GCode fixes and exception specifiersDavid Crocker
Loops are now working Added noexcept specifiers to omst of the remaining C++ source files
2020-01-04Networking and conditional GCode changesDavid Crocker
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
2019-09-21More fixes for DSFChristian Hammacher
2019-09-123.0beta103.0beta10David Crocker
Z probing bug fixes
2019-08-31Combined Linux interface and SD card versionsDavid Crocker
The standard Duet3_V06 build now supports both the Linux interface and the SD card. The SD card is used if the card can be mounted and config,g or default.g can be run. Otherwise the Linux interface is used.
2019-08-05Bug fixesDavid Crocker
Fixed bugs with configuring heaters Fixed bug with compatibility setting
2019-07-21More improvementsChristian Hammacher
Improved GCodeBuffer backend Moved compatibility setting to machine state Cleaned up some of the Linux buffering code Bug fix: Output of M111 was reported in multiple chunks and could not be seen via DWS Bug fix: Unsupported codes were not reported as such
2019-07-02Consolidation after mergeDavid Crocker
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)
2019-06-25Merge remote-tracking branch 'origin/v3-dev' into v3-chrishammChristian Hammacher
2019-06-10Started work on conditional GCodeDavid Crocker
Implemented the basic language constructs for conditional GCode. As part of this, improved the interface between the GCodeBuffer class and the various GCode input streams. Created file GCodes4.cpp and moved the state machine implementation into it.
2019-06-03More bug fixesChristian Hammacher
2019-04-30Fixes for out-of-line execution of SPI commandsChristian Hammacher
2019-04-02More work on SPI transfersChristian Hammacher
United GCodeBuffer types to allow binary and string content Prepared GCode flow to deal with new SPI communication Linux interface can now access every GCodeBuffer instance Bug fix: When DoMacroFile could not push the stack, the file was not closed
2019-03-17Towards 2.03beta3David Crocker
Inches/mm setting is now per-channel and saved by push/pop When an unsupported G- or M-command is encountered, look for a macro of that name Removed special support for M650 and M651, use macros instead M203 always reports accelerations in mm/sec^2 Bug fix: G30 Pnn S-1 could report standard deviation as nan Fixed direction for motors supported over CAN Allow movement slightly outside M208 limits to allow for round-trip errors when the M208 limits are converted to motor positions and back again
2019-03-03Refectored DDARing and other changesDavid Crocker
Added class DDARing to allow more than one DDA ring to be active When a system macro is running, apply tool offsets again (but don't apply workplace coordinate offsets) M591 no longer waits for movement to stop, unless axis jog buttons are requested When switching a tool to standby, don't set its heaters to standby if they are active heaters for the current tool
2018-04-19Version 2.0beta2David Crocker
Bug fixes: DWC sometimes disconnected after uploading a GCode file Reverted the behaviour of G0 commands to the pre-2.0 behaviour when the machine mode is FFF (i.e. the F parameter is recognised and the feed rate is shared with the G1 feed rate) If a G1 command with extrusion was followed by a G0 command, the extrusion was repeated in the G0 command When high microstepping was used, certain sequences of movement commands could lock up the movement system
2018-03-21Release 1.21David Crocker
New features and changed behaviour: - Report spindle motor speed in rr_status and M408 reports - M106 now also reports the current fan PWM for thermostatically-controlled fans - Machine coordinates are always used when running system macros automatically Bug fixes: - Pulse-type filament monitors are now working - WiFi sockets whose connections abort are now terminated to make them available for re-use - DWC Machine Properties page shows the correct state of active low endstops
2018-03-16Version 1.21RC5David Crocker
New features: - New M569 T parameter options to specify step pulse width, step pulse interval, direction setup and direction hold times - M665 now sets the M208 limits (except Z min) to match the machine limits, so that Duet Web Control reports the correct values Bug fixes: - M116 commands were sometimes executed out-of-order relative to previous G10 commands if movement commands were in progress - G10 L20 now computes the workplace coordinate origin correctly - G53 is only active until the end of the current line of GCode - The default coordinate system is the one selected by G54 - G54..G59 update the user coordinates immediately - Fixed "Error: Pop(): stack underflow!" when a file or macro is terminated due to an illegal move command - A short delay is inserted when M558 is used to change the Z probe type, to allow the averaging filters to accumulate the new data - M291 messages which are non-blocking (i.e. mode < 2) are now synchronised to queued moves, like M117 messages Other changes: - Duet Web Control and PanelDue now report the coordinates relative to the origin of the current workplace - Rewrote dhcp_rec function on Duet06/085 to avoid goto statements (possible fix for startup problem when using DHCP)
2018-03-11Version 1.21RC4(11b1)David Crocker
New features: - On CoreXZ machines we no longer require Z to be homed before bed probing with G30 - M589 now checks that the password is either empty or 8 characters minimum - G10 L2 is supported as an alternative way to set tool offsets - G10 L20 is supported as an alternative way to set workspace coordinates - Heater fault detection is suppressed when heaters are suspended during bed probing - DuetWiFiServer/bin uses a new SDK version, which seems to resolve some issues - On boards with a W5500 Ethernet interface, the Ethernet PHY is now programmed to auto negotiate - Added M564 H0 command to allow axis movement before homing on Cartesian/CoreXY printers - The filament length comment proposed to be generated by the next version of Cura when using more than one filament is supported Bug fixes: - I parameter on M452, M453 and M573 didn't work - If a homing file contained an illegal movement command then homing was not cancelled - Corrected Z probe input pin in RADDS build - Possible fix to Duet 06/085 failure to start when using DHCP
2018-02-28Version 1.21RC3David Crocker
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
2017-10-26Version 1.20beta2David Crocker
New features: On SCARA printera arm position limits are applied as well as XY size limits Heater 0 values are sent to to PanelDue even if there is no heated bed When logging is enabled, log entries are now written for when the date/time/date is set When logging is enabled, "Maximum open file count exceeded" messages are logged Loss of power is now handled much faster. The print is paused in the middle of a move if necessary. The M991 parameters are changed to facilitate this. When resuming a print after loss of power, the head is now moved, sideways and finally down when restoring position Following a power failure, M916 can now be used to resume the print instead of using M98 Presurrect.g The heater control now switches to fast PID parameters when the temperature is within 3C of target, instead of within 1C The TMC2660 Stallguard detection and Coolstep parameters may now be configured using M915. Currently, no action os performed when a stall is signalled. If a heater fault occurs, the print is paused instead of cancelled All error messages relating to incorrect use of a G- or M-code now include the G- or M-number of the command that caused them Increased ADC oversample bits to 2 Duet WiFi: M122 diagnostics now include the wifi module sleep mode and additional network diagnostics You can now disable monitorng of TMC2660 drivers rthat are not in use by using parameter R-1 in the corresponding M569 command The M585 (probe tool) command is now implemented (thanks chrrishamm) If axis lengths are adjusted by probing, a subsequent M500 command saves them in config-override.g If tool offsets are adjusted by probing, a subsequent M500 command saves them in config-override.g The layer counting mechanism has been modified to better handle GCode files that use a different layer height when printing support Debug messages sent to the USB port are truncated or thrown away if a software watchdog reset is imminent XY speed limiting is now done separate for each kinematics, in particular for CoreXY printers Support for Polar kinematics has been added but not tested (see M669 command) The TMC2660 drivers are configured to detect short-to-ground conditions faster The parameters in rr_ http commands are now all order-independent Bug fixes An error in computing the time taken to execute moves that were not yet frozen caused the first movement on a SCARA printer following homing to be jerky An extra space in the output from the M114 command confused Printerface, causing it to print exception messages When tuning a heater, any previous maximum PWM that was set is now ignored
2017-08-07Version 1.19RC5David Crocker
Simplified the tracking of virtual extruder position Fixed issue with volumetric extrusion Fixes issues with resurrection when using absolute or volumetric extrusion Corrected date stamp on resurrect.g file Bed levelling wizard now displays required levelling screw adjustments
2017-06-23Version 1.19beta7David Crocker
New features: - M291 command is provided to display a message box with options for timeout, acknowledgement and Z jog buttons - M292 command is provided to acknowledge M291 messages - Manual delta calibration and bed compensation is supported (use P0 in the M558 command to indicate that there is no Z probe) - Minimum value for S parameter (maximum heater PWM) in M307 command is reduced from 20% to 1% - Core XYU kinematics are now supported (thanks Lars) - RADDS build now supports 9 motors (thanks Tom) - If a homing move uses parameter S3 instead of S1 then the axis minimum or maximum value is set to the current position instead of vice versa - M589 with no parameters now reports the Duet's own SSID - M589 S"*" now deletes the Duet WiFi's own access point details Bug fixes: - Tool X offsets are now applied on the next move even if it has no Z parameter - The tool change restore point coordinates now take account of X axis mapping - M588 P"*" command (forget all access points) now works - On the Duet WiFi, after using M589 to set up access point parameters, when M552 S2 was sent to start the WiFi module in AP mode it reported "WiFi reported error: invalid access point configuration". The fix also needs DuetWiFiServer version 1.19beta7. - On a delta printer the effector height is limited to reachable values Areas of code refactored (so watch out for new bugs): - G30 bed probing - Baby stepping - Tool offset implementation Upgrade notes: - SSIDs and passwords in M587, M588 and M589 commands must now be enclosed in double quotes - Height map filenames in G29, M374 and M375 commands must now be enclosed in double quotes - On a Duet WiFi you should also upgrade DuetWiFiServer.bin to version 1.19beta7. You do not need to perform a simultaneous upgrade, but M587 and M589 reporting functionality won't work correctly if your DuetWiFiFirmware and DuetWiFiServer versions are out of step.
2017-01-19Version 1.17c+1David Crocker
Implemented G2 and G3 Fixed bug: couldn't update WiFi server or DWC on Duet WiFi after sending M997 S3 Disable the uart used to update the WiFi module during normal WiFi operation
2016-12-29DuetEthernet support + minor changesDavid Crocker