Commit graph

38 commits

Author SHA1 Message Date
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
8464b5bfac 059d-dc42 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.
2014-05-29 23:14: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
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
David Crocker
f709cd082d Fixed USB output bug; added M80/M81 commands
Fixed problem with garbled USB output sometimes seen using version 057za
Added support for M80 and M81 commands
2014-04-16 10:35:40 +01:00
David Crocker
aaf6f7128e Better USB error recovery and diagnostics
Firmware now recovers from USB disconnection without halting. Needs
changes to Arduino core library.
Added a timeout in the Spin() functions, which causes diagnostic info to
be stored and the system to be reset if a Spin() function takes more
than 20 seconds.
2014-04-16 00:00:45 +01:00
David Crocker
009a2045d0 Concurrent HTTP connection support & more
Completed changes to support multiple concurrent HTTP file requests.
Added support for new poll response for future support of additional
heaters and multiple extruders. Fixed a bug in reporting extruder
distance.
2014-04-08 13:20:06 +01:00
David Crocker
68e6ed2575 Preliminary version for serving all files for Duet
Changed webserver and network code to support multiple concurrent
connections
Removed support for differential-mode ultrasonic z-sensor
Reduced X and Y instantDv from 15 to 10 mm/sec to allow outlines of
holes to e drawn at lower speed
Changed temperature reading code to give thermistor disconnected reading
of -273C when there is a negative high ADC offset correction
2014-04-06 22:50:24 +01:00
David Crocker
92fefbf598 Fixed G32 auto bed compensation
Fixed bug introduced at version 057o-dc42 that broke the G32 bed
compensation. Added the Z heights of the bed compensation points to the
information displayed by M111 S2. Simplified the code that does
Z-probing in fast and slow stages. Added function sncatf and used it to
simplify the code in several places.
2014-03-26 18:07:49 +00:00
David Crocker
21d688ece0 Various improvements
Tidied up axis homing tracking.
When checking endstops, wait for move to complete before accepting
further moves, otherwise subsequent moves use the wrong coordinates.
Temperatures and Z probes are now monitored continuously using a tick
interrupt to kick off ADC conversions. ADC is now run in 12-bit mode.
Thermistor readings are passed through averaging filters. Thermistors
are monitored for overheat conditions and bad readings in the tick ISR
and the appropriate heater is turned off (useful because the main loop
sometimes gets suspended while trying to do USB communication).
Use watchdog timer to monitor the tick interrupt - needs patch to
Arduino Due core library. Add facility to test watchdog timer (M111
S1001). Added an error status word to record that errors have occurred
(e.g. over-temperature).
M111 command changes so that S0 turns debug off, S1 turns debug on, S2
reports free memory - also now reports the type of the last restart and
the error status word. Fixed problem whereby M111 debug reports were not
sent to the web interface.
Implemented M999 command, which resets the Duet.
Removed an unused variable.
Changed some more "char*" to "const char*".
Changed extruder PID parameters and added more explanation for them.
2014-03-02 23:26:14 +00:00
David Crocker
9edaed4ac1 Further improvements to web upload and tidy-up
Further improved web file upload speed
Dealt with Eclipse code analysis warnings
Made some more functions and parameters const-correct
2014-01-30 14:26:45 +00:00
David Crocker
e227dab386 Improvements to support Matt's web interface
Increase incoming web gcode buffer size to 1200 chars to allow more
gcodes to be sent in each message
Include free buffer size in poll response
Include response sequence number in poll response
Implement M30 (delete file) via USB interface
Support M503 and M111 commands via web interface
2014-01-27 18:15:46 +00:00
David Crocker
bdca3b1e5d Extend web functionality for iamburny's web interface
Added new fields "zprobe" and "resp" to webserver poll response
Immutable string parameters are passed as const char* not char*
Increase max number of files displayed to 42
Range-check heater parameters in incoming commands to avoid buffer
overflow if heater number is out of range
2014-01-21 21:07:21 +00:00
Adrian Bowyer
14b247053f Removed legacy support for Duet v0.4 heaters. Last commit before changes to max velocity code. 2014-01-13 15:04:00 +00:00
Adrian Bowyer
98466d14d8 Applied 3D-ES and bobc's fixes to the ftoa() function (see http://forums.reprap.org/read.php?340,293724). 2014-01-13 10:13:39 +00:00
Adrian Bowyer
95a54f763f Macros made so that they can call macros. Beware recursion.... 2014-01-05 16:49:42 +00:00
Adrian Bowyer
dd978290b5 Emergency stop added to the web interface (and Home All taken away, as you almost never want to home Z with the other two.) SD files tidied. 2013-12-04 15:36:26 +00:00
Adrian Bowyer
a4d8f41271 G31 now waits for moves to end before measuring/reporting. G30 implemented. Has argument Pn n = 0,1,2 - takes probe reading at current XY and calls them point n for the purpose of bed plane calculation. Add an S field on the last probe (i.e. when n=2 usually, though you can do them in any order) to get it to fit the bed plane. 2013-11-27 22:59:37 +00:00
Adrian Bowyer
88a929eef4 One ether bug (starting the ether after reading config.g) fixed owing to Tony's brilliant debugging persistence. It still hangs if the ether is unplugged, so that's next on the list. 2013-11-26 21:04:25 +00:00
Adrian Bowyer
c0b7b4bace Working on the ether/USB problem. The network can now be disabled (#define NETWORK in Configuration.h). With it disabled the USB works with or without a network cable plugged in. With it enabled the USB only works with a network cable plugged in too. You have to wait for the ether to reinitialise (ether socket lights go out for a couple of secs, then come on, then the green one starts flashing) before trying to talk via the USB. The ether is initialised before config.g is run, so the IP is the one defined in platform.h. The network is disabled in this commit. The heaters are set on by 0, not 1 (i.e. Duet board v0.6 or later). To change this see #define HEAT_ON in platform.h 2013-11-26 13:38:23 +00:00
Adrian Bowyer
d89b8bace0 X axis endstop now done with Z Probe (if it's activated). 2013-11-25 09:32:13 +00:00
Adrian Bowyer
104528ab66 Added user-selection of IP address via M502. 2013-11-17 17:58:30 +00:00
Adrian Bowyer
8b3931c8cf Memory diagnostics added. Mem usage is printed whenever you turn debugging on (even if it is already on). 2013-11-13 18:16:43 +00:00
Adrian Bowyer
6c22f30600 Axis angle compensation code added. Briefly tested in XY plane. Seems to work. More testing is probably needed... 2013-11-12 16:47:41 +00:00
Adrian Bowyer
f907e2253e All responses to GCodes routed through a single function in the class GCodes
to allow the firmware to emulate how other firmware (e.g. Marlin) responds.  Emulation not yet implemented, but should now be easy.
2013-11-11 17:39:17 +00:00
Adrian Bowyer
971fed0d02 Temperature range checking added (see Configuration.h). If temps repeatedly
fall outside the set range, it assumes the thermistor is bust and turns off the heater.
2013-11-10 21:55:44 +00:00
Adrian Bowyer
e8eafeda22 Hooks added for (I hope) the final and complete set of all parameter-changing
M Codes that we will need.  Network initialisation delayed until after the
config.g file is run, to allow machine name etc to be set from that.
2013-11-10 19:39:13 +00:00
Adrian Bowyer
708822a54e A couple of tidyings and additions:
1. Z home now moves home, rather than just setting the coordinate.
2. Wait for temps implemented.

Also the JSON requests for the g code filelist has been temporarily commented
out in reprap.htm.  It was causing the firmware to hang sometimes.  To be investigated.

Machine now prints nicely...
2013-10-22 18:27:12 +01:00
Adrian Bowyer
79c008d469 G31 modified to allow reporting of probe values, and setting of a Z value and threshold. (See http://reprap.org/wiki/G-code#G29-G32:_Bed_probing) 2013-10-20 22:48:26 +01:00
Jean-Marc Giacalone
8d92b70d0f File list implemented. Also M201 to set axis accelerations via USB. 2013-10-08 16:33:10 +01:00
Adrian Bowyer
ce76147fc3 Ethernet semi-integrated, but running its own webserver. Need to intercept
sends and recieves and direct them at the Webserver class.
2013-09-23 23:34:55 +01:00
Jean-Marc Giacalone
43c208ef5b Libraries moved to own repo. Web interface toggled by #define ETHERNET. 2013-09-21 09:56:03 +01:00
Adrian Bowyer
d525597ebb Z probing being implemented under G32. Not finished yet, so don't call G32... 2013-09-13 22:33:14 +01:00
Adrian Bowyer
e3fd24ca95 Configuration file (in sys/config.g) implemented. 2013-09-05 16:10:44 +01:00
Adrian Bowyer
07d323a41d Setting up latest Due code to work on the Duet. 2013-08-28 16:36:38 +01:00
Jean-Marc Giacalone
982846e7e0 project into Eclipse. 2013-08-05 12:19:54 +01:00
Jean-Marc Giacalone
4bd3e98b13 merged due branch. working in Eclipse 2013-07-23 21:24:55 +01:00