Commit graph

228 commits

Author SHA1 Message Date
David Crocker
efe13ef2f1 Version 1.09k
Added F (probing speed) and T (travel speed) parameters to M558 command
Removed M210 command because home feed rates are defined in the homing
files
Increased UART interrupt priority to avoid dropping characters sent by
PanelDue
Bug fix: M558 P3 did not leave the Z probe control pin high
Bug fix: in version 1.09j only, the move following a G92 E0 command was
sometimes executed from an incorrect start point
Fixed bugs with reads/writes from/to the SD card that spanned one or
more whole sectors
Updated to latest Atmel HSMCI driver
2015-09-20 15:14:00 +01:00
David Crocker
a996c7ec4f Version 1.09i
Added support for Duet 0.8.5 with auto detection between 0.6 and 0.85
board types
Added P parameter to M115 command to set board type
Changed M115 output to report the board type that was configured or
auto-detected
Improved ISR and step pulse generation efficiency to allow higher
movement speeds, especially wheh using 0.9deg/step motors
Added XYZE parameters to M569 command to allow driver remapping
Added R parameter to M569 command to allow enable signal to be reversed
when using external drivers (thanks dnewman)
Removed M558 R parameter because boare type 0.7 can now be set via M115
instead
Moved Fan0 RPM sense pin to PA14 to avoid conflict with Duet 0.8.5 FAN1
pin
M408 poll command can now be handled concurrently with other commands
2015-09-02 19:33:28 +01:00
David Crocker
13c1fc77fb Version 1.09h
Improved step ISR and related functions to improve maximum delta
movement speed and prepare the ground for new pressure advance
algorithms
2015-08-25 21:28:43 +01:00
David Crocker
ea9921fe92 Version 1.09grc1
Fixed race condition introduced in version 1.09f
If debug output isn't consumed by a USB host, discard it instead of
blocking( which eventually caused the software watchdog to time out).
2015-08-23 08:47:30 +01:00
David Crocker
bb8a2c3ef7 Version 1.09b
Z axis min and max limits are now enforced if the axes have been homed
M665 command now shows the re-calculated delta radius and tower offsets
after auto-calibration
Initial and final RMS errors are now shown after delta auto-calibration
Pause/resume now mostly works when absolute extruder coordinates are
used
Doubled the maximum length of the SD card file listing that can be sent
to PanelDue
Implemented zpl's Network and PrintMonitor changes including M404
(thanks, zpl)
Increased default maximum instantaneous speed changes
Bug fix:: if M226 was used to pause the print, the resume coordinates
were not set up correctly
Bug fix: when changing the travel direction, the head was sometimes
slowed down more than necessary
Bug fix: warm-up time was not shown correctly in DuetWebControl
Bug fix: extruder drive positions were always shown as 0.0 in
DuetWebControl
Bug fix: incorrect PID parameters were shown in response to M301
Replaced old web interface files on SD card by DuetWebControl
Modified all resume.g files to set the speed when moving to the paused
head coordinates
2015-06-14 20:15:36 +01:00
David Crocker
4cc0a512b4 Version 1.09a
Merged in zpl's latest changes to Network and Print Monitor modules,
providing DHCP and Netbios name support
Added command M999 S4321 to unlock flash memory, reset and boot to BOSSA
port
Z dive height is now relative to Z probe trigger height and default is
reduced to 3mm
Added experimental support for acoustic probe for delta printers
Bug fix: firmware once again prevents Z homing before X and Y are homed,
if the Z probe is used for Z homing
Various code tidying
2015-05-17 21:06:39 +01:00
David Crocker
29185f7f68 Version 1.00f
Speed factor and extrusion factor changes now take effect 1 move earlier
Default feed rate after reset increased to 3000mm/min
M574 command now accepts E parameter to that active low Z probe switches
can be used
Bed compensation is cancelled if Z probe was already triggered at the
start of a probe
M20 S2 response now flags directories with a * prefix
M408 command introduced as an alternative to M105 S2 and M105 S3
When cold extrusion is prevented, say which tool was affected in the
error message
Bug fix: if a drive was turned off manually after going into idle mode,
when it was enabled again the current remained at 30%
Bug fix: cold extrusion prevention did not work
2015-04-19 17:04:55 +01:00
David Crocker
52b21d0eed Version 1.04c
Implemented rr_config web request for zpl's latest web interface
Implemented 7-factor auto calibration for delta printers
Fix bug with fileinfo calls corrupting memory
M563 can now be used to delete tools
2015-04-02 20:19:17 +01:00
David Crocker
8c39bd0fcf Version 1.04a
Fixed bug: when uploading to SD card via USB the file was printed
immediately
Merged RRP's 1.04 changes in, except that the fan output is only turned
on/off for extruding/non-extruding moves if the ancilliary PWM is set to
a nonzero value
2015-03-21 14:44:53 +00:00
David Crocker
31adc97abf Version 1.00q
Corrected case of geometry string passed to PanelDue
Added stepper motor idle mode
Added experimental 6-point Delta calibration
2015-03-19 18:10:20 +00:00
David Crocker
3c748277bf Version 1.00p (added CoreXY support)
Added CoreXY, CoreXZ and CoreYZ support, ndbaled using M667 command.
2015-03-09 11:38:31 +00:00
David Crocker
6885f8bd15 Version 1.00o
Added POST file upload support (thanks zombiepantslol)
2015-03-06 19:09:02 +00:00
David Crocker
e990e2af1e Version 1.00l
Merged zpl's changes for binary file uploading and PrintMonitor
Fixed bug with filament-based print time estimation
Fixed bug that caused feed rate to  often not be restored after running
a macro
Print  Z probe offsets at end of G32 sequence if Move debug is enabled
2015-02-27 00:20:05 +00:00
David Crocker
2a3cf6c5c9 Version 1.00i
Fixed bug with reading file info
Don't return status as Printing if just running a macro
Restored Json buffer back to 2000 bytes so as to return more files on SD
card
Limit the amount of moves we buffer so as to react faster to speed and
extrusion rate changes
Return print time left estimates in M105 S2 status response if printing
a file
Show stepper motor currents as integers and do some rounding to get more
accurate values
2015-02-17 00:37:47 +00:00
David Crocker
7fb8f47424 Version 1.00h
Added almost instant pause functonality
Support pause and resume macros
Support nested macros
Support zpl's web interface
Merge in zpl's web interface and network changes
Add R parameter to M105 command for PanelDue
M98 can now run macros from any SD card folder
2015-02-11 22:50:34 +00:00
David Crocker
1e70add19c Version 1.00e
Fixed G32 so that it really does run macro file bed.g if it exists
Added H parameter to M558 command
Added bed.g file for Mini Kossel with mechanical Z probe
2015-01-31 19:36:29 +00:00
David Crocker
4f2e0423a2 Version 1.00d
Added M575 command to set baud rate and whether or not checksums are
required.
Default aux baud rate is now 57600.
Added support for a Z probe switch connected to the E0 endstop pins.
Added "geometry" variable in M105 S3 status response.
2015-01-31 13:47:11 +00:00
David Crocker
fa20e67557 Version 1.00c
Fixes some possible issues in delta printing code
Don't apply Z probe XY correction when probing at current point with G30
with a P parameter
Added experimental simulation code, controlled by M37 for now
2015-01-29 23:38:14 +00:00
David Crocker
5b77a17043 Version 1.00b
Added X and Y z-probe offsets to G31 command
Reworked G31 and G32 to do less work in the step ISR and to support Z
probe on delta printers
Z probe modulation pin is now selected using M558 R parameter instead of
probe type
2015-01-25 23:21:48 +00:00
David Crocker
de99a709a9 Merged changes from Delta branch 2015-01-24 12:53:29 +00:00
David Crocker
79980a9f82 Version 0.78z
Added more support for TFT control panel
2014-12-03 23:03:44 +00:00
David Crocker
d3bb69367c Version 0.78y
Incorporated zpl's Network module updates and some of his Gcodes updated
Merged RRP's 0.96 Move code into mine
Added M105 S3, M20 S2 and M36 commands for supporting TFT control panel
Added X parameter to M305 command to allow thermistor channels to be
changed
Removed space after "B:" in M105 response to avoid confusing Pronterface
2014-11-26 15:29:17 +00:00
David Crocker
c56fc2aeb0 Version 0.78t
Bug fix: M92 command would only set extruder steps/mm if either 1 or 5
extruder steps/mm was provided
Bug fix: Z-homing or bed probing when axis compensation was enabled
caused the X and Y origins to shift
We now mark drives as not homed when we disable them
File info code now supports gcode files generated by Simplify3D
Updated SD card files to latest web interface
Added more comments to config.g
Head movement commands that were in the tfree files have been moved to
the tpre files, to work better when G10 nozzle offsets are used
2014-09-26 19:13:51 +01:00
David Crocker
09943e1cb7 Version 0.78s alpha
Added support for nozzle offsets in G10 command
Disable heater timeout if the time limit is set to zero or negative
Don't send non-error responses to the web interface unless the
corresponding command also came from the web interface
Added support for aux input from serial. Need to finish this by making
serial transmission interrupt-driven.
2014-09-12 17:55:33 +01:00
David Crocker
cc15d83ca4 Version 0.78r
Increased default heater S factor to 1.0 to make it easier for users to
switch from RRP official firmware
Minor fix to move lookahead code
Added support for M570 command (set max time to hot)
M81 command now waits for moves to finish before turning power off
Other minor changes
2014-09-06 18:21:01 +01:00
David Crocker
b30e6ad4e1 Version 0.78p
Fixed bug that caused the cooling fan PWM frequency to be 165kHz. It is
now 25kHz.
Fan RPM is now included in the web interface status response (thanks
zpl).
Many more error messages are now reported to the web interface as well
as the USB interface.
Interrupt-driven network timer task to better cope with slow SD card
writes (thanks zpl)
Module SamNonDuePin is now used for all digital and PWM pin I/O.
2014-08-29 21:38:14 +01:00
David Crocker
3520c24546 Version 0.78m preliminary
1. Fixed  variable name of extrusion factors in JSON status response
2. Fixed bug: changing heat sample interval no longer messes up I and D
pid factors.
3. Ensure that name of file being printed is null-terminated.
4. Removed redundant function SetStepHypotenuse.
2014-08-24 22:49:01 +01:00
David Crocker
13f2ab5bfd Version 0.78k
Fixed combined xyz move bug (thanks zpl). Reversed default direction of
X motor. Added support for M569 command. Fixed bug in execution of M503
command via web interface.
2014-08-20 08:36:28 +01:00
David Crocker
46d78148b0 Version 0.78j
Refactored printing to strings and web server json response handling in
preparation for adding support for LCD display via serial link
Added a timer to record how long block writes to SD card take
2014-08-17 22:14:33 +01:00
David Crocker
83d2732fd9 Version 0.78i
Changed compiler optimization option to -O2 (was accidentally reset to
-Os in previous release)
Set the number of decimal places reported in the responses to various M
commands
Integrated zpl's changes to returning lists of files, returning info for
file being printed, and some network layer changes
2014-08-11 15:16:15 +01:00
David Crocker
2a818bcfc0 Version 0.78h
Added a few more improvements from RRP's dev branch
Corrected M201 output
Added a few more minor fixes
2014-08-03 11:17:48 +01:00
David Crocker
b9d6994ba5 Version 0.78f-dc42
M563 command extended to allow the tool number origin to be adjusted. If
there is no P parameter in the command then the S parameter specifies an
offset to be added to tool numbers in T, G10, M104 and M109 commands.
This is so that multi-media gcode files generated by slic3r can be
printed without having to edit all the tool numbers in the gcode file
first. This extension is intended to be temporary, until slicer provides
a mechanism for specifying the tool numbers. A separate offset is
maintained for each data source (USB, web or SD card) and the offset for
data from the SD card is reset to zero when a new file is started. To
use this facility to print slic3r multi-media gcode files, add M563 S1
to your start gcode.

