Karl Zweimüller / TMCStepper

Dependents:   TMC2209-Test2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TMC2209Stepper.cpp Source File

TMC2209Stepper.cpp

00001 #include "TMCStepper.h"
00002 
00003 uint32_t TMC2209Stepper::IOIN() {
00004     return read(TMC2209_n::IOIN_t::address);
00005 }
00006 bool TMC2209Stepper::enn()          { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.enn;      }
00007 bool TMC2209Stepper::ms1()          { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.ms1;      }
00008 bool TMC2209Stepper::ms2()          { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.ms2;      }
00009 bool TMC2209Stepper::diag()         { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.diag;     }
00010 bool TMC2209Stepper::pdn_uart()     { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.pdn_uart; }
00011 bool TMC2209Stepper::step()         { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.step;     }
00012 bool TMC2209Stepper::spread_en()    { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.spread_en;}
00013 bool TMC2209Stepper::dir()          { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.dir;      }
00014 uint8_t TMC2209Stepper::version()   { TMC2209_n::IOIN_t r{0}; r.sr = IOIN(); return r.version;  }
00015 
00016 void TMC2209Stepper::push() {
00017     IHOLD_IRUN(IHOLD_IRUN_register.sr);
00018     TPOWERDOWN(TPOWERDOWN_register.sr);
00019     TPWMTHRS(TPWMTHRS_register.sr);
00020     GCONF(GCONF_register.sr);
00021     SLAVECONF(SLAVECONF_register.sr);
00022     VACTUAL(VACTUAL_register.sr);
00023     CHOPCONF(CHOPCONF_register.sr);
00024     PWMCONF(PWMCONF_register.sr);
00025     TCOOLTHRS(TCOOLTHRS_register.sr);
00026     SGTHRS(SGTHRS_register.sr);
00027     COOLCONF(COOLCONF_register.sr);
00028 }
00029 
00030 void TMC2209Stepper::SGTHRS(uint8_t input) {
00031     SGTHRS_register.sr = input;
00032     write(SGTHRS_register.address, SGTHRS_register.sr);
00033 }
00034 uint8_t TMC2209Stepper::SGTHRS() {
00035     return SGTHRS_register.sr;
00036 }
00037 
00038 // W: TCOOLTHRS
00039 uint32_t TMC2209Stepper::TCOOLTHRS() { return TCOOLTHRS_register.sr; }
00040 void TMC2209Stepper::TCOOLTHRS(uint32_t input) {
00041   TCOOLTHRS_register.sr = input;
00042   write(TCOOLTHRS_register.address, TCOOLTHRS_register.sr);
00043 }
00044 
00045 uint16_t TMC2209Stepper::SG_RESULT() {
00046     return read(TMC2209_n::SG_RESULT_t::address);
00047 }