Commit graph

505 commits

Author SHA1 Message Date
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