Karl Zweimüller / TMCStepper

Dependents:   TMC2209-Test2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers COOLCONF.cpp Source File

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);  }