Library for Trinamic TMC2209 stepper modules to drive bipolar stepper motors. Ported and adapted from https://github.com/teemuatlut/TMCStepper
COOLCONF.cpp
00001 #include "TMCStepper.h" 00002 #include "TMC_MACROS.h" 00003 00004 #define SET_REG(SETTING) COOLCONF_register.SETTING = B; write(COOLCONF_register.address, COOLCONF_register.sr); 00005 #define GET_REG(SETTING) return COOLCONF_register.SETTING; 00006 00007 // COOLCONF 00008 /* 00009 uint32_t TMC2130Stepper::COOLCONF() { return COOLCONF_register.sr; } 00010 void TMC2130Stepper::COOLCONF(uint32_t input) { 00011 COOLCONF_register.sr = input; 00012 write(COOLCONF_register.address, COOLCONF_register.sr); 00013 } 00014 00015 void TMC2130Stepper::semin( uint8_t B ) { SET_REG(semin); } 00016 void TMC2130Stepper::seup( uint8_t B ) { SET_REG(seup); } 00017 void TMC2130Stepper::semax( uint8_t B ) { SET_REG(semax); } 00018 void TMC2130Stepper::sedn( uint8_t B ) { SET_REG(sedn); } 00019 void TMC2130Stepper::seimin(bool B ) { SET_REG(seimin); } 00020 void TMC2130Stepper::sgt( int8_t B ) { SET_REG(sgt); } 00021 void TMC2130Stepper::sfilt( bool B ) { SET_REG(sfilt); } 00022 00023 uint8_t TMC2130Stepper::semin() { GET_REG(semin); } 00024 uint8_t TMC2130Stepper::seup() { GET_REG(seup); } 00025 uint8_t TMC2130Stepper::semax() { GET_REG(semax); } 00026 uint8_t TMC2130Stepper::sedn() { GET_REG(sedn); } 00027 bool TMC2130Stepper::seimin(){ GET_REG(seimin); } 00028 bool TMC2130Stepper::sfilt() { GET_REG(sfilt); } 00029 00030 int8_t TMC2130Stepper::sgt() { 00031 // Two's complement in a 7bit value 00032 int8_t val = (COOLCONF_register.sgt & 0x40) << 1; // Isolate sign bit 00033 val |= COOLCONF_register.sgt & 0x7F; 00034 return val; 00035 } 00036 */ 00037 00038 uint16_t TMC2209Stepper::COOLCONF() { return COOLCONF_register.sr; } 00039 void TMC2209Stepper::COOLCONF(uint16_t input) { 00040 COOLCONF_register.sr = input; 00041 write(COOLCONF_register.address, COOLCONF_register.sr); 00042 } 00043 00044 void TMC2209Stepper::semin( uint8_t B ) { SET_REG(semin); } 00045 void TMC2209Stepper::seup( uint8_t B ) { SET_REG(seup); } 00046 void TMC2209Stepper::semax( uint8_t B ) { SET_REG(semax); } 00047 void TMC2209Stepper::sedn( uint8_t B ) { SET_REG(sedn); } 00048 void TMC2209Stepper::seimin(bool B ) { SET_REG(seimin); } 00049 00050 uint8_t TMC2209Stepper::semin() { GET_REG(semin); } 00051 uint8_t TMC2209Stepper::seup() { GET_REG(seup); } 00052 uint8_t TMC2209Stepper::semax() { GET_REG(semax); } 00053 uint8_t TMC2209Stepper::sedn() { GET_REG(sedn); } 00054 bool TMC2209Stepper::seimin(){ GET_REG(seimin); }
Generated on Wed Jul 13 2022 22:52:51 by
1.7.2