Commit graph

37 commits

Author SHA1 Message Date
David Crocker
4a1072a8e7 Version 1.09q-alpha3
Merged in chrishamm's changes including OutputBuffer fix, changes to
Roland pin numbers, rr_configfile support in web server, and Roland and
inkjet pin numbers moved to Pins_duet.h
Merged in wrangellboy's http response changes for compatibility with
Edge browser
Other minor changes
2016-01-16 14:35:31 +00:00
David Crocker
0636efee40 Version 1.09p-alpha2
Fixed issue with rare missing steps at the end of delta moves
Fix minor delta calibration issue
Fix issue with ADC crosstalk on Duet 0.8.5
Refactored RepRap and OutputBuffer classes in preparation for fixing the
OutputBuffer bugs
2016-01-10 22:04:30 +00:00
David Crocker
aa7bac3cc0 Merged in Dan's thermocouple support
Merged in Dan's thermocouple support
Define serial port allocation in Pins_duet.h
Fixed some leaks of OutputBuffer objects under error conditions
The terminating newline character in a gcode response is now added in
HandleReply
2015-12-30 13:11:56 +00:00
David Crocker
611620d689 Version 1.09o-dc42
Implemented F, H and R parameters to M106 command. The second fan output
on a Duet 0.8.5 now defaults to being a thermostatic fan at power up.
Improved speed of file upload to SD card
G32 is now allowed if the printer has not been homed, if there is a
bed.g file
G30 commands are no longer allowed on a delta that has not been homed
M572 parameter P (drive number) replaced by parameter D (extruder
number)
File info requests are now processed in stages to reduce impact on
printing (thanks chrishamm)
Use latest network stack and webserver modules from chrishamm (thanks
chrishamm)
Added Roland mill support (thanks RRP/chrishamm)
Added S parameter (idle timeout) to M18 ans M84 commands (thanks
chrishamm)
Moved I/O pin assignments to separate Pins.h file to more easily support
alternative hardware (thanks dnewman)
Bug fix: filament usage and % print complete figures were incorrect when
absolute extruder coordinates were used
Bug fix: file-based print estimate was occasionally returned as 'inf'
which caused the web interface to disconnect
Bug fix: M666 now flags all towers as not homed
Bug fixes to extruder pressure compensation (M572 command).
2015-12-27 21:04:02 +00:00
David Crocker
6525a46a52 Version 1.09m
New features
============
The PWM frequency for the heated bed and for any heater used as a
chamber heater is now 10Hz for bettercompatibility with DC-AC SSRs.

The PWM frequency for fans is now configurable using the F paramete ron
the M106 command. The default is 500Hz, which gives esonable control of
fans not designed for PWM. Increase it to 25000Hz when using 4-wire PWM
fans.

When a Duet 0.8.5 board is configured or detected, the fan control is
now automatically inverted. If you previously used M106 P0 I1 in
config.g to invert it, you will need to remove that.

M579 (scale Cartesian axes) is now implemented (thanks chrishamm).

M114, M119 and M573 commands can now be executed concurrently with other
commands.

When DDA debugging is enabled, the debug output now includes all active
extruders instead of just the first two.

M408 S0 now includes the fan speeds (for PanelDue).

M119 now reports the Z probe as well as the endstop switch states.

A tool can now be defined even if a tool with the same tool number
exists already. The existing tool will be shut down and deleted.

The bed heater can now be disabled using M140 S-1 (thanks chrishamm).

The chamber heater (if present) and the endstop switch states are now
reported to the web interface (thanks chrishamm).

Increased defauklt Z prove dive height to 5mm.

Increased default PID Ki to 0.2

Bug fixes
=========
On a CoreXY machine, XY speeds were too low by a factor of sqrt(2).

On a delta machine, after running auto calibration the Z=0 height could
be slightly inaccurate, depending on the difference between the X and Z
endstop corrections

When using a non-intelligent modulated Z probe on a Duet 0.8.5, the
modulation pin number was incorrect.

The M27 (Report SD card print status) response was inverted compared to
what it should be. When in Marlin mode it now includes the "byte n/m"
field that some versions of Pronterface expect.

Cold extrusion prevention did not work - an error message was generated,
but the extruder was driven anyway.

M999 PERASE is now more reliable (thanks chrishamm).

M23, M30 and M32 commands did not work when the filename parameter
passed included an absolute path.

//A T command inside a macro file did not execute the tool change macros
files.

A memory leak occurred when a tool was deleted.

All moves are now completed before switching to CoreXY mode.

Polling requests from PanelDue were not relied to when a macro was being
executed

