Age | Commit message (Collapse) | Author |
|
|
|
Moved accelerometer functions from GCodes3.cpp to Accelerometers.cpp
GCodeResult.h and MessageTypes.h are now #included in RepRapFirmware.h
|
|
|
|
Also increased maximum drivers per axis from 5 to 6 on MB6HC
|
|
|
|
|
|
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)
|
|
|
|
|
|
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.
|
|
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
|
|
Transfers over the SPI1 channel of the SAME70 working
Refactored GCodeBuffer for two data types:
1. For string-based inputs (standard text-based approach)
2. For binary data transfers as used in the new SPI protocol (untested)
Added OpenOCD script for SAME70 <-> Atmel ICE
Fixed relative workspace paths in the linker settings again
|
|
Also improved project portability
|
|
New and changed features:
- Send the mapped fan speed at the start of the fan speed list in the M408 response for PanelDue
- Support PanelDue emergency stop interrupt from UART driver
- Execute residual babystepping immediately
- Warning message are now generated if trying to move motors on internal drivers but VIN is too low or too high
- Increased minimum fullsteps for motor open detection from 4 to 20
- I2C addresses can be specified in hex format e.g. "0x71" or "x71"
- M584 can now use dummy (high) driver numbers to assign an axis or extruder to no driver
- M122 now tells you if the drivers are enabled, or disabled and waiting for the correct voltage
- Added special support for coast-to-end in RecalculateMove
- Brought RADDS build up to date and use RTOS
- Improved HTTP 'page not found' message
- M260 now lets you receive I2C data after sending data
Bug fixes:
- G30 H parameters didn't work if deployprobe.g or retractprobe.g file present
- M600 stopped the machine
- Watchdog initialisation timing was marginal
- Possible fix for issue with using 3 independent Z motors each with a separate endstop switch
- Use a I2C mutex instead of a critical section lock
- Use new I2C driver in CoreNG
- M557 P parameter was not working
- G30 S-2 tool offset was set in the wrong direction
- After G30 S-2, user coordinates were not updated to account for new tool offset
- M918 with a P parameter now resets the display
- Improved the mechanism used to determine which layer is being printed
- 12864 display buttons sometimes disappeared when moving between them
- 12864 display: last byte of images didn't display correctly
- 12864 display: in button commands, "#0" should be substituted, not "menu"
- Don't start executing a G30 S-2 command if no tool is selected
- Http responses now use \r\n as the line ending, not \n
|
|
|
|
Moved some libraries out of this project into new project RRFLibraries so that we can use them in multiple projects
|
|
Added preliminary SPI comms interface for SAME70 test board
Made ESP8266 WiFi optional on the SAME70 board
Implemented M673 (Align plane on rotary axis)
Resolved potential race condition with SPI and HSMCI DMA chanel
Bug fix: M106 didn't output the fan name when called without parameters
|
|
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
|
|
Also removed unnecessary buffer in FileGCodeInput::ReadFromFile
|
|
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
|
|
Heater fault timeout to cancelling print to be configurable M570 S
parameter)
Filament monitor always updates calibration accumulators during a print
even if not in calbration mode
Added CoreXYUV
Aded Z probe types 7 and 8
Bug fix: semicolons inside quoted strings were still stipped out from
some gcode sources
Bug fix: giving silly numbers of microsteps in M350 messed up the
steps/mm
Bug fix: High microstepping and high acceleration on deltas led to poor
timing in deceleration phase and high MaxReps
Bug fix: The commands in tool change macro files were sometimes not
fully executed before the next action
Bug fix to speed limits in CoreXYU
Possible bug fix: avoid race condition in TMC SPI ISR
|
|
* Support for binary write
M560 and M559 now supports binary uploads.
Size in bytes of the file can be supplied to the GCode with S parameter to indicate end of file otherwise upload will continue until the EOF is encountered.
M560 writes www folder by default
M559 writes sys folder by default
Default folders can be changed by supplying the absolute path of the file. For example: M560 P/sys/firmware.bin
* code refactoring
* CRC32 checksum verification for binary uploads
In this implementation CRC32 checksum should be supplied with "C" parameter with 0x prefix. Example: M559 C0xabcdef Ptest.bin S123
* code refactoring
|
|
New features:
Refactored and completed 4-leadscrew bed levelling code
Probe deployment and retraction for G30 and G29 commands is now handled
automatically. You should still include a M401 command before the first
G30 command in bed.g and a M402 command after the last one, so that the
probe deploys and retracts once for the entire sequence instead of once
per G30 command.
M577 now allows separate X and Y spacings, use Sxxx:yyy
Volumetric extrusion is now supported (M200)
Additional tool/heater data is provided to DWC (thanks chrishamm). Using
Heater 0 as a tool heater should now work.
The '(' character in a gcode file now introduces a comment, just as the
';' character does. The comment is terminated at end-of-line. This is
not the same as in some CNC gcodes, where a comment introduced by '(' is
terminated by ')'.
Heater tuning peak detection algorithm changed (but still needs more
work). This may fix some "no peak detected" reports during auto tuning.
The heater dead time is how taken as 60% of the peak delay time intead
of 100%, which results in more aggressive PID parameters.
Bug fixes:
M669 with no parameters now reports the bed offset on a SCARA machine as
well as the other parameters
M671 with no parameters now reports the maximum correction as well as
the leadscrew positions
Heater model max PWM is now set to tuning PWM after auto tuning (thanks
cangelis)
If an HTML file uploaded over USB contained an embedded leading
substring of the EOF string, incorrect data was written to file (thanks
cangelis)
Fixed incorrect movement following a tool change on an IDEX machine
(thanks lars)
RADDS build would not start up
Other changes:
TEMPERATURE_CLOSE_ENOUGH reduced from 2.5C to 1.0C
Reduced the maximum number of random probe points on Duet WiFi/Ethernet
to 32 to avoid running out of memory during delta auto calibration
Simplified the axis orthogonality correction code
Added new bitmap types along with function templates to work on them
Clear HSMCI callback when exiting RepRap module e.g. to flash new
firmware
Use lrintf() instead of round()
DriveMovement structures are now allocated dynamically from a freelist,
to allow more moves to be queued in typical cases. The number free and
minimum ever free is included in the M122 report.
|
|
Merged in chrishamm's code queue and input buffer code
Increased heater tuning timeout for finding peak temperatire from 60 to
120 seconds
Implemented M204
Increased precision of reported coordinates to 3 decimal places
PanelDue status responses continue to be sent while executing
M109/116/190/191 commands
|