|
| 1 | +/** |
| 2 | + * TMCStepper library by @teemuatlut |
| 3 | + * CHOPCONF.cpp - CHOPCONF Chopper Configuration |
| 4 | + * TMC2130 (TMC2160, TMC5130, TMC5160, TMC5161), TMC5160, TMC2208 (TMC2209, TMC2224), TMC2660 |
| 5 | + */ |
1 | 6 | #include "TMCStepper.h" |
2 | 7 | #include "TMC_MACROS.h" |
3 | 8 |
|
4 | 9 | #define SET_REG(SETTING) CHOPCONF_register.SETTING = B; write(CHOPCONF_register.address, CHOPCONF_register.sr) |
5 | 10 |
|
6 | | -// CHOPCONF |
| 11 | +// |
| 12 | +// TMC2130 (TMC2160, TMC5130, TMC5160, TMC5161) |
| 13 | +// |
| 14 | + |
7 | 15 | uint32_t TMC2130Stepper::CHOPCONF() { |
8 | 16 | return read(CHOPCONF_register.address); |
9 | 17 | } |
@@ -46,11 +54,19 @@ bool TMC2130Stepper::intpol() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.in |
46 | 54 | bool TMC2130Stepper::dedge() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.dedge; } |
47 | 55 | bool TMC2130Stepper::diss2g() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2g; } |
48 | 56 |
|
| 57 | +// |
| 58 | +// TMC5160 (TMC5161) |
| 59 | +// |
| 60 | + |
49 | 61 | void TMC5160Stepper::diss2vs(bool B){ SET_REG(diss2vs); } |
50 | 62 | void TMC5160Stepper::tpfd(uint8_t B){ SET_REG(tpfd); } |
51 | 63 | bool TMC5160Stepper::diss2vs() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2vs; } |
52 | 64 | uint8_t TMC5160Stepper::tpfd() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.tpfd; } |
53 | 65 |
|
| 66 | +// |
| 67 | +// TMC2208 (TMC2209, TMC2224) |
| 68 | +// |
| 69 | + |
54 | 70 | void TMC2208Stepper::CHOPCONF(uint32_t input) { |
55 | 71 | CHOPCONF_register.sr = input; |
56 | 72 | write(CHOPCONF_register.address, CHOPCONF_register.sr); |
@@ -80,6 +96,10 @@ bool TMC2208Stepper::dedge() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); |
80 | 96 | bool TMC2208Stepper::diss2g() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2g; } |
81 | 97 | bool TMC2208Stepper::diss2vs() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2vs; } |
82 | 98 |
|
| 99 | +// |
| 100 | +// TMC2660 |
| 101 | +// |
| 102 | + |
83 | 103 | #define GET_REG_2660(SETTING) return CHOPCONF_register.SETTING; |
84 | 104 |
|
85 | 105 | uint32_t TMC2660Stepper::CHOPCONF() { return CHOPCONF_register.sr; } |
|
0 commit comments