Commit Graph

8978 Commits (b328fb4dc9ff9796715aace679d15799c9769e4b)

Author SHA1 Message Date
Scott Lahteine 7406f04029 Use MAX (not max) in stepper.h
Roxy-3D 7c54c4ed27
Tiny improvement to M7219
The registers within the Max7219 can get corrupted a number of ways.  This allows the Max7219 to be reset and fully initialized.
And...  it also allows the user to see the initialization pattern.
Giuliano a65d15c905 [2.0.x] Fix Italian msg len ()
Fix message to long for 12864 display
Scott Lahteine d4795e5b8e
[2.0.x] Tweaks and additions for MAX7219 ()
Scott Lahteine e23677a7b2 Update some G-code comments
Chris Pepper 0312c42f9d [2.0.x] LPC176x Serial cleanup ()
Scott Lahteine c1269c2ec1 Tweak AVR critical section defines
Scott Lahteine da94e0bd27 Unsigned eeprom mesh addresses
Chris Pepper f88adcbfd5 [2.0.x][LPC176x] Fix binary linking broken by pio update ()
Simon Jouet e2aeda61ed HAL for Espressif ESP32 Wifi
Scott Lahteine 091f742432 Add WIFISUPPORT to example configs
Scott Lahteine 19d4c7c1cd Tweak HAL header comments
Giuliano cce0523a95 [2.0.x] reset bltouch on home ()
Added reset bltouch instead. This ensure properly stow even when in error.
Scott Lahteine 4c8d6df13c
Extra insurance against endstop false positives ()
Scott Lahteine 81edbfa665
Merge pull request from ejtagle/always_honor_maximum_step_rate
[2.0.x] Fix stepper pulse minimum period and timing calculations
Scott Lahteine f3fed52348 Fix coolstep_min_speed / sensorless homing
Fix 
etagle a215725df6 Fix stepper pulse timing
Always honor minimum period on stepper pulse generation, and fix timing calculations

