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) CHOPCONF_register.SETTING = B; write(CHOPCONF_register.address, CHOPCONF_register.sr)
charly 0:3f4cfbeda9d3 5
charly 0:3f4cfbeda9d3 6 // CHOPCONF
charly 0:3f4cfbeda9d3 7 /*
charly 0:3f4cfbeda9d3 8 uint32_t TMC2130Stepper::CHOPCONF() {
charly 0:3f4cfbeda9d3 9 return read(CHOPCONF_register.address);
charly 0:3f4cfbeda9d3 10 }
charly 0:3f4cfbeda9d3 11 void TMC2130Stepper::CHOPCONF(uint32_t input) {
charly 0:3f4cfbeda9d3 12 CHOPCONF_register.sr = input;
charly 0:3f4cfbeda9d3 13 write(CHOPCONF_register.address, CHOPCONF_register.sr);
charly 0:3f4cfbeda9d3 14 }
charly 0:3f4cfbeda9d3 15
charly 0:3f4cfbeda9d3 16 void TMC2130Stepper::toff( uint8_t B ) { SET_REG(toff); }
charly 0:3f4cfbeda9d3 17 void TMC2130Stepper::hstrt( uint8_t B ) { SET_REG(hstrt); }
charly 0:3f4cfbeda9d3 18 void TMC2130Stepper::hend( uint8_t B ) { SET_REG(hend); }
charly 0:3f4cfbeda9d3 19 //void TMC2130Stepper::fd( uint8_t B ) { SET_REG(fd); }
charly 0:3f4cfbeda9d3 20 void TMC2130Stepper::disfdcc( bool B ) { SET_REG(disfdcc); }
charly 0:3f4cfbeda9d3 21 void TMC2130Stepper::rndtf( bool B ) { SET_REG(rndtf); }
charly 0:3f4cfbeda9d3 22 void TMC2130Stepper::chm( bool B ) { SET_REG(chm); }
charly 0:3f4cfbeda9d3 23 void TMC2130Stepper::tbl( uint8_t B ) { SET_REG(tbl); }
charly 0:3f4cfbeda9d3 24 void TMC2130Stepper::vsense( bool B ) { SET_REG(vsense); }
charly 0:3f4cfbeda9d3 25 void TMC2130Stepper::vhighfs( bool B ) { SET_REG(vhighfs); }
charly 0:3f4cfbeda9d3 26 void TMC2130Stepper::vhighchm( bool B ) { SET_REG(vhighchm);}
charly 0:3f4cfbeda9d3 27 void TMC2130Stepper::sync( uint8_t B ) { SET_REG(sync); }
charly 0:3f4cfbeda9d3 28 void TMC2130Stepper::mres( uint8_t B ) { SET_REG(mres); }
charly 0:3f4cfbeda9d3 29 void TMC2130Stepper::intpol( bool B ) { SET_REG(intpol); }
charly 0:3f4cfbeda9d3 30 void TMC2130Stepper::dedge( bool B ) { SET_REG(dedge); }
charly 0:3f4cfbeda9d3 31 void TMC2130Stepper::diss2g( bool B ) { SET_REG(diss2g); }
charly 0:3f4cfbeda9d3 32
charly 0:3f4cfbeda9d3 33 uint8_t TMC2130Stepper::toff() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.toff; }
charly 0:3f4cfbeda9d3 34 uint8_t TMC2130Stepper::hstrt() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.hstrt; }
charly 0:3f4cfbeda9d3 35 uint8_t TMC2130Stepper::hend() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.hend; }
charly 0:3f4cfbeda9d3 36 //uint8_t TMC2130Stepper::fd() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.fd; }
charly 0:3f4cfbeda9d3 37 bool TMC2130Stepper::disfdcc() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.disfdcc; }
charly 0:3f4cfbeda9d3 38 bool TMC2130Stepper::rndtf() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.rndtf; }
charly 0:3f4cfbeda9d3 39 bool TMC2130Stepper::chm() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.chm; }
charly 0:3f4cfbeda9d3 40 uint8_t TMC2130Stepper::tbl() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.tbl; }
charly 0:3f4cfbeda9d3 41 bool TMC2130Stepper::vsense() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.vsense; }
charly 0:3f4cfbeda9d3 42 bool TMC2130Stepper::vhighfs() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.vhighfs; }
charly 0:3f4cfbeda9d3 43 bool TMC2130Stepper::vhighchm() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.vhighchm;}
charly 0:3f4cfbeda9d3 44 uint8_t TMC2130Stepper::sync() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.sync; }
charly 0:3f4cfbeda9d3 45 uint8_t TMC2130Stepper::mres() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.mres; }
charly 0:3f4cfbeda9d3 46 bool TMC2130Stepper::intpol() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.intpol; }
charly 0:3f4cfbeda9d3 47 bool TMC2130Stepper::dedge() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.dedge; }
charly 0:3f4cfbeda9d3 48 bool TMC2130Stepper::diss2g() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2g; }
charly 0:3f4cfbeda9d3 49
charly 0:3f4cfbeda9d3 50 void TMC5160Stepper::diss2vs(bool B){ SET_REG(diss2vs); }
charly 0:3f4cfbeda9d3 51 void TMC5160Stepper::tpfd(uint8_t B){ SET_REG(tpfd); }
charly 0:3f4cfbeda9d3 52 bool TMC5160Stepper::diss2vs() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2vs; }
charly 0:3f4cfbeda9d3 53 uint8_t TMC5160Stepper::tpfd() { CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.tpfd; }
charly 0:3f4cfbeda9d3 54 */
charly 0:3f4cfbeda9d3 55 void TMC2208Stepper::CHOPCONF(uint32_t input) {
charly 0:3f4cfbeda9d3 56 CHOPCONF_register.sr = input;
charly 0:3f4cfbeda9d3 57 write(CHOPCONF_register.address, CHOPCONF_register.sr);
charly 0:3f4cfbeda9d3 58 }
charly 0:3f4cfbeda9d3 59 uint32_t TMC2208Stepper::CHOPCONF() {
charly 0:3f4cfbeda9d3 60 return read(CHOPCONF_register.address);
charly 0:3f4cfbeda9d3 61 }
charly 0:3f4cfbeda9d3 62 void TMC2208Stepper::toff ( uint8_t B ) { SET_REG(toff); }
charly 0:3f4cfbeda9d3 63 void TMC2208Stepper::hstrt ( uint8_t B ) { SET_REG(hstrt); }
charly 0:3f4cfbeda9d3 64 void TMC2208Stepper::hend ( uint8_t B ) { SET_REG(hend); }
charly 0:3f4cfbeda9d3 65 void TMC2208Stepper::tbl ( uint8_t B ) { SET_REG(tbl); }
charly 0:3f4cfbeda9d3 66 void TMC2208Stepper::vsense ( bool B ) { SET_REG(vsense); }
charly 0:3f4cfbeda9d3 67 void TMC2208Stepper::mres ( uint8_t B ) { SET_REG(mres); }
charly 0:3f4cfbeda9d3 68 void TMC2208Stepper::intpol ( bool B ) { SET_REG(intpol); }
charly 0:3f4cfbeda9d3 69 void TMC2208Stepper::dedge ( bool B ) { SET_REG(dedge); }
charly 0:3f4cfbeda9d3 70 void TMC2208Stepper::diss2g ( bool B ) { SET_REG(diss2g); }
charly 0:3f4cfbeda9d3 71 void TMC2208Stepper::diss2vs( bool B ) { SET_REG(diss2vs); }
charly 0:3f4cfbeda9d3 72
charly 0:3f4cfbeda9d3 73 uint8_t TMC2208Stepper::toff() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.toff; }
charly 0:3f4cfbeda9d3 74 uint8_t TMC2208Stepper::hstrt() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.hstrt; }
charly 0:3f4cfbeda9d3 75 uint8_t TMC2208Stepper::hend() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.hend; }
charly 0:3f4cfbeda9d3 76 uint8_t TMC2208Stepper::tbl() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.tbl; }
charly 0:3f4cfbeda9d3 77 bool TMC2208Stepper::vsense() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.vsense; }
charly 0:3f4cfbeda9d3 78 uint8_t TMC2208Stepper::mres() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.mres; }
charly 0:3f4cfbeda9d3 79 bool TMC2208Stepper::intpol() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.intpol; }
charly 0:3f4cfbeda9d3 80 bool TMC2208Stepper::dedge() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.dedge; }
charly 0:3f4cfbeda9d3 81 bool TMC2208Stepper::diss2g() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2g; }
charly 0:3f4cfbeda9d3 82 bool TMC2208Stepper::diss2vs() { TMC2208_n::CHOPCONF_t r{0}; r.sr = CHOPCONF(); return r.diss2vs; }
charly 0:3f4cfbeda9d3 83 /*
charly 0:3f4cfbeda9d3 84 #define GET_REG_2660(SETTING) return CHOPCONF_register.SETTING;
charly 0:3f4cfbeda9d3 85
charly 0:3f4cfbeda9d3 86 uint32_t TMC2660Stepper::CHOPCONF() { return CHOPCONF_register.sr; }
charly 0:3f4cfbeda9d3 87 void TMC2660Stepper::CHOPCONF(uint32_t data) {
charly 0:3f4cfbeda9d3 88 CHOPCONF_register.sr = data;
charly 0:3f4cfbeda9d3 89 write(CHOPCONF_register.address, CHOPCONF_register.sr);
charly 0:3f4cfbeda9d3 90 }
charly 0:3f4cfbeda9d3 91
charly 0:3f4cfbeda9d3 92 void TMC2660Stepper::toff(uint8_t B) {
charly 0:3f4cfbeda9d3 93 SET_REG(toff);
charly 0:3f4cfbeda9d3 94 if (B>0) _savedToff = B;
charly 0:3f4cfbeda9d3 95 }
charly 0:3f4cfbeda9d3 96 void TMC2660Stepper::hstrt(uint8_t B) { SET_REG(hstrt); }
charly 0:3f4cfbeda9d3 97 void TMC2660Stepper::hend(uint8_t B) { SET_REG(hend); }
charly 0:3f4cfbeda9d3 98 void TMC2660Stepper::hdec(uint8_t B) { SET_REG(hdec); }
charly 0:3f4cfbeda9d3 99 void TMC2660Stepper::rndtf(bool B) { SET_REG(rndtf); }
charly 0:3f4cfbeda9d3 100 void TMC2660Stepper::chm(bool B) { SET_REG(chm); }
charly 0:3f4cfbeda9d3 101 void TMC2660Stepper::tbl(uint8_t B) { SET_REG(tbl); }
charly 0:3f4cfbeda9d3 102
charly 0:3f4cfbeda9d3 103 uint8_t TMC2660Stepper::toff() { GET_REG_2660(toff); }
charly 0:3f4cfbeda9d3 104 uint8_t TMC2660Stepper::hstrt() { GET_REG_2660(hstrt); }
charly 0:3f4cfbeda9d3 105 uint8_t TMC2660Stepper::hend() { GET_REG_2660(hend); }
charly 0:3f4cfbeda9d3 106 uint8_t TMC2660Stepper::hdec() { GET_REG_2660(hdec); }
charly 0:3f4cfbeda9d3 107 bool TMC2660Stepper::rndtf() { GET_REG_2660(rndtf); }
charly 0:3f4cfbeda9d3 108 bool TMC2660Stepper::chm() { GET_REG_2660(chm); }
charly 0:3f4cfbeda9d3 109 uint8_t TMC2660Stepper::tbl() { GET_REG_2660(tbl); }
charly 0:3f4cfbeda9d3 110 */