Commit graph

8689 commits

Author SHA1 Message Date
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 c2fb2f54a1 Use assembly for AVR ISR vectors
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-20 01:58:51 -05:00
Scott Lahteine 206014a957 Fix LPC176x timer functions
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-20 01:58:51 -05:00
Scott Lahteine 59f7861bcb
Move backtrace to the HAL folder (#10790) 2018-05-20 01:33:21 -05:00
Scott Lahteine 228139eae6 Tweak some LCD comments 2018-05-19 21:00:08 -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 62e2987488 add AT90USB support & add items to popup menu (#10779) 2018-05-19 17:39:26 -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
Scott Lahteine c173a31060 Fix some compile warnings 2018-05-19 16:54:48 -05:00
Giuliano e1d9046efc [2.0.x] Temperature reading fix (#10774) 2018-05-19 15:39:36 -05:00
Chris Pepper 9b64fdbc3a [LPC176x] HAL: Add missing program space definition (#10776) 2018-05-19 15:37:54 -05:00
Scott Lahteine 50270b53a0 Clear up some more compile warnings 2018-05-17 18:40:49 -05:00
etagle 06fd4d7b28 Improve NOMORE, NOLESS, and LIMIT macros 2018-05-17 18:23:14 -05:00
etagle 40d7e12827 Removing warnings from compilation 2018-05-17 18:04:22 -05:00
Scott Lahteine 0755fe8ba2 Add FAN_MAX_PWM to example configs 2018-05-15 21:18:47 -05:00
Jiri Jaburek 43ddb29f9e Add FAN_MAX_PWM for M106-controlled fans 2018-05-15 21:18:46 -05:00
Scott Lahteine 0ea60d506a Clear up LCD-related compile issues 2018-05-15 00:06:59 -05:00
Scott Lahteine eb2eb72720
Modify UBL mesh_is_valid and use in leveling_is_valid (#10746) 2018-05-14 22:36:03 -05:00
Scott Lahteine b7dfc79988
Disable SERIAL_PORT_2 by default and sanity-check it (#10748) 2018-05-14 21:38:24 -05:00
Scott Lahteine 3f6073e23a Followup tweak to lcdprint_u8g.cpp 2018-05-14 14:42:11 -05:00
Scott Lahteine fb608938f8 Prevent compilation of unused u8g-oriented code 2018-05-14 13:31:04 -05:00
Scott Lahteine 35258dd50b Consistent heating status and status reset
Fix #10699
2018-05-13 17:18:19 -05:00
Scott Lahteine 37b15fe4cf Reorder HAL timer header items 2018-05-13 16:50:39 -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 f07260c33f Don't babystep on long click unless printing
As pointed out in #10731
2018-05-13 08:11:35 -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
etagle 9d98a62699 Followup to HAL optimizations and delays
- Cleanups, fixes for Due HAL code.
- TC_IER is write-only. Use TC_IMR to test ISR state.
2018-05-13 00:46:23 -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
etagle 1b225a2809 DUE: Emergency parser for the USB CDC 2018-05-12 02:12:11 -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
Scott Lahteine f2e3c9896e Fix compile warnings in backtrace
Part of #10688

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-11 23:38:29 -05:00
Scott Lahteine acacee80a2 Add JUNCTION_ACCELERATION_FACTOR to configs
Part of #10688

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-11 23:13:27 -05:00
Giuliano d99f1b2245 [2.0.x] EEPROM code cleanup (#10710) 2018-05-11 18:06:04 -05:00
ManuelMcLure 8679f671ed Remove dependency on PI. (#10701) 2018-05-11 17:55:56 -05:00
Scott Lahteine 6671c064cd
Use arc moves for G26 if enabled (#10696)
Co-Authored-By: ManuelMcLure <manuelmclure@users.noreply.github.com>
2018-05-11 02:15:14 -05:00