Overridable Options - Part 8 (PR#2560)
Apply `ENABLED` / `DISABLED` macros to stepper-related files.
This commit is contained in:
parent
0d8989fc14
commit
c35fb88094
|
@ -49,7 +49,7 @@ block_t *current_block; // A pointer to the block currently being traced
|
||||||
static unsigned char out_bits = 0; // The next stepping-bits to be output
|
static unsigned char out_bits = 0; // The next stepping-bits to be output
|
||||||
static unsigned int cleaning_buffer_counter;
|
static unsigned int cleaning_buffer_counter;
|
||||||
|
|
||||||
#ifdef Z_DUAL_ENDSTOPS
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
static bool performing_homing = false,
|
static bool performing_homing = false,
|
||||||
locked_z_motor = false,
|
locked_z_motor = false,
|
||||||
locked_z2_motor = false;
|
locked_z2_motor = false;
|
||||||
|
@ -59,7 +59,7 @@ static unsigned int cleaning_buffer_counter;
|
||||||
static long counter_x, counter_y, counter_z, counter_e;
|
static long counter_x, counter_y, counter_z, counter_e;
|
||||||
volatile static unsigned long step_events_completed; // The number of step events executed in the current block
|
volatile static unsigned long step_events_completed; // The number of step events executed in the current block
|
||||||
|
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
static long advance_rate, advance, final_advance = 0;
|
static long advance_rate, advance, final_advance = 0;
|
||||||
static long old_advance = 0;
|
static long old_advance = 0;
|
||||||
static long e_steps[4];
|
static long e_steps[4];
|
||||||
|
@ -76,18 +76,18 @@ volatile long endstops_trigsteps[3] = { 0 };
|
||||||
volatile long endstops_stepsTotal, endstops_stepsDone;
|
volatile long endstops_stepsTotal, endstops_stepsDone;
|
||||||
static volatile char endstop_hit_bits = 0; // use X_MIN, Y_MIN, Z_MIN and Z_PROBE as BIT value
|
static volatile char endstop_hit_bits = 0; // use X_MIN, Y_MIN, Z_MIN and Z_PROBE as BIT value
|
||||||
|
|
||||||
#ifndef Z_DUAL_ENDSTOPS
|
#if DISABLED(Z_DUAL_ENDSTOPS)
|
||||||
static byte
|
static byte
|
||||||
#else
|
#else
|
||||||
static uint16_t
|
static uint16_t
|
||||||
#endif
|
#endif
|
||||||
old_endstop_bits = 0; // use X_MIN, X_MAX... Z_MAX, Z_PROBE, Z2_MIN, Z2_MAX
|
old_endstop_bits = 0; // use X_MIN, X_MAX... Z_MAX, Z_PROBE, Z2_MIN, Z2_MAX
|
||||||
|
|
||||||
#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
||||||
bool abort_on_endstop_hit = false;
|
bool abort_on_endstop_hit = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MOTOR_CURRENT_PWM_XY_PIN
|
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
|
||||||
int motor_current_setting[3] = DEFAULT_PWM_MOTOR_CURRENT;
|
int motor_current_setting[3] = DEFAULT_PWM_MOTOR_CURRENT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1 };
|
||||||
//================================ functions ================================
|
//================================ functions ================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#ifdef DUAL_X_CARRIAGE
|
#if ENABLED(DUAL_X_CARRIAGE)
|
||||||
#define X_APPLY_DIR(v,ALWAYS) \
|
#define X_APPLY_DIR(v,ALWAYS) \
|
||||||
if (extruder_duplication_enabled || ALWAYS) { \
|
if (extruder_duplication_enabled || ALWAYS) { \
|
||||||
X_DIR_WRITE(v); \
|
X_DIR_WRITE(v); \
|
||||||
|
@ -123,7 +123,7 @@ volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1 };
|
||||||
#define X_APPLY_STEP(v,Q) X_STEP_WRITE(v)
|
#define X_APPLY_STEP(v,Q) X_STEP_WRITE(v)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Y_DUAL_STEPPER_DRIVERS
|
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
|
||||||
#define Y_APPLY_DIR(v,Q) { Y_DIR_WRITE(v); Y2_DIR_WRITE((v) != INVERT_Y2_VS_Y_DIR); }
|
#define Y_APPLY_DIR(v,Q) { Y_DIR_WRITE(v); Y2_DIR_WRITE((v) != INVERT_Y2_VS_Y_DIR); }
|
||||||
#define Y_APPLY_STEP(v,Q) { Y_STEP_WRITE(v); Y2_STEP_WRITE(v); }
|
#define Y_APPLY_STEP(v,Q) { Y_STEP_WRITE(v); Y2_STEP_WRITE(v); }
|
||||||
#else
|
#else
|
||||||
|
@ -131,9 +131,9 @@ volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1 };
|
||||||
#define Y_APPLY_STEP(v,Q) Y_STEP_WRITE(v)
|
#define Y_APPLY_STEP(v,Q) Y_STEP_WRITE(v)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Z_DUAL_STEPPER_DRIVERS
|
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
|
||||||
#define Z_APPLY_DIR(v,Q) { Z_DIR_WRITE(v); Z2_DIR_WRITE(v); }
|
#define Z_APPLY_DIR(v,Q) { Z_DIR_WRITE(v); Z2_DIR_WRITE(v); }
|
||||||
#ifdef Z_DUAL_ENDSTOPS
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
#define Z_APPLY_STEP(v,Q) \
|
#define Z_APPLY_STEP(v,Q) \
|
||||||
if (performing_homing) { \
|
if (performing_homing) { \
|
||||||
if (Z_HOME_DIR > 0) {\
|
if (Z_HOME_DIR > 0) {\
|
||||||
|
@ -263,17 +263,17 @@ void checkHitEndstops() {
|
||||||
SERIAL_ECHOPAIR(" Z:", (float)endstops_trigsteps[Z_AXIS] / axis_steps_per_unit[Z_AXIS]);
|
SERIAL_ECHOPAIR(" Z:", (float)endstops_trigsteps[Z_AXIS] / axis_steps_per_unit[Z_AXIS]);
|
||||||
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
|
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
|
||||||
}
|
}
|
||||||
#ifdef Z_PROBE_ENDSTOP
|
#if ENABLED(Z_PROBE_ENDSTOP)
|
||||||
if (endstop_hit_bits & BIT(Z_PROBE)) {
|
if (endstop_hit_bits & BIT(Z_PROBE)) {
|
||||||
SERIAL_ECHOPAIR(" Z_PROBE:", (float)endstops_trigsteps[Z_AXIS] / axis_steps_per_unit[Z_AXIS]);
|
SERIAL_ECHOPAIR(" Z_PROBE:", (float)endstops_trigsteps[Z_AXIS] / axis_steps_per_unit[Z_AXIS]);
|
||||||
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "ZP");
|
LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "ZP");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
SERIAL_EOL;
|
SERIAL_EOL;
|
||||||
|
|
||||||
endstops_hit_on_purpose();
|
endstops_hit_on_purpose();
|
||||||
|
|
||||||
#if defined(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && defined(SDSUPPORT)
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && ENABLED(SDSUPPORT)
|
||||||
if (abort_on_endstop_hit) {
|
if (abort_on_endstop_hit) {
|
||||||
card.sdprinting = false;
|
card.sdprinting = false;
|
||||||
card.closefile();
|
card.closefile();
|
||||||
|
@ -556,7 +556,7 @@ void set_stepper_direction() {
|
||||||
count_direction[Z_AXIS] = 1;
|
count_direction[Z_AXIS] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef ADVANCE
|
#if DISABLED(ADVANCE)
|
||||||
if (TEST(out_bits, E_AXIS)) {
|
if (TEST(out_bits, E_AXIS)) {
|
||||||
REV_E_DIR();
|
REV_E_DIR();
|
||||||
count_direction[E_AXIS] = -1;
|
count_direction[E_AXIS] = -1;
|
||||||
|
@ -577,7 +577,7 @@ FORCE_INLINE void trapezoid_generator_reset() {
|
||||||
set_stepper_direction();
|
set_stepper_direction();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
advance = current_block->initial_advance;
|
advance = current_block->initial_advance;
|
||||||
final_advance = current_block->final_advance;
|
final_advance = current_block->final_advance;
|
||||||
// Do E steps + advance steps
|
// Do E steps + advance steps
|
||||||
|
@ -630,7 +630,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
counter_y = counter_z = counter_e = counter_x;
|
counter_y = counter_z = counter_e = counter_x;
|
||||||
step_events_completed = 0;
|
step_events_completed = 0;
|
||||||
|
|
||||||
#ifdef Z_LATE_ENABLE
|
#if ENABLED(Z_LATE_ENABLE)
|
||||||
if (current_block->steps[Z_AXIS] > 0) {
|
if (current_block->steps[Z_AXIS] > 0) {
|
||||||
enable_z();
|
enable_z();
|
||||||
OCR1A = 2000; //1ms wait
|
OCR1A = 2000; //1ms wait
|
||||||
|
@ -638,7 +638,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// #ifdef ADVANCE
|
// #if ENABLED(ADVANCE)
|
||||||
// e_steps[current_block->active_extruder] = 0;
|
// e_steps[current_block->active_extruder] = 0;
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
|
@ -658,7 +658,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
MSerial.checkRx(); // Check for serial chars.
|
MSerial.checkRx(); // Check for serial chars.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
counter_e += current_block->steps[E_AXIS];
|
counter_e += current_block->steps[E_AXIS];
|
||||||
if (counter_e > 0) {
|
if (counter_e > 0) {
|
||||||
counter_e -= current_block->step_event_count;
|
counter_e -= current_block->step_event_count;
|
||||||
|
@ -677,7 +677,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
STEP_ADD(x,X);
|
STEP_ADD(x,X);
|
||||||
STEP_ADD(y,Y);
|
STEP_ADD(y,Y);
|
||||||
STEP_ADD(z,Z);
|
STEP_ADD(z,Z);
|
||||||
#ifndef ADVANCE
|
#if DISABLED(ADVANCE)
|
||||||
STEP_ADD(e,E);
|
STEP_ADD(e,E);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -691,7 +691,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
STEP_IF_COUNTER(x, X);
|
STEP_IF_COUNTER(x, X);
|
||||||
STEP_IF_COUNTER(y, Y);
|
STEP_IF_COUNTER(y, Y);
|
||||||
STEP_IF_COUNTER(z, Z);
|
STEP_IF_COUNTER(z, Z);
|
||||||
#ifndef ADVANCE
|
#if DISABLED(ADVANCE)
|
||||||
STEP_IF_COUNTER(e, E);
|
STEP_IF_COUNTER(e, E);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -714,7 +714,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
timer = calc_timer(acc_step_rate);
|
timer = calc_timer(acc_step_rate);
|
||||||
OCR1A = timer;
|
OCR1A = timer;
|
||||||
acceleration_time += timer;
|
acceleration_time += timer;
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
for(int8_t i=0; i < step_loops; i++) {
|
for(int8_t i=0; i < step_loops; i++) {
|
||||||
advance += advance_rate;
|
advance += advance_rate;
|
||||||
}
|
}
|
||||||
|
@ -743,7 +743,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
timer = calc_timer(step_rate);
|
timer = calc_timer(step_rate);
|
||||||
OCR1A = timer;
|
OCR1A = timer;
|
||||||
deceleration_time += timer;
|
deceleration_time += timer;
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
for(int8_t i=0; i < step_loops; i++) {
|
for(int8_t i=0; i < step_loops; i++) {
|
||||||
advance -= advance_rate;
|
advance -= advance_rate;
|
||||||
}
|
}
|
||||||
|
@ -767,7 +767,7 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
unsigned char old_OCR0A;
|
unsigned char old_OCR0A;
|
||||||
// Timer interrupt for E. e_steps is set in the main routine;
|
// Timer interrupt for E. e_steps is set in the main routine;
|
||||||
// Timer 0 is shared with millies
|
// Timer 0 is shared with millies
|
||||||
|
@ -845,11 +845,11 @@ void st_init() {
|
||||||
microstep_init(); //Initialize Microstepping Pins
|
microstep_init(); //Initialize Microstepping Pins
|
||||||
|
|
||||||
// initialise TMC Steppers
|
// initialise TMC Steppers
|
||||||
#ifdef HAVE_TMCDRIVER
|
#if ENABLED(HAVE_TMCDRIVER)
|
||||||
tmc_init();
|
tmc_init();
|
||||||
#endif
|
#endif
|
||||||
// initialise L6470 Steppers
|
// initialise L6470 Steppers
|
||||||
#ifdef HAVE_L6470DRIVER
|
#if ENABLED(HAVE_L6470DRIVER)
|
||||||
L6470_init();
|
L6470_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -862,13 +862,13 @@ void st_init() {
|
||||||
#endif
|
#endif
|
||||||
#if HAS_Y_DIR
|
#if HAS_Y_DIR
|
||||||
Y_DIR_INIT;
|
Y_DIR_INIT;
|
||||||
#if defined(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_DIR
|
#if ENABLED(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_DIR
|
||||||
Y2_DIR_INIT;
|
Y2_DIR_INIT;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if HAS_Z_DIR
|
#if HAS_Z_DIR
|
||||||
Z_DIR_INIT;
|
Z_DIR_INIT;
|
||||||
#if defined(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_DIR
|
#if ENABLED(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_DIR
|
||||||
Z2_DIR_INIT;
|
Z2_DIR_INIT;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -899,7 +899,7 @@ void st_init() {
|
||||||
Y_ENABLE_INIT;
|
Y_ENABLE_INIT;
|
||||||
if (!Y_ENABLE_ON) Y_ENABLE_WRITE(HIGH);
|
if (!Y_ENABLE_ON) Y_ENABLE_WRITE(HIGH);
|
||||||
|
|
||||||
#if defined(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_ENABLE
|
#if ENABLED(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_ENABLE
|
||||||
Y2_ENABLE_INIT;
|
Y2_ENABLE_INIT;
|
||||||
if (!Y_ENABLE_ON) Y2_ENABLE_WRITE(HIGH);
|
if (!Y_ENABLE_ON) Y2_ENABLE_WRITE(HIGH);
|
||||||
#endif
|
#endif
|
||||||
|
@ -908,7 +908,7 @@ void st_init() {
|
||||||
Z_ENABLE_INIT;
|
Z_ENABLE_INIT;
|
||||||
if (!Z_ENABLE_ON) Z_ENABLE_WRITE(HIGH);
|
if (!Z_ENABLE_ON) Z_ENABLE_WRITE(HIGH);
|
||||||
|
|
||||||
#if defined(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_ENABLE
|
#if ENABLED(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_ENABLE
|
||||||
Z2_ENABLE_INIT;
|
Z2_ENABLE_INIT;
|
||||||
if (!Z_ENABLE_ON) Z2_ENABLE_WRITE(HIGH);
|
if (!Z_ENABLE_ON) Z2_ENABLE_WRITE(HIGH);
|
||||||
#endif
|
#endif
|
||||||
|
@ -934,56 +934,56 @@ void st_init() {
|
||||||
|
|
||||||
#if HAS_X_MIN
|
#if HAS_X_MIN
|
||||||
SET_INPUT(X_MIN_PIN);
|
SET_INPUT(X_MIN_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_XMIN
|
#if ENABLED(ENDSTOPPULLUP_XMIN)
|
||||||
WRITE(X_MIN_PIN,HIGH);
|
WRITE(X_MIN_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_Y_MIN
|
#if HAS_Y_MIN
|
||||||
SET_INPUT(Y_MIN_PIN);
|
SET_INPUT(Y_MIN_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_YMIN
|
#if ENABLED(ENDSTOPPULLUP_YMIN)
|
||||||
WRITE(Y_MIN_PIN,HIGH);
|
WRITE(Y_MIN_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_Z_MIN
|
#if HAS_Z_MIN
|
||||||
SET_INPUT(Z_MIN_PIN);
|
SET_INPUT(Z_MIN_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_ZMIN
|
#if ENABLED(ENDSTOPPULLUP_ZMIN)
|
||||||
WRITE(Z_MIN_PIN,HIGH);
|
WRITE(Z_MIN_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_X_MAX
|
#if HAS_X_MAX
|
||||||
SET_INPUT(X_MAX_PIN);
|
SET_INPUT(X_MAX_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_XMAX
|
#if ENABLED(ENDSTOPPULLUP_XMAX)
|
||||||
WRITE(X_MAX_PIN,HIGH);
|
WRITE(X_MAX_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_Y_MAX
|
#if HAS_Y_MAX
|
||||||
SET_INPUT(Y_MAX_PIN);
|
SET_INPUT(Y_MAX_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_YMAX
|
#if ENABLED(ENDSTOPPULLUP_YMAX)
|
||||||
WRITE(Y_MAX_PIN,HIGH);
|
WRITE(Y_MAX_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_Z_MAX
|
#if HAS_Z_MAX
|
||||||
SET_INPUT(Z_MAX_PIN);
|
SET_INPUT(Z_MAX_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_ZMAX
|
#if ENABLED(ENDSTOPPULLUP_ZMAX)
|
||||||
WRITE(Z_MAX_PIN,HIGH);
|
WRITE(Z_MAX_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_Z2_MAX
|
#if HAS_Z2_MAX
|
||||||
SET_INPUT(Z2_MAX_PIN);
|
SET_INPUT(Z2_MAX_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_ZMAX
|
#if ENABLED(ENDSTOPPULLUP_ZMAX)
|
||||||
WRITE(Z2_MAX_PIN,HIGH);
|
WRITE(Z2_MAX_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(Z_PROBE_PIN) && Z_PROBE_PIN >= 0) && defined(Z_PROBE_ENDSTOP) // Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used.
|
#if HAS_Z_PROBE && ENABLED(Z_PROBE_ENDSTOP) // Check for Z_PROBE_ENDSTOP so we don't pull a pin high unless it's to be used.
|
||||||
SET_INPUT(Z_PROBE_PIN);
|
SET_INPUT(Z_PROBE_PIN);
|
||||||
#ifdef ENDSTOPPULLUP_ZPROBE
|
#if ENABLED(ENDSTOPPULLUP_ZPROBE)
|
||||||
WRITE(Z_PROBE_PIN,HIGH);
|
WRITE(Z_PROBE_PIN,HIGH);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1007,14 +1007,14 @@ void st_init() {
|
||||||
AXIS_INIT(x, X2, X);
|
AXIS_INIT(x, X2, X);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_Y_STEP
|
#if HAS_Y_STEP
|
||||||
#if defined(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_STEP
|
#if ENABLED(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_STEP
|
||||||
Y2_STEP_INIT;
|
Y2_STEP_INIT;
|
||||||
Y2_STEP_WRITE(INVERT_Y_STEP_PIN);
|
Y2_STEP_WRITE(INVERT_Y_STEP_PIN);
|
||||||
#endif
|
#endif
|
||||||
AXIS_INIT(y, Y, Y);
|
AXIS_INIT(y, Y, Y);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_Z_STEP
|
#if HAS_Z_STEP
|
||||||
#if defined(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_STEP
|
#if ENABLED(Z_DUAL_STEPPER_DRIVERS) && HAS_Z2_STEP
|
||||||
Z2_STEP_INIT;
|
Z2_STEP_INIT;
|
||||||
Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
|
Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1054,7 +1054,7 @@ void st_init() {
|
||||||
TCNT1 = 0;
|
TCNT1 = 0;
|
||||||
ENABLE_STEPPER_DRIVER_INTERRUPT();
|
ENABLE_STEPPER_DRIVER_INTERRUPT();
|
||||||
|
|
||||||
#ifdef ADVANCE
|
#if ENABLED(ADVANCE)
|
||||||
#if defined(TCCR0A) && defined(WGM01)
|
#if defined(TCCR0A) && defined(WGM01)
|
||||||
TCCR0A &= ~BIT(WGM01);
|
TCCR0A &= ~BIT(WGM01);
|
||||||
TCCR0A &= ~BIT(WGM00);
|
TCCR0A &= ~BIT(WGM00);
|
||||||
|
@ -1113,7 +1113,7 @@ void quickStop() {
|
||||||
ENABLE_STEPPER_DRIVER_INTERRUPT();
|
ENABLE_STEPPER_DRIVER_INTERRUPT();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BABYSTEPPING
|
#if ENABLED(BABYSTEPPING)
|
||||||
|
|
||||||
// MUST ONLY BE CALLED BY AN ISR,
|
// MUST ONLY BE CALLED BY AN ISR,
|
||||||
// No other ISR should ever interrupt this!
|
// No other ISR should ever interrupt this!
|
||||||
|
@ -1146,7 +1146,7 @@ void quickStop() {
|
||||||
|
|
||||||
case Z_AXIS: {
|
case Z_AXIS: {
|
||||||
|
|
||||||
#ifndef DELTA
|
#if DISABLED(DELTA)
|
||||||
|
|
||||||
BABYSTEP_AXIS(z, Z, BABYSTEP_INVERT_Z);
|
BABYSTEP_AXIS(z, Z, BABYSTEP_INVERT_Z);
|
||||||
|
|
||||||
|
@ -1272,7 +1272,7 @@ void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2) {
|
||||||
case 1: digitalWrite(Y_MS2_PIN, ms2); break;
|
case 1: digitalWrite(Y_MS2_PIN, ms2); break;
|
||||||
case 2: digitalWrite(Z_MS2_PIN, ms2); break;
|
case 2: digitalWrite(Z_MS2_PIN, ms2); break;
|
||||||
case 3: digitalWrite(E0_MS2_PIN, ms2); break;
|
case 3: digitalWrite(E0_MS2_PIN, ms2); break;
|
||||||
#if defined(E1_MS2_PIN) && E1_MS2_PIN >= 0
|
#if PIN_EXISTS(E1_MS2)
|
||||||
case 4: digitalWrite(E1_MS2_PIN, ms2); break;
|
case 4: digitalWrite(E1_MS2_PIN, ms2); break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1309,7 +1309,7 @@ void microstep_readings() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef Z_DUAL_ENDSTOPS
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
void In_Homing_Process(bool state) { performing_homing = state; }
|
void In_Homing_Process(bool state) { performing_homing = state; }
|
||||||
void Lock_z_motor(bool state) { locked_z_motor = state; }
|
void Lock_z_motor(bool state) { locked_z_motor = state; }
|
||||||
void Lock_z2_motor(bool state) { locked_z2_motor = state; }
|
void Lock_z2_motor(bool state) { locked_z2_motor = state; }
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#define NORM_E_DIR() { if(current_block->active_extruder == 2) { E2_DIR_WRITE(!INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { E1_DIR_WRITE(!INVERT_E1_DIR); } else { E0_DIR_WRITE(!INVERT_E0_DIR); }}}
|
#define NORM_E_DIR() { if(current_block->active_extruder == 2) { E2_DIR_WRITE(!INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { E1_DIR_WRITE(!INVERT_E1_DIR); } else { E0_DIR_WRITE(!INVERT_E0_DIR); }}}
|
||||||
#define REV_E_DIR() { if(current_block->active_extruder == 2) { E2_DIR_WRITE(INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { E1_DIR_WRITE(INVERT_E1_DIR); } else { E0_DIR_WRITE(INVERT_E0_DIR); }}}
|
#define REV_E_DIR() { if(current_block->active_extruder == 2) { E2_DIR_WRITE(INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { E1_DIR_WRITE(INVERT_E1_DIR); } else { E0_DIR_WRITE(INVERT_E0_DIR); }}}
|
||||||
#elif EXTRUDERS > 1
|
#elif EXTRUDERS > 1
|
||||||
#ifndef DUAL_X_CARRIAGE
|
#if DISABLED(DUAL_X_CARRIAGE)
|
||||||
#define E_STEP_WRITE(v) { if(current_block->active_extruder == 1) { E1_STEP_WRITE(v); } else { E0_STEP_WRITE(v); }}
|
#define E_STEP_WRITE(v) { if(current_block->active_extruder == 1) { E1_STEP_WRITE(v); } else { E0_STEP_WRITE(v); }}
|
||||||
#define NORM_E_DIR() { if(current_block->active_extruder == 1) { E1_DIR_WRITE(!INVERT_E1_DIR); } else { E0_DIR_WRITE(!INVERT_E0_DIR); }}
|
#define NORM_E_DIR() { if(current_block->active_extruder == 1) { E1_DIR_WRITE(!INVERT_E1_DIR); } else { E0_DIR_WRITE(!INVERT_E0_DIR); }}
|
||||||
#define REV_E_DIR() { if(current_block->active_extruder == 1) { E1_DIR_WRITE(INVERT_E1_DIR); } else { E0_DIR_WRITE(INVERT_E0_DIR); }}
|
#define REV_E_DIR() { if(current_block->active_extruder == 1) { E1_DIR_WRITE(INVERT_E1_DIR); } else { E0_DIR_WRITE(INVERT_E0_DIR); }}
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
#define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR)
|
#define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
||||||
extern bool abort_on_endstop_hit;
|
extern bool abort_on_endstop_hit;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -95,13 +95,13 @@ void digipot_current(uint8_t driver, int current);
|
||||||
void microstep_init();
|
void microstep_init();
|
||||||
void microstep_readings();
|
void microstep_readings();
|
||||||
|
|
||||||
#ifdef Z_DUAL_ENDSTOPS
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
void In_Homing_Process(bool state);
|
void In_Homing_Process(bool state);
|
||||||
void Lock_z_motor(bool state);
|
void Lock_z_motor(bool state);
|
||||||
void Lock_z2_motor(bool state);
|
void Lock_z2_motor(bool state);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BABYSTEPPING
|
#if ENABLED(BABYSTEPPING)
|
||||||
void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention
|
void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -22,203 +22,203 @@
|
||||||
#include "stepper_indirection.h"
|
#include "stepper_indirection.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
|
|
||||||
#ifdef HAVE_TMCDRIVER
|
#if ENABLED(HAVE_TMCDRIVER)
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <TMC26XStepper.h>
|
#include <TMC26XStepper.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Stepper objects of TMC steppers used
|
// Stepper objects of TMC steppers used
|
||||||
#ifdef X_IS_TMC
|
#if ENABLED(X_IS_TMC)
|
||||||
TMC26XStepper stepperX(200,X_ENABLE_PIN,X_STEP_PIN,X_DIR_PIN,X_MAX_CURRENT,X_SENSE_RESISTOR);
|
TMC26XStepper stepperX(200,X_ENABLE_PIN,X_STEP_PIN,X_DIR_PIN,X_MAX_CURRENT,X_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_TMC
|
#if ENABLED(X2_IS_TMC)
|
||||||
TMC26XStepper stepperX2(200,X2_ENABLE_PIN,X2_STEP_PIN,X2_DIR_PIN,X2_MAX_CURRENT,X2_SENSE_RESISTOR);
|
TMC26XStepper stepperX2(200,X2_ENABLE_PIN,X2_STEP_PIN,X2_DIR_PIN,X2_MAX_CURRENT,X2_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_TMC
|
#if ENABLED(Y_IS_TMC)
|
||||||
TMC26XStepper stepperY(200,Y_ENABLE_PIN,Y_STEP_PIN,Y_DIR_PIN,Y_MAX_CURRENT,Y_SENSE_RESISTOR);
|
TMC26XStepper stepperY(200,Y_ENABLE_PIN,Y_STEP_PIN,Y_DIR_PIN,Y_MAX_CURRENT,Y_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_TMC
|
#if ENABLED(Y2_IS_TMC)
|
||||||
TMC26XStepper stepperY2(200,Y2_ENABLE_PIN,Y2_STEP_PIN,Y2_DIR_PIN,Y2_MAX_CURRENT,Y2_SENSE_RESISTOR);
|
TMC26XStepper stepperY2(200,Y2_ENABLE_PIN,Y2_STEP_PIN,Y2_DIR_PIN,Y2_MAX_CURRENT,Y2_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_TMC
|
#if ENABLED(Z_IS_TMC)
|
||||||
TMC26XStepper stepperZ(200,Z_ENABLE_PIN,Z_STEP_PIN,Z_DIR_PIN,Z_MAX_CURRENT,Z_SENSE_RESISTOR);
|
TMC26XStepper stepperZ(200,Z_ENABLE_PIN,Z_STEP_PIN,Z_DIR_PIN,Z_MAX_CURRENT,Z_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_TMC
|
#if ENABLED(Z2_IS_TMC)
|
||||||
TMC26XStepper stepperZ2(200,Z2_ENABLE_PIN,Z2_STEP_PIN,Z2_DIR_PIN,Z2_MAX_CURRENT,Z2_SENSE_RESISTOR);
|
TMC26XStepper stepperZ2(200,Z2_ENABLE_PIN,Z2_STEP_PIN,Z2_DIR_PIN,Z2_MAX_CURRENT,Z2_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_TMC
|
#if ENABLED(E0_IS_TMC)
|
||||||
TMC26XStepper stepperE0(200,E0_ENABLE_PIN,E0_STEP_PIN,E0_DIR_PIN,E0_MAX_CURRENT,E0_SENSE_RESISTOR);
|
TMC26XStepper stepperE0(200,E0_ENABLE_PIN,E0_STEP_PIN,E0_DIR_PIN,E0_MAX_CURRENT,E0_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_TMC
|
#if ENABLED(E1_IS_TMC)
|
||||||
TMC26XStepper stepperE1(200,E1_ENABLE_PIN,E1_STEP_PIN,E1_DIR_PIN,E1_MAX_CURRENT,E1_SENSE_RESISTOR);
|
TMC26XStepper stepperE1(200,E1_ENABLE_PIN,E1_STEP_PIN,E1_DIR_PIN,E1_MAX_CURRENT,E1_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_TMC
|
#if ENABLED(E2_IS_TMC)
|
||||||
TMC26XStepper stepperE2(200,E2_ENABLE_PIN,E2_STEP_PIN,E2_DIR_PIN,E2_MAX_CURRENT,E2_SENSE_RESISTOR);
|
TMC26XStepper stepperE2(200,E2_ENABLE_PIN,E2_STEP_PIN,E2_DIR_PIN,E2_MAX_CURRENT,E2_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_TMC
|
#if ENABLED(E3_IS_TMC)
|
||||||
TMC26XStepper stepperE3(200,E3_ENABLE_PIN,E3_STEP_PIN,E3_DIR_PIN,E3_MAX_CURRENT,E3_SENSE_RESISTOR);
|
TMC26XStepper stepperE3(200,E3_ENABLE_PIN,E3_STEP_PIN,E3_DIR_PIN,E3_MAX_CURRENT,E3_SENSE_RESISTOR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_TMCDRIVER
|
#if ENABLED(HAVE_TMCDRIVER)
|
||||||
void tmc_init()
|
void tmc_init()
|
||||||
{
|
{
|
||||||
#ifdef X_IS_TMC
|
#if ENABLED(X_IS_TMC)
|
||||||
stepperX.setMicrosteps(X_MICROSTEPS);
|
stepperX.setMicrosteps(X_MICROSTEPS);
|
||||||
stepperX.start();
|
stepperX.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_TMC
|
#if ENABLED(X2_IS_TMC)
|
||||||
stepperX2.setMicrosteps(X2_MICROSTEPS);
|
stepperX2.setMicrosteps(X2_MICROSTEPS);
|
||||||
stepperX2.start();
|
stepperX2.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_TMC
|
#if ENABLED(Y_IS_TMC)
|
||||||
stepperY.setMicrosteps(Y_MICROSTEPS);
|
stepperY.setMicrosteps(Y_MICROSTEPS);
|
||||||
stepperY.start();
|
stepperY.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_TMC
|
#if ENABLED(Y2_IS_TMC)
|
||||||
stepperY2.setMicrosteps(Y2_MICROSTEPS);
|
stepperY2.setMicrosteps(Y2_MICROSTEPS);
|
||||||
stepperY2.start();
|
stepperY2.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_TMC
|
#if ENABLED(Z_IS_TMC)
|
||||||
stepperZ.setMicrosteps(Z_MICROSTEPS);
|
stepperZ.setMicrosteps(Z_MICROSTEPS);
|
||||||
stepperZ.start();
|
stepperZ.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_TMC
|
#if ENABLED(Z2_IS_TMC)
|
||||||
stepperZ2.setMicrosteps(Z2_MICROSTEPS);
|
stepperZ2.setMicrosteps(Z2_MICROSTEPS);
|
||||||
stepperZ2.start();
|
stepperZ2.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_TMC
|
#if ENABLED(E0_IS_TMC)
|
||||||
stepperE0.setMicrosteps(E0_MICROSTEPS);
|
stepperE0.setMicrosteps(E0_MICROSTEPS);
|
||||||
stepperE0.start();
|
stepperE0.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_TMC
|
#if ENABLED(E1_IS_TMC)
|
||||||
stepperE1.setMicrosteps(E1_MICROSTEPS);
|
stepperE1.setMicrosteps(E1_MICROSTEPS);
|
||||||
stepperE1.start();
|
stepperE1.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_TMC
|
#if ENABLED(E2_IS_TMC)
|
||||||
stepperE2.setMicrosteps(E2_MICROSTEPS);
|
stepperE2.setMicrosteps(E2_MICROSTEPS);
|
||||||
stepperE2.start();
|
stepperE2.start();
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_TMC
|
#if ENABLED(E3_IS_TMC)
|
||||||
stepperE3.setMicrosteps(E3_MICROSTEPS);
|
stepperE3.setMicrosteps(E3_MICROSTEPS);
|
||||||
stepperE3.start();
|
stepperE3.start();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// L6470 Driver objects and inits
|
// L6470 Driver objects and inits
|
||||||
|
|
||||||
#ifdef HAVE_L6470DRIVER
|
#if ENABLED(HAVE_L6470DRIVER)
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <L6470.h>
|
#include <L6470.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// L6470 Stepper objects
|
// L6470 Stepper objects
|
||||||
#ifdef X_IS_L6470
|
#if ENABLED(X_IS_L6470)
|
||||||
L6470 stepperX(X_ENABLE_PIN);
|
L6470 stepperX(X_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_L6470
|
#if ENABLED(X2_IS_L6470)
|
||||||
L6470 stepperX2(X2_ENABLE_PIN);
|
L6470 stepperX2(X2_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_L6470
|
#if ENABLED(Y_IS_L6470)
|
||||||
L6470 stepperY(Y_ENABLE_PIN);
|
L6470 stepperY(Y_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_L6470
|
#if ENABLED(Y2_IS_L6470)
|
||||||
L6470 stepperY2(Y2_ENABLE_PIN);
|
L6470 stepperY2(Y2_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_L6470
|
#if ENABLED(Z_IS_L6470)
|
||||||
L6470 stepperZ(Z_ENABLE_PIN);
|
L6470 stepperZ(Z_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_L6470
|
#if ENABLED(Z2_IS_L6470)
|
||||||
L6470 stepperZ2(Z2_ENABLE_PIN);
|
L6470 stepperZ2(Z2_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_L6470
|
#if ENABLED(E0_IS_L6470)
|
||||||
L6470 stepperE0(E0_ENABLE_PIN);
|
L6470 stepperE0(E0_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_L6470
|
#if ENABLED(E1_IS_L6470)
|
||||||
L6470 stepperE1(E1_ENABLE_PIN);
|
L6470 stepperE1(E1_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_L6470
|
#if ENABLED(E2_IS_L6470)
|
||||||
L6470 stepperE2(E2_ENABLE_PIN);
|
L6470 stepperE2(E2_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_L6470
|
#if ENABLED(E3_IS_L6470)
|
||||||
L6470 stepperE3(E3_ENABLE_PIN);
|
L6470 stepperE3(E3_ENABLE_PIN);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// init routine
|
// init routine
|
||||||
#ifdef HAVE_L6470DRIVER
|
#if ENABLED(HAVE_L6470DRIVER)
|
||||||
void L6470_init()
|
void L6470_init()
|
||||||
{
|
{
|
||||||
#ifdef X_IS_L6470
|
#if ENABLED(X_IS_L6470)
|
||||||
stepperX.init(X_K_VAL);
|
stepperX.init(X_K_VAL);
|
||||||
stepperX.softFree();
|
stepperX.softFree();
|
||||||
stepperX.setMicroSteps(X_MICROSTEPS);
|
stepperX.setMicroSteps(X_MICROSTEPS);
|
||||||
stepperX.setOverCurrent(X_OVERCURRENT); //set overcurrent protection
|
stepperX.setOverCurrent(X_OVERCURRENT); //set overcurrent protection
|
||||||
stepperX.setStallCurrent(X_STALLCURRENT);
|
stepperX.setStallCurrent(X_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_L6470
|
#if ENABLED(X2_IS_L6470)
|
||||||
stepperX2.init(X2_K_VAL);
|
stepperX2.init(X2_K_VAL);
|
||||||
stepperX2.softFree();
|
stepperX2.softFree();
|
||||||
stepperX2.setMicroSteps(X2_MICROSTEPS);
|
stepperX2.setMicroSteps(X2_MICROSTEPS);
|
||||||
stepperX2.setOverCurrent(X2_OVERCURRENT); //set overcurrent protection
|
stepperX2.setOverCurrent(X2_OVERCURRENT); //set overcurrent protection
|
||||||
stepperX2.setStallCurrent(X2_STALLCURRENT);
|
stepperX2.setStallCurrent(X2_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_L6470
|
#if ENABLED(Y_IS_L6470)
|
||||||
stepperY.init(Y_K_VAL);
|
stepperY.init(Y_K_VAL);
|
||||||
stepperY.softFree();
|
stepperY.softFree();
|
||||||
stepperY.setMicroSteps(Y_MICROSTEPS);
|
stepperY.setMicroSteps(Y_MICROSTEPS);
|
||||||
stepperY.setOverCurrent(Y_OVERCURRENT); //set overcurrent protection
|
stepperY.setOverCurrent(Y_OVERCURRENT); //set overcurrent protection
|
||||||
stepperY.setStallCurrent(Y_STALLCURRENT);
|
stepperY.setStallCurrent(Y_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_L6470
|
#if ENABLED(Y2_IS_L6470)
|
||||||
stepperY2.init(Y2_K_VAL);
|
stepperY2.init(Y2_K_VAL);
|
||||||
stepperY2.softFree();
|
stepperY2.softFree();
|
||||||
stepperY2.setMicroSteps(Y2_MICROSTEPS);
|
stepperY2.setMicroSteps(Y2_MICROSTEPS);
|
||||||
stepperY2.setOverCurrent(Y2_OVERCURRENT); //set overcurrent protection
|
stepperY2.setOverCurrent(Y2_OVERCURRENT); //set overcurrent protection
|
||||||
stepperY2.setStallCurrent(Y2_STALLCURRENT);
|
stepperY2.setStallCurrent(Y2_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_L6470
|
#if ENABLED(Z_IS_L6470)
|
||||||
stepperZ.init(Z_K_VAL);
|
stepperZ.init(Z_K_VAL);
|
||||||
stepperZ.softFree();
|
stepperZ.softFree();
|
||||||
stepperZ.setMicroSteps(Z_MICROSTEPS);
|
stepperZ.setMicroSteps(Z_MICROSTEPS);
|
||||||
stepperZ.setOverCurrent(Z_OVERCURRENT); //set overcurrent protection
|
stepperZ.setOverCurrent(Z_OVERCURRENT); //set overcurrent protection
|
||||||
stepperZ.setStallCurrent(Z_STALLCURRENT);
|
stepperZ.setStallCurrent(Z_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_L6470
|
#if ENABLED(Z2_IS_L6470)
|
||||||
stepperZ2.init(Z2_K_VAL);
|
stepperZ2.init(Z2_K_VAL);
|
||||||
stepperZ2.softFree();
|
stepperZ2.softFree();
|
||||||
stepperZ2.setMicroSteps(Z2_MICROSTEPS);
|
stepperZ2.setMicroSteps(Z2_MICROSTEPS);
|
||||||
stepperZ2.setOverCurrent(Z2_OVERCURRENT); //set overcurrent protection
|
stepperZ2.setOverCurrent(Z2_OVERCURRENT); //set overcurrent protection
|
||||||
stepperZ2.setStallCurrent(Z2_STALLCURRENT);
|
stepperZ2.setStallCurrent(Z2_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_L6470
|
#if ENABLED(E0_IS_L6470)
|
||||||
stepperE0.init(E0_K_VAL);
|
stepperE0.init(E0_K_VAL);
|
||||||
stepperE0.softFree();
|
stepperE0.softFree();
|
||||||
stepperE0.setMicroSteps(E0_MICROSTEPS);
|
stepperE0.setMicroSteps(E0_MICROSTEPS);
|
||||||
stepperE0.setOverCurrent(E0_OVERCURRENT); //set overcurrent protection
|
stepperE0.setOverCurrent(E0_OVERCURRENT); //set overcurrent protection
|
||||||
stepperE0.setStallCurrent(E0_STALLCURRENT);
|
stepperE0.setStallCurrent(E0_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_L6470
|
#if ENABLED(E1_IS_L6470)
|
||||||
stepperE1.init(E1_K_VAL);
|
stepperE1.init(E1_K_VAL);
|
||||||
stepperE1.softFree();
|
stepperE1.softFree();
|
||||||
stepperE1.setMicroSteps(E1_MICROSTEPS);
|
stepperE1.setMicroSteps(E1_MICROSTEPS);
|
||||||
stepperE1.setOverCurrent(E1_OVERCURRENT); //set overcurrent protection
|
stepperE1.setOverCurrent(E1_OVERCURRENT); //set overcurrent protection
|
||||||
stepperE1.setStallCurrent(E1_STALLCURRENT);
|
stepperE1.setStallCurrent(E1_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_L6470
|
#if ENABLED(E2_IS_L6470)
|
||||||
stepperE2.init(E2_K_VAL);
|
stepperE2.init(E2_K_VAL);
|
||||||
stepperE2.softFree();
|
stepperE2.softFree();
|
||||||
stepperE2.setMicroSteps(E2_MICROSTEPS);
|
stepperE2.setMicroSteps(E2_MICROSTEPS);
|
||||||
stepperE2.setOverCurrent(E2_OVERCURRENT); //set overcurrent protection
|
stepperE2.setOverCurrent(E2_OVERCURRENT); //set overcurrent protection
|
||||||
stepperE2.setStallCurrent(E2_STALLCURRENT);
|
stepperE2.setStallCurrent(E2_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_L6470
|
#if ENABLED(E3_IS_L6470)
|
||||||
stepperE3.init(E3_K_VAL);
|
stepperE3.init(E3_K_VAL);
|
||||||
stepperE3.softFree();
|
stepperE3.softFree();
|
||||||
stepperE3.setMicroSteps(E3_MICROSTEPS);
|
stepperE3.setMicroSteps(E3_MICROSTEPS);
|
||||||
stepperE3.setOverCurrent(E3_OVERCURRENT); //set overcurrent protection
|
stepperE3.setOverCurrent(E3_OVERCURRENT); //set overcurrent protection
|
||||||
stepperE3.setStallCurrent(E3_STALLCURRENT);
|
stepperE3.setStallCurrent(E3_STALLCURRENT);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -158,12 +158,12 @@
|
||||||
// Pin redefines for TMC drivers.
|
// Pin redefines for TMC drivers.
|
||||||
// TMC26X drivers have step and dir on normal pins, but everything else via SPI
|
// TMC26X drivers have step and dir on normal pins, but everything else via SPI
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
#ifdef HAVE_TMCDRIVER
|
#if ENABLED(HAVE_TMCDRIVER)
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <TMC26XStepper.h>
|
#include <TMC26XStepper.h>
|
||||||
|
|
||||||
void tmc_init();
|
void tmc_init();
|
||||||
#ifdef X_IS_TMC
|
#if ENABLED(X_IS_TMC)
|
||||||
extern TMC26XStepper stepperX;
|
extern TMC26XStepper stepperX;
|
||||||
#undef X_ENABLE_INIT
|
#undef X_ENABLE_INIT
|
||||||
#define X_ENABLE_INIT ((void)0)
|
#define X_ENABLE_INIT ((void)0)
|
||||||
|
@ -175,7 +175,7 @@
|
||||||
#define X_ENABLE_READ stepperX.isEnabled()
|
#define X_ENABLE_READ stepperX.isEnabled()
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_TMC
|
#if ENABLED(X2_IS_TMC)
|
||||||
extern TMC26XStepper stepperX2;
|
extern TMC26XStepper stepperX2;
|
||||||
#undef X2_ENABLE_INIT
|
#undef X2_ENABLE_INIT
|
||||||
#define X2_ENABLE_INIT ((void)0)
|
#define X2_ENABLE_INIT ((void)0)
|
||||||
|
@ -186,7 +186,7 @@
|
||||||
#undef X2_ENABLE_READ
|
#undef X2_ENABLE_READ
|
||||||
#define X2_ENABLE_READ stepperX2.isEnabled()
|
#define X2_ENABLE_READ stepperX2.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_TMC
|
#if ENABLED(Y_IS_TMC)
|
||||||
extern TMC26XStepper stepperY;
|
extern TMC26XStepper stepperY;
|
||||||
#undef Y_ENABLE_INIT
|
#undef Y_ENABLE_INIT
|
||||||
#define Y_ENABLE_INIT ((void)0)
|
#define Y_ENABLE_INIT ((void)0)
|
||||||
|
@ -197,7 +197,7 @@
|
||||||
#undef Y_ENABLE_READ
|
#undef Y_ENABLE_READ
|
||||||
#define Y_ENABLE_READ stepperY.isEnabled()
|
#define Y_ENABLE_READ stepperY.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_TMC
|
#if ENABLED(Y2_IS_TMC)
|
||||||
extern TMC26XStepper stepperY2;
|
extern TMC26XStepper stepperY2;
|
||||||
#undef Y2_ENABLE_INIT
|
#undef Y2_ENABLE_INIT
|
||||||
#define Y2_ENABLE_INIT ((void)0)
|
#define Y2_ENABLE_INIT ((void)0)
|
||||||
|
@ -208,7 +208,7 @@
|
||||||
#undef Y2_ENABLE_READ
|
#undef Y2_ENABLE_READ
|
||||||
#define Y2_ENABLE_READ stepperY2.isEnabled()
|
#define Y2_ENABLE_READ stepperY2.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_TMC
|
#if ENABLED(Z_IS_TMC)
|
||||||
extern TMC26XStepper stepperZ;
|
extern TMC26XStepper stepperZ;
|
||||||
#undef Z_ENABLE_INIT
|
#undef Z_ENABLE_INIT
|
||||||
#define Z_ENABLE_INIT ((void)0)
|
#define Z_ENABLE_INIT ((void)0)
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
#undef Z_ENABLE_READ
|
#undef Z_ENABLE_READ
|
||||||
#define Z_ENABLE_READ stepperZ.isEnabled()
|
#define Z_ENABLE_READ stepperZ.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_TMC
|
#if ENABLED(Z2_IS_TMC)
|
||||||
extern TMC26XStepper stepperZ2;
|
extern TMC26XStepper stepperZ2;
|
||||||
#undef Z2_ENABLE_INIT
|
#undef Z2_ENABLE_INIT
|
||||||
#define Z2_ENABLE_INIT ((void)0)
|
#define Z2_ENABLE_INIT ((void)0)
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
#undef Z2_ENABLE_READ
|
#undef Z2_ENABLE_READ
|
||||||
#define Z2_ENABLE_READ stepperZ2.isEnabled()
|
#define Z2_ENABLE_READ stepperZ2.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_TMC
|
#if ENABLED(E0_IS_TMC)
|
||||||
extern TMC26XStepper stepperE0;
|
extern TMC26XStepper stepperE0;
|
||||||
#undef E0_ENABLE_INIT
|
#undef E0_ENABLE_INIT
|
||||||
#define E0_ENABLE_INIT ((void)0)
|
#define E0_ENABLE_INIT ((void)0)
|
||||||
|
@ -241,7 +241,7 @@
|
||||||
#undef E0_ENABLE_READ
|
#undef E0_ENABLE_READ
|
||||||
#define E0_ENABLE_READ stepperE0.isEnabled()
|
#define E0_ENABLE_READ stepperE0.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_TMC
|
#if ENABLED(E1_IS_TMC)
|
||||||
extern TMC26XStepper stepperE1;
|
extern TMC26XStepper stepperE1;
|
||||||
#undef E1_ENABLE_INIT
|
#undef E1_ENABLE_INIT
|
||||||
#define E1_ENABLE_INIT ((void)0)
|
#define E1_ENABLE_INIT ((void)0)
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
#undef E1_ENABLE_READ
|
#undef E1_ENABLE_READ
|
||||||
#define E1_ENABLE_READ stepperE1.isEnabled()
|
#define E1_ENABLE_READ stepperE1.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_TMC
|
#if ENABLED(E2_IS_TMC)
|
||||||
extern TMC26XStepper stepperE2;
|
extern TMC26XStepper stepperE2;
|
||||||
#undef E2_ENABLE_INIT
|
#undef E2_ENABLE_INIT
|
||||||
#define E2_ENABLE_INIT ((void)0)
|
#define E2_ENABLE_INIT ((void)0)
|
||||||
|
@ -263,7 +263,7 @@
|
||||||
#undef E2_ENABLE_READ
|
#undef E2_ENABLE_READ
|
||||||
#define E2_ENABLE_READ stepperE2.isEnabled()
|
#define E2_ENABLE_READ stepperE2.isEnabled()
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_TMC
|
#if ENABLED(E3_IS_TMC)
|
||||||
extern TMC26XStepper stepperE3;
|
extern TMC26XStepper stepperE3;
|
||||||
#undef E3_ENABLE_INIT
|
#undef E3_ENABLE_INIT
|
||||||
#define E3_ENABLE_INIT ((void)0)
|
#define E3_ENABLE_INIT ((void)0)
|
||||||
|
@ -281,13 +281,13 @@
|
||||||
// Pin redefines for L6470 drivers.
|
// Pin redefines for L6470 drivers.
|
||||||
// L640 drivers have step on normal pins, but dir and everything else via SPI
|
// L640 drivers have step on normal pins, but dir and everything else via SPI
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
#ifdef HAVE_L6470DRIVER
|
#if ENABLED(HAVE_L6470DRIVER)
|
||||||
|
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <L6470.h>
|
#include <L6470.h>
|
||||||
|
|
||||||
void L6470_init();
|
void L6470_init();
|
||||||
#ifdef X_IS_L6470
|
#if ENABLED(X_IS_L6470)
|
||||||
extern L6470 stepperX;
|
extern L6470 stepperX;
|
||||||
#undef X_ENABLE_INIT
|
#undef X_ENABLE_INIT
|
||||||
#define X_ENABLE_INIT ((void)0)
|
#define X_ENABLE_INIT ((void)0)
|
||||||
|
@ -308,7 +308,7 @@
|
||||||
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR)
|
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef X2_IS_L6470
|
#if ENABLED(X2_IS_L6470)
|
||||||
extern L6470 stepperX2;
|
extern L6470 stepperX2;
|
||||||
#undef X2_ENABLE_INIT
|
#undef X2_ENABLE_INIT
|
||||||
#define X2_ENABLE_INIT ((void)0)
|
#define X2_ENABLE_INIT ((void)0)
|
||||||
|
@ -328,7 +328,7 @@
|
||||||
#undef X2_DIR_READ
|
#undef X2_DIR_READ
|
||||||
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR)
|
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y_IS_L6470
|
#if ENABLED(Y_IS_L6470)
|
||||||
extern L6470 stepperY;
|
extern L6470 stepperY;
|
||||||
#undef Y_ENABLE_INIT
|
#undef Y_ENABLE_INIT
|
||||||
#define Y_ENABLE_INIT ((void)0)
|
#define Y_ENABLE_INIT ((void)0)
|
||||||
|
@ -348,7 +348,7 @@
|
||||||
#undef Y_DIR_READ
|
#undef Y_DIR_READ
|
||||||
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR)
|
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef Y2_IS_L6470
|
#if ENABLED(Y2_IS_L6470)
|
||||||
extern L6470 stepperY2;
|
extern L6470 stepperY2;
|
||||||
#undef Y2_ENABLE_INIT
|
#undef Y2_ENABLE_INIT
|
||||||
#define Y2_ENABLE_INIT ((void)0)
|
#define Y2_ENABLE_INIT ((void)0)
|
||||||
|
@ -368,7 +368,7 @@
|
||||||
#undef Y2_DIR_READ
|
#undef Y2_DIR_READ
|
||||||
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR)
|
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_IS_L6470
|
#if ENABLED(Z_IS_L6470)
|
||||||
extern L6470 stepperZ;
|
extern L6470 stepperZ;
|
||||||
#undef Z_ENABLE_INIT
|
#undef Z_ENABLE_INIT
|
||||||
#define Z_ENABLE_INIT ((void)0)
|
#define Z_ENABLE_INIT ((void)0)
|
||||||
|
@ -388,7 +388,7 @@
|
||||||
#undef Y_DIR_READ
|
#undef Y_DIR_READ
|
||||||
#define Y_DIR_READ (stepperZ.getStatus() & STATUS_DIR)
|
#define Y_DIR_READ (stepperZ.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z2_IS_L6470
|
#if ENABLED(Z2_IS_L6470)
|
||||||
extern L6470 stepperZ2;
|
extern L6470 stepperZ2;
|
||||||
#undef Z2_ENABLE_INIT
|
#undef Z2_ENABLE_INIT
|
||||||
#define Z2_ENABLE_INIT ((void)0)
|
#define Z2_ENABLE_INIT ((void)0)
|
||||||
|
@ -408,7 +408,7 @@
|
||||||
#undef Y2_DIR_READ
|
#undef Y2_DIR_READ
|
||||||
#define Y2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR)
|
#define Y2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef E0_IS_L6470
|
#if ENABLED(E0_IS_L6470)
|
||||||
extern L6470 stepperE0;
|
extern L6470 stepperE0;
|
||||||
#undef E0_ENABLE_INIT
|
#undef E0_ENABLE_INIT
|
||||||
#define E0_ENABLE_INIT ((void)0)
|
#define E0_ENABLE_INIT ((void)0)
|
||||||
|
@ -428,7 +428,7 @@
|
||||||
#undef E0_DIR_READ
|
#undef E0_DIR_READ
|
||||||
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR)
|
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef E1_IS_L6470
|
#if ENABLED(E1_IS_L6470)
|
||||||
extern L6470 stepperE1;
|
extern L6470 stepperE1;
|
||||||
#undef E1_ENABLE_INIT
|
#undef E1_ENABLE_INIT
|
||||||
#define E1_ENABLE_INIT ((void)0)
|
#define E1_ENABLE_INIT ((void)0)
|
||||||
|
@ -448,7 +448,7 @@
|
||||||
#undef E1_DIR_READ
|
#undef E1_DIR_READ
|
||||||
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR)
|
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef E2_IS_L6470
|
#if ENABLED(E2_IS_L6470)
|
||||||
extern L6470 stepperE2;
|
extern L6470 stepperE2;
|
||||||
#undef E2_ENABLE_INIT
|
#undef E2_ENABLE_INIT
|
||||||
#define E2_ENABLE_INIT ((void)0)
|
#define E2_ENABLE_INIT ((void)0)
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
#undef E2_DIR_READ
|
#undef E2_DIR_READ
|
||||||
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR)
|
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR)
|
||||||
#endif
|
#endif
|
||||||
#ifdef E3_IS_L6470
|
#if ENABLED(E3_IS_L6470)
|
||||||
extern L6470 stepperE3;
|
extern L6470 stepperE3;
|
||||||
#undef E3_ENABLE_INIT
|
#undef E3_ENABLE_INIT
|
||||||
#define E3_ENABLE_INIT ((void)0)
|
#define E3_ENABLE_INIT ((void)0)
|
||||||
|
|
Loading…
Reference in a new issue