12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef TMC2130_H
- #define TMC2130_H
- extern uint8_t tmc2130_cs[4];
- //mode
- extern uint8_t tmc2130_mode;
- //holding and running currents
- extern uint8_t tmc2130_current_h[4];
- extern uint8_t tmc2130_current_r[4];
- //flags for axis stall detection
- extern uint8_t tmc2130_axis_stalled[4];
- extern uint8_t tmc2130_sg_thr[4];
- extern bool tmc2130_sg_stop_on_crash;
- extern bool tmc2130_sg_crash;
- #define TMC2130_MODE_NORMAL 0
- #define TMC2130_MODE_SILENT 1
- //initialize tmc2130
- extern void tmc2130_init();
- //check diag pins (called from stepper isr)
- extern void tmc2130_st_isr(uint8_t last_step_mask);
- //update stall guard (called from st_synchronize inside the loop)
- extern bool tmc2130_update_sg();
- //temperature watching (called from )
- extern void tmc2130_check_overtemp();
- //enter homing (called from homeaxis before homing starts)
- extern void tmc2130_home_enter(uint8_t axes_mask);
- //exit homing (called from homeaxis after homing ends)
- extern void tmc2130_home_exit();
- //restart homing (called from homeaxis befor move)
- extern void tmc2130_home_restart(uint8_t axis);
- //set holding current for any axis (M911)
- extern void tmc2130_set_current_h(uint8_t axis, uint8_t current);
- //set running current for any axis (M912)
- extern void tmc2130_set_current_r(uint8_t axis, uint8_t current);
- //print currents (M913)
- extern void tmc2130_print_currents();
- //set PWM_AMPL for any axis (M917)
- extern void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl);
- //set PWM_GRAD for any axis (M918)
- extern void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_ampl);
- extern uint16_t tmc2130_rd_MSCNT(uint8_t cs);
- extern void tmc2130_home_pause(uint8_t axis);
- extern void tmc2130_home_resume(uint8_t axis);
- extern bool tmc2130_wait_standstill_xy(int timeout);
- #endif //TMC2130_H
|