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.
GCONF.cpp
00001 #include "TMCStepper.h" 00002 #include "TMC_MACROS.h" 00003 00004 #define SET_REG(SETTING) GCONF_register.SETTING = B; write(GCONF_register.address, GCONF_register.sr) 00005 00006 // GCONF 00007 /* 00008 uint32_t TMC2130Stepper::GCONF() { 00009 return read(GCONF_register.address); 00010 } 00011 void TMC2130Stepper::GCONF(uint32_t input) { 00012 GCONF_register.sr = input; 00013 write(GCONF_register.address, GCONF_register.sr); 00014 } 00015 00016 void TMC2130Stepper::I_scale_analog(bool B) { SET_REG(i_scale_analog); } 00017 void TMC2130Stepper::internal_Rsense(bool B) { SET_REG(internal_rsense); } 00018 void TMC2130Stepper::en_pwm_mode(bool B) { SET_REG(en_pwm_mode); } 00019 void TMC2130Stepper::enc_commutation(bool B) { SET_REG(enc_commutation); } 00020 void TMC2130Stepper::shaft(bool B) { SET_REG(shaft); } 00021 void TMC2130Stepper::diag0_error(bool B) { SET_REG(diag0_error); } 00022 void TMC2130Stepper::diag0_otpw(bool B) { SET_REG(diag0_otpw); } 00023 void TMC2130Stepper::diag0_stall(bool B) { SET_REG(diag0_stall); } 00024 void TMC2130Stepper::diag1_stall(bool B) { SET_REG(diag1_stall); } 00025 void TMC2130Stepper::diag1_index(bool B) { SET_REG(diag1_index); } 00026 void TMC2130Stepper::diag1_onstate(bool B) { SET_REG(diag1_onstate); } 00027 void TMC2130Stepper::diag1_steps_skipped(bool B) { SET_REG(diag1_steps_skipped); } 00028 void TMC2130Stepper::diag0_int_pushpull(bool B) { SET_REG(diag0_int_pushpull); } 00029 void TMC2130Stepper::diag1_pushpull(bool B) { SET_REG(diag1_poscomp_pushpull); } 00030 void TMC2130Stepper::small_hysteresis(bool B) { SET_REG(small_hysteresis); } 00031 void TMC2130Stepper::stop_enable(bool B) { SET_REG(stop_enable); } 00032 void TMC2130Stepper::direct_mode(bool B) { SET_REG(direct_mode); } 00033 00034 bool TMC2130Stepper::I_scale_analog() { GCONF_t r{0}; r.sr = GCONF(); return r.i_scale_analog; } 00035 bool TMC2130Stepper::internal_Rsense() { GCONF_t r{0}; r.sr = GCONF(); return r.internal_rsense; } 00036 bool TMC2130Stepper::en_pwm_mode() { GCONF_t r{0}; r.sr = GCONF(); return r.en_pwm_mode; } 00037 bool TMC2130Stepper::enc_commutation() { GCONF_t r{0}; r.sr = GCONF(); return r.enc_commutation; } 00038 bool TMC2130Stepper::shaft() { GCONF_t r{0}; r.sr = GCONF(); return r.shaft; } 00039 bool TMC2130Stepper::diag0_error() { GCONF_t r{0}; r.sr = GCONF(); return r.diag0_error; } 00040 bool TMC2130Stepper::diag0_otpw() { GCONF_t r{0}; r.sr = GCONF(); return r.diag0_otpw; } 00041 bool TMC2130Stepper::diag0_stall() { GCONF_t r{0}; r.sr = GCONF(); return r.diag0_stall; } 00042 bool TMC2130Stepper::diag1_stall() { GCONF_t r{0}; r.sr = GCONF(); return r.diag1_stall; } 00043 bool TMC2130Stepper::diag1_index() { GCONF_t r{0}; r.sr = GCONF(); return r.diag1_index; } 00044 bool TMC2130Stepper::diag1_onstate() { GCONF_t r{0}; r.sr = GCONF(); return r.diag1_onstate; } 00045 bool TMC2130Stepper::diag1_steps_skipped() { GCONF_t r{0}; r.sr = GCONF(); return r.diag1_steps_skipped; } 00046 bool TMC2130Stepper::diag0_int_pushpull() { GCONF_t r{0}; r.sr = GCONF(); return r.diag0_int_pushpull; } 00047 bool TMC2130Stepper::diag1_pushpull() { GCONF_t r{0}; r.sr = GCONF(); return r.diag1_poscomp_pushpull;} 00048 bool TMC2130Stepper::small_hysteresis() { GCONF_t r{0}; r.sr = GCONF(); return r.small_hysteresis; } 00049 bool TMC2130Stepper::stop_enable() { GCONF_t r{0}; r.sr = GCONF(); return r.stop_enable; } 00050 bool TMC2130Stepper::direct_mode() { GCONF_t r{0}; r.sr = GCONF(); return r.direct_mode; } 00051 */ 00052 /* 00053 bit 18 not implemented: 00054 test_mode 0: 00055 Normal operation 1: 00056 Enable analog test output on pin DCO. IHOLD[1..0] selects the function of DCO: 00057 0…2: T120, DAC, VDDH Attention: 00058 Not for user, set to 0 for normal operation! 00059 */ 00060 /* 00061 void TMC5160Stepper::recalibrate(bool B) { SET_REG(recalibrate); } 00062 void TMC5160Stepper::faststandstill(bool B) { SET_REG(faststandstill); } 00063 void TMC5160Stepper::multistep_filt(bool B) { SET_REG(multistep_filt); } 00064 bool TMC5160Stepper::recalibrate() { GCONF_t r{0}; r.sr = GCONF(); return r.recalibrate; } 00065 bool TMC5160Stepper::faststandstill() { GCONF_t r{0}; r.sr = GCONF(); return r.faststandstill; } 00066 bool TMC5160Stepper::multistep_filt() { GCONF_t r{0}; r.sr = GCONF(); return r.multistep_filt; } 00067 */ 00068 uint32_t TMC2208Stepper::GCONF() { 00069 return read(GCONF_register.address); 00070 } 00071 void TMC2208Stepper::GCONF(uint32_t input) { 00072 GCONF_register.sr = input; 00073 write(GCONF_register.address, GCONF_register.sr); 00074 } 00075 00076 void TMC2208Stepper::I_scale_analog(bool B) { SET_REG(i_scale_analog); } 00077 void TMC2208Stepper::internal_Rsense(bool B) { SET_REG(internal_rsense); } 00078 void TMC2208Stepper::en_spreadCycle(bool B) { SET_REG(en_spreadcycle); } 00079 void TMC2208Stepper::shaft(bool B) { SET_REG(shaft); } 00080 void TMC2208Stepper::index_otpw(bool B) { SET_REG(index_otpw); } 00081 void TMC2208Stepper::index_step(bool B) { SET_REG(index_step); } 00082 void TMC2208Stepper::pdn_disable(bool B) { SET_REG(pdn_disable); } 00083 void TMC2208Stepper::mstep_reg_select(bool B) { SET_REG(mstep_reg_select);} 00084 void TMC2208Stepper::multistep_filt(bool B) { SET_REG(multistep_filt); } 00085 00086 bool TMC2208Stepper::I_scale_analog() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.i_scale_analog; } 00087 bool TMC2208Stepper::internal_Rsense() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.internal_rsense; } 00088 bool TMC2208Stepper::en_spreadCycle() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.en_spreadcycle; } 00089 bool TMC2208Stepper::shaft() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.shaft; } 00090 bool TMC2208Stepper::index_otpw() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.index_otpw; } 00091 bool TMC2208Stepper::index_step() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.index_step; } 00092 bool TMC2208Stepper::pdn_disable() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.pdn_disable; } 00093 bool TMC2208Stepper::mstep_reg_select() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.mstep_reg_select; } 00094 bool TMC2208Stepper::multistep_filt() { TMC2208_n::GCONF_t r{0}; r.sr = GCONF(); return r.multistep_filt; }
Generated on Wed Jul 13 2022 22:52:51 by
1.7.2