26 #define ENABLE_STEPPER_DRIVER_INTERRUPT() TIMSK1 |= (1<<OCIE1A)
27 #define DISABLE_STEPPER_DRIVER_INTERRUPT() TIMSK1 &= ~(1<<OCIE1A)
29 #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
30 extern bool abort_on_endstop_hit;
41 void st_synchronize();
44 void st_set_position(
const long *pos);
45 void st_set_e_position(
const long &e);
48 long st_get_position(uint8_t axis);
51 void st_get_position_xy(
long &x,
long &y);
54 float st_get_position_mm(uint8_t axis);
59 void st_reset_timer();
61 void checkHitEndstops();
62 bool endstops_hit_on_purpose();
63 bool endstop_z_hit_on_purpose();
66 bool enable_endstops(
bool check);
67 bool enable_z_endstop(
bool check);
68 void invert_z_endstop(
bool endstop_invert);
70 void checkStepperErrors();
73 extern volatile long count_position[NUM_AXIS];
76 #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
77 void digitalPotWrite(
int address,
int value);
81 void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2);
82 void microstep_mode(uint8_t driver, uint8_t stepping);
83 void st_current_init();
84 void st_current_set(uint8_t driver,
int current);
85 void microstep_init();
86 void microstep_readings();
90 void babystep(
const uint8_t axis,
const bool direction);