Commit graph

646 commits

Author SHA1 Message Date
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