M667 with no parameters returned an incorrect string
2015-12-06 22:12:31 +00:00
David Crocker
87980e2966 Version 1.09f
Fixed print quality problems that mostly affected delta printers e.g. on
spiral vase cylinder
When reconnecting a browser, cancel any file upload from the same IP
address
M111 now prints the number of each module with debugging enabled or
disabled
In special moves on delta printers, the F parameter is now interpreted
as the speed of the tower that moves the most
M114 now reports stepper positions as well as head position
Default to output in Marlin mode
M104 command defaults to the only tool if there is only one tool and it
is not selected
Trying different code for M999PERASE command to see if we can get it to
unlock flash and reset more reliably
When step errors are logged, report them immediately if Move debugging
is enabled. Also reports the total number of step errors in M122.
Changed interrupt priority to make tick interrupt higher priority than
step interrupt, because we rely on the tick interrupt to check for over
temperature conditions and kick the watchdog
2015-08-22 11:01:28 +01:00
David Crocker
29185f7f68 Version 1.00f
Speed factor and extrusion factor changes now take effect 1 move earlier
Default feed rate after reset increased to 3000mm/min
M574 command now accepts E parameter to that active low Z probe switches
can be used
Bed compensation is cancelled if Z probe was already triggered at the
start of a probe
M20 S2 response now flags directories with a * prefix
M408 command introduced as an alternative to M105 S2 and M105 S3
When cold extrusion is prevented, say which tool was affected in the
error message
Bug fix: if a drive was turned off manually after going into idle mode,
when it was enabled again the current remained at 30%
Bug fix: cold extrusion prevention did not work
2015-04-19 17:04:55 +01:00
David Crocker
52b21d0eed Version 1.04c
Implemented rr_config web request for zpl's latest web interface
Implemented 7-factor auto calibration for delta printers
Fix bug with fileinfo calls corrupting memory
M563 can now be used to delete tools
2015-04-02 20:19:17 +01:00
David Crocker
e990e2af1e Version 1.00l
Merged zpl's changes for binary file uploading and PrintMonitor
Fixed bug with filament-based print time estimation
Fixed bug that caused feed rate to  often not be restored after running
a macro
Print  Z probe offsets at end of G32 sequence if Move debug is enabled
2015-02-27 00:20:05 +00:00
David Crocker
d8911b2760 Version 1.00j
Prevent setting of absurdly high hot end temperatures
Added R parameter to G1 to go back to previous location, with optional
offsets
Allow Pronterface and PanelDue M105 requests to execute during file
macros etc.
Added more status information for PanelDue to M105 S2 command
Send replies when prints are paused, resumed or cancelled
Added missing newlines at end of M105 responses
Increased X and Y course homing speeds
2015-02-21 10:43:25 +00:00
David Crocker
7fb8f47424 Version 1.00h
Added almost instant pause functonality
Support pause and resume macros
Support nested macros
Support zpl's web interface
Merge in zpl's web interface and network changes
Add R parameter to M105 command for PanelDue
M98 can now run macros from any SD card folder
2015-02-11 22:50:34 +00:00
David Crocker
de99a709a9 Merged changes from Delta branch 2015-01-24 12:53:29 +00:00
David Crocker
79980a9f82 Version 0.78z
Added more support for TFT control panel
2014-12-03 23:03:44 +00:00
David Crocker
d3bb69367c Version 0.78y
Incorporated zpl's Network module updates and some of his Gcodes updated
Merged RRP's 0.96 Move code into mine
Added M105 S3, M20 S2 and M36 commands for supporting TFT control panel
Added X parameter to M305 command to allow thermistor channels to be
changed
Removed space after "B:" in M105 response to avoid confusing Pronterface
2014-11-26 15:29:17 +00:00
David Crocker
19d8e625ea Implemented M105 S1 command 2014-11-10 12:52:25 +00:00
David Crocker
46d78148b0 Version 0.78j
Refactored printing to strings and web server json response handling in
preparation for adding support for LCD display via serial link
Added a timer to record how long block writes to SD card take
2014-08-17 22:14:33 +01:00
David Crocker
2a818bcfc0 Version 0.78h
Added a few more improvements from RRP's dev branch
Corrected M201 output
Added a few more minor fixes
2014-08-03 11:17:48 +01:00
David Crocker
b9d6994ba5 Version 0.78f-dc42
M563 command extended to allow the tool number origin to be adjusted. If
there is no P parameter in the command then the S parameter specifies an
offset to be added to tool numbers in T, G10, M104 and M109 commands.
This is so that multi-media gcode files generated by slic3r can be
printed without having to edit all the tool numbers in the gcode file
first. This extension is intended to be temporary, until slicer provides
a mechanism for specifying the tool numbers. A separate offset is
maintained for each data source (USB, web or SD card) and the offset for
data from the SD card is reset to zero when a new file is started. To
use this facility to print slic3r multi-media gcode files, add M563 S1
to your start gcode.

M104 and M109 commands now accept an optional T parameter to specify the
tool number, as generated by slic3r in multi-media gcode files.

Movement code from RepRapPro's dev branch incorporated, including
5-point manual or automatic bed compensation mechanism.

Heater status (off/standby/on) is included in the status poll response
for the web interface. This will be used in a future version of the web
interface.

Incorporated code from RepRapPro dev branch to allow many more
M-commands to return values as well as set them.

