Commit graph

49 commits

Author SHA1 Message Date
Adrian Bowyer
2b96c2b6f6 Version 0.78
Release.
2014-07-03 13:10:36 +01:00
Jean-Marc Giacalone
ecb93ffcf6 Merged version065 from duet branch. 2014-04-24 21:44:16 +01:00
Adrian Bowyer
33cf94e0cf Z probe averaging fixed. Loop timer added (try M122). Code reverted to the point where it worked... 2014-04-10 15:56:47 +01:00
Adrian Bowyer
17b533fe2e Incorporating some of dc42's enhancements. This compiles BUT IT HASN'T BEEN TESTED. Use with extreme caution. 2014-04-07 22:15:19 +01:00
Adrian Bowyer
a91f650dd9 Now that a number of people are working on this code, I have been going
through making the comments more copious, especially in the .h files.
W.I.P.
2014-02-21 16:39:02 +00:00
Adrian Bowyer
fedd74750f This commit DOESN'T WORK. Use the next one or the previous one. This is an intermediate commit done merely to facilitate the moving of files between machines. 2014-02-20 21:22:25 +00:00
Adrian Bowyer
1129fa218f Added in David Crocker's improvements (many thanks to him). 2014-02-11 11:23:28 +00:00
Adrian Bowyer
0ea1b57328 First implementation of the optimised maximum speed in any direction code. This is still buggy. To print with, use the previous release. 2014-01-16 17:49:59 +00:00
Adrian Bowyer
8f97865c4a Started work on improvements to the velocity constraints. Not fully implemented, but this will mean that the maximum velocity in any movement direction will be the constraint, regardless of the mix of X, Y and Z moves. This has been tested, and is printing. But beware funny velocity effects... 2014-01-14 21:05:27 +00:00
Adrian Bowyer
8ee075289d Updating master branch to include David Crocker's improvements. Plus a little tidying. 2014-01-13 17:07:18 +00:00
Adrian Bowyer
6188eff455 Some tidying. Increased SD delay to 20ms. 2014-01-12 17:35:56 +00:00
Adrian Bowyer
ed16ce9682 Updating master branch to bring in homing improvements from the duet branch. 2013-12-23 21:42:58 +00:00
Adrian Bowyer
10bf338aa4 Homeing after bed transform applied bug fixed in the duet branch. The master branch will be updated after some further testing. The problem was the X endstop. If X is homed, that stop is triggered. Homeing Y then only moves Y, and so only the Y endstop is tested. But when the transform is applied X moves slightly when Y is homed (as it should) and the X endstop stoped the movement prematurely. You will need to update the files on the SD card as well as the firmware to activate the fix. 2013-12-21 16:46:42 +00:00
Adrian Bowyer
96818433c6 Making master branch the same as the duet branch. 2013-12-14 12:03:25 +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
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
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
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
f0b7da252b M561 reset bed transform to identity added. 2013-11-29 10:55:43 +00:00
Adrian Bowyer
409af6bb11 Manual Z probing added to G30 (see http://reprap.org/wiki/G-code). 2013-11-28 11:57:38 +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
c7286905b2 Ability to specify bed Z probe points added. See M505. 2013-11-15 22:04:52 +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
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
0c7e13a73e Current position boxes added to web interface, and polled along with temperatures. 2013-10-30 15:04:38 +00:00
Adrian Bowyer
676bbab6a1 Fixed a bug whereby long extrudes simultaneous with short XY moves were constrained by the XY upper velocity and acceleration limits, rather than those for extrusion. Normally you want extrusion to be subservient to XY. But (typically when a retraction is being recovered during an XY move) the extrusion limits should constrain the XY move, not the other way round. 2013-10-27 16:21:21 +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
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
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
Adrian Bowyer
eadac593cc Z probing now works using Jean-Marc's idea. Much better. 2013-10-19 17:38:31 +01:00
Adrian Bowyer
de96171b5d Z probe code improved, but still not there. It now uses hysteresis to
track up the low-precision slope of the IR probe before measuring down
the high-precision slope near 0 mm.  But this means that the probe has to
be set only a fraction of a mm higher than the nozzle itself.  Also (at
the moment for safety) the code thinks Z = 0 occurs when it is actually
0.2mm.  This is easy to fix when the rest is reliable.
2013-10-17 23:18:57 +01:00
Adrian Bowyer
565117cba3 Move and ancilliary classes changed to store coordinates in machine units not mm internally to avoid cumulative errors. 2013-10-17 16:30:24 +01:00
Jean-Marc Giacalone
c108131a14 Disable probing in Z axis endstop check. 2013-10-09 11:47:34 +01:00
Adrian Bowyer
49e9bc29c3 G92 Implemented. Tested interactively, but not from a G Code file. Should work though. 2013-09-27 18:15:49 +01:00
Adrian Bowyer
f3e81cbe4c Z probing now working. The probe signal connects to AD7 which (confusingly)
is A0 on the Arduino.  The signal seems quite noisy.  I have put a 10uF
capacitor across its supply.  Maybe add an 0.1uF across its signal?
Two values need to be set in Platform.h:

If v is the value from the A->D on A0, then:

z = v*Z_PROBE_GRADIENT + Z_PROBE_CONSTANT (mm)

Z_PROBE_GRADIENT is dependent on the IR proximity device (though they may
be consistent enough all to have the same value) and Z_PROBE_CONSTANT depends
on how high it is mounted relative to the nozzle.

To generate these values, uncomment the bits of code in and around Platform::Spin()
zero the Z axis by eye, run the program, and raise Z by 0.1mm increments.  Put
the raw A->D values in the spreadsheet in the Data directory, and it will
give you the values of Z_PROBE_GRADIENT and Z_PROBE_CONSTANT.
2013-09-15 18:10:33 +01:00
Adrian Bowyer
1d0968c615 Z probing now fully implemented, except for the physical probe itself. (I.e. it's all working, but is still on the microswitch.) 2013-09-14 15:39:17 +01:00
Adrian Bowyer
bb89947e12 Z probing movements all implemented, but Z values not yet recorded. 2013-09-14 00:14:37 +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
027ddf3b8e Code added to add a bed plane z = aX.x + aY.y + aC to all movements.
Note that this means that X/Y minimum speeds and accelerations now take
precedence over Z, unless there is only Z movement.
2013-09-13 13:05:25 +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
reprappro
b207f31dc7 Messages webpage added with session log. 2013-03-04 21:56:42 +00:00
reprappro
31399c9efa Added Exit() functions to all classes. 2013-03-02 18:25:44 +00:00
reprappro
c2e201cda3 Regularising function names... 2013-03-01 22:23:38 +00:00
reprappro
8635fde719 Minor tidying. 2013-01-13 20:56:24 +00:00
Adrian Bowyer
f4da09dbfb Finalising (probably not...) the structure. 2012-12-22 16:47:47 +00:00
Adrian Bowyer
0e3c762f99 First commit - some work remains... 2012-11-20 17:23:07 +00:00