Commit graph

8901 commits

Author SHA1 Message Date
Robert Mendon
86170e6a66 [2.0.x] Add O (optional) flag to G28/G29 (#10913) 2018-06-11 21:51:48 -05:00
Alexey Shvetsov
2ddba201c0 STM32F1 HAL Fixes (#10999)
- Enable / disable interrupts with `__iSeiRetVal` / `__iCliRetVal`
- Add STM32F1 to Travis CI tests
2018-06-11 20:00:56 -05:00
Scott Lahteine
43bdd0bfe4 Fix indent in stepper.h 2018-06-11 19:17:46 -05:00
Scott Lahteine
2ba198a624 Tweak M122 report spacing 2018-06-10 20:33:18 -05:00
Eduardo José Tagle
5590c8ffd0 Fix MarlinSerial (AVR) (#10991)
An undocumented hw bug makes the UART lose chars when RX ISR is disabled, even for a very small amount of time. This happens when RX_BUFFER > 256, and the result is corrupted received commands. Solved by implementing pseudo-atomic operations on 16bit indices.
2018-06-10 20:32:20 -05:00
Scott Lahteine
3fd1f32b73 Fix ADC key and chamber temp 2018-06-10 20:11:40 -05:00
Scott Lahteine
117fd007a9 Followup to pin error change 2018-06-10 19:28:45 -05:00
Scott Lahteine
ae07a3e4aa Multiplier edit large ranges 2018-06-10 18:22:12 -05:00
Scott Lahteine
20a5db03bb Junction Deviation limit (0.01 to 0.3) 2018-06-10 18:22:08 -05:00
Scott Lahteine
a2f521d34b
Add Junction Deviation mm runtime setting (#10990) 2018-06-10 18:02:54 -05:00
Scott Lahteine
590ce1c33e Fix serial debug ouput 2018-06-10 17:54:22 -05:00
Scott Lahteine
968a5d2e63 Protected pin err for M226 2018-06-10 17:45:47 -05:00
Scott Lahteine
4b90cd8ead
Merge pull request #10922 from ejtagle/bugfix-2.0.x
[2.0.x] Adaptive multiaxis step smoothing, and tons of fixes
2018-06-10 16:28:52 -05:00
Giuliano
f1cdfe3dfd [2.0.x] stow bltouch before start homing (#10987) 2018-06-10 16:27:14 -05:00
etagle
6f14bcaa3e Add MAXIMUM_STEPPER_RATE, enforce in multi-stepping
The timing value should be properly set for ALL boards. The compiler will check and set maximum step rate calculations based on those values.
2018-06-10 16:02:47 -05:00
etagle
39a7e7720d Adaptive multiaxis step smoothing
- Stepper bugs fixed
- Support MIXING_EXTRUDER with Linear Advance
- Miscellaneous cleanup
2018-06-10 16:02:47 -05:00
etagle
99af086cea Add hidden Serial overflow debug options 2018-06-10 04:25:42 -05:00
etagle
d90e8fcad9 Fix XON/XOFF implementation
Pointed out by @GMagician
2018-06-10 04:25:42 -05:00
Scott Lahteine
bbf80440bf Add sanity-check for MOTHERBOARD 2018-06-10 04:03:33 -05:00
Giuliano
b64cc9329e [2.0.x] Fix dual enstop home (#10980) 2018-06-10 02:08:47 -05:00
Scott Lahteine
8a376e6beb Update MINIMUM_STEPPER_PULSE description 2018-06-10 00:13:03 -05:00
Scott Lahteine
3701869e6c Add HAL_timer_start for AVR, use stepper timer to time pulses 2018-06-09 22:30:13 -05:00
Giuliano
e970e429b6 [2.0.x] Fix null check in lsDive (#10978) 2018-06-09 22:03:49 -05:00
etagle
d82704354f Increase the planner first block HOLD delay to 100mS 2018-06-09 21:12:37 -05:00
Scott Lahteine
779d4a17a0 Highlight 64128N and common ST7565 difference
Followup to #10920, addressing #10962
2018-06-09 19:18:41 -05:00
Scott Lahteine
b9418439b9 Prevent MB false-positive on bad board name 2018-06-08 19:58:43 -05:00
Scott Lahteine
88314b8910 CREALITY_ENDER is long gone
As noted in #10965
2018-06-08 19:53:21 -05:00
Scott Lahteine
334341c632
Hephestos config updates (#10960) 2018-06-07 21:23:55 -05:00
Scott Lahteine
f74278b8b1 Add -4 thermocouple to list in configs 2018-06-07 21:04:06 -05:00
Scott Lahteine
7ba5afff01
Allow FAN_PIN override, pins cleanup (#10956) 2018-06-07 16:46:13 -05:00
Scott Lahteine
55aedf036b Fix M503 ABL mesh report. (Zero-based IJ indices) 2018-06-07 16:36:50 -05:00
Scott Lahteine
e7623b5788 Restore Z_PROBE_PIN to pinsDebug_list.h 2018-06-07 15:39:24 -05:00
Scott Lahteine
a426986df8
Ensure pins set to INPUT after attachInterrupt (#10928) 2018-06-06 20:59:08 -05:00
Scott Lahteine
d8b983f624
More concise M503 output for M906, M913, M914 (#10947) 2018-06-06 20:58:28 -05:00
Giuliano
eb1026d438 [2.0.x] Fix compile warning (#10931) 2018-06-05 22:44:34 -05:00
Scott Lahteine
c2bdbdffaa Prevent a buffer overflow in diveToFile
Co-Authored-By: akunt
2018-06-05 22:13:17 -05:00
Giuliano
c9d1a620d4 [2.0.x] fix indentations (#10934) 2018-06-05 02:03:26 -05:00
Roxy-3D
d550da084f
Fix Max7219 control pins for use with 32-bit platforms 2018-06-04 13:37:23 -05:00
Scott Lahteine
c16e41e9e6 STM32F4 pins cleanup 2018-06-03 19:08:04 -05:00
Scott Lahteine
c685c7b7dd STM32F4: All pins can do PWM 2018-06-03 04:30:15 -05:00
Scott Lahteine
2fd9ba56da LED menu item bool (like Case Lights) 2018-06-03 00:34:29 -05:00
Scott Lahteine
ad8d3150aa Cleanup for dual endstops homing 2018-06-03 00:34:29 -05:00
Scott Lahteine
61181b7f24 Add macros for ST7565 commands 2018-06-02 20:48:44 -05:00
Eduardo José Tagle
d3c02410a8 [2.0.x] Small assorted collection of fixes and improvements (#10911)
* Misc fixes and improvements

- Get rid of most critical sections on the Serial port drivers for AVR and DUE. Proper usage of FIFOs should allow interrupts to stay enabled without harm to queuing and dequeuing.
  Also, with 8-bit indices (for AVR) and up to 32-bit indices (for ARM), there is no need to protect reads and writes to those indices.
- Simplify the XON/XOFF logic quite a bit. Much cleaner now (both for AVR and ARM)
- Prevent a race condition (edge case) that could happen when estimating the proper value for the stepper timer (by reading it) and writing the calculated value for the time to the next ISR by disabling interrupts in those critical and small sections of the code - The problem could lead to lost steps.
- Fix dual endstops not properly homing bug (maybe).

* Set position immediately when possible
2018-06-01 19:02:22 -05:00
Scott Lahteine
2deff0d9b9 Fix/Improve junction deviation
- Respect axis max acceleration limits instead of forcing a fixed acceleration value.
- The `junction_unit_vec` ensures proper handling of entry and exit speeds even when the axes involved have different limits.
2018-05-31 20:09:53 -05:00
Scott Lahteine
6885ca606c Drop JUNCTION_ACCELERATION from example configs 2018-05-31 20:07:28 -05:00
Chris Pepper
d87257f63c [2.0.x][LPC176x] Fix PIO build flags (#10909)
Don't build and link with different flags, the binary may not work.
2018-05-31 19:08:31 -05:00
Axel
ae322e0c54 [2.0.x] Add GTM32 Pro VB support (#10898) 2018-05-31 00:11:38 -05:00
Scott Lahteine
d259070980 Clean up trailing spaces from vim, etc. 2018-05-31 00:09:41 -05:00
Scott Lahteine
21d812d502 Fix the Z un-hop on G11
Co-Authored-By: zarthcode <anthony.clay@zarthcode.com>
2018-05-29 23:41:36 -05:00
Scott Lahteine
d3c473002a For SCARA probe Y offset is proximal/distal 2018-05-29 21:55:53 -05:00
Scott Lahteine
b90f54b0fc Improve probe logging 2018-05-29 21:54:13 -05:00
Scott Lahteine
3f2a062a57 Fix M914 value range (-64...+63)
Fix #10896
2018-05-29 12:02:15 -05:00
Scott Lahteine
b6cd8d9cc6 Set deltas to park on the left 2018-05-29 11:44:31 -05:00
Scott Lahteine
9713538427 HOTENDS for Switching Nozzle with Switching Extruder 2018-05-29 11:05:52 -05:00
Scott Lahteine
c68b7b3913 Update Fan 2 and E0 Auto Fan pins for Trigorilla 2018-05-28 21:11:12 -05:00
Scott Lahteine
cbcb284f4a Allow libServo::attach to work on Teensy 3.5/3.6 2018-05-28 20:56:24 -05:00
Chris Pepper
f89f7c4a82 [2.0.x][LPC176x][Build] Force single precision constants, disable freestanding (#10892) 2018-05-28 19:38:22 -05:00
Scott Lahteine
4299e5dc8b
Modify E-stepping macros for use in LINEAR_ADVANCE (#10885) 2018-05-28 19:34:08 -05:00
Scott Lahteine
8f14ef855d More concise commentary in planner.cpp 2018-05-28 19:25:18 -05:00
Scott Lahteine
6919e87656 Minor cleanup of multi-stepping logic 2018-05-28 17:44:33 -05:00
android444
16da5c62d0 Teensy 3.x fastio pullup (#10890) 2018-05-28 16:25:12 -05:00
Scott Lahteine
853a9056ac Long thermistor tables need special consideration 2018-05-28 06:28:34 -05:00
Scott Lahteine
a4f9c3373f Tweak thermistor spacing 2018-05-28 03:44:32 -05:00
Scott Lahteine
9b9b62b218 delay(SERVO_DELAY) => safe_delay(servo_delay[servo_index]) 2018-05-28 03:44:32 -05:00
Scott Lahteine
1ce97f1f6d
Faster (bisect) search in thermistor tables (#10883) 2018-05-27 23:27:51 -05:00
Scott Lahteine
0ca9db7051 Correct HOTENDS for SWITCHING_EXTRUDER 2018-05-27 23:22:48 -05:00
Scott Lahteine
945139e328 Clean up some formatting 2018-05-27 17:58:40 -05:00
android444
9c235ef821 [HAL]Add support for ST7920 - Teensy 3.x (#10872) 2018-05-27 03:36:57 -05:00
Eduardo José Tagle
7b9f0302d4 Fix Bresenham rounding errors, add link to article (#10871) 2018-05-27 01:49:59 -05:00
Scott Lahteine
2566342979 Adjust some commentary 2018-05-27 00:10:25 -05:00
Scott Lahteine
1b200f3312 Sanity check SWITCHING_EXTRUDER with SINGLENOZZLE 2018-05-26 23:26:23 -05:00
Scott Lahteine
6775a16c97 Fix switching extruder stepping with LA 2018-05-26 19:07:01 -05:00
Scott Lahteine
2e139fe50f Tweak configuration spacing 2018-05-26 18:33:51 -05:00
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
cf7d5a642a
Fix manual moves for switching tools (#10868) 2018-05-26 18:30:53 -05:00
Eduardo José Tagle
1da2c4f1c1 Text LCD display routine fix. Coauthored with @MagoKimbra (#10864) 2018-05-26 18:13:33 -05:00
Bob-the-Kuhn
1c0ad8bbae wrong type of exit method 2018-05-26 08:17:03 -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
Eduardo José Tagle
6f330f397e [2.0.x] Buffer overflow and scroll fix, UTF8 cleanup (#10844) 2018-05-25 23:32:37 -05:00
Bob Kuhn
235facd545 install AVRDUDE 5.10, faster disk find for LPC1768 (#10849) 2018-05-25 20:26:48 -05:00
Scott Lahteine
645df23eb0 Fix warning with FASTER_GCODE_PARSER disabled 2018-05-25 06:45:42 -05:00
Scott Lahteine
d74e333c0f Make sure FAN_ANIM_FRAMES is defined 2018-05-25 05:28:50 -05:00
Bob Kuhn
e2db509d58 [2.0.x] Update/Fix LPC1768 extra script upload_extra_script.py (#10843)
* Use a different method to find the volume info in Windows
2018-05-25 04:31:18 -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
a94506ada0 Fix K8400 Y min pos, M118 comment 2018-05-24 08:21:16 -05:00
Scott Lahteine
336a022529 Support Malyan LCD without SD 2018-05-24 05:01:18 -05:00
Scott Lahteine
f28e366b77 Followup for core endstops 2018-05-24 03:02:57 -05:00
Scott Lahteine
8b44745bc7
Clean up and consolidate SD-related code (#10831) 2018-05-24 01:18:56 -05:00
Scott Lahteine
9644d56b42 Patches for core motion tests 2018-05-24 00:49:01 -05:00
Scott Lahteine
5f8591528e Remove #pragmas that don't help c files 2018-05-23 23:47:16 -05:00
Scott Lahteine
230ae6a143 Default G30 to engage / disengage 2018-05-23 16:57:23 -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
c89649b46e Suppress U8glib build warnings 2018-05-23 02:47:36 -05:00
Axel
bbd09a99f1 32 bit boards classification cleanup (#10818)
- Ordering and match classification between `boards.h` and `pins.h`
- Check `pins.h` environments
2018-05-22 21:20:24 -05:00
Scott Lahteine
ee333f6be2 Followup to endstops tweaks 2018-05-22 20:41:03 -05:00
Axel
d98bc71af7 Boards classification arrangement (#10814)
STM32 ARM Cortex-M3 boards were listed as M4
2018-05-22 02:56:51 -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
3bb950c69a Fix DEBUG_LEVELING_FEATURE for MBL
As noted in #10777
2018-05-22 00:49:15 -05:00
Scott Lahteine
1af98519cd Group and adjust LCD buttons code 2018-05-22 00:37:45 -05:00
Scott Lahteine
0c3773d724 Cleanup in stepper_indirection.h 2018-05-22 00:36:03 -05:00
Scott Lahteine
4118199ddd Tweaks to core headers 2018-05-21 20:32:18 -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
6dfbb39f83 [LPC1768] Add error-handling to upload script, update autobuild.py (#10802) 2018-05-20 21:22:04 -05:00
Scott Lahteine
68d7fcec83 Simplify and fix Z fade height edit
Fix #10761
2018-05-20 12:29:23 -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
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