Commit graph

8902 commits

Author SHA1 Message Date
Scott Lahteine 4832be52d7 Followup to G29 O 2018-06-11 21:57:26 -05:00
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