Commit Graph

569 Commits

Author SHA1 Message Date
Scott Lahteine
931ab4ec40 Rename Junction Deviation options 2018-05-26 18:33:51 -05:00
Scott Lahteine
aaaf09bda2 BEZIER_JERK_CONTROL => S_CURVE_ACCELERATION 2018-05-26 18:33:51 -05:00
Scott Lahteine
01d37e00af
Fix up stepper ISR with linear advance timing (#10853)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-26 01:00:13 -05:00
Scott Lahteine
7261f48872 Fix reset of endstops and move state 2018-05-24 19:33:36 -05:00
Scott Lahteine
50fa8e01c1 Minor optimization of axis_did_move bits 2018-05-24 19:08:07 -05:00
Scott Lahteine
f28e366b77 Followup for core endstops 2018-05-24 03:02:57 -05:00
Scott Lahteine
9644d56b42 Patches for core motion tests 2018-05-24 00:49:01 -05:00
Scott Lahteine
3e3789da85
Regression: Endstops Core compatibility (#10823)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-23 03:45:25 -05:00
Scott Lahteine
4b610b333e Tweak G38 formatting 2018-05-22 01:56:03 -05:00
Scott Lahteine
d2647c1f19 Fix G1 behaviour after tool unpark
Fix #10777 for 2.0.x

Co-Authored-By: Ante Vukorepa <o.orcinus@gmail.com>
2018-05-22 00:53:00 -05:00
Scott Lahteine
0c3773d724 Cleanup in stepper_indirection.h 2018-05-22 00:36:03 -05:00
Scott Lahteine
4b2f6e3b2b
[2.0.x] Add endstop noise filter (#10796) 2018-05-21 15:51:38 -05:00
Scott Lahteine
65a004564c Stepper::set_position needed for some applications 2018-05-21 15:21:33 -05:00
Scott Lahteine
435ecb6b67 Followup to stepper/planner refactor 2018-05-20 23:13:38 -05:00
Bob Kuhn
d557c84a71 [2.0.x] Error for FAST_PWM_FAN with 32 bit CPU (#10798) 2018-05-20 11:37:55 -05:00
etagle
569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
2018-05-20 07:10:24 -05:00
etagle
a4af975873 Fix planner block optimization
- Fixed the planner incorrectly avoiding optimization of the block following the active one.
- Added extra conditions to terminate planner early and avoid redundant computations.
2018-05-20 07:10:24 -05:00
etagle
e0ca627033 Planner block HOLD flag
Allows the Stepper ISR to wait until a given block is free for use. Allows Planner to plan the first move, which is split into two.
2018-05-20 06:23:58 -05:00
etagle
a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
etagle
0566badcef Add memory barrier, optimal interrupt on-off
Disabling an ISR on ARM has 3 instructions of latency. A Memory barrier is REQUIRED to ensure proper and predictable disabling. Memory barriers are expensive, so avoid disabling if already disabled (See https://mcuoneclipse.com/2015/10/16/nvic-disabling-interrupts-on-arm-cortex-m-and-the-need-for-a-memory-barrier-instruction/)
2018-05-20 02:39:34 -05:00
Scott Lahteine
7dc03ce721 Simplified fix for babystep pulse width
Alternative to the apparently superfluous double delay
2018-05-19 21:00:08 -05:00
Scott Lahteine
65270d6a96 Fix LIN_ADVANCE + SWITCHING_EXTRUDER
Followup to #10656
2018-05-19 18:32:00 -05:00
Bob Kuhn
9ad42d6617 add delay between pulse edges (#10778) 2018-05-19 17:12:16 -05:00
Scott Lahteine
83d42f33e1 Add HAS_HOTEND_OFFSET_Z conditional 2018-05-19 17:05:15 -05:00
GMagician
3c76bda2d8 Fix switching extruder
`DONT_SWITCH` got lost along the way. Replace it with `DO_SWITCH_EXTRUDER` and adjust the code.
2018-05-19 17:05:15 -05:00
Giuliano
e1d9046efc [2.0.x] Temperature reading fix (#10774) 2018-05-19 15:39:36 -05:00
Scott Lahteine
50270b53a0 Clear up some more compile warnings 2018-05-17 18:40:49 -05:00
Jiri Jaburek
43ddb29f9e Add FAN_MAX_PWM for M106-controlled fans 2018-05-15 21:18:46 -05:00
Scott Lahteine
836b0bbeee Fix MBL line_to_destination
Fix #10708
2018-05-13 16:50:39 -05:00
Scott Lahteine
ba4c32eec5 Followup to _AXIS patch 2018-05-13 10:43:35 -05:00
Scott Lahteine
d9154ebdf6 Followup to math patch 2018-05-13 09:30:27 -05:00
Scott Lahteine
883b0c9880
Convert custom maths to inlines (#10728) 2018-05-13 08:10:08 -05:00
Scott Lahteine
08e36e264e Apply _AXIS macro 2018-05-13 06:51:01 -05:00
Scott Lahteine
99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine
083ec9963e Tweaks to heater / lcd conditions 2018-05-13 04:52:56 -05:00
Scott Lahteine
8f8c6a9bc4
Move get_axis_position_mm to Planner (#10718) 2018-05-12 09:59:11 -05:00
Scott Lahteine
a1062eec5b
Better handling of DELAY_NS and DELAY_US (#10716)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 08:34:04 -05:00
Scott Lahteine
f5aaa2d6c0 Fix some compiler warnings 2018-05-12 05:28:12 -05:00
Scott Lahteine
3614e6ce0f Fix Switching Extruder with Linear Advance 2018-05-12 02:26:14 -05:00
Scott Lahteine
625035a9ce
Fix M301 access to lpq_len (#10714)
Co-Authored-By: Zwaubel
2018-05-12 02:13:40 -05:00
Scott Lahteine
306f0f2135
Move Stepper::synchronize to Planner (#10713)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Giuliano
d99f1b2245 [2.0.x] EEPROM code cleanup (#10710) 2018-05-11 18:06:04 -05:00
Scott Lahteine
325bbbc8c2
[2.0.x] Enable AD595 and AD8495 in concert (#10693)
* Allow both AD595 and AD8495 in concert
* General temperature code tweaks
2018-05-11 01:01:51 -05:00
Scott Lahteine
23a876b08d Update a comment in motion.cpp 2018-05-10 15:03:37 -05:00
Scott Lahteine
439e0cdd0f
Patch up reverse_pass_kernel (and other planner code) (#10674) 2018-05-10 01:30:55 -05:00
Scott Lahteine
57c2f8d2f6 Trailing whitespace cleanup 2018-05-10 00:17:10 -05:00
Scott Lahteine
b76344c080 More Trinamic cleanup 2018-05-10 00:12:10 -05:00
Scott Lahteine
722aba77f3
Fix LIN_ADVANCE + SWITCHING_EXTRUDER stepper directions (#10656) 2018-05-09 14:36:09 -05:00
Scott Lahteine
a225d2e99e Fix compilation with UBL and Arc/Bézier
Fix #10660
2018-05-09 00:40:37 -05:00
Scott Lahteine
6d9ec1852a Fix compilation of say_units
Fixes #10663
2018-05-09 00:30:29 -05:00
Scott Lahteine
19f189b4e5
Add UBL support for G2/G3 and G5 (#10648) 2018-05-08 11:10:45 -05:00
Scott Lahteine
4d4bf7897d Junction Deviation jerk limiting option 2018-05-08 10:08:54 -05:00
Scott Lahteine
0436e16fb2 Apply shorthand Assembler macros 2018-05-08 10:08:54 -05:00
Scott Lahteine
d1b619be52 Standardize some hexadecimals 2018-05-08 09:19:18 -05:00
Scott Lahteine
55f1f8446b Show correct current units in M503 2018-05-08 06:29:53 -05:00
Scott Lahteine
1f11b0f612 Fully init planner sync block 2018-05-06 08:16:54 -05:00
Scott Lahteine
bfe223e120 Adjust usage of stepper.synchronize 2018-05-06 01:24:14 -05:00
Scott Lahteine
af1950a63e Improve sync of stepper positions 2018-05-06 01:24:14 -05:00
Scott Lahteine
0c23792344 Apply int32_t to stepper 2018-05-05 18:21:03 -05:00
Scott Lahteine
81b632c255 Additional temp-oriented improvements 2018-05-02 08:43:22 -05:00
nightdemonx
e911635fb1 Add thermocouple with AD8495 support 2018-05-02 08:43:16 -05:00
Scott Lahteine
d7b699ec34 Fewer includes of vector_3.h 2018-05-01 07:05:18 -05:00
Scott Lahteine
2c1205d8b1 Improve debug of homing move feedrate 2018-04-30 23:49:51 -05:00
Scott Lahteine
c8e4b7c8a6 Fix XY homing move away rate 2018-04-30 23:49:07 -05:00
MagoKimbra
1f92b9a4ed Fix do_probe_move with fr_mm_s (#10576) 2018-04-30 16:28:20 -05:00
Scott Lahteine
4dfc011d86 Fix homing with probe feedrates 2018-04-30 03:35:07 -05:00
Scott Lahteine
59fda986ea Allow Z_AFTER_PROBING to be 0 2018-04-30 03:25:47 -05:00
Scott Lahteine
1dab44213a Fix the TMC26X initializer CS pin argument
From #10531

Co-Authored-By: chriscg9 <chriscg9@users.noreply.github.com>
2018-04-28 12:02:45 -05:00
Scott Lahteine
7546f87949 Allow a home bump of 0 when homing Z with probe 2018-04-28 10:26:31 -05:00
Scott Lahteine
683dc24e0f When homing with Z probe bump at Z_PROBE_SPEED_SLOW 2018-04-28 08:50:23 -05:00
Scott Lahteine
5ac226aa93 Further cleanup of inline delays 2018-04-27 19:22:22 -05:00
Chris Pepper
2242b98248 [LPC176x] Emergency Parser Feature (#10516) 2018-04-25 06:44:26 -05:00
Scott Lahteine
9789c1c719 Fix current_temperature_chamber compile error
Fix #10505
2018-04-24 07:55:58 -05:00
Eduardo José Tagle
0c428a66d9 Proper AVR preemptive interrupt handling (#10496)
Also simplify logic on all ARM-based interrupts. Now, it is REQUIRED to properly configure interrupt priority. USART should have highest priority, followed by Stepper, and then all others.
2018-04-23 22:05:07 -05:00
Scott Lahteine
f423e54f77 Strip trailing spaces 2018-04-23 18:00:43 -05:00
Scott Lahteine
cb46cb8480
Add HAS_HEATED_BED conditional (#10495) 2018-04-23 17:13:01 -05:00
Scott Lahteine
a90cbc6339
[2.0.x] Wait for bed heaters between probing (#10472) 2018-04-21 15:43:21 -05:00
Scott Lahteine
5a064d0e94 Fix bug in planner.set_position_mm 2018-04-16 04:19:58 -05:00
Scott Lahteine
8f57e098de Use end-of-line comments in planner.cpp 2018-04-15 19:02:30 -05:00
Scott Lahteine
36b97bde9f clear_block_buffer, kill_current_block in quick_stop 2018-04-13 22:04:53 -05:00
Luc Van Daele
12785583d0 [2.0.x] G33 MIN_STEPS_PER_SEGMENT (#10386) 2018-04-12 20:22:29 -05:00
Luc Van Daele
646aa20b43 Overhaul of G33 Delta Calibration (#8822) 2018-04-11 21:14:48 -05:00
Luc Van Daele
ac2e0afb62 Low Point for delta calibration (#10363) 2018-04-11 18:59:46 -05:00
Eduardo José Tagle
57a899a412 [2.0.x] 6th-order jerk-controlled motion planning in real-time for AVR (#10373) 2018-04-11 18:13:42 -05:00
Sean
2d9b0a66fe Add Filament Change accelerations 2018-04-09 23:57:27 -05:00
Scott Lahteine
8b8ad14178 Add Z_PROBE_LOW_POINT to prevent damage 2018-04-09 17:23:03 -05:00
etagle
a29adde5c0 Implement BEZIER_JERK_CONTROL
Enable 6th-order jerk-controlled motion planning in real-time.
Only for 32bit MCUs. (AVR simply does not have enough processing power for this!)
2018-04-07 21:03:28 -05:00
Lenbok
0e8242180d Chamber temperature monitoring and auto fan control.
This is an initial cut for feedback, updated for 2.0.x.

Chamber temperature is currently reported along with hot end and bed
temperatures to serial. The format is just like that used for hot end
and bed temperatures, but using 'C' prefix. As there is no heater,
target is always 0. Is this appropriate, is there a better way to report
chamber temperatures?

Chamber temperatures are not reported on the LCD in any way.

When auto chamber fan is enabled, it currently just uses the same
temperature threshold as the other auto controlled fans.

As the chamber temperature is not connected to any heater, it doesn't
undergo mintemp/maxtemp monitoring. This would need to change in the
future if chamber heating became a feature.
2018-04-06 23:09:06 -05:00
Marcio Teixeira
75037493fa Default active low for TMC2130 DIAG1 (#10294)
- Added sanity check to inform users to set the endstop to inverting
  when using SENSORLESS_HOMING
2018-04-06 19:48:46 -05:00
Scott Lahteine
e8e60263c8 Scale feedrate (mm/s to deg/s) for SCARA 2018-04-06 19:47:48 -05:00
Scott Lahteine
1c36606886 Fix MSG_HEATING_FAILED_LCD_BED macro evaluation 2018-04-04 19:01:22 -05:00
Scott Lahteine
fe91514395
MBL should add z_offset regardless of fade (#10308) 2018-04-04 18:57:33 -05:00
Marcio Teixeira
8bc93c6f2b Improve heating/cooling LCD messages (#10293) 2018-04-04 18:29:27 -05:00
GMagician
21a47b50f4 Additional tool-change fixes (#10304)
Followup to #10257
2018-04-04 17:06:33 -05:00
Karl Andersson
7cbbc2af7a [2.0.x] Optional heater signal inversion (#10260) 2018-04-02 19:37:41 -05:00
Scott Lahteine
241996d5d6
Merge pull request #10257 from thinkyhead/bf2_tool_change_debug 2018-04-02 19:33:45 -05:00
Scott Lahteine
4c79dc1093 Fix a Serial+EEPROM compile error
Fixes #10278
2018-04-02 03:11:20 -05:00
Scott Lahteine
adcb87f0db Z Endstop Servo => Z Probe Servo 2018-04-01 23:54:21 -05:00
Scott Lahteine
02f0f95d40
Handle disabled HYBRID_THRESHOLD in EEPROM (#10275) 2018-04-01 16:58:37 -05:00
Scott Lahteine
2672120a97 Do a small raise for all move-back 2018-03-31 22:43:05 -05:00
Scott Lahteine
5acccbacc1 Simplified leveling-based tool change 2018-03-31 22:43:05 -05:00
Scott Lahteine
d1734a089a Split up tool_change for some setups 2018-03-31 22:43:05 -05:00
Scott Lahteine
7d8a46519f Output ABC for delta stepper counts 2018-03-31 20:13:32 -05:00
Scott Lahteine
ac7e97f4fe Change order of inactive stepper disable/enable
This ensures that steppers that share an enable pin will only be disabled for a miniscule time.
2018-03-30 15:07:38 -05:00
Scott Lahteine
b6a55f0891 Temporary workaround for tool-change compile error
Pending a more complete solution to tool-change Z deviation.
2018-03-29 17:55:57 -05:00
Scott Lahteine
b852781eba Fix BLTOUCH compile error
Followup to #10250
2018-03-29 17:55:57 -05:00
Scott Lahteine
8b7381b626 Clear sensorless homing in home_delta after first move-to-top 2018-03-28 22:01:42 -05:00
Scott Lahteine
dbe2b6f7b0 Do moves towards endstops differently in do_homing_move 2018-03-28 22:01:42 -05:00
Scott Lahteine
2bc7f416ee Fix missing comma in tmc_sgt
Fixes #10209
2018-03-28 17:05:14 -05:00
Bob-the-Kuhn
9656a82609 Fix G53/CNC_COORDINATE_SYSTEMS compilation, Travis testing (#10227) 2018-03-28 14:14:39 -04:00
Scott Lahteine
b287560258 Fix say_M603 2018-03-28 12:54:58 -05:00
Scott Lahteine
a891af2f7a Enforce minimum TMC2130 / TMC2208 libs 2018-03-24 15:57:22 -04:00
Bob-the-Kuhn
8870f9b1da Fix M503 helper functions following TMC updates (#10197) 2018-03-23 16:43:43 -05:00
Scott Lahteine
bb7236a750
Z correction on tool-change for all HAS_MESH (#10199) 2018-03-23 13:12:00 -05:00
Scott Lahteine
9da0797e29 Fix EEPROM size of tmc_hybrid_threshold
Followup to #10102
2018-03-23 02:08:35 -04:00
Roxy-3D
1628a9e864
make data declarations consistent 2018-03-22 19:25:28 -05:00
Scott Lahteine
1cb810ff1c
[2.0.x] Automatically reset stepper timeout (#10179)
* Automatically reset stepper timeout in manage_inactivity

Any code that adds moves to the planner can skip resetting the stepper timeout. We can let `idle` / `manage_inactivity` reset the timer whenever it detects any moves in the planner.

* blocks_queued => has_blocks_queued
2018-03-21 19:30:06 -05:00
Eduardo José Tagle
97e8a6ebd9 Various fixes for DUE... (#10152)
- Watchdog reset during SD Card initialization.
- Move `DebugMonitor` to `DebugMonitor_Due.cpp`.
- Since the watchdog is enabled on boot do extra resets during init.
- Have `thermalManager` do watchdog reset before its ISR starts to prevent reset.
- Ensure that timers are stopped before reprogramming them to address tone issues.
- Improve SAM3XE reset when reflashed through the native port.
2018-03-21 19:04:45 -05:00
Scott Lahteine
9fd1016bb1 Trust the bootloader to clear globals 2018-03-21 05:49:39 -05:00
Scott Lahteine
bc45fb6b13 Tweak use of move_z_after_probing 2018-03-21 01:25:08 -05:00
Scott Lahteine
c352954882 Allow no raise after run_z_probe in probe_pt 2018-03-21 01:24:51 -05:00
Scott Lahteine
8dfaf1539e
Merge pull request #10102 from thinkyhead/bf2_eeprom_M913
[2.0.x] More complete Trinamic driver options
2018-03-20 23:14:19 -05:00
AnHardt
837ac2fdbd [2.0.x] Fix_Autotune_THERMAL_PROTECTION_BED_off (#10166)
- Fix Autotune Thermal Protection
- Make 2 constants in autotune configurable
2018-03-20 16:48:36 -05:00
Scott Lahteine
a5c6d3c7b8 Prevent null pointer crash in Endstops::update
Thanks to Evgeny Kotsuba!
2018-03-20 04:21:18 -05:00
Scott Lahteine
a46bac3100 Add 'I' parameter to M906/M913/M914; 'T' to M906/M913 2018-03-19 22:05:16 -05:00
Scott Lahteine
c95450016b Improve Trinamic support in the EEPROM 2018-03-19 22:05:16 -05:00
Scott Lahteine
48d7036874 Consolidate smart stepper driver initialization 2018-03-19 22:05:16 -05:00
Scott Lahteine
eaefc1e410
Add CorePQ support for BABYSTEPPING (#10155) 2018-03-19 02:51:40 -05:00
Scott Lahteine
772810fb24 Followup to PORTVAR patch 2018-03-18 19:23:58 -05:00
Scott Lahteine
93af8aa157
Fix home_delta for SENSORLESS_HOMING (#10145) 2018-03-17 20:52:06 -05:00
Scott Lahteine
c6ff39cc14 Spacing cleanup 2018-03-17 16:49:08 -05:00
Scott Lahteine
a6feb58837
Delta support for multiple hotends with offsets (#10118) 2018-03-16 00:46:42 -05:00
Scott Lahteine
1e946d681d Update Marlin for newest TMC libraries
- TMC2130Stepper v2.2.0
- TMC2208Stepper v0.0.4
2018-03-15 22:23:31 -05:00
Scott Lahteine
4aebe3d82e Pretty up EEPROM port args 2018-03-14 22:44:25 -05:00
Scott Lahteine
51bf3c9503 Fix E direction for MK2_MULTIPLEXER with LIN_ADVANCE 2018-03-14 07:56:18 -05:00
Studiodyne
e7a61de8af [2.0] FWRetract Reset (Best way) (#10083) 2018-03-14 01:35:30 -05:00
Scott Lahteine
e7570f3195 Improve TMC config organization, naming 2018-03-14 00:18:41 -05:00
Scott Lahteine
07cf2cd9c4 Fix sensorless_homing_per_axis compile warning 2018-03-14 00:18:40 -05:00
Scott Lahteine
14c03cb6f4
[2.0.x] Make MIN_PROBE_EDGE a general option (for electronic probes) (#10069)
Some probes don't work near the edges of the bed. This change promotes MIN_PROBE_EDGE to a general setting that applies to all probing functions.
2018-03-13 01:15:22 -05:00
Scott Lahteine
468f34104b Patch do_blocking_move_to so 'destination' can be used 2018-03-12 08:16:17 -05:00
Scott Lahteine
28f1276286
[2.0.x] Add Z_AFTER_PROBING option (#10058)
Some "fix-mounted" probes need manual stowing. And after probing some may prefer to raise or lower the nozzle. This restores an old option but tailors it to allow raise or lower as preferred.
2018-03-11 13:07:55 -05:00
Scott Lahteine
751785fc97 Followup to recent patches
- `M666` is static, not inline
- Disambiguate some stepper macros
2018-03-10 21:41:17 -06:00
Scott Lahteine
a0211f5d6c Disambiguate else in stepper_indirection.h 2018-03-10 19:56:22 -06:00
Scott Lahteine
f10c87b442 Update Endstops class for 1.1.x parity 2018-03-10 06:57:31 -06:00
Scott Lahteine
239902f861 Fix E2END and add EEPROM to Smart RAMPS
Reference #9983
2018-03-10 06:57:31 -06:00
Scott Lahteine
419d12ca1b Add UNKNOWN_Z_NO_RAISE option
With this option enabled, Z won't ever be raised until after `G28` has been completed, and it won't raise if Z becomes unknown. This is good for machines whose beds fall when Z is powered off.
2018-03-10 00:17:34 -06:00
Scott Lahteine
3b4c89e4b5 Move do_probe_raise closer to set_probe_deployed
…and limit the raise to Z_MAX_POS
2018-03-10 00:17:34 -06:00
Scott Lahteine
2908e76151 Fix position_is_reachable_by_probe typo, add comment
Fix #10029
2018-03-10 00:15:41 -06:00
Scott Lahteine
161ff9ff35 Fix UPDATE_ENDSTOP for CorePQ compatibility
Fixes #9939
2018-03-09 08:54:48 -06:00
Scott Lahteine
49ca67202f Patch configuration_store for extra serial port
Fix #9948
2018-03-09 07:42:27 -06:00