M104 and M109 commands now accept an optional T parameter to specify the
tool number, as generated by slic3r in multi-media gcode files.

Movement code from RepRapPro's dev branch incorporated, including
5-point manual or automatic bed compensation mechanism.

Heater status (off/standby/on) is included in the status poll response
for the web interface. This will be used in a future version of the web
interface.

Incorporated code from RepRapPro dev branch to allow many more
M-commands to return values as well as set them.

Incorporated code from RepRapPro dev branch to implement the M119 and
M135 commands. There is currently a bug in the M135 (set heat sample
interval) command, which means that if you change the interval from its
default value of 0.5 seconds then you need to adjust the I parameter by
the same ratio and the D parameter by the inverse ratio.

Extrusion totals are reset to zero when starting a new print from SD
card.
2014-07-28 18:02:14 +01:00
David Crocker
ba77d05bc3 Version 0.78e-dc42
M301 and M304 commands to set PID parameters now take an additional S
parameter. This allows for variations in cartridge heater power and
supply voltage to be taken into account more easily.
Temperature errors are reported to the web server as well as to USB.
The Heat section of the M122 diagnostics report now shows the
accumulated PID I-term.
G90 and G91 commands now affect only the the axes, not the extruders.
Bug fix: numerous calls to strncat were being made with a 'nchars'
parameter that was larger than space available in the destination
buffer.
Bug fix: print moves received just prior to an M109 or M190 command were
not executed until after the heater had reached temperature instead of
before.
2014-07-21 10:39:52 +01:00
David Crocker
8bab7ab035 Version 0.78d-dc42
M116 now accepts a P parameter so that you can wait just for the heaters
associated with a particular tool
M220 and M221 commands report the current override factor if no S
parameter is provided
Multiple "Filament used" values from gcode files are reported to the web
interface
Active and standby temperatures for all heaters are reported to the web
interface
Bug fix: defining a tool with no drives or no extruders would cause it
to use a collection of drives or extruders depending on the values of
un-initialised array elements
Bug fix: running a macro file would reset the extruder position to a
value depending on what extrusion (if any) was requested by the last
movement command in the macro file
2014-07-17 00:28:26 +01:00
David Crocker
71037ee4cd Version 0.78c-dc42
Bug fix: using G10 to set oly the active temperature caused the standby
temperature to be set to an undefined value, and vice versa
G10 can now be used to retrieve the active and standby temperatures as
well as set them
Bug fix: I and D parameters were set to incorrect values when the M301
and M304 commands were used. They also reported the incorrect values.
New T parameter added to M301 and M304 commands, to allow the I term to
be preset to a suitable value when PID kicks in
Adjusted default PID parameters for lower overshoot and less oscillation
Bug fix: when axis or bed compensation was enabled a homing move to seek
for one endstop could be prematurely terminated by another endstop
M122 command only outputs LWIP stats if debug is enabled. Prevents a
hang if no UDB cable is connected when M122 is executed.
Bug fix: when resetting, the heaters used to power up for a short time
M0 and M1 commands now turn the heaters off instead of to standby
Web server status poll response now includes the selected tool number
2014-07-15 15:17:41 +01:00
David Crocker
57704f033b Merge RRP's 0.78 version and my 0.65k version 2014-07-06 19:57:21 +01:00
David Crocker
85eb922504 Fixed FTP bug and added binary (version 0.65k-dc42)
Fixed buffer overrun bug in FTP LIST command that caused a subsequent
FTP delete command to crash. Increased file list buffer to 2000 bytes.
Added binary RepRapFirmware-057k-dc42.bin.
2014-07-05 15:47:45 +01:00
Adrian Bowyer
2b96c2b6f6 Version 0.78
Release.
2014-07-03 13:10:36 +01:00
David Crocker
4eaeac108b Merged in zpl's changes for FTP and Telnet 0.65k)
Merged in zpl's changes. The FTP server is not yet reliable, in
particular trying to delete a file via FTP after copying another may
result in the Duet rebooting due to the webserver module getting stuck
in a spin loop. Also the copied file has on one occasion been observed
to be shorter than the original.
2014-06-28 18:21:01 +01:00
David Crocker
fe2b31a550 Version 0.65i
Improved speed of response to M220 command
Limit length of text returned in response to rr_name web command, stop
on first control character, and escape and quote or backslash characters
2014-06-21 14:01:23 +01:00
David Crocker
73724a4b9a Merged RepRapRro's 0.65e version in
Merged changes (mostly to handle multiple tools i.e. extruders) from
RRP's 0.65e version.
2014-06-04 17:39:36 +01:00
David Crocker
08f7d2e9b1 Support HTTP requests longer than TCP MSS
Changed webserver to support HTTP requests that span multiple TCP
messages. Changed upload code to to block file writes direct fro the
received message. Increased maximum upload message size. Changed
fileinfo command to report layer height and what program generated the
gcode file, if available.
2014-06-01 21:07:47 +01:00
David Crocker
ce0a2a799a Faster and more reliable file uploading
Rewrote the web server command parsing as a state machine. Added support
for persistent connections, used for file uploading. Changed file upload
protocol to pass status information back. Added web message type for
deleting files.
2014-05-23 22:27:35 +01:00
David Crocker
156aa79c07 New file upload protocol
Introduced new file upload protocol that doesn't use gcodes and allows
upload errors to be reported back. Changed file system interface in
Platform to return success/fail status of Write and Close calls to
support this.
2014-05-22 16:30:55 +01:00
David Crocker
75829fcaad File upload + other improvements
Added new request code rr_data for file uploading, and made other
changes to improve file upload speed.
Implemented S parameter to M208 command, to allow the negative limits of
axes to be set. Also reports current limits of no X/Y/Z parameter.
Reduced max reported free buffer size to 950 bytes to avoid problems
with file upload from Windows 8.1.
2014-05-18 20:57:14 +01:00
David Crocker
a416c367d2 Various bug fixes and enhancements (version 0.59a)
Fixed bug whereby incoming gcodes were URI-decoded twice, which could
cause problems if a comment contain a % character
Fixed bug whereby M109 and M190 waited for all heaters to reach target
temperature instead of just the one involved
Fixed bug whereby files whose names contain an uppercase letter G could
not be uploaded or deleted
Increase buffer size for incoming gcodes
Removed parameter to set max PWM value in M106 command. Max PWM value is
now 255 as per recent RepRapPro change.
Changed the code that deals with dropping characters in unimportant
messages sent to USB such that we only drop characters at the end of a
line (adding ".\n" to whatever we send) or drop whole lines
2014-05-14 22:04:14 +01:00
Adrian Bowyer
4104ff461b Version 0.65a. This allows the MAC address for the Duet to be set in config.g (q.v.),
which allows multiple Duets to be on the same network.
2014-05-07 18:17:44 +01:00
David Crocker
11bb293b10 Fixed file handling for pause/resume
Fixed bug in file handling that affected SD card pause/resume
operations. Merged changes from zombiepantslol to allow a height to be
set for a Z endstop switch. Reverted to blocking USB I/O but only for
debug and M503 output. Added return codes for file close and seek
operations. Increased the size of the tail of the file that we scan for
G1 Z commands from 32K to nearly 200K.
2014-05-01 01:49:37 +01:00
zombiepantslol
dbb2a442a1 Fixed G31 for Z endstop switch 2014-04-30 15:37:42 +02:00
David Crocker
406a0c074f Fixed nested file bug, other minor changes
Fixed a bug when one file was called from another
M111 S2 command now displays time since last reset
M106 'I' parameter now only inverts fan PWM when >0
Non-homing moves when bed probing are now done at max speed
M999 reset command now delays 0.5 second to allow response to be sent
back to browser, otherwise it may retry the reset
2014-04-29 23:21:31 +01:00