Signed-off-by: etagle <ejtagle@hotmail.com>
Scott Lahteine 0d79128c8d Localize stepper-specific defines
Scott Lahteine a9861a780e Tweak HAL heading
Scott Lahteine cf53e502a2 No need to set input after attachInterrupt
Karl Andersson e0276d2f32 Official STMicroelectronics Arduino Core STM32F4 HAL compatibility ()
Scott Lahteine 4dbec774b5 HAL_*_TIMER_RATE => *_TIMER_RATE
Scott Lahteine 12689f2470
Merge pull request from thinkyhead/bf2_junction_deviation_fix
[2.0.x] Updates for junction_deviation_mm
Scott Lahteine 9b945c13a1 Fix STM32F1 ISR_ENABLED
Scott Lahteine 9d04f47d98 Improvements for junction_deviation_mm
- Drop `max_jerk` with `JUNCTION_DEVIATION`
- Add `max_e_jerk_factor` for use by `LIN_ADVANCE`
- Recalculate `max_e_jerk_factor` when `junction_deviation_mm` changes
- Fix LCD editing of `junction_deviation_mm`
Scott Lahteine f2c3b0d476 Use bit flags for homed/known
Scott Lahteine 4832be52d7 Followup to G29 O
Robert Mendon 86170e6a66 [2.0.x] Add O (optional) flag to G28/G29 ()
Alexey Shvetsov 2ddba201c0 STM32F1 HAL Fixes ()
- Enable / disable interrupts with `__iSeiRetVal` / `__iCliRetVal`
- Add STM32F1 to Travis CI tests
Scott Lahteine 43bdd0bfe4 Fix indent in stepper.h
Scott Lahteine 2ba198a624 Tweak M122 report spacing
Eduardo José Tagle 5590c8ffd0 Fix MarlinSerial (AVR) ()
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.
Scott Lahteine 3fd1f32b73 Fix ADC key and chamber temp
Scott Lahteine 117fd007a9 Followup to pin error change
Scott Lahteine ae07a3e4aa Multiplier edit large ranges
Scott Lahteine 20a5db03bb Junction Deviation limit (0.01 to 0.3)
Scott Lahteine a2f521d34b
Add Junction Deviation mm runtime setting ()
Scott Lahteine 590ce1c33e Fix serial debug ouput
Scott Lahteine 968a5d2e63 Protected pin err for M226
Scott Lahteine 4b90cd8ead
Merge pull request from ejtagle/bugfix-2.0.x
[2.0.x] Adaptive multiaxis step smoothing, and tons of fixes
Giuliano f1cdfe3dfd [2.0.x] stow bltouch before start homing ()
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.
etagle 39a7e7720d Adaptive multiaxis step smoothing
- Stepper bugs fixed
- Support MIXING_EXTRUDER with Linear Advance
- Miscellaneous cleanup
etagle 99af086cea Add hidden Serial overflow debug options
etagle d90e8fcad9 Fix XON/XOFF implementation
Pointed out by @GMagician
Scott Lahteine bbf80440bf Add sanity-check for MOTHERBOARD
Giuliano b64cc9329e [2.0.x] Fix dual enstop home ()
Scott Lahteine 8a376e6beb Update MINIMUM_STEPPER_PULSE description
Scott Lahteine 3701869e6c Add HAL_timer_start for AVR, use stepper timer to time pulses
Giuliano e970e429b6 [2.0.x] Fix null check in lsDive ()
etagle d82704354f Increase the planner first block HOLD delay to 100mS
Scott Lahteine 779d4a17a0 Highlight 64128N and common ST7565 difference
Followup to , addressing 
Scott Lahteine b9418439b9 Prevent MB false-positive on bad board name
Scott Lahteine 88314b8910 CREALITY_ENDER is long gone
As noted in 
Scott Lahteine 334341c632
Hephestos config updates ()
Scott Lahteine f74278b8b1 Add -4 thermocouple to list in configs
Scott Lahteine 7ba5afff01
Allow FAN_PIN override, pins cleanup ()
Scott Lahteine 55aedf036b Fix M503 ABL mesh report. (Zero-based IJ indices)
Scott Lahteine e7623b5788 Restore Z_PROBE_PIN to pinsDebug_list.h
Scott Lahteine a426986df8
Ensure pins set to INPUT after attachInterrupt ()
Scott Lahteine d8b983f624
More concise M503 output for M906, M913, M914 ()
Giuliano eb1026d438 [2.0.x] Fix compile warning ()
Scott Lahteine c2bdbdffaa Prevent a buffer overflow in diveToFile
Co-Authored-By: akunt
Giuliano c9d1a620d4 [2.0.x] fix indentations ()
Roxy-3D d550da084f
Fix Max7219 control pins for use with 32-bit platforms
Scott Lahteine c16e41e9e6 STM32F4 pins cleanup
Scott Lahteine c685c7b7dd STM32F4: All pins can do PWM
Scott Lahteine 2fd9ba56da LED menu item bool (like Case Lights)
Scott Lahteine ad8d3150aa Cleanup for dual endstops homing
Scott Lahteine 61181b7f24 Add macros for ST7565 commands
Eduardo José Tagle d3c02410a8 [2.0.x] Small assorted collection of fixes and improvements ()
* 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
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.
Scott Lahteine 6885ca606c Drop JUNCTION_ACCELERATION from example configs
Chris Pepper d87257f63c [2.0.x][LPC176x] Fix PIO build flags ()
Don't build and link with different flags, the binary may not work.
Axel ae322e0c54 [2.0.x] Add GTM32 Pro VB support ()
Scott Lahteine d259070980 Clean up trailing spaces from vim, etc.
Scott Lahteine 21d812d502 Fix the Z un-hop on G11
Co-Authored-By: zarthcode <anthony.clay@zarthcode.com>
Scott Lahteine d3c473002a For SCARA probe Y offset is proximal/distal
Scott Lahteine b90f54b0fc Improve probe logging
Scott Lahteine 3f2a062a57 Fix M914 value range (-64...+63)
Fix 
Scott Lahteine b6cd8d9cc6 Set deltas to park on the left
Scott Lahteine 9713538427 HOTENDS for Switching Nozzle with Switching Extruder
Scott Lahteine c68b7b3913 Update Fan 2 and E0 Auto Fan pins for Trigorilla
Scott Lahteine cbcb284f4a Allow libServo::attach to work on Teensy 3.5/3.6
Chris Pepper f89f7c4a82 [2.0.x][LPC176x][Build] Force single precision constants, disable freestanding ()
Scott Lahteine 4299e5dc8b
Modify E-stepping macros for use in LINEAR_ADVANCE ()
Scott Lahteine 8f14ef855d More concise commentary in planner.cpp
Scott Lahteine 6919e87656 Minor cleanup of multi-stepping logic
android444 16da5c62d0 Teensy 3.x fastio pullup ()
Scott Lahteine 853a9056ac Long thermistor tables need special consideration
Scott Lahteine a4f9c3373f Tweak thermistor spacing
Scott Lahteine 9b9b62b218 delay(SERVO_DELAY) => safe_delay(servo_delay[servo_index])
Scott Lahteine 1ce97f1f6d
Faster (bisect) search in thermistor tables ()
Scott Lahteine 0ca9db7051 Correct HOTENDS for SWITCHING_EXTRUDER
Scott Lahteine 945139e328 Clean up some formatting
android444 9c235ef821 [HAL]Add support for ST7920 - Teensy 3.x ()
Eduardo José Tagle 7b9f0302d4 Fix Bresenham rounding errors, add link to article ()
Scott Lahteine 2566342979 Adjust some commentary
Scott Lahteine 1b200f3312 Sanity check SWITCHING_EXTRUDER with SINGLENOZZLE
Scott Lahteine 6775a16c97 Fix switching extruder stepping with LA
Scott Lahteine 2e139fe50f Tweak configuration spacing
Scott Lahteine 931ab4ec40 Rename Junction Deviation options
Scott Lahteine aaaf09bda2 BEZIER_JERK_CONTROL => S_CURVE_ACCELERATION
Scott Lahteine cf7d5a642a
Fix manual moves for switching tools ()
Eduardo José Tagle 1da2c4f1c1 Text LCD display routine fix. Coauthored with @MagoKimbra ()
Bob-the-Kuhn 1c0ad8bbae wrong type of exit method
Scott Lahteine 01d37e00af
Fix up stepper ISR with linear advance timing ()
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Eduardo José Tagle 6f330f397e [2.0.x] Buffer overflow and scroll fix, UTF8 cleanup ()
Bob Kuhn 235facd545 install AVRDUDE 5.10, faster disk find for LPC1768 ()
Scott Lahteine 645df23eb0 Fix warning with FASTER_GCODE_PARSER disabled
Scott Lahteine d74e333c0f Make sure FAN_ANIM_FRAMES is defined
Bob Kuhn e2db509d58 [2.0.x] Update/Fix LPC1768 extra script upload_extra_script.py ()
* Use a different method to find the volume info in Windows
Scott Lahteine 7261f48872 Fix reset of endstops and move state
Scott Lahteine 50fa8e01c1 Minor optimization of axis_did_move bits
Scott Lahteine a94506ada0 Fix K8400 Y min pos, M118 comment
Scott Lahteine 336a022529 Support Malyan LCD without SD
Scott Lahteine f28e366b77 Followup for core endstops
Scott Lahteine 8b44745bc7
Clean up and consolidate SD-related code ()
Scott Lahteine 9644d56b42 Patches for core motion tests
Scott Lahteine 5f8591528e Remove #pragmas that don't help c files
Scott Lahteine 230ae6a143 Default G30 to engage / disengage
Scott Lahteine 3e3789da85
Regression: Endstops Core compatibility ()
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine c89649b46e Suppress U8glib build warnings
Axel bbd09a99f1 32 bit boards classification cleanup ()
- Ordering and match classification between `boards.h` and `pins.h`
- Check `pins.h` environments
Scott Lahteine ee333f6be2 Followup to endstops tweaks
Axel d98bc71af7 Boards classification arrangement ()
STM32 ARM Cortex-M3 boards were listed as M4
Scott Lahteine 4b610b333e Tweak G38 formatting
Scott Lahteine d2647c1f19 Fix G1 behaviour after tool unpark
Fix  for 2.0.x

