Tony
eccdef5709
M160 implemented
...
/*Fixed to work with multiple concurrent extruder drives:
* Default or M160 S1 (set use only one extruder drive)
* "G1 En.n" adds the float n.n to the move buffer for the selected
head
* There is no change in behaviour for one extruder drive setups, or
multiple extruder
* setups where only one drive is used at any one time.
*
* M160 Sn (set to use "n" extruder drives) eg
* "M160 S3"
* "G1 En.n:m.m:o.o" adds the floats to the move buffer in the
following way:
* moveBuffer[AXES+selectedHead) = n.n
* moveBuffer[AXES+selectedHead+1) = m.m
* moveBuffer[AXES+selectedHead+2) = o.o
* so if selectedHead=0 move buffer ends up looking like this for a 5
extruder drive setup:
* {x.x, y.y, z.z, n.n, m.m, o.o, 0.0,0.0, f.f}
* where x,y,z are the axes and f is the feedrate.
* If selected head > 0 then there is the possibility that more drives
can be set than
* exist, in that case the last values are discarded e.g:
* "T3"
* "M160 S3"
* "G1 En.n:m.m:o.o"
* would leave the move buffer on a 4 extruder drive setup looking
like this:
* {x.x, y.y, z.z, 0.0, 0.0, 0.0, n.n,m.m, f.f}
*/
2014-04-14 16:22:11 -04:00
Tony
63ea3b0554
Check for the Selected head (selected tool).
...
This will allow for multi extruder printing support in future pull
requests. It works fine for single extruder setups as well as the
selected head is always E0.
2014-03-03 19:39:39 +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
cc730a8013
Experimental version of Move.cpp...
2014-01-24 12:53:07 +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
David Crocker
bcd902ffba
Fixed thin-layer Z-axis printing problem
...
Fixed problem whereby when printing in thin layers, the z-axis stepper
would try to move too fast, resulting in missed steps. This was because
the lookahead code was setting incorrect z-move velocities when a Z-move
was preceded by an extruder-only move.
2014-01-12 15:59:57 +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
Adrian Bowyer
be1a790c47
Added more efficient canned cycle for when all three axes are being homed.
2013-12-23 21:25:40 +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
4feab9afce
Homing modified to correspond with Ian's documentation...
2013-12-19 18:53:17 +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
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
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
c9f2cb2b0b
Removed tiny buggette in the heat timing code.
2013-11-19 21:57:59 +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
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
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
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
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
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
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
5aba3f3649
turned on diagnostics.
2013-08-07 16:49:48 +01:00
Jean-Marc Giacalone
982846e7e0
project into Eclipse.
2013-08-05 12:19:54 +01:00
reprappro
d44c133348
Firmware Web interface part working (loads one page, but not two...)
2013-02-17 18:31:12 +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