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

Dependents:   TMC2209-Test2

IHOLD_IRUN.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 SET_REG(SETTING) IHOLD_IRUN_register.SETTING = B; write(IHOLD_IRUN_register.address, IHOLD_IRUN_register.sr);
#define GET_REG(SETTING) return IHOLD_IRUN_register.SETTING;

// IHOLD_IRUN
uint32_t TMCStepper::IHOLD_IRUN() { return IHOLD_IRUN_register.sr; }
void TMCStepper::IHOLD_IRUN(uint32_t input) {
    IHOLD_IRUN_register.sr = input;
    write(IHOLD_IRUN_register.address, IHOLD_IRUN_register.sr);
}

void    TMCStepper::ihold(uint8_t B)        { SET_REG(ihold);       }
void    TMCStepper::irun(uint8_t B)         { SET_REG(irun);        }
void    TMCStepper::iholddelay(uint8_t B)   { SET_REG(iholddelay);  }

uint8_t TMCStepper::ihold()                 { GET_REG(ihold);       }
uint8_t TMCStepper::irun()                  { GET_REG(irun);        }
uint8_t TMCStepper::iholddelay()            { GET_REG(iholddelay);  }