1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef TMC2130_H
- #define TMC2130_H
- extern uint8_t tmc2130_cs[4];
- extern uint8_t tmc2130_mode;
- extern uint8_t tmc2130_current_h[4];
- extern uint8_t tmc2130_current_r[4];
- extern uint8_t tmc2130_sg_thr[4];
- extern bool tmc2130_sg_stop_on_crash;
- extern uint8_t tmc2130_sg_crash;
- extern uint8_t tmc2130_sg_meassure;
- extern uint16_t tmc2130_sg_meassure_cnt;
- extern uint32_t tmc2130_sg_meassure_val;
- #define TMC2130_MODE_NORMAL 0
- #define TMC2130_MODE_SILENT 1
- extern void tmc2130_init();
- extern void tmc2130_st_isr(uint8_t last_step_mask);
- extern bool tmc2130_update_sg();
- extern void tmc2130_check_overtemp();
- extern void tmc2130_home_enter(uint8_t axes_mask);
- extern void tmc2130_home_exit();
- extern void tmc2130_sg_meassure_start(uint8_t axis);
- extern uint16_t tmc2130_sg_meassure_stop();
- extern void tmc2130_set_current_h(uint8_t axis, uint8_t current);
- extern void tmc2130_set_current_r(uint8_t axis, uint8_t current);
- extern void tmc2130_print_currents();
- extern void tmc2130_set_pwm_ampl(uint8_t axis, uint8_t pwm_ampl);
- extern void tmc2130_set_pwm_grad(uint8_t axis, uint8_t pwm_ampl);
- extern uint16_t tmc2130_rd_MSCNT(uint8_t cs);
- extern bool tmc2130_wait_standstill_xy(int timeout);
- extern void tmc2130_eeprom_load_config();
- extern void tmc2130_eeprom_save_config();
- #pragma pack(push)
- #pragma pack(1)
- struct
- {
- uint8_t mres:5;
- uint8_t reserved_0_0:2;
- uint8_t intpol:1;
- uint8_t pwm_ampl:8;
- uint8_t pwm_grad:4;
- uint8_t pwm_freq:2;
- uint8_t reserved_2_0:2;
- uint16_t tcoolthrs:16;
- int8_t sg_thrs:8;
- int8_t current_h:6;
- uint8_t reserved_6_0:2;
- int8_t current_r:6;
- uint8_t reserved_7_0:2;
- int8_t home_sg_thrs:8;
- int8_t home_current:6;
- uint8_t reserved_9_0:2;
- int8_t home_dtcoolthrs:8;
- int8_t dtcoolthrs_low:8;
- int8_t dtcoolthrs_high:8;
- int8_t sg_thrs_low:8;
- int8_t sg_thrs_high:8;
- } tmc2130_axis_config;
- #pragma pack(pop)
- #endif
|