Turn Z probe type 2 LED on even if an M558 P1 is sent. This means that a Probe 2 will
emulate a Probe 1 if the user mistakenly sends M558 P1 to it. Also both Probe 1
and Probe 2 will work properly if they are properly selected (as before).
/*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}
*/
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.
In a previous commit I changed the temperature calculation to give more
accurate readings at extreme values. This change meant that a
disconnected thermistor no longer shows as absolute zero. Coupled with
the change in thermistor beta value, this meant that a disconnected
extruder thermistor would show as -28.2C, which is above the usual error
threshold of -30C. This commit introduces a special case for a
disconnected thermistor and restores the reading to absolute zero for
that case.
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.
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.
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
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
file names into a structure created in RepRap that was too short for them. Result - buffer overflow misery. For the moment I've commented out the bit of code in ff.c that handles long names (look for the string ******), but this needs to be tracked down and dealt with properly.
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...
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.