Commit graph

99 commits

Author SHA1 Message Date
David Crocker
384d1d3ad4 Release 1.19alpha
First working release of new WiFi code
Axes moving other than X (possibly mapped), Y and Z are not taken to be
part of the feed rate
Introduced SafeStrncpy and SafeStrncat
2017-05-04 21:39:43 +01:00
David Crocker
9d4c15c5db More work on 1.19
New WiFi interface is working (slowly)
Merged chrishamm's FTP code
Merged chrishamm's scanner code
Merged chrishamm's changes for P parameter on tool change command
Fixed specila pin table entry for CS5 on Duet NG
2017-05-01 18:51:04 +01:00
David Crocker
5f3232c94a More work towards version 1.19
Moved NetworkResponder and other common networking files from
DuetNG/DuetEthernet to DuetNG folder
Socket::ReadBuffer no longer marks the daya as taken, that has to be
done separately
More work on DuetWiFi new network interface
Started refactoring to more easily support SCARA and other new
kinematics
2017-04-25 11:42:49 +01:00
David Crocker
636b3fc378 Bug fixes to 1.19 alpha
Fixed buffer overflow in OutputBuffer::cat when the input string is
longer than the remaining size in the buffer plus one new buffer
Fixed issue with sending output buffers totlaling more then 2Kb to the
Ethernet interface on the Duet Ethernet
2017-04-21 15:14:50 +01:00
David Crocker
7fea2926dc Towards version 1.19
NOTE:  only the DuetEthernet configuration will builds and run.
Refactored Webserver, Protocol Interpreter and NetworkTransaction
classes for Duet Ethernet to prepare for RTOS and interface more easilty
to the network socket interface used by the DuetEthernet network adapter
and the forthcoming new DuetWiFiServer firmware. FTP support not
implemented yet.
Increased default hot end temperature limit to 288C, to allow for E3D's
recommendatoin to heat to 285C when tightening nozzles
Added M42 to the list of gcodes that can be queued
2017-04-17 15:12:42 +01:00
David Crocker
a168bc307b Version 1.18.1
Corrected USB VID/PID combos in CoreNG
2017-04-09 08:36:51 +01:00
David Crocker
3eb8bac31d Version 1.18
Updated driver to support our new VID/PID and also the Bossa port
Fixed issue with IP addresses containing zetos on Duet 06/085
Improved error mesages when M303 command has out-of-range parameters
Don't generate error message when the chopper control register is
changed, and allow it to be read back
Increased max motor current to 2.4A
2017-04-07 13:24:27 +01:00
David Crocker
d47cc13765 Version 1.18RC2
Fixed bug with M408 S1/S2 reples when there are no extruders configured
Changed Duet085 network startup to not startb protocols when network is
not active
2017-04-02 10:22:34 +01:00
David Crocker
66b7ee9ae2 Version 1.18RC1
Merged in chrishamm's code queue and input buffer code
Increased heater tuning timeout for finding peak temperatire from 60 to
120 seconds
Implemented M204
Increased precision of reported coordinates to 3 decimal places
PanelDue status responses continue to be sent while executing
M109/116/190/191 commands
2017-03-28 19:35:35 +01:00
dc42
e3b8adbe43 Rename Pins_radds.h to Pins_RADDS.h 2017-03-24 08:00:49 +00:00
dc42
910eca596b Rename Reprap.h to RepRap.h 2017-03-23 19:45:31 +00:00
dc42
cc2fa8d4b7 Rename Reprap.cpp to RepRap.cpp 2017-03-23 19:45:06 +00:00
David Crocker
18411b92f3 Version 1.18beta2
Fixed homing on CoreXY printers
Added firmware file sanity check
Fixed reply from M290 with no parameters
Limit the number of X grid points so that we can read in height map
files without getting line overflow
If there are too many grid points in a M557 grid definition, suggest a
suitable spacing ti the user
Fix network on Duet Ethernet
Bug fix for FTP directory listing on Duet Ethernet
Limit the rate at which some warning messages are generated
Support VSSA fault detection on new prototype board
2017-03-16 16:55:03 +00:00
David Crocker
850760230f Verison 1.18beta2
Temperatures now default to 0C instead of -273C
Handle G2 ande G3 in simulation mode
Implemented M586
Removed support for M557 P parameter. Use a bed.g file instead.
2017-03-13 11:49:07 +00:00
David Crocker
f42a0f9b95 Correction and tidy-up of ChristophPech's PR
Moved call to ExtrapolateMissing in grid.cpp to what I believe is the
correct place
Tidied up code to fix compiler warnnigs and confirm to style guidelines
2017-03-08 17:26:27 +00:00
Christoph Pech
21afa80314 - HeightMap grid extrapolation of missing probe points by linear least squares (#83)
- reduced complexity of interpolation due to consistent grid
2017-03-08 14:49:09 +00:00
Christoph Pech
ed9b895275 Grid leveling bugfixes (#82)
* calculate recipSpacing while loading heightmap.csv

* HeightMap::Interpolate2 was the wrong way around

* Grid interpolation bounds checks
2017-03-06 18:40:34 +00:00
David Crocker
95bb295716 1.18beta1 for Duet Ethernet
Reduced SPI speed to avoid data corruption when uploading files
FTP directory listings now work on Duet Ethernet. File transfers still
don't work.
2017-02-24 13:50:57 +00:00
David Crocker
7724eed928 Version 1.18betas1
- Baby stepping is now implemented using the M290 command. The
accumulated baby stepping amount is reported in M408 replies.
- Faster
and easier-to-use auto tune algorithm with more consistent dead time
measurement
- M109, M190 and M191 commands now send the temperatures
ponce a second if the command cam form the USB port and Marlin emulation
is chosen
- The name of the firmware file to load is now passed to IAP,
so that iap4e.bin cab be used on both the Duet WiFi and the Duet
Ethernet
- Reduced the Duet WiFi VIN over-voltage detection threshold
from 29.5V to 29.0V

Bug fixes
- On the Duet WiFi, if you sent command
M122 while the machine was printing then occasionally it would stop and
reset due to a watchdog timeout
- If multiple input sources sent
overlapping G4 (dwell) commands, either or both of them wold not be
executed correctly
2017-02-21 20:16:26 +00:00
David Crocker
7df2717ebd Version 1.18alpha2
Initial implementation of babysteppnig
Fixed some issues with file upload and FTP networking on Duet Ethernet
(but FTP notr working yet)
Pass the name of the firmware file to IAP
Duet Ethernet and Duet 085 now each have their own Webserver modules
2017-02-17 09:04:02 +00:00
David Crocker
8e5c83a186 Release 1.17e
Fixed divide by zero bug in LWIP (affected Duet 085 build only)
G29 S1 now clears bed transform before loading height map
M122 software reset data now includes a stack dump if the reason was a
hard fault
M122 now reports the type of bed compensation in use
2017-02-10 17:34:06 +00:00
David Crocker
8f6d8e9da7 Version 1.17d+1
Save several words of stsck after a hard fault and print them in the
M122 software reset report
Increased the maximum step frequency before the firmware switches to
double stepping
Added diagnostic test for timing the square root calculation
Minor firmware optimisations
2017-02-08 10:45:37 +00:00
David Crocker
2984b6ac32 Version 1.17d
Fixed bug with resetting extruder position introduced at version 1.17c+1
G2, G3 and M206 now take account of the mm/inches setting
Fixed bug with second SD card on Duet085 and RADDS builds
M102 command generated by D3D is now sliently ignored
2017-01-28 17:59:09 +00:00
David Crocker
0bef35d58f Added Duet 085 and RADDS builds of version 1.17c
Also corrected compiler settings for Duet 085 and RADDS builds
2017-01-26 13:32:58 +00:00
David Crocker
af25fb286e Version 1.17c+2
Fixed bug in G2 and G3 commands (I and J parameters were not always
being assumed to be relative to current X and Y)
Hard fauld handler now stores the faulting PC and status registers in
the software reset data
2017-01-24 15:56:11 +00:00
David Crocker
8963082a38 Version 1.17c+1
Removed O3 optimisation pragmas because they inhibited function
inlining, making performance worse
Implemented G2 and G3 commands, inclusing corkscrew moves
Firmware retraction/unretraction now defaults to 2.0/2.0 instead of
1.0/2.0
Bug fix: absolute extrusion didn't work when using a mixing tool
2017-01-20 21:00:38 +00:00
David Crocker
120987ff63 Version 1.17c+1
Implemented G2 and G3
Fixed bug: couldn't update WiFi server or DWC on Duet WiFi after sending
M997 S3
Disable the uart used to update the WiFi module during normal WiFi
operation
2017-01-19 20:11:04 +00:00
David Crocker
efcb1e5ce6 Version 1.17c
New features:

The layer height comment in gcode files produced by Matter Control is
now recognised
M101 and M103 (firmware retraction commands generated by Simplify3D) are
now recognised
G20 bed probing now prints the mean height error and RMS deviation to 3
decimal places

Bug fixes:

G30 with no parameters now sets the machine position to the Z probe
trigger height instead of the user position. This means that running G28
(home) and G29 (bed probe) alternately no longer causes the bed height
map to creep up or down in average height when Z homing uses the Z
probe. However, it means that the Z height displayed after a G30 command
is no longer always the same as the Z probe trigger height.
In firmware 1.17 the speed change command by the M220 command got
delayed until the next G1 or G0 command with an F parameter was read.
In firmware 1.16 and 1.17 the acceleration used in G11 un-retraction
commands was sometimes incorrectly reduced if pressure advance was
configured on a different extruder.
In firmware 1.16 and 1.17 when pressure advance was configured, the
extruder acceleration limit implied by pressure advance used the
pressure advance value for the wrong extruder.
Firmware retraction did not work if additional axes had been configured
e.g. for an IDEX printer.
G29 commands using the P parameter with an upper case M in the filename
were recognised as M commands instead
2017-01-14 18:52:12 +00:00
David Crocker
f9bdece077 Implemented 'T' printer status code in M408 and web response 2017-01-07 12:37:46 +00:00
David Crocker
0ae1b2ecd8 Preparation for release 1.17b (no binaries included)
Fixed bug in M226 handling (thanks chrishamm)
Z probe modulation signal is now driven high only during probing move
for Z probe types 4 upwards
Updated DuetWebCobtrol to 1.14
2017-01-07 10:44:44 +00:00
David Crocker
660e9c7d1c Version 1.17a
Homing speed:
- The speed factor (M220 command, or speed control in DWC and PanelDue)
no longer affects the speed of homing moves or other special moves (i.e.
G1 commands with S1 or S2 parameter)

Bug fixes:
- Fixed the M120 (Push)
command
- Setting relative extruder movement (M83) or a feed rate (G1
Fxxx) in config.g now works again
- The F (feed rate) parameter is now
processed correctly on a G1 command with the R parameter
- If you used
M106 to change a fan PWM frequency, the change did not take place until
you next changed the speed
- On boards with SAM3X processors, due to a
chip bug the fan speed was sometimes incorrect if you changed the PWM
frequency
- If an http client requested a non-existent file that was not
an HTML file, the server incorrectly returned a 404 HTML page
2017-01-03 09:50:33 +00:00
David Crocker
01d439ddb4 Duet Ethernet now uses the PDC for SPI transfers 2016-12-29 17:28:41 +00:00
David Crocker
f4f6ad3c61 Improvements to Duet Ethernet code 2016-12-29 16:19:21 +00:00
David Crocker
c5e6d7179c DuetEthernet support + minor changes 2016-12-29 14:11:08 +00:00
David Crocker
ad8aa69794 Reduced header file coupling
Restructured the header file inclusion so that the .cpp files are
dependent on fewer header files, resulting in less recompilation when
most header files are changed
2016-12-25 17:35:47 +00:00
David Crocker
a863bd9d6e Released version 1.17 2016-12-24 11:21:51 +00:00
David Crocker
df5507c8c8 More work on Duet Ethernet support 2016-12-23 23:19:33 +00:00
David Crocker
fdcef50706 Version 1.17RC3
Bed compensation taper is now applied to 3/4/5-point compensation
methods too
Recognise generated-with comment in new Cura gcode files
Recognise filament-used info min new kisslicer files
When uploading files, create the full path if necessary
Duet 0.8.5 webserver looks for gzipped files first
A second controlled fan on the Duet 0.6 is no longer inverted
2016-12-21 17:17:57 +00:00
David Crocker
90c4e1a53a Version 1.17RC2
Renamed function Network::IPAddress to GetIPAddress to avoid clash with
IPAddress class used in DuetEthernet build
Duet 0.8.5 web server now looks for a gzipped version of the file is a
web file was not found
Duet 0.8.5 web server only returns a 404 page of the file that was not
found was a .html or .htm file
2016-12-18 15:46:03 +00:00
David Crocker
da3d67403f 1.17RC1+2
Changes for Duet Ethernet
Changes RADDS Pins.h to support 2 SD cards
2016-12-17 16:58:27 +00:00
David Crocker
f7aa7304b8 Minor changes to 1.17 RC1
Fixed Duet085 build
Set Z probe control/mod pin high when selecting probe type 5
2016-12-15 12:01:40 +00:00
David Crocker
d978aa57a6 Version 1.17rc1a
Restructured directories and dded build configuration for Duet Ethernet
2016-12-13 21:32:10 +00:00
David Crocker
cd5af6c7b1 Version 1.17rc1
- Added support for M374 (save height map) and M375 (load height map)
- Added M376 (set bed compensation taper height)
- Added T parameter to G31 command
- M500, M501 and M502 now use config_override.g instead of flash memory.
The parameters saved and restored are:
-- M307 auto tune results
-- PID parameters, if you used M301 to override the auto tune PID
settings
-- Delta printer M665 and M666 settings
-- G31 trigger height, trigger value and X and Y offsets
- The M501 auto save option has been removed
- Removed S and T parameters from M301 command. Use M307 command
instead.
- M301 with negative P parameter no longer sets bang-bang mode. Use M307
instead.
- Added P parameter to the G31 command to specify Z probe type. This
allows you to view the parameters for the Z probe(s) and to set
parameters for a particular Z probe type without selecting that type.
G31 P or G31 P0 prints the parameters of the currently-selected Z probe.
- Z probe offsets are now applied during G30 probing with specified XY
coordinates, including during delta auto calibration
- Z probe recovery time is now applied from the end of the travel move
just before probing
- Fixed bad dive height when using G29 with a large trigger height
- Fixed bad JSON message during printing when there were no active
extruders
- Added exception handlers and store a software reset code when an
exception occurs
- Fixed reset reason text because on the Duet WiFi a watchdog reset can
look like an external reset
- G30 S-1 how printes the stopped height
- Implemented M401 and M402
2016-12-12 15:27:39 +00:00
David Crocker
a7ea87d1e3 Version 1.17dev8
Fixed bugs related to grid bed compensation and M571 in 1.17dev7 version
Software reset code storage/retrieval now works on Duet WiFi
Removed max average printing acceleration parameter
M571 now accepts F parameter to set the PWM frequency
M106 now shows if fan is disabled
2016-12-09 14:02:18 +00:00
David Crocker
52b8285017 Version 1.17dev7
Implemented loading height map from file (G29 S1)
Implemented move segmentation when grid levelling is used
M571 now accepts a P parameter to define the output pin
M558 R parameter is now Z probe recovery time
Keep track of time locally instead of using the inaccurate RTC
M109 and M104 default to first tool if no tool selected or specified
M109 activates the tool if no tool or a different tool was activated
Default max temperature excursion increased to 15C
Removed PROTO1 confivguration, added RADDS configuration
Fixed deadlock in some earlier 1.17dev builds when a macro that does
movement is run during a print
2016-12-07 13:28:17 +00:00
David Crocker
bc17f312ae Version 1.15dev6
Grid compensation now working except for G28 S2 and lack of segmentation
for long moves
Fixed pause command that was broken in previous 1.17 dev release
Support mixing extruders using absolute extruder coordinates, except
that pause/resume won't restore the correct extruder coordinates
2016-11-22 22:25:30 +00:00
David Crocker
59dd1b2dc5 Version 1.17dev4
Added support for M557 grid definition and G29 grid probing (not
complete yet)
Workaround for DWC sending volume ID in new name when renaming a file
across directories
G1 moves with S2 modifier no longer ad the tool offset
2016-11-19 09:58:45 +00:00
David Crocker
88e3092b78 Version 1.17 dev 4
Support concurrenrt execution of commands form different channels
M143 now supports individual temperature limits per heater
Fixed issue with dely of up to 2 seconds when switching Duet WiFi heater
channel 3 to servo mode
When enable polarity is set using the M569 R parameter, disable the
corresponding drive
Add exdperimental S99 option on G1 command to log probe changes (Duet
WiFi only)
2016-11-17 21:29:20 +00:00
David Crocker
35a9a1a707 Version 1.17-dev1
Support R and S parameters in M109 and M190 as Marlin does
Added support for M191
Added support for Steinhart-Hart C parameter
Thermistor disconnected threshold now depends on thermistor parameters
2016-11-12 18:40:28 +00:00
David Crocker
0e80563905 Version 1.16 release
Added I parameter in M280 command
Added diagnostic test (M122 S101) for SX1509B chip on Duet WiFi
expansion boards
Heaters driven from TC channels on Duet WiFi no longer glitch on for a
short while after reset
Bug fix: M280 S-1 was ignoring inverted output status
Bug fix: if there were too many files in the /gcodes folder then AJAX
errors occurred (thanks chrishamm)
2016-11-08 16:21:43 +00:00