Commit graph

798 commits

Author SHA1 Message Date
Giuliano Zaro d43d4e4219 Refactor PRINTER_EVENT_LEDS, apply to M303 (#12038)
Co-Authored-By: Giuliano Zaro <gmagician@users.noreply.github.com>
2018-10-10 21:25:43 -05:00
Scott Lahteine e8d2cf4fb5 EEPROM followup (tmc_stepper_current_t) 2018-10-10 17:25:45 -05:00
InsanityAutomation 3cb5517ddb Make singlenozzle tool-change honor no_move (#12056)
...Set no move earlier so it applies
2018-10-10 16:49:59 -05:00
InsanityAutomation d332fcb8fa Fix firmware-retract compile errors (#12061) 2018-10-10 16:46:08 -05:00
InsanityAutomation b2c1cd7eda Allow cold change of active extruder (#12055)
Followup to #11994
2018-10-10 09:57:48 -05:00
Scott Lahteine d556dc1865
Fix and improve EEPROM storage (#12054)
* Clean up Temperature PID
* Improve EEPROM read/write/validate
* Group `SINGLENOZZLE` saved settings
* Group planner saved settings
* Group filament change saved settings
* Group skew saved settings
* Group `FWRETRACT` saved settings
2018-10-10 09:45:20 -05:00
Scott Lahteine 9b5c1a5e77 Fix EEPROM checksum bug
Addressing #12048
2018-10-10 06:14:58 -05:00
Scott Lahteine cf5284cdf2
Add SD Firmware Update capability (#12043)
Co-Authored-By: timoxd7 <timoxd7@users.noreply.github.com>
2018-10-09 20:00:47 -05:00
InsanityAutomation ee253991d4 Various fixups for single-nozzle filament swap (#12036) 2018-10-08 15:39:55 -05:00
Scott Lahteine 7db0113b53 Improve E_AXIS_N macro 2018-10-07 18:22:05 -05:00
InsanityAutomation 74cd6cb4fc Single nozzle filament change (#11994) 2018-10-07 17:06:14 -05:00
teemuatlut dffb4c63dc [2.0.x] TMC2660 followup (#12029)
* Don't react to s2g on TMC2660. False positives
* Init with sensorless probing as well
2018-10-07 15:37:44 -05:00
Scott Lahteine d6b0fbd771
Use uint8_t for all fan speeds (#12032) 2018-10-07 15:34:41 -05:00
Scott Lahteine 65b8f3821b Suppress temperature.h compile warning 2018-10-06 19:29:41 -05:00
teemuatlut c447d75916 Add support for TMC2660 (#11998) 2018-10-06 17:18:10 -05:00
Scott Lahteine e8d677620c Use NUM_SERVOS in EEPROM code
Fix #12015
2018-10-06 15:11:32 -05:00
Thomas Moore 49823a4939 Fix broken jerk handling (#12019)
Fix #12004
2018-10-06 12:02:50 -05:00
Scott Lahteine c40ea1f0fd Update EEPROM_VERSION
And set EEPROM_OFFSET to 0, since the historical 100 skipped bytes are never used.
2018-10-03 11:34:34 -05:00
Scott Lahteine 1358bd9319 Make MAX_EXTRUDERS always 6 2018-10-03 11:32:19 -05:00
teemuatlut c3229e1b34 Migrate to a new TMC library (#11943) 2018-10-03 02:48:49 -05:00
Scott Lahteine e3f7b69105
Add PROBING_STEPPERS_OFF (#11984)
Co-Authored-By: houseofbugs <houseofbugs@gmail.com>
2018-10-02 05:13:58 -05:00
Thomas Moore ab4549d2bc [2.0.x] Add simultaneous retraction for mixing extruder (#11941) 2018-10-01 23:32:02 -05:00
Scott Lahteine 11ac75edcb
Use PGM_P for PSTR pointers (#11977) 2018-09-30 23:44:33 -05:00
Scott Lahteine 3c40933713 Remove trailing spaces, old comment 2018-09-30 20:47:06 -05:00
AnoNymous b30ca652ae Replace MIN# / MAX# with variadic MIN / MAX (#11960) 2018-09-30 04:59:14 -05:00
Scott Lahteine 9903305dda
Merge pull request #9582 from tcm0116/2.0.x-sensorless_probing
[2.0.x] Add TMC2130 sensorless probing
2018-09-29 21:02:22 -05:00
Scott Lahteine 14df753086 Correction for block->mix_steps
Fix #11484
2018-09-29 19:13:17 -05:00
Thomas Moore 3286325044 Add TMC2130 sensorless probing 2018-09-29 18:54:14 -05:00
Scott Lahteine d89d8fe852 Fix Busy State in temperature.cpp
Fix #11954
2018-09-29 17:03:35 -05:00
Scott Lahteine e4389f7d23
Standard methods to wait for heating (#11949) 2018-09-29 01:44:47 -05:00
InsanityAutomation 23114aeb81 Fix garbled M119 output. Honor NUM_RUNOUT_SENSORS (#11948) 2018-09-28 19:00:11 -05:00
Victor Tseng 93839e2f73 Add option to enable/disable autoretract altogether (#11904) 2018-09-28 16:52:56 -05:00
InsanityAutomation f2e630a05e Stow probe on probing failed (#11936)
Prevents probe from being left down should probing fail and print job continue
2018-09-27 13:26:14 -04:00
Hannes Brandstätter-Müller 0b602ae101 [2.0.x] Fix Anycubic Kossel with Probe V1, stuck LCD message after stow (#11929) 2018-09-27 13:23:53 -04:00
Giuliano Zaro dc11131656 [2.0.x] fix possible race condition (#11923)
Fix some commits done in #11900
2018-09-25 13:56:57 -04:00
Scott Lahteine d6b9327c11 Followup for Endstop Noise Threshold
Followup to #11912
2018-09-25 13:50:49 -04:00
Scott Lahteine 5490a664f5
Expose: Homing Validation and Endstop Noise Threshold (#11912) 2018-09-24 21:59:12 -04:00
Scott Lahteine cee34f7290
Followup for BABYSTEP_HOTEND_Z_OFFSET (#11916) 2018-09-24 21:46:56 -04:00
Giuliano Zaro 18e456d38d [2.0.x] fix home endstop bug (DON'T MERGE, needs discussion) (#11900) 2018-09-24 16:56:01 -04:00
InsanityAutomation 1104054d73 2.0 IDEX Independent z offset and other fixes (#11862)
* Add Formbot Raptor board

Co-Authored-By: InsanityAutomation <insanityautomation@users.noreply.github.com>

* Add a second Z probe Z offset

Co-Authored-By: InsanityAutomation <insanityautomation@users.noreply.github.com>

* Modify method to utilize live adjustment of hotend z offset

Should probably move config option to babystepping and rename as it may now apply to all multiextruder systems

* Move config item and catchup other code to current method
2018-09-24 09:40:48 -05:00
Scott Lahteine 217e0efd20
General option PAUSE_BEFORE_DEPLOY_STOW (#11905) 2018-09-24 00:43:43 -04:00
Scott Lahteine a2b0260f0f Update Sublime files 2018-09-23 19:59:08 -04:00
Hannes Brandstätter-Müller a4cdffdd69 Support for manually deployed fixed probes (#11899) 2018-09-23 19:59:08 -04:00
Marcio Teixeira c411e7eb0d [2.0.x] Squelch compiler warnings seen with -Wall (#11889) 2018-09-23 12:00:34 -04:00
Roxy-3D 4163c1a514 Fix end stop and Z-probe reporting logic 2018-09-22 03:25:18 -04:00
Scott Lahteine ea9eb2fc8f Fix servo angles in config-store 2018-09-21 15:41:36 -04:00
Scott Lahteine beab9733f8 Remove extra clauses in config-store 2018-09-19 17:06:51 -05:00
Scott Lahteine 17494099a9 Fix parking_extruder_tool_change
Fix #11872
2018-09-19 03:02:07 -05:00
Scott Lahteine c5e5cc5e9f Fix some trailing whitespace, macros 2018-09-17 17:30:04 -05:00
Scott Lahteine 09a2bee8aa
Support more filament runout sensors in M119 (#11851) 2018-09-17 03:27:13 -05:00
Roxy-3D 0780913848 IDEX Improvements (#11848) 2018-09-17 01:06:22 -05:00
Scott Lahteine 53bd0b55cb Followup for 6 extruders 2018-09-16 23:57:50 -05:00
Scott Lahteine 1718eff54a Code changes supporting up to 6 extruders 2018-09-16 22:32:53 -05:00
Thomas Moore c437bb08f1 Overhaul of the planner (#11578)
- Move FWRETRACT to the planner
- Combine leveling, skew, etc. in a single modifier method
- Have kinematic and non-kinematic moves call one planner method
2018-09-16 21:24:15 -05:00
Holger Müller 1a6f2b29b8 Add support for Triple-Z steppers/endstops 2018-09-16 00:35:58 -05:00
Scott Lahteine 215eee4fe5 Use 'friend' to access set_directions 2018-09-15 20:11:10 -05:00
Cassiano Leal ff51e7322d Fix for Stepper::set_directions() compilation error (#11838) 2018-09-15 19:31:51 -05:00
Scott Lahteine 809b232fa2 Fix stepper directions after M501/M502
See https://github.com/MarlinFirmware/Marlin/issues/11103#issuecomment-421387611

Co-Authored-By: tcm0116 <tcm0116@users.noreply.github.com>
2018-09-14 20:00:55 -05:00
HenningJW 4fb2134f00 Fix non-sensical values for Zonestar themistor table (#11817)
Values taken from Zonestar firmware for P802QA with a Melzi board. Timestamps from the firmware package are from April 2016.
2018-09-12 15:36:04 -05:00
Scott Lahteine b220a825a7 Fix raw_filwidth_value error 2018-09-12 04:31:55 -05:00
Scott Lahteine 8584d3697d Fix servo count define conflict
`MAX_SERVOS` => `NUM_SERVO_PLUGS`
2018-09-11 16:20:31 -05:00
Scott Lahteine d882717d98
Save some PROGMEM with constexpr (#11798)
When possible, make `active_extruder` a `constexpr` to save some PROGMEM.
2018-09-10 23:09:26 -05:00
Sam Lane 4f883d5971 [2.0.x] Extruder-Distinct Linear Advance K Factors (#11789) 2018-09-10 22:37:32 -05:00
Sam Lane 1b6bc19427 Add external closed loop controller support 2018-09-10 03:17:17 -05:00
Sebastianv650 7e8c073fba Fix extruder stops extruding with LA (#11758) 2018-09-09 00:04:14 -05:00
Scott Lahteine 0c01099f17 hop_amount => current_hop 2018-09-08 21:20:37 -05:00
Kevin e25d2ae4a2 [2.0.x] SWITCHING_TOOLHEAD (#11623) 2018-09-08 01:43:24 -05:00
Scott Lahteine dcfde2317f
Pass segment length in prepare_kinematic_move_to (#11737) 2018-09-06 01:40:22 -05:00
AnHardt 530a13ab6c [2.0.x] SECURITYFIX missing max temp error when PID is used (#11717) 2018-09-05 01:41:45 -05:00
scott0122 72fdb6bab3 Fix SWITCHING_NOZZLE zdiff (#11683) 2018-09-03 23:24:40 -05:00
Scott Lahteine d1ceaf5550
[2.0.x] Followup to IDEX changes (#11707) 2018-09-03 23:15:31 -05:00
Scott Lahteine 8e18e48d49
Merge pull request #11610 from Freeviv/bugfix-2.0.x
[2.0.x] Editable servo angles
2018-09-03 03:55:38 -05:00
Giuliano Zaro 59e76e5fdf [2.0.x] Fix planner computation (#11708)
Fix #11697
2018-09-03 00:29:29 -05:00
Roxy-3D 7680b64aa6
IDEX clean up (#11690) 2018-09-02 10:18:59 -05:00
teemuatlut 49e107cea9 Restrict SW serial to AVR (#11696) 2018-09-01 15:24:44 -05:00
Scott Lahteine d55f44edba
Printcounter improvements (#11689) 2018-08-31 17:40:39 -05:00
scott0122 ada85d5585 Improve HOTEND OFFSET Z display precision to 3 (#11686) 2018-08-31 15:15:40 -05:00
Scott Lahteine 3e81745e81 Fix issues, make optional 2018-08-29 17:58:02 -05:00
Jan aa80e448e2 Store servo angles in EEPROM 2018-08-29 17:58:02 -05:00
scott0122 6dc9553aa5 Fix SWITCHING_NOZZLE compile error (#11657) 2018-08-27 21:25:25 -05:00
Scott Lahteine d1c9517903 Followup to hotend_offset[Z] patch 2018-08-24 21:32:00 -05:00
Scott Lahteine e2b8fc4f17 Reduce some debug strings 2018-08-24 21:11:39 -05:00
Scott Lahteine acf5ae3083 !ENABLED => DISABLED 2018-08-24 16:36:37 -05:00
Kevin 6483285bc5 HOTEND_OFFSET_Z always available (#11603) 2018-08-22 00:21:29 -05:00
Scott Lahteine f0dbe61692 Tweaks to motion.h reachable tests 2018-08-21 23:34:29 -05:00
Roxy-3D cd9868f442
Make position_is_reachable() smarter about IDEX machines`
On many IDEX machines the allowed travel of the X1 carraige and X2 carraige does not perfectly overlap.

This helps the issue.   But more work needs to be done at the higher level.  (For example the X1_MAX_POS should probably be factored into G26's mesh validation pattern.)
2018-08-21 19:12:26 -05:00
Scott Lahteine ad12b9b46b Fix indentation, whitespace, spelling, formbot pins... 2018-08-21 09:47:57 -05:00
Kevin db30650731 Fix UBL/Homing (#11566) 2018-08-16 08:28:40 -05:00
InsanityAutomation 9de730b2bf Update tool_change.cpp (#11559) 2018-08-15 19:30:52 -05:00
Scott Lahteine 1561e61df7 New TMC2208 constructor
Co-Authored-By: teemuatlut <teemu.mantykallio@live.fi>
2018-08-14 18:41:51 -05:00
Nils Hasenbanck b37bfeffeb [2.0.x] Use the new const functions of the persistentStore api (#11544) 2018-08-14 18:35:36 -05:00
Dave Johnson c64199941e Compile only selected PIO environment (#11519) 2018-08-14 03:28:52 -05:00
Scott Lahteine 6964e1a95a Clean up trailing whitespace 2018-08-14 00:55:37 -05:00
Scott Lahteine a4b0148365 Easier to find 'static inline' 2018-08-13 23:55:33 -05:00
Nils Hasenbanck 577aeb4aa9 All EEPROM access uses persistentStore 2018-08-13 17:43:35 -05:00
Scott Lahteine 6a8b906318 Followup for persistent_store_api.h 2018-08-13 17:43:35 -05:00
Chris Pepper 66d2b48b59 Update PersistentStore api (#11538)
- Clean up the API to use a `static` class instance to adhere to Marlin convention
- Add `const` position data access for read/write
- Add Storage capacity to the interface
2018-08-13 17:30:25 -05:00
Scott Lahteine f1347f783d Optimize thermistor table 71
agData in Table 71 is extremely oversampled (see Issue #11220). I have removed the data points that perform *worse* than linearly interpolating the remaining points, and fixed up two points that were simply rounded incorrectly.

Co-Authored-By: Aaron Griffith <aargri@gmail.com>
2018-08-13 02:54:55 -05:00
Scott Lahteine c93538e9f3 UBL/planner patch tweaks 2018-08-11 22:50:45 -05:00
Thomas Moore fc55f1da01 Account for UBL correction when setting the planner position (#11486) 2018-08-10 13:00:50 -05:00
Giuliano e85feb2545 [2.0.x] Better timing handling (#11461) 2018-08-06 23:13:36 -05:00
Scott Lahteine 79835590e3
Easier to disable homing validation (#11458) 2018-08-06 23:11:37 -05:00
Scott Lahteine 9c62c47579
[2.0.x] Fix Dual X Carriage tool change crash (#11447) 2018-08-03 20:47:29 -05:00
Scott Lahteine b826bf4194
Fix initial safe_speed in jerk code (#11417) 2018-07-30 22:50:08 -05:00
Roxy-3D 16432376ab
Revert "[2.0.x]Idex and bl touch fixes" (#11407)
* Revert "[2.0.x] bltouch home refinements (#11397)"

This reverts commit 74900f7a70.

* Revert "[2.0.x]Idex and bl touch fixes (#11395)"

This reverts commit 6dafb90c01.
2018-07-28 23:14:46 -05:00
Giuliano 74900f7a70 [2.0.x] bltouch home refinements (#11397)
Just create  a better functions call logic flow
2018-07-28 19:30:14 -05:00
silentninja1 6dafb90c01 [2.0.x]Idex and bl touch fixes (#11395)
* Fix BLTouch homing

Deploy at start, dont call generic stow function at finish or raise goes too high before setting 0

* Update tool_change.cpp

* Update motion.cpp

* Update motion.cpp

* Update motion.cpp

* Update motion.cpp

* Change brackets to be more in align of Marlin coding standards
2018-07-28 10:33:31 -05:00
Giuliano 5ce5ff8e9b [2.0.x] fix bltouch homing (#11379)
Partially revert. Seems to solve the issue, but one report says G29 still fails.
2018-07-27 18:30:08 -05:00
Lee Olivares 094e6d81a5 Add Einstart-S support (#11219)
Indeed the HAL does not need to be mucked around with to expose ATmega2560 pins not available as numbers on the MEGA board, I'll need to update the wiki with that tidbit and a reference to the pin-mapping comment in `fastio_1280.h`.
2018-07-26 05:52:22 -05:00
Giuliano 4237c3d9f8 [2.0.x] different bltouch init (#11135) 2018-07-26 05:04:09 -05:00
Andy Shaw 624986d423 Ensure ADC conversion is complete before reading (#11336)
The current Marlin implementation relies on a timer interrupt to start the ADC conversion and read it. However in some circumstances the interrupt can be delayed resulting in insufficient time being available for the ADC conversion. This results in a bad reading and false temperature fluctuations. These changes make sure that the conversion is complete (by checking the ADC hardware via the HAL) before reading a value.

See: https://github.com/MarlinFirmware/Marlin/issues/11323
2018-07-26 03:59:19 -05:00
Scott Lahteine 22ebbc091f Tweak some SoftPWM code 2018-07-25 18:09:31 -05:00
teemuatlut fbcdf5eaeb Simplify stepper driver per-axis selection 2018-07-25 02:47:43 -05:00
Eyal fbdbe53290 Fix get_period_inverse(0) so it doesn't crash (#11334) 2018-07-25 01:58:40 -05:00
Scott Lahteine 63a146d424 planner.synchronize at start of tool_change
See https://github.com/MarlinFirmware/Marlin/issues/10949#issuecomment-398540498
2018-07-18 20:10:55 -05:00
Roxy-3D 71df1f7f57
Don't display M421 information for UBL at startup
It takes too long to display the mesh data for large mesh's at startup.   We should consider ways to speed this up.
Perhaps it makes sense to display an entire row of the mesh instead of just one mesh point?
2018-07-17 17:19:52 -05:00
Giuliano e5ea9d200f [2.0.x] fix kill printer (#11260)
This will fix kill message on dual printer with 0 alignment offset
2018-07-13 23:12:43 -05:00
Scott Lahteine 25e2ca8896 Add Z_CLEARANCE_MULTI_PROBE
Co-Authored-By: nightgryphon <ngryph@gmail.com>
2018-07-12 22:46:34 -05:00
Scott Lahteine 566d05006d report_state > event_handler
Make the endstop report method track endstop changes on its own.
2018-07-11 21:08:07 -05:00
Scott Lahteine 6b521b6df2 Loosen thermistor table size limit
Co-Authored-By: Aaron Griffith <aargri@gmail.com>
2018-07-11 21:08:07 -05:00
Scott Lahteine 63f4c9bdb9 Followup to float maths patch 2018-07-06 21:34:09 -05:00
Scott Lahteine 2992112da0 Optimize delta kinematics
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-07-04 22:28:56 -05:00
etagle 1367df2875 Replace double with float, optimize calculation 2018-07-04 22:28:56 -05:00
Scott Lahteine 68e6650df7 Remove Quake Fast Inverse SQRT (it isn't faster) 2018-07-04 22:22:10 -05:00
Scott Lahteine 9c058091e9 No M914 or SGT set for non-sensorless axes 2018-07-03 20:09:13 -05:00
Scott Lahteine 568cfe7caa Add thermistor 501 (100K Zonestar) 2018-07-03 17:52:06 -05:00
Scott Lahteine c51e27d11d
Do a hard kill for failed homing moves (#11161) 2018-06-30 21:54:07 -05:00
Scott Lahteine 90ba77ea0f Lose the old HOMEAXIS macro 2018-06-30 18:13:13 -05:00
Scott Lahteine 2421f3a47d Detect endstop hits in any direction 2018-06-30 17:27:37 -05:00
Scott Lahteine 8eaac0dab3
Add delta feedrate scaling (#11153) 2018-06-30 13:44:27 -05:00
Scott Lahteine bd7f5848f1
Remove JUNCTION_DEVIATION_INCLUDE_E option (#11147) 2018-06-29 22:42:05 -05:00
Scott Lahteine 42f9921482 Ignore Z min endstop with separate Z-probe
To allow for the case where a Z endstop (e.g., hall effect) is higher than the probe trigger point, don't check the Z min endstop during probe moves. See #11134
2018-06-28 05:06:11 -05:00
Scott Lahteine aa4cd2e861 Eliminate stepper.* signed/unsigned warnings 2018-06-27 23:10:51 -05:00
Eduardo José Tagle edb21f349a Fix stepper/planner block handling, race conditions (#11098)
- Allow planner to alter the deceleration phase of the currently executing block.
- Remove BUSY flag, as it is NON ATOMIC to set bits in the Stepper ISR and Planner at the same time.
2018-06-27 18:11:16 -05:00
Scott Lahteine 4d3a9930c5 Match ASM comment spacing to 1.1.x 2018-06-27 17:26:48 -05:00
Scott Lahteine 053438a3aa
Poll all endstops, even when stationary (#11123) 2018-06-27 04:18:57 -04:00
Andy Shaw 3b3029c4bf Make max_e_jerk an array to reduce CPU usage (#11118) 2018-06-26 22:38:31 -04:00
Giuliano 8d8f257384 [2.0.x] Fix advanced pause init values (#11095)
Fixed for cycle used to initialize default values
2018-06-26 14:37:52 -04:00
etagle 5b49fccf80 Add stepper driver DIR delay configuration option
...and recommended pulse width configuration for A4988
2018-06-26 13:28:04 -05:00
etagle fb4e0b105b Fix endstops compilation error 2018-06-25 12:10:17 -04:00
Eduardo José Tagle 48a15d1c7e [2.0.x] Fix stepper/planner race condition and Stepper pulse timer (#11081)
* Planner: Removal of some race conditions between Stepper ISR and Planner, some of them pointed out by @AnHardt, some of my own findings
* Fixing timing on stepper pulses adding a compensation for the non-null time required to set ports.
2018-06-22 09:15:37 -05:00
Scott Lahteine 50b6204079 Fix LIN_ADVANCE max_e_jerk_factor
According to https://github.com/MarlinFirmware/Marlin/issues/9917#issuecomment-399204568
2018-06-21 22:02:34 -04:00
Scott Lahteine 99591dc20c
Filter endstops state at all times (#11066) 2018-06-21 20:14:16 -05:00
Scott Lahteine 7406f04029 Use MAX (not max) in stepper.h 2018-06-19 20:51:07 -05:00
Scott Lahteine da94e0bd27 Unsigned eeprom mesh addresses 2018-06-15 15:51:57 -05:00
Scott Lahteine 4c8d6df13c
Extra insurance against endstop false positives (#11013) 2018-06-13 01:22:02 -05:00
Scott Lahteine 81edbfa665
Merge pull request #11004 from ejtagle/always_honor_maximum_step_rate
[2.0.x] Fix stepper pulse minimum period and timing calculations
2018-06-12 22:17:22 -05:00
Scott Lahteine f3fed52348 Fix coolstep_min_speed / sensorless homing
Fix #8890
2018-06-12 22:12:46 -05:00
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>
2018-06-12 21:34:24 -05:00
Scott Lahteine 0d79128c8d Localize stepper-specific defines 2018-06-12 21:16:54 -05:00
Scott Lahteine 4dbec774b5 HAL_*_TIMER_RATE => *_TIMER_RATE 2018-06-12 16:39:12 -05:00
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`
2018-06-11 22:05:16 -05:00
Scott Lahteine f2c3b0d476 Use bit flags for homed/known 2018-06-11 22:05:16 -05:00
Scott Lahteine 43bdd0bfe4 Fix indent in stepper.h 2018-06-11 19:17:46 -05:00
Scott Lahteine 3fd1f32b73 Fix ADC key and chamber temp 2018-06-10 20:11:40 -05:00
Scott Lahteine a2f521d34b
Add Junction Deviation mm runtime setting (#10990) 2018-06-10 18:02:54 -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
Giuliano b64cc9329e [2.0.x] Fix dual enstop home (#10980) 2018-06-10 02:08:47 -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
etagle d82704354f Increase the planner first block HOLD delay to 100mS 2018-06-09 21:12:37 -05:00
Scott Lahteine 334341c632
Hephestos config updates (#10960) 2018-06-07 21:23:55 -05:00
Scott Lahteine 55aedf036b Fix M503 ABL mesh report. (Zero-based IJ indices) 2018-06-07 16:36:50 -05:00
Scott Lahteine d8b983f624
More concise M503 output for M906, M913, M914 (#10947) 2018-06-06 20:58:28 -05:00
Scott Lahteine ad8d3150aa Cleanup for dual endstops homing 2018-06-03 00:34:29 -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 d259070980 Clean up trailing spaces from vim, etc. 2018-05-31 00:09:41 -05:00
Scott Lahteine b90f54b0fc Improve probe logging 2018-05-29 21:54:13 -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
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 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
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 6775a16c97 Fix switching extruder stepping with LA 2018-05-26 19:07:01 -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 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
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 f28e366b77 Followup for core endstops 2018-05-24 03:02:57 -05:00
Scott Lahteine 9644d56b42 Patches for core motion tests 2018-05-24 00:49:01 -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 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 0c3773d724 Cleanup in stepper_indirection.h 2018-05-22 00:36:03 -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 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