Library for Trinamic TMC2209 stepper modules to drive bipolar stepper motors. Ported and adapted from https://github.com/teemuatlut/TMCStepper
COOLCONF.cpp@2:b34e91b54373, 2021-12-02 (annotated)
- Committer:
- charly
- Date:
- Thu Dec 02 20:29:39 2021 +0000
- Revision:
- 2:b34e91b54373
Changes from Original Project for TMC2209 integrated
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
charly | 2:b34e91b54373 | 1 | #include "TMCStepper.h" |
charly | 2:b34e91b54373 | 2 | #include "TMC_MACROS.h" |
charly | 2:b34e91b54373 | 3 | |
charly | 2:b34e91b54373 | 4 | #define SET_REG(SETTING) COOLCONF_register.SETTING = B; write(COOLCONF_register.address, COOLCONF_register.sr); |
charly | 2:b34e91b54373 | 5 | #define GET_REG(SETTING) return COOLCONF_register.SETTING; |
charly | 2:b34e91b54373 | 6 | |
charly | 2:b34e91b54373 | 7 | // COOLCONF |
charly | 2:b34e91b54373 | 8 | /* |
charly | 2:b34e91b54373 | 9 | uint32_t TMC2130Stepper::COOLCONF() { return COOLCONF_register.sr; } |
charly | 2:b34e91b54373 | 10 | void TMC2130Stepper::COOLCONF(uint32_t input) { |
charly | 2:b34e91b54373 | 11 | COOLCONF_register.sr = input; |
charly | 2:b34e91b54373 | 12 | write(COOLCONF_register.address, COOLCONF_register.sr); |
charly | 2:b34e91b54373 | 13 | } |
charly | 2:b34e91b54373 | 14 | |
charly | 2:b34e91b54373 | 15 | void TMC2130Stepper::semin( uint8_t B ) { SET_REG(semin); } |
charly | 2:b34e91b54373 | 16 | void TMC2130Stepper::seup( uint8_t B ) { SET_REG(seup); } |
charly | 2:b34e91b54373 | 17 | void TMC2130Stepper::semax( uint8_t B ) { SET_REG(semax); } |
charly | 2:b34e91b54373 | 18 | void TMC2130Stepper::sedn( uint8_t B ) { SET_REG(sedn); } |
charly | 2:b34e91b54373 | 19 | void TMC2130Stepper::seimin(bool B ) { SET_REG(seimin); } |
charly | 2:b34e91b54373 | 20 | void TMC2130Stepper::sgt( int8_t B ) { SET_REG(sgt); } |
charly | 2:b34e91b54373 | 21 | void TMC2130Stepper::sfilt( bool B ) { SET_REG(sfilt); } |
charly | 2:b34e91b54373 | 22 | |
charly | 2:b34e91b54373 | 23 | uint8_t TMC2130Stepper::semin() { GET_REG(semin); } |
charly | 2:b34e91b54373 | 24 | uint8_t TMC2130Stepper::seup() { GET_REG(seup); } |
charly | 2:b34e91b54373 | 25 | uint8_t TMC2130Stepper::semax() { GET_REG(semax); } |
charly | 2:b34e91b54373 | 26 | uint8_t TMC2130Stepper::sedn() { GET_REG(sedn); } |
charly | 2:b34e91b54373 | 27 | bool TMC2130Stepper::seimin(){ GET_REG(seimin); } |
charly | 2:b34e91b54373 | 28 | bool TMC2130Stepper::sfilt() { GET_REG(sfilt); } |
charly | 2:b34e91b54373 | 29 | |
charly | 2:b34e91b54373 | 30 | int8_t TMC2130Stepper::sgt() { |
charly | 2:b34e91b54373 | 31 | // Two's complement in a 7bit value |
charly | 2:b34e91b54373 | 32 | int8_t val = (COOLCONF_register.sgt & 0x40) << 1; // Isolate sign bit |
charly | 2:b34e91b54373 | 33 | val |= COOLCONF_register.sgt & 0x7F; |
charly | 2:b34e91b54373 | 34 | return val; |
charly | 2:b34e91b54373 | 35 | } |
charly | 2:b34e91b54373 | 36 | */ |
charly | 2:b34e91b54373 | 37 | |
charly | 2:b34e91b54373 | 38 | uint16_t TMC2209Stepper::COOLCONF() { return COOLCONF_register.sr; } |
charly | 2:b34e91b54373 | 39 | void TMC2209Stepper::COOLCONF(uint16_t input) { |
charly | 2:b34e91b54373 | 40 | COOLCONF_register.sr = input; |
charly | 2:b34e91b54373 | 41 | write(COOLCONF_register.address, COOLCONF_register.sr); |
charly | 2:b34e91b54373 | 42 | } |
charly | 2:b34e91b54373 | 43 | |
charly | 2:b34e91b54373 | 44 | void TMC2209Stepper::semin( uint8_t B ) { SET_REG(semin); } |
charly | 2:b34e91b54373 | 45 | void TMC2209Stepper::seup( uint8_t B ) { SET_REG(seup); } |
charly | 2:b34e91b54373 | 46 | void TMC2209Stepper::semax( uint8_t B ) { SET_REG(semax); } |
charly | 2:b34e91b54373 | 47 | void TMC2209Stepper::sedn( uint8_t B ) { SET_REG(sedn); } |
charly | 2:b34e91b54373 | 48 | void TMC2209Stepper::seimin(bool B ) { SET_REG(seimin); } |
charly | 2:b34e91b54373 | 49 | |
charly | 2:b34e91b54373 | 50 | uint8_t TMC2209Stepper::semin() { GET_REG(semin); } |
charly | 2:b34e91b54373 | 51 | uint8_t TMC2209Stepper::seup() { GET_REG(seup); } |
charly | 2:b34e91b54373 | 52 | uint8_t TMC2209Stepper::semax() { GET_REG(semax); } |
charly | 2:b34e91b54373 | 53 | uint8_t TMC2209Stepper::sedn() { GET_REG(sedn); } |
charly | 2:b34e91b54373 | 54 | bool TMC2209Stepper::seimin(){ GET_REG(seimin); } |