Library for Trinamic TMC2209 stepper modules to drive bipolar stepper motors. Ported and adapted from https://github.com/teemuatlut/TMCStepper

Dependents:   TMC2209-Test2

Committer:
charly
Date:
Thu Dec 02 20:29:39 2021 +0000
Revision:
2:b34e91b54373
Parent:
0:f4343071c8b1
Changes from Original Project for TMC2209 integrated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charly 0:f4343071c8b1 1 #include "TMCStepper.h"
charly 0:f4343071c8b1 2 #include "TMC_MACROS.h"
charly 0:f4343071c8b1 3
charly 0:f4343071c8b1 4 #define SET_REG(SETTING) IHOLD_IRUN_register.SETTING = B; write(IHOLD_IRUN_register.address, IHOLD_IRUN_register.sr);
charly 0:f4343071c8b1 5 #define GET_REG(SETTING) return IHOLD_IRUN_register.SETTING;
charly 0:f4343071c8b1 6
charly 0:f4343071c8b1 7 // IHOLD_IRUN
charly 0:f4343071c8b1 8 uint32_t TMCStepper::IHOLD_IRUN() { return IHOLD_IRUN_register.sr; }
charly 0:f4343071c8b1 9 void TMCStepper::IHOLD_IRUN(uint32_t input) {
charly 0:f4343071c8b1 10 IHOLD_IRUN_register.sr = input;
charly 0:f4343071c8b1 11 write(IHOLD_IRUN_register.address, IHOLD_IRUN_register.sr);
charly 0:f4343071c8b1 12 }
charly 0:f4343071c8b1 13
charly 0:f4343071c8b1 14 void TMCStepper::ihold(uint8_t B) { SET_REG(ihold); }
charly 0:f4343071c8b1 15 void TMCStepper::irun(uint8_t B) { SET_REG(irun); }
charly 0:f4343071c8b1 16 void TMCStepper::iholddelay(uint8_t B) { SET_REG(iholddelay); }
charly 0:f4343071c8b1 17
charly 0:f4343071c8b1 18 uint8_t TMCStepper::ihold() { GET_REG(ihold); }
charly 0:f4343071c8b1 19 uint8_t TMCStepper::irun() { GET_REG(irun); }
charly 0:f4343071c8b1 20 uint8_t TMCStepper::iholddelay() { GET_REG(iholddelay); }