Skip to content

Commit d26beaf

Browse files
committed
Other proposed changes
1 parent ff3e63b commit d26beaf

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

src/TMCStepper.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,6 +1362,10 @@ class TMC2240Stepper {
13621362
uint8_t TPOWERDOWN();
13631363
void TPOWERDOWN(uint8_t input);
13641364

1365+
// RW: TPWMTHRS
1366+
uint32_t TPWMTHRS();
1367+
void TPWMTHRS( uint32_t input);
1368+
13651369
uint8_t status_response;
13661370
protected:
13671371
INIT2240_REGISTER(GCONF) {{.sr=0}};
@@ -1374,6 +1378,7 @@ class TMC2240Stepper {
13741378
INIT2240_REGISTER(GLOBAL_SCALER) {{.sr=0}}; // 8b
13751379
INIT_REGISTER(COOLCONF){{.sr=0}}; // 32b
13761380
INIT_REGISTER(TCOOLTHRS){.sr=0}; // 32b
1381+
INIT_REGISTER(TPWMTHRS){.sr=0}; // 32b
13771382
INIT_REGISTER(THIGH){.sr=0}; // 32b
13781383

13791384
struct IFCNT_t { constexpr static uint8_t address = 0x02; };

src/source/TMC2240Stepper.cpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,14 @@ TMC2240Stepper::TMC2240Stepper(uint16_t pinCS, uint16_t pinMOSI, uint16_t pinMIS
3131
}
3232

3333
void TMC2240Stepper::defaults() {
34-
//GCONF_register.sr = 0x0000;
35-
//CHOPCONF_register.sr = 0x10000053;
36-
//PWMCONF_register.sr = 0xC10D0024;
34+
//GCONF_register.en_spreadcycle = 0;
35+
GCONF_register.multistep_filt = 1;
36+
37+
IHOLD_IRUN_register.iholddelay = 1;
38+
TPOWERDOWN_register.sr = 20;
39+
40+
CHOPCONF_register.sr = 0x10000053; // 1/16 x 256 single-edge
41+
PWMCONF_register.sr = 0xC10D0024; // autoscale=1, freq=01, grad & amp, freewheel=00
3742
}
3843

3944
__attribute__((weak))
@@ -152,7 +157,6 @@ void TMC2240Stepper::begin() {
152157

153158
//GCONF(GCONF_register.sr);
154159
//CHOPCONF(CHOPCONF_register.sr);
155-
//COOLCONF(COOLCONF_register.sr);
156160
//PWMCONF(PWMCONF_register.sr);
157161
//IHOLD_IRUN(IHOLD_IRUN_register.sr);
158162

@@ -161,7 +165,10 @@ void TMC2240Stepper::begin() {
161165
}
162166

163167
void TMC2240Stepper::push() {
168+
TPOWERDOWN(TPOWERDOWN_register.sr);
169+
TPWMTHRS(TPWMTHRS_register.sr);
164170
GCONF(GCONF_register.sr);
171+
SLAVECONF(SLAVECONF_register.sr);
165172
DRV_CONF(DRV_CONF_register.sr);
166173
IHOLD_IRUN(IHOLD_IRUN_register.sr);
167174
CHOPCONF(CHOPCONF_register.sr);
@@ -327,6 +334,13 @@ void TMC2240Stepper::TPOWERDOWN(uint8_t input) {
327334
write(TPOWERDOWN_register.address, TPOWERDOWN_register.sr);
328335
}
329336

337+
// W: TPWMTHRS
338+
uint32_t TMC2240Stepper::TPWMTHRS() { return TPWMTHRS_register.sr; }
339+
void TMC2240Stepper::TPWMTHRS(uint32_t input) {
340+
TPWMTHRS_register.sr = input;
341+
write(TPWMTHRS_register.address, TPWMTHRS_register.sr);
342+
}
343+
330344
void TMC2240Stepper::hysteresis_end(int8_t value) { hend(value+3); }
331345
int8_t TMC2240Stepper::hysteresis_end() { return hend() - 3; };
332346

src/source/TMC2240_bitfields.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ namespace TMC2240_n {
6767
union {
6868
uint16_t sr : 12;
6969
struct {
70-
uint16_t SLAVEADDR : 8;
71-
uint8_t SENDDELAY : 4;
70+
uint16_t slaveaddr : 8;
71+
uint8_t senddelay : 4;
7272
};
7373
};
7474
};

0 commit comments

Comments
 (0)