Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: TMCStepper mRotaryEncoder-os
source/CHOPCONF.cpp@0:3f4cfbeda9d3, 2021-02-04 (annotated)
- Committer:
- charly
- Date:
- Thu Feb 04 19:46:56 2021 +0000
- Revision:
- 0:3f4cfbeda9d3
Working Version with TMC2209
Who changed what in which revision?
| User | Revision | Line number | New 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 | */ |