Karl Zweimüller / Mbed OS TMC2209-Test2

Dependencies:   TMCStepper mRotaryEncoder-os

Committer:
charly
Date:
Thu Feb 04 19:46:56 2021 +0000
Revision:
0:3f4cfbeda9d3
Working Version with TMC2209

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charly 0:3f4cfbeda9d3 1 #include "TMCStepper.h"
charly 0:3f4cfbeda9d3 2 #include "TMC_MACROS.h"
charly 0:3f4cfbeda9d3 3
charly 0:3f4cfbeda9d3 4 #define SET_REG(SETTING) PWMCONF_register.SETTING = B; write(PWMCONF_register.address, PWMCONF_register.sr)
charly 0:3f4cfbeda9d3 5 #define GET_REG(SETTING) return PWMCONF_register.SETTING
charly 0:3f4cfbeda9d3 6
charly 0:3f4cfbeda9d3 7 // PWMCONF
charly 0:3f4cfbeda9d3 8 /*
charly 0:3f4cfbeda9d3 9 uint32_t TMC2130Stepper::PWMCONF() { return PWMCONF_register.sr; }
charly 0:3f4cfbeda9d3 10 void TMC2130Stepper::PWMCONF(uint32_t input) {
charly 0:3f4cfbeda9d3 11 PWMCONF_register.sr = input;
charly 0:3f4cfbeda9d3 12 write(PWMCONF_register.address, PWMCONF_register.sr);
charly 0:3f4cfbeda9d3 13 }
charly 0:3f4cfbeda9d3 14
charly 0:3f4cfbeda9d3 15 void TMC2130Stepper::pwm_ampl( uint8_t B ) { SET_REG(pwm_ampl); }
charly 0:3f4cfbeda9d3 16 void TMC2130Stepper::pwm_grad( uint8_t B ) { SET_REG(pwm_grad); }
charly 0:3f4cfbeda9d3 17 void TMC2130Stepper::pwm_freq( uint8_t B ) { SET_REG(pwm_freq); }
charly 0:3f4cfbeda9d3 18 void TMC2130Stepper::pwm_autoscale( bool B ) { SET_REG(pwm_autoscale); }
charly 0:3f4cfbeda9d3 19 void TMC2130Stepper::pwm_symmetric( bool B ) { SET_REG(pwm_symmetric); }
charly 0:3f4cfbeda9d3 20 void TMC2130Stepper::freewheel( uint8_t B ) { SET_REG(freewheel); }
charly 0:3f4cfbeda9d3 21
charly 0:3f4cfbeda9d3 22 uint8_t TMC2130Stepper::pwm_ampl() { GET_REG(pwm_ampl); }
charly 0:3f4cfbeda9d3 23 uint8_t TMC2130Stepper::pwm_grad() { GET_REG(pwm_grad); }
charly 0:3f4cfbeda9d3 24 uint8_t TMC2130Stepper::pwm_freq() { GET_REG(pwm_freq); }
charly 0:3f4cfbeda9d3 25 bool TMC2130Stepper::pwm_autoscale() { GET_REG(pwm_autoscale); }
charly 0:3f4cfbeda9d3 26 bool TMC2130Stepper::pwm_symmetric() { GET_REG(pwm_symmetric); }
charly 0:3f4cfbeda9d3 27 uint8_t TMC2130Stepper::freewheel() { GET_REG(freewheel); }
charly 0:3f4cfbeda9d3 28
charly 0:3f4cfbeda9d3 29 uint32_t TMC2160Stepper::PWMCONF() {
charly 0:3f4cfbeda9d3 30 return PWMCONF_register.sr;
charly 0:3f4cfbeda9d3 31 }
charly 0:3f4cfbeda9d3 32 void TMC2160Stepper::PWMCONF(uint32_t input) {
charly 0:3f4cfbeda9d3 33 PWMCONF_register.sr = input;
charly 0:3f4cfbeda9d3 34 write(PWMCONF_register.address, PWMCONF_register.sr);
charly 0:3f4cfbeda9d3 35 }
charly 0:3f4cfbeda9d3 36
charly 0:3f4cfbeda9d3 37 void TMC2160Stepper::pwm_ofs ( uint8_t B ) { PWMCONF_register.pwm_ofs = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 38 void TMC2160Stepper::pwm_grad ( uint8_t B ) { PWMCONF_register.pwm_grad = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 39 void TMC2160Stepper::pwm_freq ( uint8_t B ) { PWMCONF_register.pwm_freq = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 40 void TMC2160Stepper::pwm_autoscale ( bool B ) { PWMCONF_register.pwm_autoscale = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 41 void TMC2160Stepper::pwm_autograd ( bool B ) { PWMCONF_register.pwm_autograd = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 42 void TMC2160Stepper::freewheel ( uint8_t B ) { PWMCONF_register.freewheel = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 43 void TMC2160Stepper::pwm_reg ( uint8_t B ) { PWMCONF_register.pwm_reg = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 44 void TMC2160Stepper::pwm_lim ( uint8_t B ) { PWMCONF_register.pwm_lim = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 45
charly 0:3f4cfbeda9d3 46 uint8_t TMC2160Stepper::pwm_ofs() { return PWMCONF_register.pwm_ofs; }
charly 0:3f4cfbeda9d3 47 uint8_t TMC2160Stepper::pwm_grad() { return PWMCONF_register.pwm_grad; }
charly 0:3f4cfbeda9d3 48 uint8_t TMC2160Stepper::pwm_freq() { return PWMCONF_register.pwm_freq; }
charly 0:3f4cfbeda9d3 49 bool TMC2160Stepper::pwm_autoscale() { return PWMCONF_register.pwm_autoscale;}
charly 0:3f4cfbeda9d3 50 bool TMC2160Stepper::pwm_autograd() { return PWMCONF_register.pwm_autograd; }
charly 0:3f4cfbeda9d3 51 uint8_t TMC2160Stepper::freewheel() { return PWMCONF_register.freewheel; }
charly 0:3f4cfbeda9d3 52 uint8_t TMC2160Stepper::pwm_reg() { return PWMCONF_register.pwm_reg; }
charly 0:3f4cfbeda9d3 53 uint8_t TMC2160Stepper::pwm_lim() { return PWMCONF_register.pwm_lim; }
charly 0:3f4cfbeda9d3 54 */
charly 0:3f4cfbeda9d3 55 uint32_t TMC2208Stepper::PWMCONF() {
charly 0:3f4cfbeda9d3 56 return read(PWMCONF_register.address);
charly 0:3f4cfbeda9d3 57 }
charly 0:3f4cfbeda9d3 58 void TMC2208Stepper::PWMCONF(uint32_t input) {
charly 0:3f4cfbeda9d3 59 PWMCONF_register.sr = input;
charly 0:3f4cfbeda9d3 60 write(PWMCONF_register.address, PWMCONF_register.sr);
charly 0:3f4cfbeda9d3 61 }
charly 0:3f4cfbeda9d3 62
charly 0:3f4cfbeda9d3 63 void TMC2208Stepper::pwm_ofs ( uint8_t B ) { PWMCONF_register.pwm_ofs = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 64 void TMC2208Stepper::pwm_grad ( uint8_t B ) { PWMCONF_register.pwm_grad = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 65 void TMC2208Stepper::pwm_freq ( uint8_t B ) { PWMCONF_register.pwm_freq = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 66 void TMC2208Stepper::pwm_autoscale ( bool B ) { PWMCONF_register.pwm_autoscale = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 67 void TMC2208Stepper::pwm_autograd ( bool B ) { PWMCONF_register.pwm_autograd = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 68 void TMC2208Stepper::freewheel ( uint8_t B ) { PWMCONF_register.freewheel = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 69 void TMC2208Stepper::pwm_reg ( uint8_t B ) { PWMCONF_register.pwm_reg = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 70 void TMC2208Stepper::pwm_lim ( uint8_t B ) { PWMCONF_register.pwm_lim = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
charly 0:3f4cfbeda9d3 71
charly 0:3f4cfbeda9d3 72 uint8_t TMC2208Stepper::pwm_ofs() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_ofs; }
charly 0:3f4cfbeda9d3 73 uint8_t TMC2208Stepper::pwm_grad() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_grad; }
charly 0:3f4cfbeda9d3 74 uint8_t TMC2208Stepper::pwm_freq() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_freq; }
charly 0:3f4cfbeda9d3 75 bool TMC2208Stepper::pwm_autoscale() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_autoscale; }
charly 0:3f4cfbeda9d3 76 bool TMC2208Stepper::pwm_autograd() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_autograd; }
charly 0:3f4cfbeda9d3 77 uint8_t TMC2208Stepper::freewheel() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.freewheel; }
charly 0:3f4cfbeda9d3 78 uint8_t TMC2208Stepper::pwm_reg() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_reg; }
charly 0:3f4cfbeda9d3 79 uint8_t TMC2208Stepper::pwm_lim() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_lim; }
charly 0:3f4cfbeda9d3 80