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
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
Adrian Bowyer
7966335a28
Small knockout bug in reprap.htm fixed - loading the file list didn't work
...
properly. Now seems OK.
2013-10-14 18:29:47 +01:00
Jean-Marc Giacalone
c108131a14
Disable probing in Z axis endstop check.
2013-10-09 11:47:34 +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
a3925b2574
Removed pause at start waiting for an input byte on the USB. NB this version
...
has IR Z probe code. Need to make the ordinary microswitch act as a hard stop
on Z when that is enabled, so it's failsafe.
2013-10-07 18:55:15 +01:00
Adrian Bowyer
368523e3e9
Web interface works! Horray! Key was to prevent lwip requesting pages when
...
RepRap was still serving the one before.
2013-10-07 17:16:21 +01:00
Adrian Bowyer
0bd51c6582
Still not working. But not working differently...
2013-10-06 22:33:32 +01:00
Adrian Bowyer
d0e2a35e4d
Web still not reliable. (A) Trouble is the dynamic allocation of http_state structs. This needs to be tracked through the RepRap network firmware. More tomorrow...
2013-10-04 23:33:54 +01:00
Adrian Bowyer
6686e23f4d
Webserver coming along. Some tidying. For some reason there is a
...
big delay on closing the connection when there is a second partly-full
buffer of data sent to the browser after a completely full one.
2013-10-02 12:31:38 +01:00
Adrian Bowyer
7d3016a7f3
Some webserver progreass. Can get http requests, and can serve a simple page, both from within the RepRap Firmware Webserver class. Bugs remain...
2013-10-01 23:03:07 +01:00
Adrian Bowyer
2609f66c86
Webserver not yet working. Rest should be OK though.
2013-09-29 23:15:00 +01:00
Adrian Bowyer
aaf75220de
Working on the http code...
2013-09-24 10:40:21 +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
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
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
953828081e
Duet fully (I think) working. :-)
2013-09-10 22:42:43 +01:00