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/PWMCONF.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) 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 |