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
Scott Lahteine
16a8edc5f0
Add more delay before pulse off in Linear Advance ISR
...
A capital idea from https://github.com/MarlinFirmware/Marlin/pull/9914#issuecomment-371614153
2018-03-09 05:26:29 -06:00
Scott Lahteine
dfd5d2fe75
Have position_is_reachable_by_probe use the whole bed ( #10020 )
...
Previously `position_is_reachable_by_probe` was limited to the area specified for `G29` mesh leveling (even if leveling was disabled). This change will properly consider the entire bed area so that `G30` and other non-leveling probing may take place.
2018-03-09 03:37:30 -06:00
Scott Lahteine
3c2bfa5e53
Update powersupply_on in power_on/off ( #10015 )
...
Fix #10004
2018-03-08 18:56:47 -06:00
Scott Lahteine
8d32fd997f
Wrap NORM_E_DIR/REV_E_DIR macros in do{}while(0)
2018-03-08 16:20:24 -06:00
Scott Lahteine
98d48fc731
Followup to HAL_timer_restrain
...
Followup to #9985
2018-03-07 22:18:37 -06:00
Chris Pepper
a1a88ebabc
HAL function to ensure min stepper interrupt interval ( #9985 )
2018-03-07 17:53:25 -06:00
Scott Lahteine
9515e5aefb
Fix LA_active_extruder (static)
2018-03-07 05:49:20 -06:00
Scott Lahteine
e5ec793f7e
Wrap stepper indirection macros
2018-03-07 05:42:45 -06:00
Sebastianv650
5b85464791
Fix for LA ( #9964 )
...
Missed in the original LA 1.5 PR: eISR has to use a local copy of
current_block->use_advance_lead because it might still run wenn the last
block has been set to NULL.
2018-03-07 05:33:13 -06:00
Scott Lahteine
ffbf63e6af
Add HAS_TEMP_SENSOR conditional
2018-03-07 01:53:50 -06:00
Scott Lahteine
2057177184
Make enums into implicit char
2018-03-06 23:39:56 -06:00
Scott Lahteine
ca0def766e
LIN_ADVANCE single stepper optimization
2018-03-06 19:26:54 -06:00
Scott Lahteine
8291ae34f2
Support duplication mode in LIN_ADVANCE
2018-03-06 19:12:23 -06:00
Scott Lahteine
0dd1c4458d
Put more code between pulse start and stop ( #9959 )
2018-03-05 23:06:57 -06:00
Scott Lahteine
36262a0479
Use static classes for job timers ( #9938 )
2018-03-04 21:23:43 -06:00
Scott Lahteine
930720bbbb
Fix broken reverse planner ( #9943 )
...
From #9914 by @Sebastianv650
2018-03-04 21:19:06 -06:00
Bob-the-Kuhn
025118da3e
Init print_job_timer in setup() instead of "early" ( #9937 )
2018-03-04 16:23:44 -06:00