Library for Trinamic TMC2209 stepper modules to drive bipolar stepper motors. Ported and adapted from https://github.com/teemuatlut/TMCStepper
Revision 2:b34e91b54373, committed 2021-12-02
- Comitter:
- charly
- Date:
- Thu Dec 02 20:29:39 2021 +0000
- Parent:
- 1:5ba0c258c4ed
- Commit message:
- Changes from Original Project for TMC2209 integrated
Changed in this revision
COOLCONF.cpp | Show annotated file Show diff for this revision Revisions of this file |
TMC2209Stepper.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 5ba0c258c4ed -r b34e91b54373 COOLCONF.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COOLCONF.cpp Thu Dec 02 20:29:39 2021 +0000 @@ -0,0 +1,54 @@ +#include "TMCStepper.h" +#include "TMC_MACROS.h" + +#define SET_REG(SETTING) COOLCONF_register.SETTING = B; write(COOLCONF_register.address, COOLCONF_register.sr); +#define GET_REG(SETTING) return COOLCONF_register.SETTING; + +// COOLCONF +/* +uint32_t TMC2130Stepper::COOLCONF() { return COOLCONF_register.sr; } +void TMC2130Stepper::COOLCONF(uint32_t input) { + COOLCONF_register.sr = input; + write(COOLCONF_register.address, COOLCONF_register.sr); +} + +void TMC2130Stepper::semin( uint8_t B ) { SET_REG(semin); } +void TMC2130Stepper::seup( uint8_t B ) { SET_REG(seup); } +void TMC2130Stepper::semax( uint8_t B ) { SET_REG(semax); } +void TMC2130Stepper::sedn( uint8_t B ) { SET_REG(sedn); } +void TMC2130Stepper::seimin(bool B ) { SET_REG(seimin); } +void TMC2130Stepper::sgt( int8_t B ) { SET_REG(sgt); } +void TMC2130Stepper::sfilt( bool B ) { SET_REG(sfilt); } + +uint8_t TMC2130Stepper::semin() { GET_REG(semin); } +uint8_t TMC2130Stepper::seup() { GET_REG(seup); } +uint8_t TMC2130Stepper::semax() { GET_REG(semax); } +uint8_t TMC2130Stepper::sedn() { GET_REG(sedn); } +bool TMC2130Stepper::seimin(){ GET_REG(seimin); } +bool TMC2130Stepper::sfilt() { GET_REG(sfilt); } + +int8_t TMC2130Stepper::sgt() { + // Two's complement in a 7bit value + int8_t val = (COOLCONF_register.sgt & 0x40) << 1; // Isolate sign bit + val |= COOLCONF_register.sgt & 0x7F; + return val; +} +*/ + +uint16_t TMC2209Stepper::COOLCONF() { return COOLCONF_register.sr; } +void TMC2209Stepper::COOLCONF(uint16_t input) { + COOLCONF_register.sr = input; + write(COOLCONF_register.address, COOLCONF_register.sr); +} + +void TMC2209Stepper::semin( uint8_t B ) { SET_REG(semin); } +void TMC2209Stepper::seup( uint8_t B ) { SET_REG(seup); } +void TMC2209Stepper::semax( uint8_t B ) { SET_REG(semax); } +void TMC2209Stepper::sedn( uint8_t B ) { SET_REG(sedn); } +void TMC2209Stepper::seimin(bool B ) { SET_REG(seimin); } + +uint8_t TMC2209Stepper::semin() { GET_REG(semin); } +uint8_t TMC2209Stepper::seup() { GET_REG(seup); } +uint8_t TMC2209Stepper::semax() { GET_REG(semax); } +uint8_t TMC2209Stepper::sedn() { GET_REG(sedn); } +bool TMC2209Stepper::seimin(){ GET_REG(seimin); } \ No newline at end of file
diff -r 5ba0c258c4ed -r b34e91b54373 TMC2209Stepper.cpp --- a/TMC2209Stepper.cpp Mon Mar 22 21:35:09 2021 +0000 +++ b/TMC2209Stepper.cpp Thu Dec 02 20:29:39 2021 +0000 @@ -23,6 +23,8 @@ CHOPCONF(CHOPCONF_register.sr); PWMCONF(PWMCONF_register.sr); TCOOLTHRS(TCOOLTHRS_register.sr); + SGTHRS(SGTHRS_register.sr); + COOLCONF(COOLCONF_register.sr); } void TMC2209Stepper::SGTHRS(uint8_t input) {