Jim Morris [Wed, 11 Apr 2018 12:33:19 +0000 (13:33 +0100)]
make sure we define extruders before endstops for obscure reasons
Jim Morris [Wed, 11 Apr 2018 12:31:41 +0000 (13:31 +0100)]
protect against defining a homing endstop when the motor/actuator is not defined
Jim Morris [Wed, 11 Apr 2018 11:05:14 +0000 (12:05 +0100)]
Make sure we only handle homing axis that have been correctly defined
Jim Morris [Wed, 11 Apr 2018 10:46:35 +0000 (11:46 +0100)]
Allow non contigous definition of ABC homing endstops
Jim Morris [Thu, 5 Apr 2018 12:48:42 +0000 (13:48 +0100)]
fix typo
Jim Morris [Wed, 4 Apr 2018 15:52:50 +0000 (16:52 +0100)]
update latest bins
Jim Morris [Wed, 4 Apr 2018 15:45:15 +0000 (16:45 +0100)]
Merge pull request #1301 from wolfmanjm/add/temps_to_query
add temp readings to query format (replace M105)
Jim Morris [Wed, 4 Apr 2018 14:26:14 +0000 (15:26 +0100)]
add temp readings to query format (replace M105)
Jim Morris [Tue, 3 Apr 2018 20:58:11 +0000 (21:58 +0100)]
Merge pull request #1300 from wolfmanjm/upstreamedge
fix some error: strings when in grbl mode
Jim Morris [Tue, 3 Apr 2018 20:56:29 +0000 (21:56 +0100)]
fix some error: strings when in grbl mode
If in alarm state ignore line not each multiple gcode on line
Jim Morris [Tue, 3 Apr 2018 20:24:01 +0000 (21:24 +0100)]
Merge pull request #1299 from wolfmanjm/upstreamedge
Fix M115 format to match reprap.org specs
Jim Morris [Tue, 3 Apr 2018 20:22:28 +0000 (21:22 +0100)]
FIx M115 format as per reprap.org specs.
Jim Morris [Sat, 31 Mar 2018 10:35:39 +0000 (11:35 +0100)]
add comment
Jim Morris [Sat, 31 Mar 2018 10:32:57 +0000 (11:32 +0100)]
remove the ARC epsilon define
Jim Morris [Sat, 31 Mar 2018 10:27:52 +0000 (11:27 +0100)]
Merge pull request #1296 from Zaaphod/Use_Arc_Milestone
Use arc_milestone
James Richters [Sat, 31 Mar 2018 00:56:35 +0000 (20:56 -0400)]
Cleanup and add comments
James Richters [Sat, 31 Mar 2018 00:17:19 +0000 (20:17 -0400)]
Remove Report for testing
James Richters [Fri, 30 Mar 2018 23:31:31 +0000 (19:31 -0400)]
Use Arc_Milestone for arc calculations - improve accuracy of rt_axis0 and rt_axis1
Also added more tests for comparison in the temporary report
James Richters [Fri, 30 Mar 2018 20:51:44 +0000 (16:51 -0400)]
Put diagnostic info back in
James Richters [Fri, 30 Mar 2018 20:48:48 +0000 (16:48 -0400)]
Merge remote-tracking branch 'Smoothieware/edge' into Arc_Diagnosetic2
Jim Morris [Fri, 30 Mar 2018 19:16:47 +0000 (20:16 +0100)]
Merge pull request #1295 from Smoothieware/add/arc_milestone
added arc_milestone
Jim Morris [Fri, 30 Mar 2018 19:15:04 +0000 (20:15 +0100)]
added arc_milestone
Jim Morris [Fri, 30 Mar 2018 10:38:29 +0000 (11:38 +0100)]
Merge pull request #1294 from wolfmanjm/upstreamedge
revert PR #1293
Jim Morris [Fri, 30 Mar 2018 10:35:30 +0000 (11:35 +0100)]
Revert "Merge pull request #1293 from Zaaphod/Missing_Arcs"
This reverts commit
2ed924ed1e5bc6ae2f341f8c22ec3bf3c85c6476, reversing
changes made to
573ed7c0c719008075acb1d36850e718a2707372.
Jim Morris [Fri, 30 Mar 2018 10:29:35 +0000 (11:29 +0100)]
Revert "Update Robot.cpp"
This reverts commit
402a31afb0efab312e3fc2e51d6b3954246c9631.
Jim Morris [Fri, 30 Mar 2018 09:00:03 +0000 (10:00 +0100)]
Update Robot.cpp
replace and with &&
Jim Morris [Fri, 30 Mar 2018 08:58:17 +0000 (09:58 +0100)]
Merge pull request #1293 from Zaaphod/Missing_Arcs
Improvements to G2/G3 Arcs
James Richters [Thu, 29 Mar 2018 22:06:36 +0000 (18:06 -0400)]
Remove diagnostic output to console and add comments
James Richters [Wed, 28 Mar 2018 12:24:27 +0000 (08:24 -0400)]
Add test tor full circles and only perform atan2 if not a full circle. fix correction for atan2 to prevent accidental giant circles
Modify dignostic output and perform both old and new atan corrections to see the difference.
James Richters [Mon, 26 Mar 2018 23:51:31 +0000 (19:51 -0400)]
Diagnostic variables sent to console for evaluation
Jim Morris [Tue, 13 Mar 2018 18:48:28 +0000 (18:48 +0000)]
call on_idle
fixes issue #1286
Jim Morris [Thu, 8 Mar 2018 11:24:27 +0000 (11:24 +0000)]
Update config
Jim Morris [Wed, 7 Mar 2018 20:22:28 +0000 (20:22 +0000)]
Merge pull request #1282 from wolfmanjm/upstreamedge
Allow G38 to do arbitrary move to xyz
Jim Morris [Wed, 7 Mar 2018 20:08:13 +0000 (20:08 +0000)]
Allow G38 to do arbitrary move to xyz
Jim Morris [Wed, 7 Mar 2018 14:57:12 +0000 (14:57 +0000)]
Merge pull request #1281 from wolfmanjm/upstreamedge
fix percent complete for panels
Jim Morris [Wed, 7 Mar 2018 14:55:08 +0000 (14:55 +0000)]
FIx percent progress for panels
Jim Morris [Mon, 5 Mar 2018 14:52:40 +0000 (14:52 +0000)]
fix up some style issues in the laser PR
Jim Morris [Mon, 5 Mar 2018 14:50:08 +0000 (14:50 +0000)]
Merge pull request #1278 from wolfmanjm/upstreamedge
fix bad formatting from laser PR
Jim Morris [Mon, 5 Mar 2018 14:47:35 +0000 (14:47 +0000)]
fix bad formattingfrom PR
Jim Morris [Mon, 5 Mar 2018 14:20:16 +0000 (14:20 +0000)]
Merge pull request #1277 from nuclearcat/edge
Add more safety to laser testing by optional duration parameter and s…
Denys Fedoryshchenko [Mon, 5 Mar 2018 00:10:29 +0000 (02:10 +0200)]
Fixing compile warnings, sorry
Denys Fedoryshchenko [Mon, 5 Mar 2018 00:04:53 +0000 (02:04 +0200)]
Properly handling when PWM frequency is slower than 1khz
Denys Fedoryshchenko [Sun, 4 Mar 2018 04:22:02 +0000 (06:22 +0200)]
Add more safety to laser testing by optional duration parameter and status query
Jim Morris [Fri, 2 Mar 2018 11:22:15 +0000 (11:22 +0000)]
update latest bins
Jim Morris [Fri, 2 Mar 2018 11:20:11 +0000 (11:20 +0000)]
Merge pull request #1276 from wolfmanjm/upstreamedge
return Error on exceeding soft limit
Jim Morris [Fri, 2 Mar 2018 11:17:47 +0000 (11:17 +0000)]
return Error on exceeding soft limit
Jim Morris [Thu, 1 Mar 2018 22:33:22 +0000 (22:33 +0000)]
Merge pull request #1149 from Smoothieware/feature/soft-endstops
Feature/soft endstops
Jim Morris [Thu, 1 Mar 2018 16:26:57 +0000 (16:26 +0000)]
Merge pull request #1274 from ahmetipkin/edge
Compansation dampening functionality is added
Ipkin, Ahmet [Thu, 1 Mar 2018 16:13:45 +0000 (17:13 +0100)]
Fixed indentation and braces
Ipkin, Ahmet [Thu, 1 Mar 2018 15:25:09 +0000 (16:25 +0100)]
Deleted the bogus files.
Ipkin, Ahmet [Thu, 1 Mar 2018 14:44:01 +0000 (15:44 +0100)]
Made the Compansation Dampening as optional
If the config values are not set; the compansation dampening is shut down; so the compansation is applied everywhere - like the old behaviour
If you want to enable it; you should define both of
leveling-strategy.rectangular-grid.height_limit
leveling-strategy.rectangular-grid.dampening_start
configs.
Jim Morris [Thu, 1 Mar 2018 08:53:56 +0000 (08:53 +0000)]
Merge pull request #1275 from Zaaphod/Probe-G20
Display results of probe in inches if in G20 mode
James Richters [Thu, 1 Mar 2018 02:48:30 +0000 (21:48 -0500)]
Display results of probe in inches if in G20 mode
Ahmet Ipkin [Thu, 1 Mar 2018 02:02:32 +0000 (03:02 +0100)]
Added compensation degragation function for rectangular grid
Now the compensation is not applied always - rather is applied only for limited amount (like Repetier firmware does). In order to configure it, you add two new configs:
leveling-strategy.rectangular-grid.height_limit <height_limit>
leveling-strategy.rectangular-grid.dampening_start <start limit>
Basically what it does is; until Z axis is below 'start limit', any compensation that would be applied is applied as is (full power). However, after this 'start limit' is hit, until 'height limit' is reached, the compensation is dampened gradually (linearly) from full power to none (i.e. no compensation after 'height limit' is passed)
Main reason for this is: we generally use Mesh bed leveling for compensating our non-flat beds; but generally after first few layers; the extruded plastic can cover for this bent; and it is no longer needed.
Jim Morris [Mon, 26 Feb 2018 17:31:46 +0000 (17:31 +0000)]
fix merge
Merge remote-tracking branch 'upstream/edge' into feature/soft-endstops
Jim Morris [Mon, 26 Feb 2018 17:04:05 +0000 (17:04 +0000)]
Merge remote-tracking branch 'upstream/edge' into feature/soft-endstops
Jim Morris [Mon, 26 Feb 2018 11:26:41 +0000 (11:26 +0000)]
update latest bins
Jim Morris [Sun, 25 Feb 2018 20:49:46 +0000 (20:49 +0000)]
Merge pull request #1272 from wolfmanjm/upstreamedge
fix arc generation for tiny arcs
Jim Morris [Sun, 25 Feb 2018 20:44:40 +0000 (20:44 +0000)]
fix arc generation for tiny arcs
Jim Morris [Tue, 20 Feb 2018 14:51:18 +0000 (14:51 +0000)]
Merge pull request #1270 from wolfmanjm/upstreamedge
fix usbdevice.
Jim Morris [Tue, 20 Feb 2018 14:48:16 +0000 (14:48 +0000)]
fix typos in USBdevice
Jim Morris [Tue, 20 Feb 2018 14:46:08 +0000 (14:46 +0000)]
make query new format the default
Jim Morris [Sat, 17 Feb 2018 09:05:08 +0000 (09:05 +0000)]
Merge pull request #1269 from cilynx/feature/m115_get_firmware_version
Add M115 Get Firmware Version
Randy C. Will [Sat, 17 Feb 2018 01:28:32 +0000 (17:28 -0800)]
Add M115 Get Firmware Version
I based this implementation on the existing `version` command in
SimpleShell as well as looking what the other players are doing with
M115:
http://reprap.org/wiki/G-code#M115:_Get_Firmware_Version_and_Capabilities
http://marlinfw.org/docs/gcode/M115.html
https://duet3d.com/wiki/G-code#M115:_Get_Firmware_Version_and_Capabilities
I did not bring MCU over from `version` as I felt there would be too
much code duplication / complexity for too little gain. The M115 output
from my test branch looks like this:
FIRMWARE_NAME:Smoothieware, FIRMWARE_URL:http://smoothieware.org,
SOURCE_CODE_URL:https://github.com/Smoothieware/Smoothieware,
FIRMWARE_VERSION:feature/m115_get_firmware_version-
8d5ff26,
BUILD_DATE:Feb 16 2018 17:11:15, SYSTEM_CLOCK:100MHz, AXES:3, CNC:1,
MSD:1
ok
Of course FIRMWARE_VERSION will look better when it's `edge` as opposed
to my overly long branch name.
I arbitrarily followed Marlin's example of leaving colons in the value
of the k-v pair as a problem for the parser instead of URL encoding them
like RepRap or avoiding them entirely like Duet3d. I'm not married to
this, so if there's a preference for another direction, I'm open.
If accepted, I believe this fixes #279.
Jim Morris [Fri, 9 Feb 2018 17:03:10 +0000 (17:03 +0000)]
Merge pull request #1267 from cilynx/fix/spindle_pid_tuning
Fix M958 Set Spindle PID Parameters
Randy C. Will [Fri, 9 Feb 2018 16:49:18 +0000 (08:49 -0800)]
Fix M958 Set Spindle PID Parameters
Original code sets the P term to any values provided for P, I, or D with
no way to set I or D terms. This change sets I and D correctly as one
would expect when I and D are passed to M958. The set_i_term() and
set_d_term() functions already existed, so the layout in
on_gcode_received() was likely a simple oversight by the original
author.
I tested this change on the bench with a Smoothieboard driving an MC2100
DC controller hooked up to a 2HP treadmill motor. Prior to the change,
M958 would only set the P term. After the change, M958 works as
expected and the PID controller can be tuned live.
Jim Morris [Thu, 8 Feb 2018 15:31:02 +0000 (15:31 +0000)]
Merge pull request #1266 from wolfmanjm/upstreamedge
some convenience features
Jim Morris [Thu, 8 Feb 2018 15:12:15 +0000 (15:12 +0000)]
add example six-axis config snippet
Jim Morris [Thu, 8 Feb 2018 15:04:14 +0000 (15:04 +0000)]
add max_travel warning to homing cycle fail
Jim Morris [Tue, 23 Jan 2018 14:53:01 +0000 (14:53 +0000)]
add a useful message after delta grid probe to save it.
Jim Morris [Mon, 22 Jan 2018 14:49:43 +0000 (14:49 +0000)]
Merge pull request #1262 from wolfmanjm/upstreamedge
Fix snprintf return value misunderstanding
Jim Morris [Mon, 22 Jan 2018 14:46:00 +0000 (14:46 +0000)]
sizeof(buf)-1 not needed
Jim Morris [Mon, 22 Jan 2018 14:40:59 +0000 (14:40 +0000)]
fix misunderstanding for return value of snprintf, where it matters.
Jim Morris [Sat, 20 Jan 2018 19:42:47 +0000 (19:42 +0000)]
Update TemperatureControl.cpp
Jim Morris [Thu, 11 Jan 2018 18:16:17 +0000 (18:16 +0000)]
Merge pull request #1256 from wolfmanjm/upstreamedge
fix progress when large files are being played
Jim Morris [Thu, 11 Jan 2018 00:22:11 +0000 (00:22 +0000)]
fix progress when large files are being played
Jim Morris [Mon, 1 Jan 2018 22:27:21 +0000 (22:27 +0000)]
update -latest bins
Jim Morris [Mon, 1 Jan 2018 22:21:42 +0000 (22:21 +0000)]
Merge pull request #1250 from wolfmanjm/fix/disk_write
fix disk write when sector count > 1.
Jim Morris [Mon, 1 Jan 2018 11:55:15 +0000 (11:55 +0000)]
remove 400 byte limit write HACK
Jim Morris [Mon, 1 Jan 2018 11:40:28 +0000 (11:40 +0000)]
Merge pull request #1241 from michaelnew/cartesian_grid_extrapolation
Add simple extrapolation for cartesian grid compensation
Jim Morris [Mon, 1 Jan 2018 11:37:07 +0000 (11:37 +0000)]
fix disk write when sector count > 1.
This should allow the HACK that limits disk writes to 512 bytes.
Jim Morris [Sat, 23 Dec 2017 02:16:10 +0000 (02:16 +0000)]
Merge pull request #1239 from adrianjobst/fix/probing-dwell
fix / dwell before probing
Jim Morris [Fri, 22 Dec 2017 21:38:12 +0000 (21:38 +0000)]
update firmware.bin
Jim Morris [Thu, 21 Dec 2017 20:29:25 +0000 (20:29 +0000)]
Merge pull request #1244 from wolfmanjm/upstreamedge
Fix handling of an illegal line number
Jim Morris [Thu, 21 Dec 2017 20:25:43 +0000 (20:25 +0000)]
Fix crash if an illegal line with just N1 on it is sent or a blank line with line number and checksum
Fixes issue #1243
Jim Morris [Sun, 10 Dec 2017 17:01:55 +0000 (17:01 +0000)]
Merge pull request #1242 from lordofhyphens/stream-log
Alternate quiet mode for smoothie-stream that outputs to a log instead.
Joseph Lenox [Sun, 10 Dec 2017 16:46:44 +0000 (10:46 -0600)]
Alternate quiet mode that outputs to a log instead (useful when print progress wants to be monitored and process is to be backgrounded).
Michael New [Sat, 9 Dec 2017 02:18:46 +0000 (18:18 -0800)]
cartesian grid still provides an offset for out-of-bounds xy locations
adrianjobst [Wed, 6 Dec 2017 21:45:49 +0000 (22:45 +0100)]
moved dwell time to the begining of the function, so the if clause will not cancell the function before the dwell ever happened
Jim Morris [Tue, 5 Dec 2017 21:30:58 +0000 (21:30 +0000)]
Merge remote-tracking branch 'upstream/edge' into upstreamedge
Jim Morris [Mon, 20 Nov 2017 09:54:16 +0000 (09:54 +0000)]
Merge pull request #1237 from cilynx/fix/spindle_analog_report_speed
Report actual RPM and PWM instead of just target
Randy C. Will [Sun, 19 Nov 2017 22:03:54 +0000 (14:03 -0800)]
Report actual RPM and PWM instead of just target
The way `report_speed` was implemented, `M957` shows `target_rpm` as the
"Current RPM" and then calculates the PWM "Analog value" from there.
Because `turn_off` uses `update_pwm(0)` to turn off the output signal
without clobbering the `target_rpm` set by `M3`, if you `turn_off` the
spindle (via `M5`, a `HALT` state, etc), `M957` (`report_speed`)
incorrectly continues to report the old "Current RPM" and calculated
"Analog value" even thought the PWM signal has actually been cut off.
I turned this around so `report_speed` reads the real PWM ("Analog
value") being sent out `pwm_pin` and then calculates the real "Current
RPM" from there. I also appended a new "Target RPM" field to the
`report_speed` output containing `target_rpm`.
Tested over USB serial with `M597`, `M3`, `M5`, `M112`, `M999`, `^X`,
and `$X`.
Jim Morris [Sun, 19 Nov 2017 20:53:57 +0000 (20:53 +0000)]
Merge pull request #1236 from cilynx/fix/spindle_off_on_halt
Fix/spindle off on halt
Randy C. Will [Sun, 19 Nov 2017 20:41:11 +0000 (12:41 -0800)]
Add spindle.ignore_on_halt to config sample snippet
Randy C. Will [Sun, 19 Nov 2017 20:35:55 +0000 (12:35 -0800)]
Consolidate common spindle functions
Doing the exact same event registration in every sub-module isn't very
DRY and could lead to inadvertent missed registrations in new
sub-modules. Consolidating the registrations into `SpindleMaker`.
Randy C. Will [Sun, 19 Nov 2017 19:19:59 +0000 (11:19 -0800)]
Stop spindle on HALT
When a machine enters a `HALT` state for any reason, the spindle should
stop for safety along with everything else. This commit changes the
default behavior to `turn_off` the spindle `on_halt`. I added an
optional `spindle.ignore_on_halt` config parameter that defaults to
`false` in case anyone needs the previous less-safe behavior.
I believe this addresses #1069.
I confirmed functionality on `PWMSpindleControl` via `M957` as well as a
physical scope while causing `HALT` via `M112` or `^X` over the serial
interface.
I found some weirdness in `AnalogSpindleControl` around `report_speed`,
but I'll address that in another PR. I did confirm that `turn_off` is
being called `on_halt` as it should be and the PWM duty cycle is reduced
to 0 even though `M957` (`report_speed`) continues to report that the
spindle is moving.
Without having the equipment for the other side of the RS485 connection,
I can't do much to test `ModbusSpindleContol`, but
`HuanyangSpindleControl`, the only supported Modbus VFD right now,
implements `turn_off`, so I don't see any reason it shouldn't work fine
with this change.
Jim Morris [Sat, 18 Nov 2017 21:02:14 +0000 (21:02 +0000)]
update cnc firmware latest
Jim Morris [Sat, 18 Nov 2017 20:56:47 +0000 (20:56 +0000)]
move spindle.config
Jim Morris [Sat, 18 Nov 2017 20:28:39 +0000 (20:28 +0000)]
Merge pull request #1235 from cilynx/feature/spindle_max_pwm
Feature/spindle max pwm
Randy C. Will [Sat, 18 Nov 2017 20:03:37 +0000 (12:03 -0800)]
Feature/spindle max pwm
Treadmill motor controllers are becoming increasingly popular in DIY
machines. One such popular controller is the mc2100 which expects a
duty cycle of 0-85% for 0-100% speed. To keep the PWM signal below the
controller maximum and thus prevent the controller from going into an
error state when higher speeds than physically possible are requested,
we need a config option for the ceiling on the PWM signal.
I tested this for backwards compatibility with my original configuration
without this new parameter included and it works as expected, using 100%
as the maximum duty cycle.
I tested setting `spindle.max_pwm` to 0.85 (above the hard-coded 0.5
starting point) and 0.25 (below the hard-coded 0.5 starting point) and
confirmed expected function for both via M957 output and viewing the
physical PWM output with a scope.
I added a sample `spindle.config` showing this new parameter in context
with the other spindle parameters I could find with a quick grep of the
code and search through the docs.