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.
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.
Corrected returned values of speed factor and extrusion factor
When setting the machine name and password, stop at the first control
character, and remove trailing spaces
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
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.
Incoming network requests can now span multiple TCP messages. Max upload
buffer increased to 2048. Also return layerHeight and generatedBy values
when asking for fileinfo on a gcode file. This is an interim commit that
needs cleaning up before release.
1. Reworked network layer to be more robust in the presence of network
errors (hopefully). In particular, don't release transmit buffers if
they might still be needed to retry sending data because the ACK got
lost.
2. Fixed bug whereby fileinfo command looked for the print height and
filament used if the extensio was .gcode or .gc or .gco but not if it
was .g.
3. When the M25 (pause print) command is received, pause the current
gcode so that commands such as M116 (wait for temperatures) can be
interrupted.
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.
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.
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.
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
Turn Z probe type 2 LED on even if an M558 P1 is sent. This means that a Probe 2 will
emulate a Probe 1 if the user mistakenly sends M558 P1 to it. Also both Probe 1
and Probe 2 will work properly if they are properly selected (as before).
There were some bugs that surfaced if one tried to set variables (like accelerations) for extruders
if no tool had been selected. Those should be fixed here so
that attempting such things now sets parameters for the first extruder drive if
no tool has been selected.
has been altered to send the X, Y, Z, and E coordinates first, followed by temperatures.
It was the other way round. This led to compatibility problems between versions as
the experimental multiple tool versions (duet branch V0.70+) report many temperatures
and this was confusing the X Y Z stuff if the temps came first. We can only realistically have one
live version of reprap.js (served from RepRapPro's Github to all running machines), so reprap.js
now expects coordinates first, and both this master version and all future master and experimental
versions will do that.
Fixed problem whereby gcode files printed from SD card that used lots of
small fast moves in sequence would print jerkily if a network cable had
not been connected since reset.
Fixed problem whereby object height and filament needed were not
retrieved from the SD card file to be printed if the filename contained
spaces.
Added support for deprecated M190 command, because slic3r appears to
generate it sometimes
Added support for M564 command to allow movement without limits, copied
from RepRapPro dev branch
If a network error occurs when sending a file, we now close that file,
otherwise we would use up open file entries. Also added number of
available open file entries to M111 S2 command.
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.
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
Reduced block read size when retrieving file info to work around an
intermittent bug that causes the SDHC card/ FATfs stack to return data
from the wrong sector sometimes. Tidied up some other code.