Incorporated code from RepRapPro dev branch to implement the M119 and
M135 commands. There is currently a bug in the M135 (set heat sample
interval) command, which means that if you change the interval from its
default value of 0.5 seconds then you need to adjust the I parameter by
the same ratio and the D parameter by the inverse ratio.

Extrusion totals are reset to zero when starting a new print from SD
card.
2014-07-28 18:02:14 +01:00
David Crocker
3053359b30 Post-merge fixes
Fixed M122 so that diagnostics are sent to the web interface as well as
USB
Fixed M220 command to respond to speed change requests faster
Count the number of active extruders and heaters, and only send their
values to the web interface, subject to a minimum of 2 heaters and 1
extruder
2014-07-06 23:06:49 +01:00
David Crocker
57704f033b Merge RRP's 0.78 version and my 0.65k version 2014-07-06 19:57:21 +01:00
Adrian Bowyer
2b96c2b6f6 Version 0.78
Release.
2014-07-03 13:10:36 +01:00
David Crocker
73724a4b9a Merged RepRapRro's 0.65e version in
Merged changes (mostly to handle multiple tools i.e. extruders) from
RRP's 0.65e version.
2014-06-04 17:39:36 +01:00
David Crocker
aaf6f7128e Better USB error recovery and diagnostics
Firmware now recovers from USB disconnection without halting. Needs
changes to Arduino core library.
Added a timeout in the Spin() functions, which causes diagnostic info to
be stored and the system to be reset if a Spin() function takes more
than 20 seconds.
2014-04-16 00:00:45 +01:00
Adrian Bowyer
6a1031f107 First hack at the Tool class. Implemented, but not yet called. 2014-04-11 21:41:28 +01:00
Adrian Bowyer
33cf94e0cf Z probe averaging fixed. Loop timer added (try M122). Code reverted to the point where it worked... 2014-04-10 15:56:47 +01:00
Adrian Bowyer
adb6ac3fc6 Fixed z probe averaging code. 2014-04-10 14:25:09 +01:00
David Crocker
009a2045d0 Concurrent HTTP connection support & more
Completed changes to support multiple concurrent HTTP file requests.
Added support for new poll response for future support of additional
heaters and multiple extruders. Fixed a bug in reporting extruder
distance.
2014-04-08 13:20:06 +01:00
Adrian Bowyer
17b533fe2e Incorporating some of dc42's enhancements. This compiles BUT IT HASN'T BEEN TESTED. Use with extreme caution. 2014-04-07 22:15:19 +01:00
David Crocker
21d688ece0 Various improvements
Tidied up axis homing tracking.
When checking endstops, wait for move to complete before accepting
further moves, otherwise subsequent moves use the wrong coordinates.
Temperatures and Z probes are now monitored continuously using a tick
interrupt to kick off ADC conversions. ADC is now run in 12-bit mode.
Thermistor readings are passed through averaging filters. Thermistors
are monitored for overheat conditions and bad readings in the tick ISR
and the appropriate heater is turned off (useful because the main loop
sometimes gets suspended while trying to do USB communication).
Use watchdog timer to monitor the tick interrupt - needs patch to
Arduino Due core library. Add facility to test watchdog timer (M111
S1001). Added an error status word to record that errors have occurred
(e.g. over-temperature).
M111 command changes so that S0 turns debug off, S1 turns debug on, S2
reports free memory - also now reports the type of the last restart and
the error status word. Fixed problem whereby M111 debug reports were not
sent to the web interface.
Implemented M999 command, which resets the Duet.
Removed an unused variable.
Changed some more "char*" to "const char*".
Changed extruder PID parameters and added more explanation for them.
2014-03-02 23:26:14 +00:00
Adrian Bowyer
1129fa218f Added in David Crocker's improvements (many thanks to him). 2014-02-11 11:23:28 +00:00
David Crocker
9edaed4ac1 Further improvements to web upload and tidy-up
Further improved web file upload speed
Dealt with Eclipse code analysis warnings
Made some more functions and parameters const-correct
2014-01-30 14:26:45 +00:00
David Crocker
e227dab386 Improvements to support Matt's web interface
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
2014-01-27 18:15:46 +00:00
Adrian Bowyer
c0b7b4bace Working on the ether/USB problem. The network can now be disabled (#define NETWORK in Configuration.h). With it disabled the USB works with or without a network cable plugged in. With it enabled the USB only works with a network cable plugged in too. You have to wait for the ether to reinitialise (ether socket lights go out for a couple of secs, then come on, then the green one starts flashing) before trying to talk via the USB. The ether is initialised before config.g is run, so the IP is the one defined in platform.h. The network is disabled in this commit. The heaters are set on by 0, not 1 (i.e. Duet board v0.6 or later). To change this see #define HEAT_ON in platform.h 2013-11-26 13:38:23 +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
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
07d323a41d Setting up latest Due code to work on the Duet. 2013-08-28 16:36:38 +01:00
Jean-Marc Giacalone
982846e7e0 project into Eclipse. 2013-08-05 12:19:54 +01:00