Additional functionality in 0.78a-dc42 release compared to RRP 0.78: * The Duet can serve all the files needed by the web interface * All ADC readings are done in the tick ISR to avoid the processor having to wait for ADC conversions and provide faster thermistor and z-probe response. * Additional over-temperature protection is done in the tick ISR, and the watchdog timer resets the system if the tick interrupt fails. * A software watchdog is used to reset the processor if it gets stuck in a spin loop. * Printing doesn't hang if the USB port is disconnected (or attached PC goes to sleep) during a print. * The number of bits of temperature resolution is increased from 10 to 13 (i.e. 12-bit ADC + 1-bit oversampling) to increase the temperature resolution * Thermistor parameters and ADC corrections can be set (M305 command). * M208 command allow you to set axis minimum positions (e.g. negative x-axis position) as well as maximum positions. * G1 commands with S1 parameter (i.e. seeking for endstops) do not need to be followed by a G92 command to work properly. The positions assumed to have been reached when endstops are hit are those set by the M208 command. * Long filename support for files on the SD card * The limit of 42 files in the list of gcode files on the SD card is removed (but there is still a limit of 2000 characters) * M220 (set speed factor override) and M221 (set extrude factor override) commands are supported. * Option to invert cooling fan PWM * Additional z-probe type 3 is supported, for z-probe boards that incorporate more than one type of z-probe (e.g. my hot end boards) * Separate G31 parameters can be saved for z-probe types 0, 1/2, and 3 * Various parameters (G31 values, IP address, MAC address, thermistor parameters, PID parameters) are saved to flash memory (note that these values do not survive a firmware upgrade) * M122 diagnostics command shows additional parameters such as bed compensation heights, last reset reason, and up-time * When pausing a print from SD card, if the printer is executing a 'wait' command such as M116, control is returned to the web interface immediately, without waiting for the command to complete (which could take a long time). * The USB port is responsive immediately after power up or reset even when no Ethernet cable is connected * A new file upload protocol supports much faster uploading of any type of file, without a limit on line length, and with a check that the file length is correct when the upload is complete. * M80 and M81 ATX power on/off commands are supported * M999 software reset command is supported * M301 and M304 commands to set PWM parameters now take an additional T parameter. This should be set to the approximate extra PWM value needed (on a scale of 0 to 255) per extra degC of temperature. It is used to preset the I-term to a suitable value when PID kicks in, to enable fast heating with minimum overshoot. * M0 and M1 commands now turn all heaters off instead of setting them to their standby temperatures * FTP server supported (thanks zombiepantslol) * Telnet server supported (thanks zombiepantslol) * Bug fix: uploading file whose name includes an uppercase G now works. Similarly for setting a machine name containing an uppercase G (M550) or password containing an uppercase G (M551) * Bug fix: if the machine name in an M550 command is followed by a tab character, then the name is assumed to terminate just before the tab character. Similarly for passwords set using M551. * Bug fix: setting a machine name that contains a quote or backslash character no longer causes the webserver to return a bad JSON response in response to the rr_name request * Bug fix: indentation of multipart messages sent to the USB interface now works properly * Bug fix: if G10 was used to set just the active temperature for a tool, then the standby temperature for the same tool was set to an undefined value, and vice versa. * Bug fix: if bed compensation or axis compensation was in use, then a G1 S1 command to home an axis could be prematurely terminated if the head was already at the endstop position for a different axis. Additional functionality in web interface 0.95 compared to RRP 0.65: * Faster (>6Mbytes/min), more reliable file uploading, with reporting and graceful recovery if an upload fails * All web files and config files can also be uploaded * More accurate (usually!) estimate of print completion time, based on filament consumption * The machine name is displayed * The filament requirement and object height are fetched automatically from the SD card file being printed, for use in estimating the completion time * Works with FireFox as well as Chrome * "Upload & Print" button (replaces direct web print button, uploads to the SD card first for more reliable printing) * The extruder position box reports total filament extruded, instead of the amount extruded in the last move * Additional status Halted is shown (if emergency stop has been used) as well as Ready and Active * The Print Status tab includes slider controls to allow the speed and extrusion factor to be adjusted during printing