1. Z-probing is now done in two stages: a fast stage at the configured
home feed rate until within 10% of the target value, then a slow stage
at 20% of that feed rate.
2. Provisional support for ultrasonic Z-probe.
3. Added calibration temperature and height temperature coefficient to Z
probe parameters.
4. Z-probe parameters and Z-probe type are now saved to flash memory so
that they survive power-off and reset cycles. Separate parameters are
retained for IR and ultrasonic probes in case both are fitted.
5. Fixed issue with doing slow Z-moves immediately after Z-homing or
probing.
Implemented M301 command to get/set PID parameters. Improved the PID
parameters and made minor changes to the PID algorithm to improve PID
performance with Ormerod hot end.
Increase TCP window size from 1 to 2 packets and increase maximum amount
of web data sent to 1460. This decreases the page load time fro a
Windows client fro 6 seconds to less than 1 second. It also fixes a
problem whereby when using a Ubuntu client, file upload and direct print
didn't work unless the reprap.js file was edited to reduce the maximum
amount of data sent per request. Also we now initialize unused memory
with known data so that in response to the M111 S1 command we can better
estimate the amount of free memory.
Reverted STRING_LENGTH to 1029 to avoid random print hangs that occurred
using 0.57f firmware. Reduced max reported buffer size to fit within
this. Report additional memory usage detail in response to M111 S0.
Increase incoming web gcode buffer size to 1200 chars to allow more
gcodes to be sent in each message
Include free buffer size in poll response
Include response sequence number in poll response
Implement M30 (delete file) via USB interface
Support M503 and M111 commands via web interface
Added new fields "zprobe" and "resp" to webserver poll response
Immutable string parameters are passed as const char* not char*
Increase max number of files displayed to 42
Range-check heater parameters in incoming commands to avoid buffer
overflow if heater number is out of range
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.