/*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.
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