Co-Authored-By: Ante Vukorepa <o.orcinus@gmail.com>
Scott Lahteine 3bb950c69a Fix DEBUG_LEVELING_FEATURE for MBL
As noted in 
Scott Lahteine 1af98519cd Group and adjust LCD buttons code
Scott Lahteine 0c3773d724 Cleanup in stepper_indirection.h
Scott Lahteine 4118199ddd Tweaks to core headers
Scott Lahteine 4b2f6e3b2b
[2.0.x] Add endstop noise filter ()
Scott Lahteine 65a004564c Stepper::set_position needed for some applications
Scott Lahteine 435ecb6b67 Followup to stepper/planner refactor
Bob Kuhn 6dfbb39f83 [LPC1768] Add error-handling to upload script, update autobuild.py ()
Scott Lahteine 68d7fcec83 Simplify and fix Z fade height edit
Fix 
Bob Kuhn d557c84a71 [2.0.x] Error for FAST_PWM_FAN with 32 bit CPU ()
etagle 569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
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.
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.
etagle a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
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/)
Scott Lahteine c2fb2f54a1 Use assembly for AVR ISR vectors
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine 206014a957 Fix LPC176x timer functions
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine 59f7861bcb
Move backtrace to the HAL folder ()
Scott Lahteine 228139eae6 Tweak some LCD comments
Scott Lahteine 7dc03ce721 Simplified fix for babystep pulse width
Alternative to the apparently superfluous double delay
Scott Lahteine 65270d6a96 Fix LIN_ADVANCE + SWITCHING_EXTRUDER
Followup to 
Bob Kuhn 62e2987488 add AT90USB support & add items to popup menu ()
Bob Kuhn 9ad42d6617 add delay between pulse edges ()
Scott Lahteine 83d42f33e1 Add HAS_HOTEND_OFFSET_Z conditional
GMagician 3c76bda2d8 Fix switching extruder
`DONT_SWITCH` got lost along the way. Replace it with `DO_SWITCH_EXTRUDER` and adjust the code.
Scott Lahteine c173a31060 Fix some compile warnings
Giuliano e1d9046efc [2.0.x] Temperature reading fix ()
Chris Pepper 9b64fdbc3a [LPC176x] HAL: Add missing program space definition ()
Scott Lahteine 50270b53a0 Clear up some more compile warnings
etagle 06fd4d7b28 Improve NOMORE, NOLESS, and LIMIT macros
etagle 40d7e12827 Removing warnings from compilation
Scott Lahteine 0755fe8ba2 Add FAN_MAX_PWM to example configs
Jiri Jaburek 43ddb29f9e Add FAN_MAX_PWM for M106-controlled fans
Scott Lahteine 0ea60d506a Clear up LCD-related compile issues
Scott Lahteine eb2eb72720
Modify UBL mesh_is_valid and use in leveling_is_valid ()
Scott Lahteine b7dfc79988
Disable SERIAL_PORT_2 by default and sanity-check it ()
Scott Lahteine 3f6073e23a Followup tweak to lcdprint_u8g.cpp
Scott Lahteine fb608938f8 Prevent compilation of unused u8g-oriented code
Scott Lahteine 35258dd50b Consistent heating status and status reset
Fix 
Scott Lahteine 37b15fe4cf Reorder HAL timer header items
Scott Lahteine 836b0bbeee Fix MBL line_to_destination
Fix 
Scott Lahteine ba4c32eec5 Followup to _AXIS patch
Scott Lahteine d9154ebdf6 Followup to math patch
Scott Lahteine f07260c33f Don't babystep on long click unless printing
As pointed out in 
Scott Lahteine 883b0c9880
Convert custom maths to inlines ()
Scott Lahteine 08e36e264e Apply _AXIS macro
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>
Scott Lahteine 083ec9963e Tweaks to heater / lcd conditions
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.
Scott Lahteine 8f8c6a9bc4
Move get_axis_position_mm to Planner ()
Scott Lahteine a1062eec5b
Better handling of DELAY_NS and DELAY_US ()
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine f5aaa2d6c0 Fix some compiler warnings
Scott Lahteine 3614e6ce0f Fix Switching Extruder with Linear Advance
Scott Lahteine 625035a9ce
Fix M301 access to lpq_len ()
Co-Authored-By: Zwaubel
etagle 1b225a2809 DUE: Emergency parser for the USB CDC
Scott Lahteine 306f0f2135
Move Stepper::synchronize to Planner ()
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine f2e3c9896e Fix compile warnings in backtrace
Part of 

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Scott Lahteine acacee80a2 Add JUNCTION_ACCELERATION_FACTOR to configs
Part of 

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Giuliano d99f1b2245 [2.0.x] EEPROM code cleanup ()
ManuelMcLure 8679f671ed Remove dependency on PI. ()
Scott Lahteine 6671c064cd
Use arc moves for G26 if enabled ()
Co-Authored-By: ManuelMcLure <manuelmclure@users.noreply.github.com>
Scott Lahteine 325bbbc8c2
[2.0.x] Enable AD595 and AD8495 in concert ()
* Allow both AD595 and AD8495 in concert
* General temperature code tweaks
Scott Lahteine c43235dd39 Remove non-special comments
ManuelMcLure 613a3be167 Remove hidden dependencies on destination. Fixes . ()
Scott Lahteine 23a876b08d Update a comment in motion.cpp
Scott Lahteine 439e0cdd0f
Patch up reverse_pass_kernel (and other planner code) ()
Scott Lahteine fe5c308872
Correction to Printrboard SDSS pin ()
Co-Authored-By: Simon Swenson <simon-swenson-8351@users.noreply.github.com>
Scott Lahteine 265161ba30
Blink the value for unhomed/unknown axes ()
Scott Lahteine 57c2f8d2f6 Trailing whitespace cleanup
Scott Lahteine b76344c080 More Trinamic cleanup
Scott Lahteine 473c6d3a91 Drop extra RIGIDBOT_PANEL from D6 config
Giuliano 44f3a6dc3b [2.0.x] Add missing axes to M911, M912 ()