TMCStepper
TMCStepper.h
Go to the documentation of this file.
1 #pragma once
2 
3 //#define TMCDEBUG
4 
5 #pragma GCC diagnostic push
6 #pragma GCC diagnostic ignored "-Wunused-function"
7 #pragma GCC diagnostic ignored "-Wunused-variable"
8 
9 #if defined(ARDUINO) && ARDUINO >= 100
10  #include <Arduino.h>
11 #endif
12 
13 #include <Stream.h>
14 #include <SPI.h>
15 
16 #if (__cplusplus == 201703L) && defined(__has_include)
17  #define SW_CAPABLE_PLATFORM __has_include(<SoftwareSerial.h>)
18 #else
19  #define SW_CAPABLE_PLATFORM defined(__AVR__) || defined(TARGET_LPC1768) || defined(ARDUINO_ARCH_STM32)
20 #endif
21 
22 #if SW_CAPABLE_PLATFORM
23  #include <SoftwareSerial.h>
24 #endif
25 
26 #include "source/SERIAL_SWITCH.h"
27 #include "source/SW_SPI.h"
28 
29 #pragma GCC diagnostic pop
30 
38 
39 #define INIT_REGISTER(REG) REG##_t REG##_register = REG##_t
40 #define INIT2130_REGISTER(REG) TMC2130_n::REG##_t REG##_register = TMC2130_n::REG##_t
41 #define INIT2160_REGISTER(REG) TMC2160_n::REG##_t REG##_register = TMC2160_n::REG##_t
42 #define INIT5130_REGISTER(REG) TMC5130_n::REG##_t REG##_register = TMC5130_n::REG##_t
43 #define INIT5160_REGISTER(REG) TMC5160_n::REG##_t REG##_register = TMC5160_n::REG##_t
44 #define INIT2660_REGISTER(REG) TMC2660_n::REG##_t REG##_register = TMC2660_n::REG##_t
45 #define INIT2208_REGISTER(REG) TMC2208_n::REG##_t REG##_register = TMC2208_n::REG##_t
46 #define INIT2224_REGISTER(REG) TMC2224_n::REG##_t REG##_register = TMC2224_n::REG##_t
47 #define SET_ALIAS(TYPE, DRIVER, NEW, ARG, OLD) TYPE (DRIVER::*NEW)(ARG) = &DRIVER::OLD
48 
49 #define TMCSTEPPER_VERSION 0x000602 // v0.6.2
50 
51 class TMCStepper {
52  public:
53  uint16_t cs2rms(uint8_t CS);
54  void rms_current(uint16_t mA);
55  void rms_current(uint16_t mA, float mult);
56  uint16_t rms_current();
57  void hold_multiplier(float val) { holdMultiplier = val; }
58  float hold_multiplier() { return holdMultiplier; }
59  uint8_t test_connection();
60 
61  // Helper functions
62  void microsteps(uint16_t ms);
63  uint16_t microsteps();
64  void blank_time(uint8_t value);
65  uint8_t blank_time();
66  void hysteresis_end(int8_t value);
67  int8_t hysteresis_end();
68  void hysteresis_start(uint8_t value);
69  uint8_t hysteresis_start();
70 
71  // R+WC: GSTAT
72  void GSTAT( uint8_t input);
73  uint8_t GSTAT();
74  bool reset();
75  bool drv_err();
76  bool uv_cp();
77 
78  // W: IHOLD_IRUN
79  void IHOLD_IRUN( uint32_t input);
80  uint32_t IHOLD_IRUN();
81  void ihold( uint8_t B);
82  void irun( uint8_t B);
83  void iholddelay( uint8_t B);
84  uint8_t ihold();
85  uint8_t irun();
86  uint8_t iholddelay();
87 
88  // W: TPOWERDOWN
89  uint8_t TPOWERDOWN();
90  void TPOWERDOWN( uint8_t input);
91 
92  // R: TSTEP
93  uint32_t TSTEP();
94 
95  // W: TPWMTHRS
96  uint32_t TPWMTHRS();
97  void TPWMTHRS( uint32_t input);
98 
99  // R: MSCNT
100  uint16_t MSCNT();
101 
102  // R: MSCURACT
103  uint32_t MSCURACT();
104  int16_t cur_a();
105  int16_t cur_b();
106 
107  protected:
108  TMCStepper(float RS) : Rsense(RS) {};
109  INIT_REGISTER(IHOLD_IRUN){{.sr=0}}; // 32b
110  INIT_REGISTER(TPOWERDOWN){.sr=0}; // 8b
111  INIT_REGISTER(TPWMTHRS){.sr=0}; // 32b
112 
113  static constexpr uint8_t TMC_READ = 0x00,
114  TMC_WRITE = 0x80;
115 
116  struct TSTEP_t { constexpr static uint8_t address = 0x12; };
117  struct MSCNT_t { constexpr static uint8_t address = 0x6A; };
118 
119  virtual void write(uint8_t, uint32_t) = 0;
120  virtual uint32_t read(uint8_t) = 0;
121  virtual void vsense(bool) = 0;
122  virtual bool vsense(void) = 0;
123  virtual uint32_t DRV_STATUS() = 0;
124  virtual void hend(uint8_t) = 0;
125  virtual uint8_t hend() = 0;
126  virtual void hstrt(uint8_t) = 0;
127  virtual uint8_t hstrt() = 0;
128  virtual void mres(uint8_t) = 0;
129  virtual uint8_t mres() = 0;
130  virtual void tbl(uint8_t) = 0;
131  virtual uint8_t tbl() = 0;
132 
133  const float Rsense;
134  float holdMultiplier = 0.5;
135 };
136 
137 class TMC2130Stepper : public TMCStepper {
138  public:
139  TMC2130Stepper(uint16_t pinCS, float RS = default_RS, int8_t link_index = -1);
140  TMC2130Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
141  TMC2130Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
142  void begin();
143  void defaults();
144  void setSPISpeed(uint32_t speed);
145  void switchCSpin(bool state);
146  bool isEnabled();
147  void push();
148 
149  // Helper functions
150  void sg_current_decrease(uint8_t value);
151  uint8_t sg_current_decrease();
152 
153  // RW: GCONF
154  uint32_t GCONF();
155  void GCONF( uint32_t value);
156  void I_scale_analog( bool B);
157  void internal_Rsense( bool B);
158  void en_pwm_mode( bool B);
159  void enc_commutation( bool B);
160  void shaft( bool B);
161  void diag0_error( bool B);
162  void diag0_otpw( bool B);
163  void diag0_stall( bool B);
164  void diag1_stall( bool B);
165  void diag1_index( bool B);
166  void diag1_onstate( bool B);
167  void diag1_steps_skipped( bool B);
168  void diag0_int_pushpull( bool B);
169  void diag1_pushpull( bool B);
170  void small_hysteresis( bool B);
171  void stop_enable( bool B);
172  void direct_mode( bool B);
173  bool I_scale_analog();
174  bool internal_Rsense();
175  bool en_pwm_mode();
176  bool enc_commutation();
177  bool shaft();
178  bool diag0_error();
179  bool diag0_otpw();
180  bool diag0_stall();
181  bool diag1_stall();
182  bool diag1_index();
183  bool diag1_onstate();
184  bool diag1_steps_skipped();
185  bool diag0_int_pushpull();
186  bool diag1_pushpull();
187  bool small_hysteresis();
188  bool stop_enable();
189  bool direct_mode();
190 
191  // R: IOIN
192  uint32_t IOIN();
193  bool step();
194  bool dir();
195  bool dcen_cfg4();
196  bool dcin_cfg5();
197  bool drv_enn_cfg6();
198  bool dco();
199  uint8_t version();
200 
201  // W: TCOOLTHRS
202  uint32_t TCOOLTHRS();
203  void TCOOLTHRS( uint32_t input);
204 
205  // W: THIGH
206  uint32_t THIGH();
207  void THIGH( uint32_t input);
208 
209  // RW: XDRIRECT
210  uint32_t XDIRECT();
211  void XDIRECT( uint32_t input);
212  void coil_A( int16_t B);
213  void coil_B( int16_t B);
214  int16_t coil_A();
215  int16_t coil_B();
216 
217  // W: VDCMIN
218  uint32_t VDCMIN();
219  void VDCMIN( uint32_t input);
220 
221  // RW: CHOPCONF
222  uint32_t CHOPCONF();
223  void CHOPCONF( uint32_t value);
224  void toff( uint8_t B);
225  void hstrt( uint8_t B);
226  void hend( uint8_t B);
227  //void fd( uint8_t B);
228  void disfdcc( bool B);
229  void rndtf( bool B);
230  void chm( bool B);
231  void tbl( uint8_t B);
232  void vsense( bool B);
233  void vhighfs( bool B);
234  void vhighchm( bool B);
235  void sync( uint8_t B);
236  void mres( uint8_t B);
237  void intpol( bool B);
238  void dedge( bool B);
239  void diss2g( bool B);
240  uint8_t toff();
241  uint8_t hstrt();
242  uint8_t hend();
243  //uint8_t fd();
244  bool disfdcc();
245  bool rndtf();
246  bool chm();
247  uint8_t tbl();
248  bool vsense();
249  bool vhighfs();
250  bool vhighchm();
251  uint8_t sync();
252  uint8_t mres();
253  bool intpol();
254  bool dedge();
255  bool diss2g();
256 
257  // W: COOLCONF
258  void COOLCONF(uint32_t value);
259  uint32_t COOLCONF();
260  void semin( uint8_t B);
261  void seup( uint8_t B);
262  void semax( uint8_t B);
263  void sedn( uint8_t B);
264  void seimin( bool B);
265  void sgt( int8_t B);
266  void sfilt( bool B);
267  uint8_t semin();
268  uint8_t seup();
269  uint8_t semax();
270  uint8_t sedn();
271  bool seimin();
272  int8_t sgt();
273  bool sfilt();
274 
275  // W: DCCTRL
276  void DCCTRL(uint32_t input);
277  void dc_time(uint16_t input);
278  void dc_sg(uint8_t input);
279  uint32_t DCCTRL();
280  uint16_t dc_time();
281  uint8_t dc_sg();
282 
283  // R: DRV_STATUS
284  uint32_t DRV_STATUS();
285  uint16_t sg_result();
286  bool fsactive();
287  uint8_t cs_actual();
288  bool stallguard();
289  bool ot();
290  bool otpw();
291  bool s2ga();
292  bool s2gb();
293  bool ola();
294  bool olb();
295  bool stst();
296 
297  // W: PWMCONF
298  void PWMCONF( uint32_t value);
299  uint32_t PWMCONF();
300  void pwm_ampl( uint8_t B);
301  void pwm_grad( uint8_t B);
302  void pwm_freq( uint8_t B);
303  void pwm_autoscale( bool B);
304  void pwm_symmetric( bool B);
305  void freewheel( uint8_t B);
306  uint8_t pwm_ampl();
307  uint8_t pwm_grad();
308  uint8_t pwm_freq();
309  bool pwm_autoscale();
310  bool pwm_symmetric();
311  uint8_t freewheel();
312 
313  // R: PWM_SCALE
314  uint8_t PWM_SCALE();
315 
316  // W: ENCM_CTRL
317  uint8_t ENCM_CTRL();
318  void ENCM_CTRL( uint8_t input);
319  void inv( bool B);
320  void maxspeed( bool B);
321  bool inv();
322  bool maxspeed();
323 
324  // R: LOST_STEPS
325  uint32_t LOST_STEPS();
326 
327  // Function aliases
328 
330 
331  protected:
332  void write(uint8_t addressByte, uint32_t config);
333  uint32_t read(uint8_t addressByte);
334 
335  INIT_REGISTER(GCONF){{.sr=0}}; // 32b
336  INIT_REGISTER(TCOOLTHRS){.sr=0}; // 32b
337  INIT_REGISTER(THIGH){.sr=0}; // 32b
338  INIT_REGISTER(XDIRECT){{.sr=0}}; // 32b
339  INIT_REGISTER(VDCMIN){.sr=0}; // 32b
340  INIT_REGISTER(CHOPCONF){{.sr=0}}; // 32b
341  INIT_REGISTER(COOLCONF){{.sr=0}}; // 32b
342  INIT_REGISTER(DCCTRL){{.sr = 0}}; // 32b
343  INIT_REGISTER(PWMCONF){{.sr=0}}; // 32b
344  INIT_REGISTER(ENCM_CTRL){{.sr=0}};// 8b
345 
346  struct IOINT_t { constexpr static uint8_t address = 0x04; };
347  struct PWM_SCALE_t { constexpr static uint8_t address = 0x71; };
348  struct LOST_STEPS_t { constexpr static uint8_t address = 0x73; };
349  struct DRV_STATUS_t { constexpr static uint8_t address = 0X6F; };
350 
351  static uint32_t spi_speed; // Default 2MHz
352  const uint16_t _pinCS;
353  SW_SPIClass * TMC_SW_SPI = nullptr;
354  static constexpr float default_RS = 0.11;
355 
356  int8_t link_index;
357  static int8_t chain_length;
358 };
359 
361  public:
362  TMC2160Stepper(uint16_t pinCS, float RS = default_RS, int8_t link_index = -1);
363  TMC2160Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
364  TMC2160Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
365  void begin();
366  void defaults();
367  void push();
368 
369  uint16_t cs2rms(uint8_t CS);
370  void rms_current(uint16_t mA);
371  void rms_current(uint16_t mA, float mult);
372  uint16_t rms_current();
373 
374  // IOIN
375  uint32_t IOIN();
376  bool refl_step();
377  bool refr_dir();
378  bool encb_dcen_cfg4();
379  bool enca_dcin_cfg5();
380  bool drv_enn();
381  bool dco_cfg6();
382  uint8_t version();
383 
384  // W: OTP_PROG
385  // R: OTP_READ
386  // RW: FACTORY_CONF
387 
388  // W: SHORT_CONF
389  void SHORT_CONF(uint32_t);
390  void s2vs_level(uint8_t);
391  void s2g_level(uint8_t);
392  void shortfilter(uint8_t);
393  void shortdelay(bool);
394  uint32_t SHORT_CONF();
395  uint8_t s2vs_level();
396  uint8_t s2g_level();
397  uint8_t shortfilter();
398  bool shortdelay();
399 
400  // W: DRV_CONF
401  void DRV_CONF(uint32_t);
402  void bbmtime(uint8_t);
403  void bbmclks(uint8_t);
404  void otselect(uint8_t);
405  void drvstrength(uint8_t);
406  void filt_isense(uint8_t);
407  uint32_t DRV_CONF();
408  uint8_t bbmtime();
409  uint8_t bbmclks();
410  uint8_t otselect();
411  uint8_t drvstrength();
412  uint8_t filt_isense();
413 
414  // W: GLOBAL_SCALER
415  void GLOBAL_SCALER(uint8_t);
416  uint8_t GLOBAL_SCALER();
417 
418  // R: OFFSET_READ
419  uint16_t OFFSET_READ();
420 
421  // W: PWMCONF
422  void PWMCONF(uint32_t input);
423  void pwm_ofs(uint8_t B);
424  void pwm_grad(uint8_t B);
425  void pwm_freq(uint8_t B);
426  void pwm_autoscale(bool B);
427  void pwm_autograd(bool B);
428  void freewheel(uint8_t B);
429  void pwm_reg(uint8_t B);
430  void pwm_lim(uint8_t B);
431  uint32_t PWMCONF();
432  uint8_t pwm_ofs();
433  uint8_t pwm_grad();
434  uint8_t pwm_freq();
435  bool pwm_autoscale();
436  bool pwm_autograd();
437  uint8_t freewheel();
438  uint8_t pwm_reg();
439  uint8_t pwm_lim();
440 
441  // R: PWM_SCALE
442  uint32_t PWM_SCALE();
443  uint8_t pwm_scale_sum();
444  uint16_t pwm_scale_auto();
445 
446  protected:
450 
455 
456  static constexpr float default_RS = 0.075;
457 };
458 
460  public:
461  TMC5130Stepper(uint16_t pinCS, float RS = default_RS, int8_t link_index = -1);
462  TMC5130Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
463  TMC5130Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
464 
465  void begin();
466  void defaults();
467  void push();
468 
469  void rms_current(uint16_t mA) { TMC2130Stepper::rms_current(mA); }
470  void rms_current(uint16_t mA, float mult) { TMC2130Stepper::rms_current(mA, mult); }
471  uint16_t rms_current() { return TMC2130Stepper::rms_current(); }
472 
473  // R: IFCNT
474  uint8_t IFCNT();
475  // W: SLAVECONF
476  uint16_t SLAVECONF();
477  void SLAVECONF(uint16_t input);
478  // R: IOIN
479  uint32_t IOIN();
480  bool refl_step();
481  bool refr_dir();
482  bool encb_dcen_cfg4();
483  bool enca_dcin_cfg5();
484  bool drv_enn_cfg6();
485  bool enc_n_dco();
486  bool sd_mode();
487  bool swcomp_in();
488  uint8_t version();
489 
490  // RW: GCONF
493 
494  // RW: SW_MODE
495  uint32_t SW_MODE();
496  void SW_MODE(uint32_t input);
497 
498  void stop_l_enable(bool B);
499  void stop_r_enable(bool B);
500  void pol_stop_l(bool B);
501  void pol_stop_r(bool B);
502  void swap_lr(bool B);
503  void latch_l_active(bool B);
504  void latch_l_inactive(bool B);
505  void latch_r_active(bool B);
506  void latch_r_inactive(bool B);
507  void en_latch_encoder(bool B);
508  void sg_stop(bool B);
509  void en_softstop(bool B);
510 
511  bool stop_r_enable();
512  bool pol_stop_l();
513  bool pol_stop_r();
514  bool swap_lr();
515  bool latch_l_active();
516  bool latch_l_inactive();
517  bool latch_r_active();
518  bool latch_r_inactive();
519  bool en_latch_encoder();
520  bool sg_stop();
521  bool en_softstop();
522 
523  // R+C: RAMP_STAT
524  uint32_t RAMP_STAT();
525  bool status_stop_l();
526  bool status_stop_r();
527  bool status_latch_l();
528  bool status_latch_r();
529  bool event_stop_l();
530  bool event_stop_r();
531  bool event_stop_sg();
532  bool event_pos_reached();
533  bool velocity_reached();
534  bool position_reached();
535  bool vzero();
536  bool t_zerowait_active();
537  bool second_move();
538  bool status_sg();
539 
540  // RW: ENCMODE
541  uint32_t ENCMODE();
542  void ENCMODE(uint32_t input);
543  void pol_a(bool B);
544  void pol_b(bool B);
545  void pol_n(bool B);
546  void ignore_ab(bool B);
547  void clr_cont(bool B);
548  void clr_once(bool B);
549  void pos_edge(bool B);
550  void neg_edge(bool B);
551  void clr_enc_x(bool B);
552  void latch_x_act(bool B);
553  void enc_sel_decimal(bool B);
554  bool pol_a();
555  bool pol_b();
556  bool pol_n();
557  bool ignore_ab();
558  bool clr_cont();
559  bool clr_once();
560  bool pos_edge();
561  bool neg_edge();
562  bool clr_enc_x();
563  bool latch_x_act();
564  bool enc_sel_decimal();
565 
566  // W: OUTPUT
567  bool TMC_OUTPUT();
568  void TMC_OUTPUT(bool input);
569  // W: X_COMPARE
570  uint32_t X_COMPARE();
571  void X_COMPARE(uint32_t input);
572  // RW: RAMPMODE
573  uint8_t RAMPMODE();
574  void RAMPMODE(uint8_t input);
575  // RW: XACTUAL
576  int32_t XACTUAL();
577  void XACTUAL(int32_t input);
578  // R: VACTUAL
579  int32_t VACTUAL();
580  // W: VSTART
581  uint32_t VSTART();
582  void VSTART(uint32_t input);
583  // W: A1
584  uint16_t A1();
585  void A1(uint16_t input);
586  // W: V1
587  uint32_t V1();
588  void V1(uint32_t input);
589  // W: AMAX
590  uint16_t AMAX();
591  void AMAX(uint16_t input);
592  // W: VMAX
593  uint32_t VMAX();
594  void VMAX(uint32_t input);
595  // W: DMAX
596  uint16_t DMAX();
597  void DMAX(uint16_t input);
598  // W: D1
599  uint16_t D1();
600  void D1(uint16_t input);
601  // W: VSTOP
602  uint32_t VSTOP();
603  void VSTOP(uint32_t input);
604  // W: TZEROWAIT
605  uint16_t TZEROWAIT();
606  void TZEROWAIT(uint16_t input);
607  // RW: XTARGET
608  int32_t XTARGET();
609  void XTARGET(int32_t input);
610  // R: XLATCH
611  uint32_t XLATCH();
612  // RW: X_ENC
613  int32_t X_ENC();
614  void X_ENC(int32_t input);
615  // W: ENC_CONST
616  uint32_t ENC_CONST();
617  void ENC_CONST(uint32_t input);
618  // R: ENC_STATUS
619  bool ENC_STATUS();
620  // R: ENC_LATCH
621  uint32_t ENC_LATCH();
622 
624 
632 
634 
635  protected:
637  INIT_REGISTER(OUTPUT){.sr=0};
642  INIT_REGISTER(A1){.sr=0};
643  INIT_REGISTER(V1){.sr=0};
647  INIT_REGISTER(D1){.sr=0};
653 
654  struct IFCNT_t { constexpr static uint8_t address = 0x02; }; // R
655  struct VACTUAL_t { constexpr static uint8_t address = 0x22; }; // R
656  struct XTARGET_t { constexpr static uint8_t address = 0x2D; }; // RW
657  struct XLATCH_t { constexpr static uint8_t address = 0x36; }; // R
658  struct X_ENC_t { constexpr static uint8_t address = 0x39; }; // RW
659  struct ENC_STATUS_t { constexpr static uint8_t address = 0x3B; }; // R+C
660  struct ENC_LATCH_t { constexpr static uint8_t address = 0x3C; }; // R
661 
662  /*
663  INIT_REGISTER(MSLUT0){0};
664  INIT_REGISTER(MSLUT1){0};
665  INIT_REGISTER(MSLUT2){0};
666  INIT_REGISTER(MSLUT3){0};
667  INIT_REGISTER(MSLUT4){0};
668  INIT_REGISTER(MSLUT5){0};
669  INIT_REGISTER(MSLUT6){0};
670  INIT_REGISTER(MSLUT7){0};
671  INIT_REGISTER(MSLUTSEL){0};
672  INIT_REGISTER(MSLUTSTART){0};
673  INIT_REGISTER(MSCNT){0};
674  INIT_REGISTER(MSCURACT){0};
675  */
676 
677  static constexpr float default_RS = 0.15;
678 
679  protected:
693 
698 
701 };
702 
704  public:
705  TMC5160Stepper(uint16_t pinCS, float RS = default_RS, int8_t link_index = -1);
706  TMC5160Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
707  TMC5160Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1);
708 
709  void rms_current(uint16_t mA) { TMC2160Stepper::rms_current(mA); }
710  void rms_current(uint16_t mA, float mult) { TMC2160Stepper::rms_current(mA, mult); }
711  uint16_t rms_current() { return TMC2160Stepper::rms_current(); }
712  void defaults();
713  void push();
714 
715  // RW: GCONF
716  void recalibrate(bool);
717  void faststandstill(bool);
718  void multistep_filt(bool);
719  bool recalibrate();
720  bool faststandstill();
721  bool multistep_filt();
722 
723  // R: IOIN
724  bool drv_enn() { return drv_enn_cfg6(); }
725  bool enc_n_dco_cfg6() { return enc_n_dco(); }
726 
727  // W: SHORT_CONF
733 
734  // W: DRV_CONF
741 
742  // W: GLOBAL_SCALER
744 
745  // R: OFFSET_READ
747 
748  // R+WC: ENC_STATUS
749  void ENC_STATUS(uint8_t);
750  uint8_t ENC_STATUS();
751 
752  // W: ENC_DEVIATION
753  void ENC_DEVIATION(uint32_t);
754  uint32_t ENC_DEVIATION();
755 
756  // R: PWM_AUTO
757  uint32_t PWM_AUTO();
758  uint8_t pwm_ofs_auto();
759  uint8_t pwm_grad_auto();
760 
761  // RW: CHOPCONF
762  void diss2vs(bool);
763  void tpfd(uint8_t);
764  bool diss2vs();
765  uint8_t tpfd();
766 
767  // W: PWM_CONF
777 
781 
782  protected:
790  using TMC5130Stepper::rndtf;
791 
793 
794  static constexpr float default_RS = 0.075;
795 };
796 
798  public:
799  TMC5161Stepper(uint16_t pinCS, float RS = default_RS, int8_t link_index = -1) : TMC5160Stepper(pinCS, RS, link_index) {}
800  TMC5161Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1) :
801  TMC5160Stepper(pinCS, pinMOSI, pinMISO, pinSCK, link_index) {}
802  TMC5161Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index = -1) :
803  TMC5160Stepper(pinCS, RS, pinMOSI, pinMISO, pinSCK, link_index) {}
804 };
805 
806 class TMC2208Stepper : public TMCStepper {
807  public:
808  TMC2208Stepper(Stream * SerialPort, float RS, uint8_t addr, uint16_t mul_pin1, uint16_t mul_pin2);
809  TMC2208Stepper(Stream * SerialPort, float RS) :
810  TMC2208Stepper(SerialPort, RS, TMC2208_SLAVE_ADDR)
811  {}
812  #if SW_CAPABLE_PLATFORM
813  TMC2208Stepper(uint16_t SW_RX_pin, uint16_t SW_TX_pin, float RS) :
814  TMC2208Stepper(SW_RX_pin, SW_TX_pin, RS, TMC2208_SLAVE_ADDR)
815  {}
816  TMC2208Stepper(uint16_t SW_RX_pin, uint16_t SW_TX_pin, float RS, bool) :
817  TMC2208Stepper(SW_RX_pin, SW_TX_pin, RS, TMC2208_SLAVE_ADDR)
818  {}
819  #else
820  TMC2208Stepper(uint16_t, uint16_t, float) = delete; // Your platform does not currently support Software Serial
821  #endif
822  void defaults();
823  void push();
824  void begin();
825  #if SW_CAPABLE_PLATFORM
826  void beginSerial(uint32_t baudrate);
827  #else
828  void beginSerial(uint32_t) = delete; // Your platform does not currently support Software Serial
829  #endif
830  bool isEnabled();
831 
832  // RW: GCONF
833  void GCONF(uint32_t input);
834  void I_scale_analog(bool B);
835  void internal_Rsense(bool B);
836  void en_spreadCycle(bool B);
837  void shaft(bool B);
838  void index_otpw(bool B);
839  void index_step(bool B);
840  void pdn_disable(bool B);
841  void mstep_reg_select(bool B);
842  void multistep_filt(bool B);
843  uint32_t GCONF();
844  bool I_scale_analog();
845  bool internal_Rsense();
846  bool en_spreadCycle();
847  bool shaft();
848  bool index_otpw();
849  bool index_step();
850  bool pdn_disable();
851  bool mstep_reg_select();
852  bool multistep_filt();
853 
854  // R: IFCNT
855  uint8_t IFCNT();
856 
857  // W: SLAVECONF
858  void SLAVECONF(uint16_t input);
859  uint16_t SLAVECONF();
860  void senddelay(uint8_t B);
861  uint8_t senddelay();
862 
863  // W: OTP_PROG
864  void OTP_PROG(uint16_t input);
865 
866  // R: OTP_READ
867  uint32_t OTP_READ();
868 
869  // R: IOIN
870  uint32_t IOIN();
871  bool enn();
872  bool ms1();
873  bool ms2();
874  bool diag();
875  bool pdn_uart();
876  bool step();
877  bool sel_a();
878  bool dir();
879  uint8_t version();
880 
881  // RW: FACTORY_CONF
882  void FACTORY_CONF(uint16_t input);
883  uint16_t FACTORY_CONF();
884  void fclktrim(uint8_t B);
885  void ottrim(uint8_t B);
886  uint8_t fclktrim();
887  uint8_t ottrim();
888 
889  // W: VACTUAL
890  void VACTUAL(uint32_t input);
891  uint32_t VACTUAL();
892 
893  // RW: CHOPCONF
894  void CHOPCONF(uint32_t input);
895  void toff(uint8_t B);
896  void hstrt(uint8_t B);
897  void hend(uint8_t B);
898  void tbl(uint8_t B);
899  void vsense(bool B);
900  void mres(uint8_t B);
901  void intpol(bool B);
902  void dedge(bool B);
903  void diss2g(bool B);
904  void diss2vs(bool B);
905  uint32_t CHOPCONF();
906  uint8_t toff();
907  uint8_t hstrt();
908  uint8_t hend();
909  uint8_t tbl();
910  bool vsense();
911  uint8_t mres();
912  bool intpol();
913  bool dedge();
914  bool diss2g();
915  bool diss2vs();
916 
917  // R: DRV_STATUS
918  uint32_t DRV_STATUS();
919  bool otpw();
920  bool ot();
921  bool s2ga();
922  bool s2gb();
923  bool s2vsa();
924  bool s2vsb();
925  bool ola();
926  bool olb();
927  bool t120();
928  bool t143();
929  bool t150();
930  bool t157();
931  uint16_t cs_actual();
932  bool stealth();
933  bool stst();
934 
935  // RW: PWMCONF
936  void PWMCONF(uint32_t input);
937  void pwm_ofs(uint8_t B);
938  void pwm_grad(uint8_t B);
939  void pwm_freq(uint8_t B);
940  void pwm_autoscale(bool B);
941  void pwm_autograd(bool B);
942  void freewheel(uint8_t B);
943  void pwm_reg(uint8_t B);
944  void pwm_lim(uint8_t B);
945  uint32_t PWMCONF();
946  uint8_t pwm_ofs();
947  uint8_t pwm_grad();
948  uint8_t pwm_freq();
949  bool pwm_autoscale();
950  bool pwm_autograd();
951  uint8_t freewheel();
952  uint8_t pwm_reg();
953  uint8_t pwm_lim();
954 
955  // R: PWM_SCALE
956  uint32_t PWM_SCALE();
957  uint8_t pwm_scale_sum();
958  int16_t pwm_scale_auto();
959 
960  // R: PWM_AUTO (0x72)
961  uint32_t PWM_AUTO();
962  uint8_t pwm_ofs_auto();
963  uint8_t pwm_grad_auto();
964 
965  uint16_t bytesWritten = 0;
966  float Rsense = 0.11;
967  bool CRCerror = false;
968  protected:
975 
976  struct IFCNT_t { constexpr static uint8_t address = 0x02; };
977  struct OTP_PROG_t { constexpr static uint8_t address = 0x04; };
978  struct OTP_READ_t { constexpr static uint8_t address = 0x05; };
979 
980  TMC2208Stepper(Stream * SerialPort, float RS, uint8_t addr);
981  #if SW_CAPABLE_PLATFORM
982  TMC2208Stepper(uint16_t SW_RX_pin, uint16_t SW_TX_pin, float RS, uint8_t addr);
983  #endif
984 
985  Stream * HWSerial = nullptr;
986  #if SW_CAPABLE_PLATFORM
987  SoftwareSerial * SWSerial = nullptr;
988  const uint16_t RXTX_pin = 0; // Half duplex
989  #endif
990 
991  SSwitch *sswitch = nullptr;
992 
993  template<class SERIAL_TYPE> int16_t serial_read(SERIAL_TYPE &serPtr) __attribute__((weak));
994  template<class SERIAL_TYPE> uint8_t serial_write(SERIAL_TYPE &serPtr, const uint8_t data) __attribute__((weak));
995  void write(uint8_t, uint32_t);
996  uint32_t read(uint8_t);
997  const uint8_t slave_address;
998  uint8_t calcCRC(uint8_t datagram[], uint8_t len);
999  static constexpr uint8_t TMC2208_SYNC = 0x05,
1001  static constexpr uint8_t replyDelay = 2;
1002  static constexpr uint8_t abort_window = 5;
1003  static constexpr uint8_t max_retries = 2;
1004 
1005  template<typename SERIAL_TYPE>
1006  uint64_t _sendDatagram(SERIAL_TYPE &, uint8_t [], const uint8_t, uint16_t);
1007 };
1008 
1010  public:
1011  TMC2209Stepper(Stream * SerialPort, float RS, uint8_t addr) :
1012  TMC2208Stepper(SerialPort, RS, addr) {}
1013 
1014  #if SW_CAPABLE_PLATFORM
1015  TMC2209Stepper(uint16_t SW_RX_pin, uint16_t SW_TX_pin, float RS, uint8_t addr) :
1016  TMC2208Stepper(SW_RX_pin, SW_TX_pin, RS, addr) {}
1017  #else
1018  TMC2209Stepper(uint16_t, uint16_t, float, uint8_t) = delete; // Your platform does not currently support Software Serial
1019  #endif
1020  void push();
1021 
1022  // R: IOIN
1023  uint32_t IOIN();
1024  bool enn();
1025  bool ms1();
1026  bool ms2();
1027  bool diag();
1028  bool pdn_uart();
1029  bool step();
1030  bool spread_en();
1031  bool dir();
1032  uint8_t version();
1033 
1034  // W: TCOOLTHRS
1035  uint32_t TCOOLTHRS();
1036  void TCOOLTHRS(uint32_t input);
1037 
1038  // W: SGTHRS
1039  void SGTHRS(uint8_t B);
1040  uint8_t SGTHRS();
1041 
1042  // R: SG_RESULT
1043  uint16_t SG_RESULT();
1044 
1045  // W: COOLCONF
1046  void COOLCONF(uint16_t B);
1047  uint16_t COOLCONF();
1048  void semin(uint8_t B);
1049  void seup(uint8_t B);
1050  void semax(uint8_t B);
1051  void sedn(uint8_t B);
1052  void seimin(bool B);
1053  uint8_t semin();
1054  uint8_t seup();
1055  uint8_t semax();
1056  uint8_t sedn();
1057  bool seimin();
1058 
1059  protected:
1063 };
1064 
1066  public:
1067  uint32_t IOIN();
1068  bool enn();
1069  bool ms1();
1070  bool ms2();
1071  bool pdn_uart();
1072  bool spread();
1073  bool step();
1074  bool sel_a();
1075  bool dir();
1076  uint8_t version();
1077 };
1078 
1080  public:
1081  TMC2660Stepper(uint16_t pinCS, float RS = default_RS);
1082  TMC2660Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK);
1083  TMC2660Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK);
1084  void write(uint8_t addressByte, uint32_t config);
1085  uint32_t read();
1086  void switchCSpin(bool state);
1087  void begin();
1088  bool isEnabled();
1089  uint8_t test_connection();
1090  uint16_t cs2rms(uint8_t CS);
1091  uint16_t rms_current();
1092  void rms_current(uint16_t mA);
1093  //uint16_t getMilliamps() {return val_mA;}
1094  void push();
1095  uint8_t savedToff() { return _savedToff; }
1096 
1097  // Helper functions
1098  void microsteps(uint16_t ms);
1099  uint16_t microsteps();
1100  void blank_time(uint8_t value);
1101  uint8_t blank_time();
1102  void hysteresis_end(int8_t value);
1103  int8_t hysteresis_end();
1104  void hysteresis_start(uint8_t value);
1105  uint8_t hysteresis_start();
1106 
1107  // W: DRVCONF
1108  void DRVCONF(uint32_t);
1109  void tst(bool);
1110  void slph(uint8_t);
1111  void slpl(uint8_t);
1112  void diss2g(bool);
1113  void ts2g(uint8_t);
1114  void sdoff(bool);
1115  void vsense(bool);
1116  void rdsel(uint8_t);
1117  uint32_t DRVCONF();
1118  bool tst();
1119  uint8_t slph();
1120  uint8_t slpl();
1121  bool diss2g();
1122  uint8_t ts2g();
1123  bool sdoff();
1124  bool vsense();
1125  uint8_t rdsel();
1126 
1127  // W: DRVCTRL
1128  void DRVCTRL(uint32_t);
1129  void pha(bool B);
1130  void ca(uint8_t B);
1131  void phb(bool B);
1132  void cb(uint8_t B);
1133  bool pha();
1134  uint8_t ca();
1135  bool phb();
1136  uint8_t cb();
1137  void intpol(bool);
1138  void dedge(bool);
1139  void mres(uint8_t);
1140  uint32_t DRVCTRL();
1141  bool intpol();
1142  bool dedge();
1143  uint8_t mres();
1144 
1145  // W: CHOPCONF
1146  void CHOPCONF(uint32_t);
1147  void tbl(uint8_t);
1148  void chm(bool);
1149  void rndtf(bool);
1150  void hdec(uint8_t);
1151  void hend(uint8_t);
1152  void hstrt(uint8_t);
1153  void toff(uint8_t);
1154  uint32_t CHOPCONF();
1155  uint8_t tbl();
1156  bool chm();
1157  bool rndtf();
1158  uint8_t hdec();
1159  uint8_t hend();
1160  uint8_t hstrt();
1161  uint8_t toff();
1162 
1163  // R: DRVSTATUS
1164  uint32_t DRV_STATUS() { return DRVSTATUS(); }
1165  uint32_t DRVSTATUS();
1166  uint16_t mstep();
1167  uint8_t se();
1168  bool stst();
1169  bool olb();
1170  bool ola();
1171  bool s2gb();
1172  bool s2ga();
1173  bool otpw();
1174  bool ot();
1175  bool sg();
1176  uint16_t sg_result();
1177 
1178  // W: SGCSCONF
1179  uint32_t SGCSCONF();
1180  void sfilt(bool);
1181  void sgt(uint8_t);
1182  void cs(uint8_t);
1183  void SGCSCONF(uint32_t);
1184  bool sfilt();
1185  uint8_t sgt();
1186  uint8_t cs();
1187 
1188  // W: SMARTEN
1189  void SMARTEN(uint32_t);
1190  void seimin(bool B);
1191  void sedn(uint8_t B);
1192  void semax(uint8_t B);
1193  void seup(uint8_t B);
1194  void semin(uint8_t B);
1195  uint32_t SMARTEN();
1196  bool seimin();
1197  uint8_t sedn();
1198  uint8_t semax();
1199  uint8_t seup();
1200  uint8_t semin();
1201  /*
1202  // Alias
1203  SET_ALIAS(void, polarity_A, bool, pha);
1204  SET_ALIAS(void, current_A, uint8_t, ca);
1205  SET_ALIAS(void, polarity_B, bool, phb);
1206  SET_ALIAS(void, current_b, uint8_t, cb);
1207  SET_ALIAS(void, interpolate, bool, intpol);
1208  SET_ALIAS(void, double_edge_step, bool, dedge);
1209  SET_ALIAS(void, microsteps, uint8_t, mres);
1210  SET_ALIAS(void, blank_time, uint8_t, tbl);
1211  SET_ALIAS(void, chopper_mode, bool, chm);
1212  SET_ALIAS(void, random_off_time, bool, rndtf);
1213  SET_ALIAS(void, hysteresis_decrement, uint8_t, hdec);
1214  SET_ALIAS(void, hysteresis_low, uint8_t, hend);
1215  SET_ALIAS(void, hysteresis_start, uint8_t, hstrt);
1216  SET_ALIAS(void, off_time, uint8_t, toff);
1217  */
1218 
1220 
1221  private:
1222  INIT_REGISTER(DRVCTRL_1){{.sr=0}};
1223  INIT_REGISTER(DRVCTRL_0){{.sr=0}};
1224  INIT2660_REGISTER(CHOPCONF){{.sr=0}};
1225  INIT_REGISTER(SMARTEN){{.sr=0}};
1226  INIT_REGISTER(SGCSCONF){{.sr=0}};
1227  INIT_REGISTER(DRVCONF){{.sr=0}};
1228  INIT_REGISTER(READ_RDSEL00){{.sr=0}};
1229  INIT_REGISTER(READ_RDSEL01){{.sr=0}};
1230  INIT_REGISTER(READ_RDSEL10){{.sr=0}};
1231 
1232  const uint16_t _pinCS;
1233  const float Rsense;
1234  static constexpr float default_RS = 0.1;
1235  float holdMultiplier = 0.5;
1236  uint32_t spi_speed = 16000000/8; // Default 2MHz
1237  uint8_t _savedToff = 0;
1238  SW_SPIClass * TMC_SW_SPI = nullptr;
1239 };
TMC2130Stepper::defaults
void defaults()
Definition: TMC2130Stepper.cpp:44
TMC2208Stepper::INIT2208_REGISTER
INIT2208_REGISTER(PWMCONF)
Definition: TMCStepper.h:974
TMCStepper::INIT_REGISTER
INIT_REGISTER(TPWMTHRS)
Definition: TMCStepper.h:111
TMC2130Stepper::diag0_stall
bool diag0_stall()
Definition: GCONF.cpp:40
TMC2208Stepper::s2gb
bool s2gb()
Definition: DRV_STATUS.cpp:27
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(SW_MODE)
Definition: TMCStepper.h:650
TMC2660Stepper::s2ga
bool s2ga()
Definition: DRVSTATUS.cpp:28
TMC2660Stepper::stst
bool stst()
Definition: DRVSTATUS.cpp:24
TMC2208Stepper::TMC2208_SYNC
static constexpr uint8_t TMC2208_SYNC
Definition: TMCStepper.h:999
TMC2208Stepper::INIT_REGISTER
INIT_REGISTER(FACTORY_CONF)
Definition: TMCStepper.h:971
TMC2208Stepper::INIT_REGISTER
INIT_REGISTER(SLAVECONF)
Definition: TMCStepper.h:970
TMC5130Stepper::X_COMPARE
uint32_t X_COMPARE()
Definition: TMC5130Stepper.cpp:105
TMC5130Stepper::XACTUAL
int32_t XACTUAL()
Definition: TMC5130Stepper.cpp:119
TMC5130Stepper::velocity_reached
bool velocity_reached()
Definition: RAMP_STAT.cpp:18
TMC5130Stepper::pol_n
bool pol_n()
Definition: ENCMODE.cpp:30
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(V1)
Definition: TMCStepper.h:643
TMC2208Stepper::s2ga
bool s2ga()
Definition: DRV_STATUS.cpp:26
TMC2160Stepper::INIT_REGISTER
INIT_REGISTER(DRV_CONF)
Definition: TMCStepper.h:452
TMC2660Stepper::switchCSpin
void switchCSpin(bool state)
Definition: TMC2660Stepper.cpp:25
TMC5130Stepper::ENC_LATCH_t
Definition: TMCStepper.h:660
TMC2208Stepper::hend
uint8_t hend()
Definition: CHOPCONF.cpp:74
TMCStepper::mres
virtual uint8_t mres()=0
TMC2660Stepper::hysteresis_start
uint8_t hysteresis_start()
Definition: TMC2660Stepper.cpp:146
TMC2660Stepper::mstep
uint16_t mstep()
Definition: DRVSTATUS.cpp:22
TMC2208Stepper::IOIN
uint32_t IOIN()
Definition: TMC2208Stepper.cpp:290
TMC2130Stepper
Definition: TMCStepper.h:137
TMC2208Stepper::pwm_grad_auto
uint8_t pwm_grad_auto()
Definition: TMC2208Stepper.cpp:363
TMC5160Stepper::TMC5160Stepper
TMC5160Stepper(uint16_t pinCS, float RS=default_RS, int8_t link_index=-1)
Definition: TMC5160Stepper.cpp:4
TMC2660Stepper::begin
void begin()
Definition: TMC2660Stepper.cpp:72
TMC2208Stepper::PWMCONF
uint32_t PWMCONF()
Definition: PWMCONF.cpp:54
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(SLAVECONF)
Definition: TMCStepper.h:636
TMC5160Stepper::default_RS
static constexpr float default_RS
Definition: TMCStepper.h:794
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(PWMCONF)
Definition: TMCStepper.h:343
TMC2130Stepper::pwm_grad
uint8_t pwm_grad()
Definition: PWMCONF.cpp:22
TMC5130Stepper::XTARGET
int32_t XTARGET()
Definition: TMC5130Stepper.cpp:198
TMC2160Stepper::INIT_REGISTER
INIT_REGISTER(GLOBAL_SCALER)
Definition: TMCStepper.h:453
TMC5130Stepper::rms_current
uint16_t rms_current()
Definition: TMCStepper.h:471
TMC2160Stepper::TMC2160Stepper
TMC2160Stepper(uint16_t pinCS, float RS=default_RS, int8_t link_index=-1)
Definition: TMC2160Stepper.cpp:4
TMC2209_n::COOLCONF_t
Definition: TMC2209_bitfields.h:36
TMC5130Stepper::event_stop_l
bool event_stop_l()
Definition: RAMP_STAT.cpp:14
TMC2209Stepper::sedn
uint8_t sedn()
Definition: COOLCONF.cpp:51
TMC2208Stepper::cs_actual
uint16_t cs_actual()
Definition: DRV_STATUS.cpp:36
TMC2130Stepper::step
bool step()
Definition: TMC2130Stepper.cpp:228
TMC2208Stepper::OTP_PROG_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:977
TMC2209Stepper::SG_RESULT
uint16_t SG_RESULT()
Definition: TMC2209Stepper.cpp:43
TMC2130Stepper::toff
uint8_t toff()
Definition: CHOPCONF.cpp:32
TMC5130Stepper::sd_mode
bool sd_mode()
Definition: TMC5130Stepper.cpp:93
TMC5130Stepper::status_sg
bool status_sg()
Definition: RAMP_STAT.cpp:23
TMCStepper::hold_multiplier
float hold_multiplier()
Definition: TMCStepper.h:58
TMC2130Stepper::pwm_symmetric
bool pwm_symmetric()
Definition: PWMCONF.cpp:25
TMC2130Stepper::ot
bool ot()
Definition: DRV_STATUS.cpp:12
TMCStepper
Definition: TMCStepper.h:51
TMC5130Stepper::en_latch_encoder
bool en_latch_encoder()
Definition: SW_MODE.cpp:37
TMC2208Stepper::diss2vs
bool diss2vs()
Definition: CHOPCONF.cpp:81
TMC2130Stepper::IOIN
uint32_t IOIN()
Definition: TMC2130Stepper.cpp:227
TMC5130Stepper::latch_r_active
bool latch_r_active()
Definition: SW_MODE.cpp:35
TMC2660Stepper::slph
uint8_t slph()
Definition: DRVCONF.cpp:23
TMC5130Stepper::XTARGET_t
Definition: TMCStepper.h:656
TMC2130Stepper::THIGH
uint32_t THIGH()
Definition: TMC2130Stepper.cpp:244
TMC2208Stepper::ms2
bool ms2()
Definition: TMC2208Stepper.cpp:295
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(XDIRECT)
Definition: TMCStepper.h:338
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(COOLCONF)
Definition: TMCStepper.h:341
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(ENCM_CTRL)
Definition: TMCStepper.h:344
TMC5130Stepper::X_ENC_t
Definition: TMCStepper.h:658
TMC2160Stepper::bbmtime
uint8_t bbmtime()
Definition: DRV_CONF.cpp:19
TMC2660Stepper::microsteps
uint16_t microsteps()
Definition: TMC2660Stepper.cpp:163
TMC2208Stepper::dedge
bool dedge()
Definition: CHOPCONF.cpp:79
TMC5130Stepper::VSTART
uint32_t VSTART()
Definition: TMC5130Stepper.cpp:134
TMCStepper::tbl
virtual uint8_t tbl()=0
TMC2209Stepper::spread_en
bool spread_en()
Definition: TMC2209Stepper.cpp:12
TMC2660Stepper::status_response
uint8_t status_response
Definition: TMCStepper.h:1219
TMC2130Stepper::sg_current_decrease
uint8_t sg_current_decrease()
Definition: TMC2130Stepper.cpp:323
TMC2660Stepper::sgt
uint8_t sgt()
Definition: SGCSCONF.cpp:18
TMC5130Stepper::en_softstop
bool en_softstop()
Definition: SW_MODE.cpp:39
TMC2160Stepper::drv_enn
bool drv_enn()
Definition: TMC2160Stepper.cpp:140
TMC5130Stepper::pol_stop_r
bool pol_stop_r()
Definition: SW_MODE.cpp:31
TMC2130Stepper::push
void push()
Definition: TMC2130Stepper.cpp:209
TMC5130Stepper::IFCNT_t
Definition: TMCStepper.h:654
TMC5130Stepper::neg_edge
bool neg_edge()
Definition: ENCMODE.cpp:35
TMC2208Stepper::enn
bool enn()
Definition: TMC2208Stepper.cpp:293
TMC2130Stepper::coil_A
int16_t coil_A()
Definition: TMC2130Stepper.cpp:260
TMC2660Stepper::sg
bool sg()
Definition: DRVSTATUS.cpp:31
TMC2130Stepper::status_response
uint8_t status_response
Definition: TMCStepper.h:329
TMC2160Stepper::refl_step
bool refl_step()
Definition: TMC2160Stepper.cpp:136
TMC2160Stepper::DRV_CONF
uint32_t DRV_CONF()
Definition: DRV_CONF.cpp:8
TMCStepper::INIT_REGISTER
INIT_REGISTER(TPOWERDOWN)
Definition: TMCStepper.h:110
TMC2160Stepper::SHORT_CONF
uint32_t SHORT_CONF()
Definition: SHORT_CONF.cpp:7
TMC2130Stepper::DRV_STATUS_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:349
TMC2209Stepper::diag
bool diag()
Definition: TMC2209Stepper.cpp:9
TMC2130Stepper::internal_Rsense
bool internal_Rsense()
Definition: GCONF.cpp:34
TMC5130Stepper::latch_l_inactive
bool latch_l_inactive()
Definition: SW_MODE.cpp:34
TMC5130Stepper::ENC_LATCH
uint32_t ENC_LATCH()
Definition: TMC5130Stepper.cpp:223
TMC2660Stepper::semax
uint8_t semax()
Definition: SMARTEN.cpp:21
TMC2208Stepper::replyDelay
static constexpr uint8_t replyDelay
Definition: TMCStepper.h:1001
TMC2130Stepper::ENCM_CTRL
uint8_t ENCM_CTRL()
Definition: TMC2130Stepper.cpp:302
TMC2130Stepper::dco
bool dco()
Definition: TMC2130Stepper.cpp:233
TMC2208Stepper::sel_a
bool sel_a()
Definition: TMC2208Stepper.cpp:299
TMC2208Stepper::read
uint32_t read(uint8_t)
Definition: TMC2208Stepper.cpp:221
TMC2160Stepper::GLOBAL_SCALER
uint8_t GLOBAL_SCALER()
Definition: TMC2160Stepper.cpp:145
TMC2208Stepper::diss2g
bool diss2g()
Definition: CHOPCONF.cpp:80
TMC5130Stepper::TMC5130Stepper
TMC5130Stepper(uint16_t pinCS, float RS=default_RS, int8_t link_index=-1)
Definition: TMC5130Stepper.cpp:4
TMC5130Stepper::IFCNT
uint8_t IFCNT()
Definition: TMC5130Stepper.cpp:74
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(TZEROWAIT)
Definition: TMCStepper.h:649
TMC2130Stepper::stallguard
bool stallguard()
Definition: DRV_STATUS.cpp:11
TMC5160Stepper::push
void push()
Definition: TMC5160Stepper.cpp:41
TMC2660Stepper::sedn
uint8_t sedn()
Definition: SMARTEN.cpp:20
TMC2130Stepper::I_scale_analog
bool I_scale_analog()
Definition: GCONF.cpp:33
TMC2208Stepper::t150
bool t150()
Definition: DRV_STATUS.cpp:34
TMC2208Stepper::INIT2208_REGISTER
INIT2208_REGISTER(CHOPCONF)
Definition: TMCStepper.h:973
TMC2660Stepper::hend
uint8_t hend()
Definition: CHOPCONF.cpp:104
TMC2208Stepper::push
void push()
Definition: TMC2208Stepper.cpp:79
TMC5130Stepper::diag1_poscomp_pushpull
void diag1_poscomp_pushpull(bool B)
Definition: TMCStepper.h:491
TMC2660Stepper::dedge
bool dedge()
Definition: DRVCTRL.cpp:40
TMC2130Stepper::dedge
bool dedge()
Definition: CHOPCONF.cpp:46
TMC2209Stepper::seimin
bool seimin()
Definition: COOLCONF.cpp:52
TMC2160Stepper::dco_cfg6
bool dco_cfg6()
Definition: TMC2160Stepper.cpp:141
TMC2208Stepper::OTP_READ
uint32_t OTP_READ()
Definition: TMC2208Stepper.cpp:286
TMC5130Stepper::push
void push()
Definition: TMC5130Stepper.cpp:38
TMC2660Stepper::DRVCTRL
uint32_t DRVCTRL()
Definition: DRVCTRL.cpp:9
TMC2209Stepper::COOLCONF_register
TMC2209_n::COOLCONF_t COOLCONF_register
Definition: TMCStepper.h:1062
TMC5160Stepper::recalibrate
bool recalibrate()
Definition: GCONF.cpp:63
TMC2660Stepper::toff
uint8_t toff()
Definition: CHOPCONF.cpp:102
TMC2208Stepper::HWSerial
Stream * HWSerial
Definition: TMCStepper.h:985
TMCStepper::uv_cp
bool uv_cp()
Definition: TMCStepper.cpp:120
TMC2209Stepper::seup
uint8_t seup()
Definition: COOLCONF.cpp:49
TMC5130Stepper::version
uint8_t version()
Definition: TMC5130Stepper.cpp:95
TMC2224Stepper::dir
bool dir()
Definition: TMC2208Stepper.cpp:313
TMC5130Stepper::latch_x_act
bool latch_x_act()
Definition: ENCMODE.cpp:37
SSwitch
Definition: SERIAL_SWITCH.h:6
TMC2130Stepper::disfdcc
bool disfdcc()
Definition: CHOPCONF.cpp:36
TMC2208Stepper::TMC2208Stepper
TMC2208Stepper(Stream *SerialPort, float RS, uint8_t addr, uint16_t mul_pin1, uint16_t mul_pin2)
Definition: TMC2208Stepper.cpp:15
TMC2208Stepper::senddelay
uint8_t senddelay()
Definition: TMC2208Stepper.cpp:280
TMC2130Stepper::DCCTRL
uint32_t DCCTRL()
Definition: TMC2130Stepper.cpp:284
TMC5160Stepper::ENC_STATUS
uint8_t ENC_STATUS()
Definition: TMC5160Stepper.cpp:78
TMC5130Stepper::RAMPMODE
uint8_t RAMPMODE()
Definition: TMC5130Stepper.cpp:112
TMC2130Stepper::TMC_SW_SPI
SW_SPIClass * TMC_SW_SPI
Definition: TMCStepper.h:353
TMC2208Stepper::pwm_scale_sum
uint8_t pwm_scale_sum()
Definition: TMC2208Stepper.cpp:339
TMC2130Stepper::pwm_ampl
uint8_t pwm_ampl()
Definition: PWMCONF.cpp:21
TMC2130Stepper::TMC2130Stepper
TMC2130Stepper(uint16_t pinCS, float RS=default_RS, int8_t link_index=-1)
Definition: TMC2130Stepper.cpp:7
TMC2660Stepper::se
uint8_t se()
Definition: DRVSTATUS.cpp:23
TMC2208Stepper::pdn_uart
bool pdn_uart()
Definition: TMC2208Stepper.cpp:297
TMCStepper::TSTEP_t
Definition: TMCStepper.h:116
TMC2208Stepper::bytesWritten
uint16_t bytesWritten
Definition: TMCStepper.h:965
TMC2130Stepper::LOST_STEPS_t
Definition: TMCStepper.h:348
TMC5130Stepper::defaults
void defaults()
Definition: TMC5130Stepper.cpp:21
TMC2660Stepper::hdec
uint8_t hdec()
Definition: CHOPCONF.cpp:105
TMC2130Stepper::PWM_SCALE_t
Definition: TMCStepper.h:347
TMC5130Stepper::event_stop_r
bool event_stop_r()
Definition: RAMP_STAT.cpp:15
TMC2160Stepper::push
void push()
Definition: TMC2160Stepper.cpp:113
TMC2130Stepper::diag1_steps_skipped
bool diag1_steps_skipped()
Definition: GCONF.cpp:44
TMC5130Stepper::enc_sel_decimal
bool enc_sel_decimal()
Definition: ENCMODE.cpp:38
TMC2208Stepper::version
uint8_t version()
Definition: TMC2208Stepper.cpp:301
TMC5130Stepper::stop_l_enable
void stop_l_enable(bool B)
Definition: SW_MODE.cpp:16
TMC2130Stepper::spi_speed
static uint32_t spi_speed
Definition: TMCStepper.h:351
SW_SPIClass
Definition: SW_SPI.h:6
TMC5130Stepper::ignore_ab
bool ignore_ab()
Definition: ENCMODE.cpp:31
TMC2209Stepper::dir
bool dir()
Definition: TMC2209Stepper.cpp:13
TMC2160Stepper::pwm_scale_sum
uint8_t pwm_scale_sum()
Definition: TMC2160Stepper.cpp:158
TMC2130Stepper::DRV_STATUS
uint32_t DRV_STATUS()
Definition: DRV_STATUS.cpp:6
TMC2130Stepper::ola
bool ola()
Definition: DRV_STATUS.cpp:16
TMC5130Stepper::event_pos_reached
bool event_pos_reached()
Definition: RAMP_STAT.cpp:17
TMC2660Stepper::savedToff
uint8_t savedToff()
Definition: TMCStepper.h:1095
TMCStepper::read
virtual uint32_t read(uint8_t)=0
TMC5160Stepper::diss2vs
bool diss2vs()
Definition: CHOPCONF.cpp:51
TMC5130Stepper::rms_current
void rms_current(uint16_t mA, float mult)
Definition: TMCStepper.h:470
TMC2660Stepper::isEnabled
bool isEnabled()
Definition: TMC2660Stepper.cpp:83
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(A1)
Definition: TMCStepper.h:642
TMC2130Stepper::seup
uint8_t seup()
Definition: COOLCONF.cpp:23
TMC2208Stepper::PWM_AUTO
uint32_t PWM_AUTO()
Definition: TMC2208Stepper.cpp:359
TMC2130Stepper::vhighchm
bool vhighchm()
Definition: CHOPCONF.cpp:42
TMC5130Stepper::TZEROWAIT
uint16_t TZEROWAIT()
Definition: TMC5130Stepper.cpp:191
TMC2208Stepper::internal_Rsense
bool internal_Rsense()
Definition: GCONF.cpp:86
TMC2130Stepper::mres
uint8_t mres()
Definition: CHOPCONF.cpp:44
TMC2130Stepper::dc_time
uint16_t dc_time()
Definition: TMC2130Stepper.cpp:287
TMC2130Stepper::COOLCONF
uint32_t COOLCONF()
Definition: COOLCONF.cpp:8
TMC2224Stepper::step
bool step()
Definition: TMC2208Stepper.cpp:311
TMC2160Stepper
Definition: TMCStepper.h:360
TMC5130Stepper::VACTUAL
int32_t VACTUAL()
Definition: TMC5130Stepper.cpp:125
TMC2209Stepper::step
bool step()
Definition: TMC2209Stepper.cpp:11
TMCStepper::rms_current
uint16_t rms_current()
Definition: TMCStepper.cpp:46
TMCStepper::MSCNT_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:117
TMC2209Stepper::enn
bool enn()
Definition: TMC2209Stepper.cpp:6
TMC5130Stepper::SW_MODE
uint32_t SW_MODE()
Definition: SW_MODE.cpp:8
TMC5130Stepper::IFCNT_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:654
TMC5130Stepper::swap_lr
bool swap_lr()
Definition: SW_MODE.cpp:32
TMCStepper::Rsense
const float Rsense
Definition: TMCStepper.h:133
TMC2130Stepper::chain_length
static int8_t chain_length
Definition: TMCStepper.h:357
TMC5160Stepper::PWM_AUTO
uint32_t PWM_AUTO()
Definition: TMC5160Stepper.cpp:91
TMC5130Stepper
Definition: TMCStepper.h:459
TMCStepper::hstrt
virtual uint8_t hstrt()=0
TMC2208Stepper::beginSerial
void beginSerial(uint32_t)=delete
TMC2130Stepper::link_index
int8_t link_index
Definition: TMCStepper.h:356
TMC2130Stepper::DRV_STATUS_t
Definition: TMCStepper.h:349
TMC2208Stepper::pwm_grad
uint8_t pwm_grad()
Definition: PWMCONF.cpp:72
TMC2208Stepper::otpw
bool otpw()
Definition: DRV_STATUS.cpp:24
TMC2130Stepper::vhighfs
bool vhighfs()
Definition: CHOPCONF.cpp:41
TMC2160Stepper::pwm_grad
uint8_t pwm_grad()
Definition: PWMCONF.cpp:46
TMC2660Stepper::rms_current
uint16_t rms_current()
Definition: TMC2660Stepper.cpp:114
TMC5130Stepper::ENC_STATUS_t
Definition: TMCStepper.h:659
TMC2660_bitfields.h
TMC2660Stepper::tbl
uint8_t tbl()
Definition: CHOPCONF.cpp:108
TMC2208Stepper::SLAVECONF
uint16_t SLAVECONF()
Definition: TMC2208Stepper.cpp:276
TMC2224Stepper::pdn_uart
bool pdn_uart()
Definition: TMC2208Stepper.cpp:309
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(RAMPMODE)
Definition: TMCStepper.h:639
TMCStepper::blank_time
uint8_t blank_time()
Definition: TMCStepper.cpp:104
TMC2130Stepper::VDCMIN
uint32_t VDCMIN()
Definition: TMC2130Stepper.cpp:264
TMC2130Stepper::sfilt
bool sfilt()
Definition: COOLCONF.cpp:27
TMC2208Stepper::INIT2208_REGISTER
INIT2208_REGISTER(VACTUAL)
Definition: TMCStepper.h:972
TMCStepper::TSTEP
uint32_t TSTEP()
Definition: TMCStepper.cpp:130
TMC2130Stepper::enc_commutation
bool enc_commutation()
Definition: GCONF.cpp:36
TMC2160Stepper::pwm_autoscale
bool pwm_autoscale()
Definition: PWMCONF.cpp:48
TMC2224Stepper::version
uint8_t version()
Definition: TMC2208Stepper.cpp:314
TMC2208Stepper::DRV_STATUS
uint32_t DRV_STATUS()
Definition: DRV_STATUS.cpp:20
TMC2130Stepper::switchCSpin
void switchCSpin(bool state)
Definition: TMC2130Stepper.cpp:61
TMC2660Stepper::SGCSCONF
uint32_t SGCSCONF()
Definition: SGCSCONF.cpp:7
TMC2130Stepper::cs_actual
uint8_t cs_actual()
Definition: DRV_STATUS.cpp:10
TMC5130Stepper::status_latch_r
bool status_latch_r()
Definition: RAMP_STAT.cpp:13
TMC5130Stepper::status_latch_l
bool status_latch_l()
Definition: RAMP_STAT.cpp:12
TMC5160Stepper::multistep_filt
bool multistep_filt()
Definition: GCONF.cpp:65
TMC5130Stepper::second_move
bool second_move()
Definition: RAMP_STAT.cpp:22
TMC5160Stepper::rms_current
void rms_current(uint16_t mA, float mult)
Definition: TMCStepper.h:710
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(DCCTRL)
Definition: TMCStepper.h:342
TMC2130Stepper::drv_enn_cfg6
bool drv_enn_cfg6()
Definition: TMC2130Stepper.cpp:232
TMC2208Stepper::en_spreadCycle
bool en_spreadCycle()
Definition: GCONF.cpp:87
TMCStepper::TMC_READ
static constexpr uint8_t TMC_READ
Definition: TMCStepper.h:113
TMC2130Stepper::diag0_error
bool diag0_error()
Definition: GCONF.cpp:38
TMC2208Stepper::ottrim
uint8_t ottrim()
Definition: TMC2208Stepper.cpp:326
TMC2160Stepper::otselect
uint8_t otselect()
Definition: DRV_CONF.cpp:21
TMC2130Stepper::coil_B
int16_t coil_B()
Definition: TMC2130Stepper.cpp:261
TMC2160Stepper::encb_dcen_cfg4
bool encb_dcen_cfg4()
Definition: TMC2160Stepper.cpp:138
TMC2130Stepper::chm
bool chm()
Definition: CHOPCONF.cpp:38
TMCStepper::cs2rms
uint16_t cs2rms(uint8_t CS)
Definition: TMCStepper.cpp:20
TMC5130Stepper::IOIN
uint32_t IOIN()
Definition: TMC5130Stepper.cpp:84
TMC2208Stepper::stealth
bool stealth()
Definition: DRV_STATUS.cpp:37
TMC2660Stepper::ts2g
uint8_t ts2g()
Definition: DRVCONF.cpp:26
TMC2160Stepper::refr_dir
bool refr_dir()
Definition: TMC2160Stepper.cpp:137
TMC5130Stepper::pos_edge
bool pos_edge()
Definition: ENCMODE.cpp:34
TMC2130Stepper::version
uint8_t version()
Definition: TMC2130Stepper.cpp:234
TMC2130Stepper::pwm_freq
uint8_t pwm_freq()
Definition: PWMCONF.cpp:23
TMC2160Stepper::PWMCONF
uint32_t PWMCONF()
Definition: PWMCONF.cpp:28
TMC2208Stepper::IFCNT
uint8_t IFCNT()
Definition: TMC2208Stepper.cpp:268
TMCStepper::iholddelay
uint8_t iholddelay()
Definition: IHOLD_IRUN.cpp:20
TMC2130Stepper::tbl
uint8_t tbl()
Definition: CHOPCONF.cpp:39
TMC5130Stepper::status_stop_l
bool status_stop_l()
Definition: RAMP_STAT.cpp:10
TMC5130Stepper::X_ENC_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:658
TMC2130Stepper::diag1_index
bool diag1_index()
Definition: GCONF.cpp:42
TMC2160Stepper::shortdelay
bool shortdelay()
Definition: SHORT_CONF.cpp:20
TMC2130Stepper::read
uint32_t read(uint8_t addressByte)
Definition: TMC2130Stepper.cpp:65
TMC2208Stepper::dir
bool dir()
Definition: TMC2208Stepper.cpp:300
TMCStepper::write
virtual void write(uint8_t, uint32_t)=0
TMC5130Stepper::refr_dir
bool refr_dir()
Definition: TMC5130Stepper.cpp:88
TMC2160Stepper::pwm_lim
uint8_t pwm_lim()
Definition: PWMCONF.cpp:52
TMC5130Stepper::enca_dcin_cfg5
bool enca_dcin_cfg5()
Definition: TMC5130Stepper.cpp:90
TMC5130Stepper::V1
uint32_t V1()
Definition: TMC5130Stepper.cpp:148
TMC5130Stepper::TMC_OUTPUT
bool TMC_OUTPUT()
Definition: TMC5130Stepper.cpp:98
TMC2208Stepper::sswitch
SSwitch * sswitch
Definition: TMCStepper.h:991
TMC2224Stepper::sel_a
bool sel_a()
Definition: TMC2208Stepper.cpp:312
TMC2208Stepper::ot
bool ot()
Definition: DRV_STATUS.cpp:25
TMC2208Stepper::isEnabled
bool isEnabled()
Definition: TMC2208Stepper.cpp:90
TMC2660Stepper::intpol
bool intpol()
Definition: DRVCTRL.cpp:39
TMC5130Stepper::pol_b
bool pol_b()
Definition: ENCMODE.cpp:29
TMC2130Stepper::GCONF
uint32_t GCONF()
Definition: GCONF.cpp:7
TMC2660Stepper::DRVCONF
uint32_t DRVCONF()
Definition: DRVCONF.cpp:7
TMC2160Stepper::INIT_REGISTER
INIT_REGISTER(SHORT_CONF)
Definition: TMCStepper.h:451
TMC2130Stepper::semax
uint8_t semax()
Definition: COOLCONF.cpp:24
TMC5130Stepper::position_reached
bool position_reached()
Definition: RAMP_STAT.cpp:19
TMC5130Stepper::stop_r_enable
bool stop_r_enable()
Definition: SW_MODE.cpp:29
TMC2208Stepper::pwm_ofs_auto
uint8_t pwm_ofs_auto()
Definition: TMC2208Stepper.cpp:362
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(VDCMIN)
Definition: TMCStepper.h:339
TMC5130Stepper::AMAX
uint16_t AMAX()
Definition: TMC5130Stepper.cpp:155
TMC2208Stepper::max_retries
static constexpr uint8_t max_retries
Definition: TMCStepper.h:1003
TMC5130Stepper::event_stop_sg
bool event_stop_sg()
Definition: RAMP_STAT.cpp:16
TMC2208Stepper::pwm_scale_auto
int16_t pwm_scale_auto()
Definition: TMC2208Stepper.cpp:345
TMC2208Stepper::intpol
bool intpol()
Definition: CHOPCONF.cpp:78
TMC2208Stepper::PWM_SCALE
uint32_t PWM_SCALE()
Definition: TMC2208Stepper.cpp:336
TMCStepper::TMC_WRITE
static constexpr uint8_t TMC_WRITE
Definition: TMCStepper.h:114
TMC5160Stepper::tpfd
uint8_t tpfd()
Definition: CHOPCONF.cpp:52
TMC2660Stepper::cs
uint8_t cs()
Definition: SGCSCONF.cpp:19
TMC5130Stepper::encb_dcen_cfg4
bool encb_dcen_cfg4()
Definition: TMC5130Stepper.cpp:89
TMC5130Stepper::clr_enc_x
bool clr_enc_x()
Definition: ENCMODE.cpp:36
TMC2130Stepper::CHOPCONF
uint32_t CHOPCONF()
Definition: CHOPCONF.cpp:7
TMC2160Stepper::begin
void begin()
Definition: TMC2160Stepper.cpp:13
TMCStepper::hold_multiplier
void hold_multiplier(float val)
Definition: TMCStepper.h:57
TMC2130Stepper::fsactive
bool fsactive()
Definition: DRV_STATUS.cpp:9
TMC2130Stepper::hstrt
uint8_t hstrt()
Definition: CHOPCONF.cpp:33
TMC5130Stepper::pol_a
bool pol_a()
Definition: ENCMODE.cpp:28
TMC2209_n::SGTHRS_t
Definition: TMC2209_bitfields.h:26
TMC2208Stepper::multistep_filt
bool multistep_filt()
Definition: GCONF.cpp:93
TMC2208Stepper::pdn_disable
bool pdn_disable()
Definition: GCONF.cpp:91
TMC2660Stepper::test_connection
uint8_t test_connection()
Definition: TMC2660Stepper.cpp:85
TMC2208Stepper::toff
uint8_t toff()
Definition: CHOPCONF.cpp:72
TMC5160_bitfields.h
TMC2224Stepper::spread
bool spread()
Definition: TMC2208Stepper.cpp:310
TMC2130Stepper::semin
uint8_t semin()
Definition: COOLCONF.cpp:22
TMC5161Stepper::TMC5161Stepper
TMC5161Stepper(uint16_t pinCS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index=-1)
Definition: TMCStepper.h:802
TMC2209Stepper::IOIN
uint32_t IOIN()
Definition: TMC2209Stepper.cpp:3
TMC2160Stepper::rms_current
uint16_t rms_current()
Definition: TMC2160Stepper.cpp:111
TMC2660Stepper::rndtf
bool rndtf()
Definition: CHOPCONF.cpp:106
TMC2660Stepper::vsense
bool vsense()
Definition: DRVCONF.cpp:28
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(DMAX)
Definition: TMCStepper.h:646
TMC2208Stepper::calcCRC
uint8_t calcCRC(uint8_t datagram[], uint8_t len)
Definition: TMC2208Stepper.cpp:92
TMC5130Stepper::A1
uint16_t A1()
Definition: TMC5130Stepper.cpp:141
TMCStepper::MSCNT
uint16_t MSCNT()
Definition: TMCStepper.cpp:139
TMC5160Stepper
Definition: TMCStepper.h:703
TMC5161Stepper
Definition: TMCStepper.h:797
TMC5130Stepper::ENC_LATCH_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:660
TMC2160Stepper::pwm_scale_auto
uint16_t pwm_scale_auto()
Definition: TMC2160Stepper.cpp:159
TMC2208Stepper::GCONF
uint32_t GCONF()
Definition: GCONF.cpp:67
TMC2660Stepper::push
void push()
Definition: TMC2660Stepper.cpp:134
TMC5160Stepper::faststandstill
bool faststandstill()
Definition: GCONF.cpp:64
TMC2160Stepper::pwm_reg
uint8_t pwm_reg()
Definition: PWMCONF.cpp:51
TMC2208Stepper::pwm_freq
uint8_t pwm_freq()
Definition: PWMCONF.cpp:73
TMC2130Stepper::intpol
bool intpol()
Definition: CHOPCONF.cpp:45
TMC2130Stepper::dc_sg
uint8_t dc_sg()
Definition: TMC2130Stepper.cpp:292
TMC2224Stepper::ms2
bool ms2()
Definition: TMC2208Stepper.cpp:308
TMC2160_bitfields.h
TMCStepper::cur_a
int16_t cur_a()
Definition: TMCStepper.cpp:144
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(VSTART)
Definition: TMCStepper.h:641
TMC2130Stepper::IOINT_t
Definition: TMCStepper.h:346
TMC2208Stepper::s2vsb
bool s2vsb()
Definition: DRV_STATUS.cpp:29
TMC2130Stepper::vsense
bool vsense()
Definition: CHOPCONF.cpp:40
TMC2224Stepper
Definition: TMCStepper.h:1065
TMCStepper::vsense
virtual bool vsense(void)=0
TMC2660Stepper::mres
uint8_t mres()
Definition: DRVCTRL.cpp:41
TMC2660Stepper::ot
bool ot()
Definition: DRVSTATUS.cpp:30
TMC2209_n::COOLCONF_t::sr
uint16_t sr
Definition: TMC2209_bitfields.h:39
TMC2130Stepper::dcen_cfg4
bool dcen_cfg4()
Definition: TMC2130Stepper.cpp:230
TMC2660Stepper::chm
bool chm()
Definition: CHOPCONF.cpp:107
TMC2130Stepper::sync
uint8_t sync()
Definition: CHOPCONF.cpp:43
TMC2208Stepper::shaft
bool shaft()
Definition: GCONF.cpp:88
TMC5130Stepper::SLAVECONF
uint16_t SLAVECONF()
Definition: TMC5130Stepper.cpp:77
TMCStepper::MSCURACT
uint32_t MSCURACT()
Definition: TMCStepper.cpp:143
TMC2660Stepper::read
uint32_t read()
Definition: TMC2660Stepper.cpp:30
TMC2208Stepper::CHOPCONF
uint32_t CHOPCONF()
Definition: CHOPCONF.cpp:58
TMC2130Stepper::diag1_pushpull
bool diag1_pushpull()
Definition: GCONF.cpp:46
TMC2208Stepper::ola
bool ola()
Definition: DRV_STATUS.cpp:30
TMCStepper::TSTEP_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:116
TMC2160Stepper::bbmclks
uint8_t bbmclks()
Definition: DRV_CONF.cpp:20
TMC5130Stepper::VMAX
uint32_t VMAX()
Definition: TMC5130Stepper.cpp:162
TMC2160Stepper::drvstrength
uint8_t drvstrength()
Definition: DRV_CONF.cpp:22
TMCStepper::MSCNT_t
Definition: TMCStepper.h:117
TMC2160Stepper::freewheel
uint8_t freewheel()
Definition: PWMCONF.cpp:50
TMC5130Stepper::latch_l_active
bool latch_l_active()
Definition: SW_MODE.cpp:33
TMCStepper::hysteresis_end
int8_t hysteresis_end()
Definition: TMCStepper.cpp:60
SERIAL_SWITCH.h
TMC2660Stepper::DRVSTATUS
uint32_t DRVSTATUS()
Definition: DRVSTATUS.cpp:8
TMC2660Stepper::ca
uint8_t ca()
Definition: DRVCTRL.cpp:30
TMC2160Stepper::enca_dcin_cfg5
bool enca_dcin_cfg5()
Definition: TMC2160Stepper.cpp:139
TMC2660Stepper::cb
uint8_t cb()
Definition: DRVCTRL.cpp:32
TMC2208Stepper::index_otpw
bool index_otpw()
Definition: GCONF.cpp:89
TMC2208Stepper::TMC2208_SLAVE_ADDR
static constexpr uint8_t TMC2208_SLAVE_ADDR
Definition: TMCStepper.h:1000
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(ENCMODE)
Definition: TMCStepper.h:651
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(VSTOP)
Definition: TMCStepper.h:648
TMC2660Stepper::otpw
bool otpw()
Definition: DRVSTATUS.cpp:29
TMC2208Stepper::FACTORY_CONF
uint16_t FACTORY_CONF()
Definition: TMC2208Stepper.cpp:316
TMC2160Stepper::default_RS
static constexpr float default_RS
Definition: TMCStepper.h:456
TMC5130_bitfields.h
TMCStepper::hend
virtual uint8_t hend()=0
TMC2208Stepper::freewheel
uint8_t freewheel()
Definition: PWMCONF.cpp:76
TMC2160Stepper::cs2rms
uint16_t cs2rms(uint8_t CS)
Definition: TMC2160Stepper.cpp:99
TMC2208Stepper::t157
bool t157()
Definition: DRV_STATUS.cpp:35
TMC2208Stepper::olb
bool olb()
Definition: DRV_STATUS.cpp:31
TMC2160Stepper::s2g_level
uint8_t s2g_level()
Definition: SHORT_CONF.cpp:18
TMC2130Stepper::sedn
uint8_t sedn()
Definition: COOLCONF.cpp:25
TMC2130Stepper::en_pwm_mode
bool en_pwm_mode()
Definition: GCONF.cpp:35
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(VMAX)
Definition: TMCStepper.h:645
TMC2160Stepper::pwm_ofs
uint8_t pwm_ofs()
Definition: PWMCONF.cpp:45
TMC5130Stepper::ENC_STATUS
bool ENC_STATUS()
Definition: TMC5130Stepper.cpp:220
TMC5130Stepper::ENC_CONST
uint32_t ENC_CONST()
Definition: TMC5130Stepper.cpp:213
TMC2208Stepper::pwm_autograd
bool pwm_autograd()
Definition: PWMCONF.cpp:75
TMC2130Stepper::setSPISpeed
void setSPISpeed(uint32_t speed)
Definition: TMC2130Stepper.cpp:57
TMC2130Stepper::diag0_int_pushpull
bool diag0_int_pushpull()
Definition: GCONF.cpp:45
TMC2660Stepper::sdoff
bool sdoff()
Definition: DRVCONF.cpp:27
TMC2130_bitfields.h
TMC5160Stepper::pwm_ofs_auto
uint8_t pwm_ofs_auto()
Definition: TMC5160Stepper.cpp:94
TMC2209Stepper::SGTHRS
uint8_t SGTHRS()
Definition: TMC2209Stepper.cpp:32
TMC5160Stepper::ENC_DEVIATION
uint32_t ENC_DEVIATION()
Definition: TMC5160Stepper.cpp:84
TMCStepper::TMCStepper
TMCStepper(float RS)
Definition: TMCStepper.h:108
TMCStepper::microsteps
uint16_t microsteps()
Definition: TMCStepper.cpp:80
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(THIGH)
Definition: TMCStepper.h:337
TMC2130Stepper::PWM_SCALE
uint8_t PWM_SCALE()
Definition: TMC2130Stepper.cpp:299
TMC2224Stepper::IOIN
uint32_t IOIN()
Definition: TMC2208Stepper.cpp:303
TMC5130Stepper::XTARGET_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:656
TMC2660Stepper::write
void write(uint8_t addressByte, uint32_t config)
Definition: TMC2660Stepper.cpp:54
TMC2160Stepper::shortfilter
uint8_t shortfilter()
Definition: SHORT_CONF.cpp:19
TMC2208Stepper::hstrt
uint8_t hstrt()
Definition: CHOPCONF.cpp:73
TMC5130Stepper::VACTUAL_t
Definition: TMCStepper.h:655
TMC2208Stepper::tbl
uint8_t tbl()
Definition: CHOPCONF.cpp:75
TMC2208Stepper
Definition: TMCStepper.h:806
TMC5161Stepper::TMC5161Stepper
TMC5161Stepper(uint16_t pinCS, float RS=default_RS, int8_t link_index=-1)
Definition: TMCStepper.h:799
TMC2130Stepper::isEnabled
bool isEnabled()
Definition: TMC2130Stepper.cpp:207
TMC2209Stepper
Definition: TMCStepper.h:1009
TMC2660Stepper::sg_result
uint16_t sg_result()
Definition: DRVSTATUS.cpp:33
TMC2208Stepper::mstep_reg_select
bool mstep_reg_select()
Definition: GCONF.cpp:92
TMC2208Stepper::write
void write(uint8_t, uint32_t)
Definition: TMC2208Stepper.cpp:118
TMC5130Stepper::clr_cont
bool clr_cont()
Definition: ENCMODE.cpp:32
TMC5130Stepper::t_zerowait_active
bool t_zerowait_active()
Definition: RAMP_STAT.cpp:21
TMC5130Stepper::status_stop_r
bool status_stop_r()
Definition: RAMP_STAT.cpp:11
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(XACTUAL)
Definition: TMCStepper.h:640
TMC2660Stepper::hstrt
uint8_t hstrt()
Definition: CHOPCONF.cpp:103
TMCStepper::irun
uint8_t irun()
Definition: IHOLD_IRUN.cpp:19
TMCStepper::reset
bool reset()
Definition: TMCStepper.cpp:118
TMCStepper::TPOWERDOWN
uint8_t TPOWERDOWN()
Definition: TMCStepper.cpp:123
TMC5130Stepper::XLATCH_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:657
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(X_COMPARE)
Definition: TMCStepper.h:638
TMC5130Stepper::latch_r_inactive
bool latch_r_inactive()
Definition: SW_MODE.cpp:36
TMC2130Stepper::TCOOLTHRS
uint32_t TCOOLTHRS()
Definition: TMC2130Stepper.cpp:237
TMC2660Stepper::CHOPCONF
uint32_t CHOPCONF()
Definition: CHOPCONF.cpp:85
TMC2130Stepper::seimin
bool seimin()
Definition: COOLCONF.cpp:26
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(GCONF)
Definition: TMCStepper.h:335
TMC2130Stepper::LOST_STEPS
uint32_t LOST_STEPS()
Definition: TMC2130Stepper.cpp:313
TMC2130Stepper::inv
bool inv()
Definition: TMC2130Stepper.cpp:309
TMC2209Stepper::push
void push()
Definition: TMC2209Stepper.cpp:16
TMC2160Stepper::pwm_freq
uint8_t pwm_freq()
Definition: PWMCONF.cpp:47
TMC2660Stepper::SMARTEN
uint32_t SMARTEN()
Definition: SMARTEN.cpp:7
TMC2208Stepper::s2vsa
bool s2vsa()
Definition: DRV_STATUS.cpp:28
TMC2130Stepper::olb
bool olb()
Definition: DRV_STATUS.cpp:17
TMCStepper::INIT_REGISTER
INIT_REGISTER(IHOLD_IRUN)
Definition: TMCStepper.h:109
TMC2660Stepper::tst
bool tst()
Definition: DRVCONF.cpp:22
TMC2660Stepper::sfilt
bool sfilt()
Definition: SGCSCONF.cpp:17
TMC2130Stepper::sg_result
uint16_t sg_result()
Definition: DRV_STATUS.cpp:8
TMC5160Stepper::INIT_REGISTER
INIT_REGISTER(ENC_DEVIATION)
Definition: TMCStepper.h:792
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(OUTPUT)
Definition: TMCStepper.h:637
TMC5130Stepper::sg_stop
bool sg_stop()
Definition: SW_MODE.cpp:38
TMC2660Stepper::ola
bool ola()
Definition: DRVSTATUS.cpp:26
TMC2208Stepper::IFCNT_t
Definition: TMCStepper.h:976
TMC2208Stepper::pwm_reg
uint8_t pwm_reg()
Definition: PWMCONF.cpp:77
TMC2209Stepper::TCOOLTHRS
uint32_t TCOOLTHRS()
Definition: TMC2209Stepper.cpp:37
TMC2130Stepper::rndtf
bool rndtf()
Definition: CHOPCONF.cpp:37
TMC2130Stepper::PWM_SCALE_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:347
TMC2208Stepper::mres
uint8_t mres()
Definition: CHOPCONF.cpp:77
TMC2130Stepper::sgt
int8_t sgt()
Definition: COOLCONF.cpp:29
TMC2130Stepper::begin
void begin()
Definition: TMC2130Stepper.cpp:186
TMC2130Stepper::PWMCONF
uint32_t PWMCONF()
Definition: PWMCONF.cpp:8
TMC5161Stepper::TMC5161Stepper
TMC5161Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK, int8_t link_index=-1)
Definition: TMCStepper.h:800
TMC5130Stepper::ENC_STATUS_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:659
TMC2130Stepper::otpw
bool otpw()
Definition: DRV_STATUS.cpp:13
TMC2208Stepper::OTP_READ_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:978
TMC2130Stepper::s2ga
bool s2ga()
Definition: DRV_STATUS.cpp:14
TMC2660Stepper::TMC2660Stepper
TMC2660Stepper(uint16_t pinCS, float RS=default_RS)
Definition: TMC2660Stepper.cpp:4
TMC2660Stepper
Definition: TMCStepper.h:1079
TMC2660Stepper::diss2g
bool diss2g()
Definition: DRVCONF.cpp:25
TMC2208Stepper::OTP_PROG_t
Definition: TMCStepper.h:977
TMC2209Stepper::semax
uint8_t semax()
Definition: COOLCONF.cpp:50
TMC5130Stepper::D1
uint16_t D1()
Definition: TMC5130Stepper.cpp:176
TMC2130Stepper::hend
uint8_t hend()
Definition: CHOPCONF.cpp:34
TMC2130Stepper::IOINT_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:346
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(TCOOLTHRS)
Definition: TMCStepper.h:336
TMC5130Stepper::rms_current
void rms_current(uint16_t mA)
Definition: TMCStepper.h:469
TMC2130Stepper::_pinCS
const uint16_t _pinCS
Definition: TMCStepper.h:352
TMC2130Stepper::dir
bool dir()
Definition: TMC2130Stepper.cpp:229
TMC5160Stepper::drv_enn
bool drv_enn()
Definition: TMCStepper.h:724
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(ENC_CONST)
Definition: TMCStepper.h:652
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(D1)
Definition: TMCStepper.h:647
TMC2130Stepper::shaft
bool shaft()
Definition: GCONF.cpp:37
TMC2130Stepper::diss2g
bool diss2g()
Definition: CHOPCONF.cpp:47
TMC2130Stepper::default_RS
static constexpr float default_RS
Definition: TMCStepper.h:354
TMC2660Stepper::olb
bool olb()
Definition: DRVSTATUS.cpp:25
TMC5160Stepper::rms_current
void rms_current(uint16_t mA)
Definition: TMCStepper.h:709
TMC2208Stepper::I_scale_analog
bool I_scale_analog()
Definition: GCONF.cpp:85
TMC2130Stepper::diag1_stall
bool diag1_stall()
Definition: GCONF.cpp:41
TMC2208Stepper::defaults
void defaults()
Definition: TMC2208Stepper.cpp:59
TMCStepper::DRV_STATUS
virtual uint32_t DRV_STATUS()=0
TMC5130Stepper::RAMP_STAT
uint32_t RAMP_STAT()
Definition: RAMP_STAT.cpp:6
TMC2660Stepper::seup
uint8_t seup()
Definition: SMARTEN.cpp:22
TMC5130Stepper::default_RS
static constexpr float default_RS
Definition: TMCStepper.h:677
TMC2130Stepper::maxspeed
bool maxspeed()
Definition: TMC2130Stepper.cpp:310
TMC5130Stepper::enc_n_dco
bool enc_n_dco()
Definition: TMC5130Stepper.cpp:92
TMC2208Stepper::index_step
bool index_step()
Definition: GCONF.cpp:90
TMC5130Stepper::XLATCH
uint32_t XLATCH()
Definition: TMC5130Stepper.cpp:204
TMC2208Stepper::slave_address
const uint8_t slave_address
Definition: TMCStepper.h:997
TMC2209_n::SGTHRS_t::sr
uint8_t sr
Definition: TMC2209_bitfields.h:28
TMC2160Stepper::IOIN
uint32_t IOIN()
Definition: TMC2160Stepper.cpp:133
TMC2660Stepper::phb
bool phb()
Definition: DRVCTRL.cpp:31
TMC2224Stepper::ms1
bool ms1()
Definition: TMC2208Stepper.cpp:307
TMC2660Stepper::slpl
uint8_t slpl()
Definition: DRVCONF.cpp:24
TMC2160Stepper::OFFSET_READ
uint16_t OFFSET_READ()
Definition: TMC2160Stepper.cpp:152
TMC5130Stepper::XLATCH_t
Definition: TMCStepper.h:657
TMC5160Stepper::enc_n_dco_cfg6
bool enc_n_dco_cfg6()
Definition: TMCStepper.h:725
TMC2130Stepper::write
void write(uint8_t addressByte, uint32_t config)
Definition: TMC2130Stepper.cpp:148
TMC2208Stepper::stst
bool stst()
Definition: DRV_STATUS.cpp:38
TMC2660Stepper::blank_time
uint8_t blank_time()
Definition: TMC2660Stepper.cpp:187
TMC2660Stepper::cs2rms
uint16_t cs2rms(uint8_t CS)
Definition: TMC2660Stepper.cpp:110
TMC2208Stepper::_sendDatagram
uint64_t _sendDatagram(SERIAL_TYPE &, uint8_t[], const uint8_t, uint16_t)
Definition: TMC2208Stepper.cpp:144
TMC5130Stepper::drv_enn_cfg6
bool drv_enn_cfg6()
Definition: TMC5130Stepper.cpp:91
TMC2208Stepper::diag
bool diag()
Definition: TMC2208Stepper.cpp:296
TMC2208Stepper::serial_read
int16_t serial_read(SERIAL_TYPE &serPtr) __attribute__((weak))
Definition: TMC2208Stepper.cpp:110
TMCStepper::holdMultiplier
float holdMultiplier
Definition: TMCStepper.h:134
TMC2208Stepper::pwm_ofs
uint8_t pwm_ofs()
Definition: PWMCONF.cpp:71
TMC2130Stepper::LOST_STEPS_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:348
TMC2660Stepper::semin
uint8_t semin()
Definition: SMARTEN.cpp:23
TMCStepper::test_connection
uint8_t test_connection()
Definition: TMCStepper.cpp:50
TMCStepper::GSTAT
uint8_t GSTAT()
Definition: TMCStepper.cpp:116
SW_SPI.h
TMC2130Stepper::stst
bool stst()
Definition: DRV_STATUS.cpp:18
TMC5130Stepper::vzero
bool vzero()
Definition: RAMP_STAT.cpp:20
TMC2160Stepper::filt_isense
uint8_t filt_isense()
Definition: DRV_CONF.cpp:23
TMC2130Stepper::pwm_autoscale
bool pwm_autoscale()
Definition: PWMCONF.cpp:24
TMC2209Stepper::COOLCONF
uint16_t COOLCONF()
Definition: COOLCONF.cpp:36
TMC2160Stepper::INIT2160_REGISTER
INIT2160_REGISTER(PWMCONF)
Definition: TMCStepper.h:454
TMC2208_bitfields.h
TMC2209_bitfields.h
TMC5130Stepper::diag1_poscomp_pushpull
bool diag1_poscomp_pushpull()
Definition: TMCStepper.h:492
TMC2208Stepper::begin
void begin()
Definition: TMC2208Stepper.cpp:50
TMC2208Stepper::Rsense
float Rsense
Definition: TMCStepper.h:966
TMCStepper::drv_err
bool drv_err()
Definition: TMCStepper.cpp:119
TMC2130Stepper::direct_mode
bool direct_mode()
Definition: GCONF.cpp:49
TMC2208Stepper::INIT2208_REGISTER
INIT2208_REGISTER(GCONF)
Definition: TMCStepper.h:969
TMC5130Stepper::VACTUAL_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:655
TMC2660Stepper::hysteresis_end
int8_t hysteresis_end()
Definition: TMC2660Stepper.cpp:143
TMC2160Stepper::s2vs_level
uint8_t s2vs_level()
Definition: SHORT_CONF.cpp:17
TMC2130Stepper::freewheel
uint8_t freewheel()
Definition: PWMCONF.cpp:26
TMC2209Stepper::ms1
bool ms1()
Definition: TMC2209Stepper.cpp:7
TMC5130Stepper::INIT_REGISTER
INIT_REGISTER(AMAX)
Definition: TMCStepper.h:644
TMC2208Stepper::IFCNT_t::address
constexpr static uint8_t address
Definition: TMCStepper.h:976
TMC2208Stepper::VACTUAL
uint32_t VACTUAL()
Definition: TMC2208Stepper.cpp:332
TMC2660Stepper::pha
bool pha()
Definition: DRVCTRL.cpp:29
TMC2209Stepper::ms2
bool ms2()
Definition: TMC2209Stepper.cpp:8
TMCStepper::hysteresis_start
uint8_t hysteresis_start()
Definition: TMCStepper.cpp:63
TMC2208Stepper::pwm_autoscale
bool pwm_autoscale()
Definition: PWMCONF.cpp:74
TMC2130Stepper::INIT_REGISTER
INIT_REGISTER(CHOPCONF)
Definition: TMCStepper.h:340
TMC2160Stepper::PWM_SCALE
uint32_t PWM_SCALE()
Definition: TMC2160Stepper.cpp:155
TMC5130Stepper::ENCMODE
uint32_t ENCMODE()
Definition: ENCMODE.cpp:8
TMC2208Stepper::fclktrim
uint8_t fclktrim()
Definition: TMC2208Stepper.cpp:325
TMC5130Stepper::swcomp_in
bool swcomp_in()
Definition: TMC5130Stepper.cpp:94
TMC2208Stepper::serial_write
uint8_t serial_write(SERIAL_TYPE &serPtr, const uint8_t data) __attribute__((weak))
Definition: TMC2208Stepper.cpp:114
TMC2209Stepper::pdn_uart
bool pdn_uart()
Definition: TMC2209Stepper.cpp:10
TMC2660Stepper::seimin
bool seimin()
Definition: SMARTEN.cpp:19
TMC2208Stepper::OTP_PROG
void OTP_PROG(uint16_t input)
Definition: TMC2208Stepper.cpp:282
TMC2209Stepper::INIT_REGISTER
INIT_REGISTER(TCOOLTHRS)
Definition: TMCStepper.h:1060
TMC5130Stepper::refl_step
bool refl_step()
Definition: TMC5130Stepper.cpp:87
TMC2209Stepper::semin
uint8_t semin()
Definition: COOLCONF.cpp:48
TMC2208Stepper::vsense
bool vsense()
Definition: CHOPCONF.cpp:76
TMCStepper::IHOLD_IRUN
uint32_t IHOLD_IRUN()
Definition: IHOLD_IRUN.cpp:8
TMC5130Stepper::DMAX
uint16_t DMAX()
Definition: TMC5130Stepper.cpp:169
TMC2130Stepper::dcin_cfg5
bool dcin_cfg5()
Definition: TMC2130Stepper.cpp:231
TMC2130Stepper::small_hysteresis
bool small_hysteresis()
Definition: GCONF.cpp:47
TMC2660Stepper::s2gb
bool s2gb()
Definition: DRVSTATUS.cpp:27
TMC5130Stepper::VSTOP
uint32_t VSTOP()
Definition: TMC5130Stepper.cpp:183
TMC2208Stepper::abort_window
static constexpr uint8_t abort_window
Definition: TMCStepper.h:1002
TMC2208Stepper::ms1
bool ms1()
Definition: TMC2208Stepper.cpp:294
TMC2160Stepper::pwm_autograd
bool pwm_autograd()
Definition: PWMCONF.cpp:49
TMC2224Stepper::enn
bool enn()
Definition: TMC2208Stepper.cpp:306
TMCStepper::cur_b
int16_t cur_b()
Definition: TMCStepper.cpp:151
TMC2208Stepper::TMC2208Stepper
TMC2208Stepper(Stream *SerialPort, float RS)
Definition: TMCStepper.h:809
TMC2130Stepper::diag1_onstate
bool diag1_onstate()
Definition: GCONF.cpp:43
TMC2208Stepper::pwm_lim
uint8_t pwm_lim()
Definition: PWMCONF.cpp:78
TMC2660Stepper::rdsel
uint8_t rdsel()
Definition: DRVCONF.cpp:29
TMC2209Stepper::TMC2209Stepper
TMC2209Stepper(Stream *SerialPort, float RS, uint8_t addr)
Definition: TMCStepper.h:1011
TMC2209Stepper::SGTHRS_register
TMC2209_n::SGTHRS_t SGTHRS_register
Definition: TMCStepper.h:1061
TMC5130Stepper::pol_stop_l
bool pol_stop_l()
Definition: SW_MODE.cpp:30
TMC2160Stepper::version
uint8_t version()
Definition: TMC2160Stepper.cpp:142
TMC2160Stepper::defaults
void defaults()
Definition: TMC2160Stepper.cpp:30
TMCStepper::ihold
uint8_t ihold()
Definition: IHOLD_IRUN.cpp:18
TMC2130Stepper::s2gb
bool s2gb()
Definition: DRV_STATUS.cpp:15
TMC2660Stepper::DRV_STATUS
uint32_t DRV_STATUS()
Definition: TMCStepper.h:1164
TMC2130Stepper::diag0_otpw
bool diag0_otpw()
Definition: GCONF.cpp:39
TMC2209Stepper::version
uint8_t version()
Definition: TMC2209Stepper.cpp:14
TMCStepper::TPWMTHRS
uint32_t TPWMTHRS()
Definition: TMCStepper.cpp:133
TMC2208Stepper::t143
bool t143()
Definition: DRV_STATUS.cpp:33
TMC5130Stepper::X_ENC
int32_t X_ENC()
Definition: TMC5130Stepper.cpp:207
TMC2130Stepper::stop_enable
bool stop_enable()
Definition: GCONF.cpp:48
TMC5160Stepper::defaults
void defaults()
Definition: TMC5160Stepper.cpp:13
TMC2208Stepper::CRCerror
bool CRCerror
Definition: TMCStepper.h:967
TMC2130Stepper::XDIRECT
uint32_t XDIRECT()
Definition: TMC2130Stepper.cpp:251
TMC2208Stepper::t120
bool t120()
Definition: DRV_STATUS.cpp:32
TMC5160Stepper::rms_current
uint16_t rms_current()
Definition: TMCStepper.h:711
TMC2208Stepper::OTP_READ_t
Definition: TMCStepper.h:978
TMC5130Stepper::begin
void begin()
Definition: TMC5130Stepper.cpp:13
TMC5160Stepper::pwm_grad_auto
uint8_t pwm_grad_auto()
Definition: TMC5160Stepper.cpp:95
TMC5130Stepper::clr_once
bool clr_once()
Definition: ENCMODE.cpp:33
TMC2208Stepper::step
bool step()
Definition: TMC2208Stepper.cpp:298