76 Commits (a9f64537ffcc77cbf258e902accd3c85f84a23f2)

Author SHA1 Message Date
Scott Lahteine 98600e1433 Minor stepper cleanup 8 years ago
Scott Lahteine 00662b8635 Minor babystep cleanup patches 8 years ago
Sebastianv650 f9bea7968f BugFix for incorrect E-speed calculation
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
8 years ago
Scott Lahteine f8199b2cc1 Merge pull request #4982 from thinkyhead/rc_abl_bugfix
Fix planner with kinematics, delta ABL
8 years ago
Scott Lahteine c5cac486f5 Use a, b, c instead of lx, ly, lz 8 years ago
Sebastianv650 a448cedbc5 LIN_ADVANCE bug fix and optimization
.) long to int: Extruder stalls at 10kHz / 20kHz step limits with long.
.) Take the delta_adv_steps calculation out of the step_loops loop. Wasted calculation performance if done inside.
.) >> 2 replaced by 3: Is divide by 8. Reason: Timer 0 runs at 16/8=2MHz, Timer 1 at 16/64=0.25MHz. ==> 2/0.25=8.
8 years ago
Scott Lahteine ecf7cdde65 Augment planner/stepper getters/setters 8 years ago
Scott Lahteine 5fff8d148b Clean up digital pots and microsteps 8 years ago
Scott Lahteine 7d72ed688c Revert motor_current_setting to `constexpr`
We should use `constexpr` wherever it makes sense, for its added benefits. See http://stackoverflow.com/questions/13346879/const-vs-constexpr-on-variables
8 years ago
Scott Lahteine 5efb12e889 Simpler report_current_position for SCARA 8 years ago
Scott Lahteine 5cbed13f41 'constexpr' => 'const' for PWM_MOTOR_CURRENT 8 years ago
esenapaj 954563d603 Adjust spacing 8 years ago
esenapaj 7e9576dc5b Extend the e_steps[] from int to long for allowing more than 32,767 E steps
Probably needed for long straight lines when using high microstepping
8 years ago
Scott Lahteine 8ff338c2b9 Patch stepper.h for SCARA 8 years ago
Scott Lahteine 9bf78ef465 Fix capitalization of counter_m 8 years ago
Scott Lahteine 08f717e5f7 Use bit-size typedefs for some stepper vars 8 years ago
Scott Lahteine 2f223b8c79 Use ABC and XYZ for "3" 8 years ago
Scott Lahteine b73203a0b7 Move some includes around to uncover missing deps 9 years ago
Scott Lahteine f8b5749235 Replace division in planner with multiplication 9 years ago
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 9 years ago
Scott Lahteine 117db77c55 make motor_current_setting static and constexpr 9 years ago
Scott Lahteine 8d8180e028 Parse M905 args in Marlin_main.cpp 9 years ago
Scott Lahteine aad9c0ed8d Apply updated ISR timing code 9 years ago
Scott Lahteine 6d62a4ffc8 Patch LIN_ADVANCE for style and forward-compatibility 9 years ago
Sebastianv650 fb8e880734 Add LIN_ADVANCE 9 years ago
Scott Lahteine 72c6f2923f axis_steps_per_unit => axis_steps_per_mm 9 years ago
Scott Lahteine e2a8961635 Use e_steps[EXTRUDERS] instead of e_steps[4] 9 years ago
Scott Lahteine 81384dfd36 Apply static to remaining stepper methods 9 years ago
Scott Lahteine 663d2463dc Merge pull request #3922 from thinkyhead/rc_statics_stepper
Apply static to Stepper class
9 years ago
Scott Lahteine 668d50f68e Keep Stepper encapsulation, use static data and methods 9 years ago
Scott Lahteine ecfdcf7250 Tiny calc_timer speedup 9 years ago
Scott Lahteine dc22097b3a Fix some of array initializations
- In `stepper.h` init `count_direction` array
- In `ultralcd.cpp` init `autotune_temp` array
9 years ago
Scott Lahteine 6398d497b3 Ultimate followup to Stepper/Planner patch
- Search all symbols and apply prefixes where needed
- Encapsulate some private methods
- Inline some setters
- Make `microstep_mode` a public method
9 years ago
esenapaj 605808fe37 Additional follow-up the PR #3631(Encapsulate S...
Additional follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

・Change from abort_on_endstop_hit to stepper.abort_on_endstop_hit in endstop.cpp, Marlin_main.cpp, and ultralcd.cpp
・Add include path to cardreader.h and temperature.h in endstop.cpp(for CardReader class and disable_all_heaters())
It fix compilation error when ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED and SDSUPPORT are enabled.

・Change from digipot_current() to stepper.digipot_current() in Marlin_main.cpp
・Change from digitalPotWrite() to stepper.digitalPotWrite() in Marlin_main.cpp
It fix compilation errors when HAS_DIGIPOTSS is enabled.

・Change from microstep_mode() to stepper.microstep_mode() in Marlin_main.cpp
・Change attribute of microstep_mode() from private to public in stepper.h
・Change from microstep_readings() to stepper.microstep_readings() in Marlin_main.cpp
・Change from microstep_ms() to stepper.microstep_ms() in Marlin_main.
It fix compilation errors when HAS_MICROSTEPS is enabled.
9 years ago
Scott Lahteine 96f51f400f Planner singleton class 9 years ago
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 9 years ago
Scott Lahteine e087a99a10 Some cleanup of st_get_pos functions 9 years ago
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
9 years ago
jbrazio 5e5d250832 Added gplv3 header to all Marlin files 9 years ago
Scott Lahteine af32a7d5d6 M120/M121 also set endstops non-homing state 9 years ago
Scott Lahteine 5d0570cea0 Make digitalPotWrite depend on HAS_DIGIPOTSS 9 years ago
Scott Lahteine 89838cdb10 Move step macros to stepper_indirection.h 9 years ago
Scott Lahteine 1002eb67c8 Update name of st_get_axis_position_mm in stepper.h 9 years ago
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 years ago
Scott Lahteine c35fb88094 Overridable Options - Part 8 (PR#2560)
Apply `ENABLED` / `DISABLED` macros to stepper-related files.
10 years ago
Scott Lahteine ab6f1fdf8b Move & document ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED (PR#2528)
As suggested in #2521
- Move `ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED` because `SDSUPPORT` is
also required.
- Add a note that endstops must be enabled for the feature to have any
effect
10 years ago
Scott Lahteine 87a872e103 Use st_get_position_mm where possible (PR#2411) 10 years ago
Scott Lahteine c54a2ea042 Adjust spacing in Marlin_main.cpp and stepper.* 10 years ago
alexborro 0ce3576685 New Feature: Z_DUAL_ENDSTOPS
Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z
steppers - Let's call them Z stepper and Z2 stepper.
That way the machine is capable to align the bed during home, since both
Z steppers are homed.
There is also an implementation of M666 (software endstops adjustment)
to this feature.
After Z homing, this adjustment is applied to just one of the steppers
in order to align the bed.
One just need to home the Z axis and measure the distance difference
between both Z axis and apply the math: Z adjust = Z - Z2.
If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it
is.. think about it) and the Z adjust would be positive.
Play a little bit with small adjustments (0.5mm) and check the
behaviour.
The M119 (endstops report) will start reporting the Z2 Endstop as well.
10 years ago
Scott Lahteine c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
10 years ago