Browse Source

Fix stepper use before init. Add Ultimaker2+ Extended clone config (#13284)

pull/1/head
Vasily Evseenko 5 years ago
committed by Scott Lahteine
parent
commit
71773b128d
  1. 2103
      Marlin/src/config/examples/AliExpress/UM2pExt/Configuration.h
  2. 2263
      Marlin/src/config/examples/AliExpress/UM2pExt/Configuration_adv.h
  3. 2
      Marlin/src/module/configuration_store.cpp
  4. 10
      Marlin/src/module/stepper.cpp
  5. 1
      Marlin/src/module/stepper.h
  6. 2
      Marlin/src/pins/pins_ULTIMAIN_2.h

2103
Marlin/src/config/examples/AliExpress/UM2pExt/Configuration.h

File diff suppressed because it is too large

2263
Marlin/src/config/examples/AliExpress/UM2pExt/Configuration_adv.h

File diff suppressed because it is too large

2
Marlin/src/module/configuration_store.cpp

@ -2265,7 +2265,7 @@ void MarlinSettings::reset() {
//
#if HAS_MOTOR_CURRENT_PWM
uint32_t tmp_motor_current_setting[3] = PWM_MOTOR_CURRENT;
constexpr uint32_t tmp_motor_current_setting[3] = PWM_MOTOR_CURRENT;
for (uint8_t q = 3; q--;)
stepper.digipot_current(q, (stepper.motor_current_setting[q] = tmp_motor_current_setting[q]));
#endif

10
Marlin/src/module/stepper.cpp

@ -81,6 +81,10 @@
Stepper stepper; // Singleton
#if HAS_MOTOR_CURRENT_PWM
bool Stepper::initialized; // = false
#endif
#ifdef __AVR__
#include "speed_lookuptable.h"
#endif
@ -2161,6 +2165,9 @@ void Stepper::init() {
| (INVERT_Z_DIR ? _BV(Z_AXIS) : 0);
set_directions();
#if HAS_MOTOR_CURRENT_PWM
initialized = true;
#endif
}
/**
@ -2466,6 +2473,7 @@ void Stepper::report_positions() {
#if HAS_MOTOR_CURRENT_PWM
void Stepper::refresh_motor_power() {
if (!initialized) return;
LOOP_L_N(i, COUNT(motor_current_setting)) {
switch (i) {
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY) || PIN_EXISTS(MOTOR_CURRENT_PWM_X) || PIN_EXISTS(MOTOR_CURRENT_PWM_Y)
@ -2498,6 +2506,8 @@ void Stepper::report_positions() {
#elif HAS_MOTOR_CURRENT_PWM
if (!initialized) return;
if (WITHIN(driver, 0, COUNT(motor_current_setting) - 1))
motor_current_setting[driver] = current; // update motor_current_setting

1
Marlin/src/module/stepper.h

@ -239,6 +239,7 @@ class Stepper {
#define PWM_MOTOR_CURRENT DEFAULT_PWM_MOTOR_CURRENT
#endif
static uint32_t motor_current_setting[3];
static bool initialized;
#endif
private:

2
Marlin/src/pins/pins_ULTIMAIN_2.h

@ -97,6 +97,8 @@
#define FAN_PIN 7
#endif
#define ORIG_E0_AUTO_FAN_PIN 77
//
// Misc. Functions
//

Loading…
Cancel
Save