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

Dependents:   TMC2209-Test2

DRV_STATUS.cpp

Committer:
charly
Date:
2021-12-02
Revision:
2:b34e91b54373
Parent:
0:f4343071c8b1

File content as of revision 2:b34e91b54373:

#include "TMCStepper.h"
#include "TMC_MACROS.h"

#define GET_REG(NS, SETTING) NS::DRV_STATUS_t r{0}; r.sr = DRV_STATUS(); return r.SETTING
/*
uint32_t TMC2130Stepper::DRV_STATUS() { return read(DRV_STATUS_t::address); }

uint16_t TMC2130Stepper::sg_result(){ GET_REG(TMC2130_n, sg_result);    }
bool TMC2130Stepper::fsactive()     { GET_REG(TMC2130_n, fsactive);     }
uint8_t TMC2130Stepper::cs_actual() { GET_REG(TMC2130_n, cs_actual);    }
bool TMC2130Stepper::stallguard()   { GET_REG(TMC2130_n, stallGuard);   }
bool TMC2130Stepper::ot()           { GET_REG(TMC2130_n, ot);           }
bool TMC2130Stepper::otpw()         { GET_REG(TMC2130_n, otpw);         }
bool TMC2130Stepper::s2ga()         { GET_REG(TMC2130_n, s2ga);         }
bool TMC2130Stepper::s2gb()         { GET_REG(TMC2130_n, s2gb);         }
bool TMC2130Stepper::ola()          { GET_REG(TMC2130_n, ola);          }
bool TMC2130Stepper::olb()          { GET_REG(TMC2130_n, olb);          }
bool TMC2130Stepper::stst()         { GET_REG(TMC2130_n, stst);         }
*/
uint32_t TMC2208Stepper::DRV_STATUS() {
    return read(TMC2208_n::DRV_STATUS_t::address);
}

bool        TMC2208Stepper::otpw()      { GET_REG(TMC2208_n, otpw);         }
bool        TMC2208Stepper::ot()        { GET_REG(TMC2208_n, ot);           }
bool        TMC2208Stepper::s2ga()      { GET_REG(TMC2208_n, s2ga);         }
bool        TMC2208Stepper::s2gb()      { GET_REG(TMC2208_n, s2gb);         }
bool        TMC2208Stepper::s2vsa()     { GET_REG(TMC2208_n, s2vsa);        }
bool        TMC2208Stepper::s2vsb()     { GET_REG(TMC2208_n, s2vsb);        }
bool        TMC2208Stepper::ola()       { GET_REG(TMC2208_n, ola);          }
bool        TMC2208Stepper::olb()       { GET_REG(TMC2208_n, olb);          }
bool        TMC2208Stepper::t120()      { GET_REG(TMC2208_n, t120);         }
bool        TMC2208Stepper::t143()      { GET_REG(TMC2208_n, t143);         }
bool        TMC2208Stepper::t150()      { GET_REG(TMC2208_n, t150);         }
bool        TMC2208Stepper::t157()      { GET_REG(TMC2208_n, t157);         }
uint16_t    TMC2208Stepper::cs_actual() { GET_REG(TMC2208_n, cs_actual);    }
bool        TMC2208Stepper::stealth()   { GET_REG(TMC2208_n, stealth);      }
bool        TMC2208Stepper::stst()      { GET_REG(TMC2208_n, stst);         }