Commit graph

141 commits

Author SHA1 Message Date
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
Tony
07d7433e5d Z Probe Enable
Allows the Z probe to be enabled or disabled. when disabled Z homes in
the same way a X and Y. When Z probe is disabled it errors on M31, M32
2013-11-09 10:52:12 +00:00
Tony
707b0cc64a Added home direction logic
The direction which an axis homes in is either "-1" for min or "1" for
max
2013-11-08 20:19:44 +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
Adrian Bowyer
1dc821cbff Duet all working except for the bed heater. Investigations continue... 2013-09-09 21:25:38 +01:00
Adrian Bowyer
c4017b1019 M906 (set motor current) support added. 2013-09-02 22:56:26 +01:00
Adrian Bowyer
c25816668b First working Duet version with SD card file reading for G Codes. 2013-09-01 22:45:32 +01:00
Adrian Bowyer
0d0672e49b "Hollowed out" version with no Ether and no SD, ready for Duet versions of those.
USB works, and firmware communicates over that.
2013-08-28 17:32:16 +01:00
Adrian Bowyer
4a335a6e86 Working on the Duet version... 2013-08-28 16:51:18 +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
cd91a7338a dev 2013-08-06 21:58:57 +01:00
Jean-Marc Giacalone
e180f84007 housekeeping. 2013-08-06 10:59:36 +01:00
Adrian Bowyer
7e282c96ea Added serial transmission of GCodes via USB. 2013-08-05 23:45:31 +01:00
Adrian Bowyer
323daf4c16 Tidying... 2013-08-05 23:18:46 +01:00
Jean-Marc Giacalone
680be20f41 Libraries added to project folder. 2013-08-05 12:44:49 +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
Adrian Bowyer
f23b286f1d Fix added for feedrate "bug" in Slic3r. 2013-07-18 20:14:43 +01:00
Adrian Bowyer
874e6e0baf First working version. Horay! 2013-07-18 12:15:05 +01:00
Adrian Bowyer
b94bff107c Temperature code now working. PID may need a little tweaking. 2013-07-11 20:22:21 +01:00
Adrian Bowyer
ce7522f682 Temperature code all working with simple bang-bang control. PID next... 2013-06-18 22:24:07 +01:00