Karl Zweimüller / TMCStepper

Dependents:   TMC2209-Test2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PWMCONF.cpp Source File

PWMCONF.cpp

00001 #include "TMCStepper.h"
00002 #include "TMC_MACROS.h"
00003 
00004 #define SET_REG(SETTING) PWMCONF_register.SETTING = B; write(PWMCONF_register.address, PWMCONF_register.sr)
00005 #define GET_REG(SETTING) return PWMCONF_register.SETTING
00006 
00007 // PWMCONF
00008 /*
00009 uint32_t TMC2130Stepper::PWMCONF() { return PWMCONF_register.sr; }
00010 void TMC2130Stepper::PWMCONF(uint32_t input) {
00011     PWMCONF_register.sr = input;
00012     write(PWMCONF_register.address, PWMCONF_register.sr);
00013 }
00014 
00015 void TMC2130Stepper::pwm_ampl(      uint8_t B ) { SET_REG(pwm_ampl);        }
00016 void TMC2130Stepper::pwm_grad(      uint8_t B ) { SET_REG(pwm_grad);        }
00017 void TMC2130Stepper::pwm_freq(      uint8_t B ) { SET_REG(pwm_freq);        }
00018 void TMC2130Stepper::pwm_autoscale( bool    B ) { SET_REG(pwm_autoscale);   }
00019 void TMC2130Stepper::pwm_symmetric( bool    B ) { SET_REG(pwm_symmetric);   }
00020 void TMC2130Stepper::freewheel(     uint8_t B ) { SET_REG(freewheel);       }
00021 
00022 uint8_t TMC2130Stepper::pwm_ampl()      { GET_REG(pwm_ampl);        }
00023 uint8_t TMC2130Stepper::pwm_grad()      { GET_REG(pwm_grad);        }
00024 uint8_t TMC2130Stepper::pwm_freq()      { GET_REG(pwm_freq);        }
00025 bool    TMC2130Stepper::pwm_autoscale() { GET_REG(pwm_autoscale);   }
00026 bool    TMC2130Stepper::pwm_symmetric() { GET_REG(pwm_symmetric);   }
00027 uint8_t TMC2130Stepper::freewheel()     { GET_REG(freewheel);       }
00028 
00029 uint32_t TMC2160Stepper::PWMCONF() {
00030     return PWMCONF_register.sr;
00031 }
00032 void TMC2160Stepper::PWMCONF(uint32_t input) {
00033     PWMCONF_register.sr = input;
00034     write(PWMCONF_register.address, PWMCONF_register.sr);
00035 }
00036 
00037 void TMC2160Stepper::pwm_ofs        ( uint8_t B ) { PWMCONF_register.pwm_ofs = B;       write(PWMCONF_register.address, PWMCONF_register.sr); }
00038 void TMC2160Stepper::pwm_grad       ( uint8_t B ) { PWMCONF_register.pwm_grad = B;      write(PWMCONF_register.address, PWMCONF_register.sr); }
00039 void TMC2160Stepper::pwm_freq       ( uint8_t B ) { PWMCONF_register.pwm_freq = B;      write(PWMCONF_register.address, PWMCONF_register.sr); }
00040 void TMC2160Stepper::pwm_autoscale  ( bool    B ) { PWMCONF_register.pwm_autoscale = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00041 void TMC2160Stepper::pwm_autograd   ( bool    B ) { PWMCONF_register.pwm_autograd = B;  write(PWMCONF_register.address, PWMCONF_register.sr); }
00042 void TMC2160Stepper::freewheel      ( uint8_t B ) { PWMCONF_register.freewheel = B;     write(PWMCONF_register.address, PWMCONF_register.sr); }
00043 void TMC2160Stepper::pwm_reg        ( uint8_t B ) { PWMCONF_register.pwm_reg = B;       write(PWMCONF_register.address, PWMCONF_register.sr); }
00044 void TMC2160Stepper::pwm_lim        ( uint8_t B ) { PWMCONF_register.pwm_lim = B;       write(PWMCONF_register.address, PWMCONF_register.sr); }
00045 
00046 uint8_t TMC2160Stepper::pwm_ofs()       { return PWMCONF_register.pwm_ofs;      }
00047 uint8_t TMC2160Stepper::pwm_grad()      { return PWMCONF_register.pwm_grad;     }
00048 uint8_t TMC2160Stepper::pwm_freq()      { return PWMCONF_register.pwm_freq;     }
00049 bool    TMC2160Stepper::pwm_autoscale() { return PWMCONF_register.pwm_autoscale;}
00050 bool    TMC2160Stepper::pwm_autograd()  { return PWMCONF_register.pwm_autograd; }
00051 uint8_t TMC2160Stepper::freewheel()     { return PWMCONF_register.freewheel;    }
00052 uint8_t TMC2160Stepper::pwm_reg()       { return PWMCONF_register.pwm_reg;      }
00053 uint8_t TMC2160Stepper::pwm_lim()       { return PWMCONF_register.pwm_lim;      }
00054 */
00055 uint32_t TMC2208Stepper::PWMCONF() {
00056     return read(PWMCONF_register.address);
00057 }
00058 void TMC2208Stepper::PWMCONF(uint32_t input) {
00059     PWMCONF_register.sr = input;
00060     write(PWMCONF_register.address, PWMCONF_register.sr);
00061 }
00062 
00063 void TMC2208Stepper::pwm_ofs        ( uint8_t B ) { PWMCONF_register.pwm_ofs = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00064 void TMC2208Stepper::pwm_grad       ( uint8_t B ) { PWMCONF_register.pwm_grad = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00065 void TMC2208Stepper::pwm_freq       ( uint8_t B ) { PWMCONF_register.pwm_freq = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00066 void TMC2208Stepper::pwm_autoscale  ( bool    B ) { PWMCONF_register.pwm_autoscale = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00067 void TMC2208Stepper::pwm_autograd   ( bool    B ) { PWMCONF_register.pwm_autograd = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00068 void TMC2208Stepper::freewheel      ( uint8_t B ) { PWMCONF_register.freewheel = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00069 void TMC2208Stepper::pwm_reg        ( uint8_t B ) { PWMCONF_register.pwm_reg = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00070 void TMC2208Stepper::pwm_lim        ( uint8_t B ) { PWMCONF_register.pwm_lim = B; write(PWMCONF_register.address, PWMCONF_register.sr); }
00071 
00072 uint8_t TMC2208Stepper::pwm_ofs()       { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_ofs;        }
00073 uint8_t TMC2208Stepper::pwm_grad()      { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_grad;       }
00074 uint8_t TMC2208Stepper::pwm_freq()      { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_freq;       }
00075 bool    TMC2208Stepper::pwm_autoscale() { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_autoscale;  }
00076 bool    TMC2208Stepper::pwm_autograd()  { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_autograd;   }
00077 uint8_t TMC2208Stepper::freewheel()     { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.freewheel;      }
00078 uint8_t TMC2208Stepper::pwm_reg()       { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_reg;        }
00079 uint8_t TMC2208Stepper::pwm_lim()       { TMC2208_n::PWMCONF_t r{0}; r.sr = PWMCONF(); return r.pwm_lim;        }
00080