Commit graph

128 commits

Author SHA1 Message Date
David Crocker
41daff3d26 Reverted a buffer size to fix random print hang
Reverted STRING_LENGTH to 1029 to avoid random print hangs that occurred
using 0.57f firmware. Reduced max reported buffer size to fit within
this. Report additional memory usage detail in response to M111 S0.
2014-01-31 17:35:55 +00:00
David Crocker
66c934a791 File upload improvements
Further increased upload speed
When uploading files, preserve comments
2014-01-30 16:24:58 +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
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
David Crocker
618304c021 Support for modulated IR sensor
Add code to support sensors that allow the IR output to be modulated, to
reduce the sensitivity to ambient IR. Use M558 P2 command to enable
sensor modulation. Also changed the sensor reading averaging code to
give more consistent z-height seeking.
2014-01-14 19:03:42 +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
David Crocker
ee70ee22ed Improve performance of SD card upload via USB
This change approximately doubles the speed of SD-card uploading via USB
to 2.2Mbyte/sec on the test system, provided that Pronterface has been
patched to not wait for an acknowledgement after sending each line of
g-code.
2014-01-12 16:02:49 +00:00
David Crocker
c09afc035b Fixed slow printing over USB
Fixed printing over USB and via HTTP so that it uses the same lookahead
mechanism as for printing from SD provided the data arrives fast enough.
Added an incoming buffer for data arriving from USB. NOTE: Pronterface
needs to be patched  to send the data fast enough for this to work well.
Also changed signatures of some member functions to be const-correct
2014-01-11 20:56:53 +00:00
David Crocker
1e444839e0 Improved network recovery from errors and fixed small temp cal error
Improved network error recovery so that it it possible to reconnect
after some types of network error have occurred
Corrected calculation of temperatures to give more accurate results
towards the limits of the ADC range
2014-01-07 13:42:30 +00:00
Adrian Bowyer
e12bb99d2f Thermistor updates applied to the duet branch. 2014-01-06 21:50:35 +00:00
Adrian Bowyer
ef7e528bad README updated to include compile instructions. 2013-12-30 18:43:26 +00:00
Adrian Bowyer
c12ebed79c All axis homing now done with canned cycle files. 2013-12-23 18:07:16 +00:00
Adrian Bowyer
26f26affc2 Build volume made less conservative (now 220x200x200). 2013-12-14 11:51:10 +00:00
Adrian Bowyer
386e3e03cd Default steps/mm set for new pulleys. 2013-12-13 15:00:44 +00:00
Adrian Bowyer
7215696e8b Function added to set hypotenuse lengths for multi-axis steps. These were previously computed on initialisation, but are now re-done after every M92. 2013-12-07 18:56:56 +00:00
Adrian Bowyer
91efcc4e48 M82 changed so that it reports steps/mm when given no arguments. 2013-12-06 20:56:08 +00:00
Adrian Bowyer
c6021aba5f Snowman tested... 2013-12-05 21:33:02 +00:00
Adrian Bowyer
92a48d2ec3 Snowman added to G Codes... 2013-12-05 21:32:08 +00:00
Adrian Bowyer
869373a546 Corrected heater flag in Platform.h for Duet v0.6 (wrong in previous commit...) 2013-12-05 17:34:42 +00:00
Adrian Bowyer
2022e8ab28 Various bits of file tidying... 2013-12-05 17:24:53 +00:00
Adrian Bowyer
d29058cf9d Bug in Z probing (the Move class had no function to return the number of probe points) fixed. 2013-12-05 13:22:01 +00:00
Adrian Bowyer
fd2cee2076 This time with th heater set correctly... 2013-12-04 15:38:05 +00:00
Adrian Bowyer
ad4246e6af Better version of the ORMAXIS.G file. 2013-12-04 11:53:50 +00:00
Adrian Bowyer
1a8ffb2d00 Second degree (ruled quadratic surface) bed plane compensation added. Probe three points to get plane compensation. Probe 4 [0 = min, 1 = max: (x0, y0), (x0, y1), (x1, y1), (x1, y0) in that order] to get second degree compensation. Also M115 print version added. 2013-12-03 14:46:28 +00:00
Adrian Bowyer
820b17857a This time with correct heater settings... 2013-12-03 09:56:27 +00:00
Adrian Bowyer
bfb02c8fb5 README updated to include library details and links to documentation. 2013-12-03 09:55:00 +00:00
Adrian Bowyer
8b76430a9b RRP logo updated. 2013-11-30 15:48:03 +00:00
Adrian Bowyer
f0b7da252b M561 reset bed transform to identity added. 2013-11-29 10:55:43 +00:00
Adrian Bowyer
f9fe813610 Improved functionality for G30; can now be set from pre-recorded
measurements as well as doing live probing (automatic or manual).
2013-11-28 12:54:00 +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
7b9894e543 M206 implemented. This commit has the ethernet enabled and heaters set on by 1 (i.e. Duet v0.5 or below). 2013-11-26 15:12:24 +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
1792c68b49 Heater logic inverted for Duet v0.6. Remember to set HEAT_ON to 1 in platform.h for earlier versions, and to set it back _and_recompile_ before doing a commit for Duet v0.6 of higher 2013-11-25 16:39:46 +00:00
Adrian Bowyer
00a0ffd9b4 Homing against max endstop for Y (and X) implemented when there is a top
endstop but not a bottom one.
2013-11-25 11:03:36 +00:00
Adrian Bowyer
926aabe078 Added z-probe type selection. See M558. 2013-11-19 15:00:23 +00:00
Adrian Bowyer
965f41e953 Shifted new M codes to start at M550. Added setting of Netmask and gateway. 2013-11-17 22:10:14 +00:00
Adrian Bowyer
104528ab66 Added user-selection of IP address via M502. 2013-11-17 17:58:30 +00:00
Adrian Bowyer
c7286905b2 Ability to specify bed Z probe points added. See M505. 2013-11-15 22:04:52 +00:00
Adrian Bowyer
68e0f833df Marlin emulation implemented. Pretty much working, but not extensively tested. 2013-11-14 23:32:50 +00:00
Adrian Bowyer
bd51a7c3f0 Fixed Timer overflow bug. 2013-11-13 23:23:31 +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
b94bb6c811 Added cooling fan control. 2013-11-12 15:53:49 +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
4f703d86ec Various minor G/M codes implemented like M0. Z start speed and acceleration reduced; they were a bit fierce before. 2013-10-29 22:27:49 +00:00
Adrian Bowyer
e1601d7b3f Various bits of code tidying. Lookahead fixed to take account of bed transform (we can no longer assume that Z moves are strictly orthogonal to XY moves, and so their scalar product may be non-zero). All velocities are now in mm/s internally. The GCodes class is responsible for multiplying mm/min by 0.0166667. 2013-10-24 16:53:25 +01: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
3c901fb194 Further work on Z probing. One problem was working with a white-painted bed. Replacing that with ordinary Kapton-covered glass seems to work better. And that has allowed the debugging of the code. But the probe still does not always see the bed. 2013-10-21 23:09:21 +01:00