uStepper S-lite
Macros
masks and shift patterns for every bit in each register

Macros

#define TMC2208_WRITE_BIT   0x80
 
#define TMC2208_I_SCALE_ANALOG_MASK   0x01
 
#define TMC2208_I_SCALE_ANALOG_SHIFT   0
 
#define TMC2208_INTERNAL_RSENSE_MASK   0x02
 
#define TMC2208_INTERNAL_RSENSE_SHIFT   1
 
#define TMC2208_EN_SPREADCYCLE_MASK   0x04
 
#define TMC2208_EN_SPREADCYCLE_SHIFT   2
 
#define TMC2208_SHAFT_MASK   0x08
 
#define TMC2208_SHAFT_SHIFT   3
 
#define TMC2208_INDEX_OTPW_MASK   0x10
 
#define TMC2208_INDEX_OTPW_SHIFT   4
 
#define TMC2208_INDEX_STEP_MASK   0x20
 
#define TMC2208_INDEX_STEP_SHIFT   5
 
#define TMC2208_PDN_DISABLE_MASK   0x40
 
#define TMC2208_PDN_DISABLE_SHIFT   6
 
#define TMC2208_MSTEP_REG_SELECT_MASK   0x80
 
#define TMC2208_MSTEP_REG_SELECT_SHIFT   7
 
#define TMC2208_MULTISTEP_FILT_MASK   0x0100
 
#define TMC2208_MULTISTEP_FILT_SHIFT   8
 
#define TMC2208_TEST_MODE_MASK   0x0200
 
#define TMC2208_TEST_MODE_SHIFT   9
 
#define TMC2208_RESET_MASK   0x01
 
#define TMC2208_RESET_SHIFT   0
 
#define TMC2208_DRV_ERR_MASK   0x02
 
#define TMC2208_DRV_ERR_SHIFT   1
 
#define TMC2208_UV_CP_MASK   0x04
 
#define TMC2208_UV_CP_SHIFT   2
 
#define TMC2208_IFCNT_MASK   0xFF
 
#define TMC2208_IFCNT_SHIFT   0
 
#define TMC2208_SLAVECONF_MASK   0x0F00
 
#define TMC2208_SLAVECONF_SHIFT   8
 
#define TMC2208_OTPBIT_MASK   0x07
 
#define TMC2208_OTPBIT_SHIFT   0
 
#define TMC2208_OTPBYTE_MASK   0x30
 
#define TMC2208_OTPBYTE_SHIFT   4
 
#define TMC2208_OTPMAGIC_MASK   0xFF00
 
#define TMC2208_OTPMAGIC_SHIFT   8
 
#define TMC2208_OTP0_BYTE_0_READ_DATA_MASK   0x01
 
#define TMC2208_OTP0_BYTE_0_READ_DATA_SHIFT   0
 
#define TMC2208_OTP1_BYTE_1_READ_DATA_MASK   0x02
 
#define TMC2208_OTP1_BYTE_1_READ_DATA_SHIFT   8
 
#define TMC2208_OTP2_BYTE_2_READ_DATA_MASK   0x04
 
#define TMC2208_OTP2_BYTE_2_READ_DATA_SHIFT   16
 
#define TMC2208_ENN_MASK   0x01
 
#define TMC2208_ENN_SHIFT   0
 
#define TMC2208_MS1_MASK   0x04
 
#define TMC2208_MS1_SHIFT   2
 
#define TMC2208_MS2_MASK   0x08
 
#define TMC2208_MS2_SHIFT   3
 
#define TMC2208_DIAG_MASK   0x10
 
#define TMC2208_DIAG_SHIFT   4
 
#define TMC2208_PDN_UART_MASK   0x40
 
#define TMC2208_PDN_UART_SHIFT   6
 
#define TMC2208_STEP_MASK   0x80
 
#define TMC2208_STEP_SHIFT   7
 
#define TMC2208_SEL_A_MASK   0x0100
 
#define TMC2208_SEL_A_SHIFT   8
 
#define TMC2208_DIR_MASK   0x0200
 
#define TMC2208_DIR_SHIFT   9
 
#define TMC2208_VERSION_MASK   0xFF000000
 
#define TMC2208_VERSION_SHIFT   24
 
#define TMC2208_FCLKTRIM_MASK   0x1F
 
#define TMC2208_FCLKTRIM_SHIFT   0
 
#define TMC2208_OTTRIM_MASK   0x30
 
#define TMC2208_OTTRIM_SHIFT   8
 
#define TMC2208_IHOLD_MASK   0x1F
 
#define TMC2208_IHOLD_SHIFT   0
 
#define TMC2208_IRUN_MASK   0x1F00
 
#define TMC2208_IRUN_SHIFT   8
 
#define TMC2208_IHOLDDELAY_MASK   0x0F0000
 
#define TMC2208_IHOLDDELAY_SHIFT   16
 
#define TMC2208_TPOWERDOWN_MASK   0xFF
 
#define TMC2208_TPOWERDOWN_SHIFT   0
 
#define TMC2208_TSTEP_MASK   0x0FFFFF
 
#define TMC2208_TSTEP_SHIFT   0
 
#define TMC2208_TPWMTHRS_MASK   0x0FFFFF
 
#define TMC2208_TPWMTHRS_SHIFT   0
 
#define TMC2208_VACTUAL_MASK   0xFFFFFF
 
#define TMC2208_VACTUAL_SHIFT   0
 
#define TMC2208_MSCNT_MASK   0x03FF
 
#define TMC2208_MSCNT_SHIFT   0
 
#define TMC2208_CUR_A_MASK   0x01FF
 
#define TMC2208_CUR_A_SHIFT   0
 
#define TMC2208_CUR_B_MASK   0x01FF0000
 
#define TMC2208_CUR_B_SHIFT   16
 
#define TMC2208_TOFF_MASK   0x0F
 
#define TMC2208_TOFF_SHIFT   0
 
#define TMC2208_HSTRT_MASK   0x70
 
#define TMC2208_HSTRT_SHIFT   4
 
#define TMC2208_HEND_MASK   0x0780
 
#define TMC2208_HEND_SHIFT   7
 
#define TMC2208_TBL_MASK   0x018000
 
#define TMC2208_TBL_SHIFT   15
 
#define TMC2208_VSENSE_MASK   0x020000
 
#define TMC2208_VSENSE_SHIFT   17
 
#define TMC2208_MRES_MASK   0x0F000000
 
#define TMC2208_MRES_SHIFT   24
 
#define TMC2208_INTPOL_MASK   0x10000000
 
#define TMC2208_INTPOL_SHIFT   28
 
#define TMC2208_DEDGE_MASK   0x20000000
 
#define TMC2208_DEDGE_SHIFT   29
 
#define TMC2208_DISS2G_MASK   0x40000000
 
#define TMC2208_DISS2G_SHIFT   30
 
#define TMC2208_DISS2VS_MASK   0x80000000
 
#define TMC2208_DISS2VS_SHIFT   31
 
#define TMC2208_OTPW_MASK   0x01
 
#define TMC2208_OTPW_SHIFT   0
 
#define TMC2208_OT_MASK   0x02
 
#define TMC2208_OT_SHIFT   1
 
#define TMC2208_S2GA_MASK   0x04
 
#define TMC2208_S2GA_SHIFT   2
 
#define TMC2208_S2GB_MASK   0x08
 
#define TMC2208_S2GB_SHIFT   3
 
#define TMC2208_S2VSA_MASK   0x10
 
#define TMC2208_S2VSA_SHIFT   4
 
#define TMC2208_S2VSB_MASK   0x20
 
#define TMC2208_S2VSB_SHIFT   5
 
#define TMC2208_OLA_MASK   0x40
 
#define TMC2208_OLA_SHIFT   6
 
#define TMC2208_OLB_MASK   0x80
 
#define TMC2208_OLB_SHIFT   7
 
#define TMC2208_T120_MASK   0x0100
 
#define TMC2208_T120_SHIFT   8
 
#define TMC2208_T143_MASK   0x0200
 
#define TMC2208_T143_SHIFT   9
 
#define TMC2208_T150_MASK   0x0400
 
#define TMC2208_T150_SHIFT   10
 
#define TMC2208_T157_MASK   0x0800
 
#define TMC2208_T157_SHIFT   11
 
#define TMC2208_CS_ACTUAL_MASK   0x1F0000
 
#define TMC2208_CS_ACTUAL_SHIFT   16
 
#define TMC2208_STEALTH_MASK   0x40000000
 
#define TMC2208_STEALTH_SHIFT   30
 
#define TMC2208_STST_MASK   0x80000000
 
#define TMC2208_STST_SHIFT   31
 
#define TMC2208_PWM_OFS_MASK   0xFF
 
#define TMC2208_PWM_OFS_SHIFT   0
 
#define TMC2208_PWM_GRAD_MASK   0xFF00
 
#define TMC2208_PWM_GRAD_SHIFT   8
 
#define TMC2208_PWM_FREQ_MASK   0x030000
 
#define TMC2208_PWM_FREQ_SHIFT   16
 
#define TMC2208_PWM_AUTOSCALE_MASK   0x040000
 
#define TMC2208_PWM_AUTOSCALE_SHIFT   18
 
#define TMC2208_PWM_AUTOGRAD_MASK   0x080000
 
#define TMC2208_PWM_AUTOGRAD_SHIFT   19
 
#define TMC2208_FREEWHEEL_MASK   0x300000
 
#define TMC2208_FREEWHEEL_SHIFT   20
 
#define TMC2208_PWM_REG_MASK   0x0F000000
 
#define TMC2208_PWM_REG_SHIFT   24
 
#define TMC2208_PWM_LIM_MASK   0xF0000000
 
#define TMC2208_PWM_LIM_SHIFT   28
 
#define TMC2208_PWM_SCALE_SUM_MASK   0xFF
 
#define TMC2208_PWM_SCALE_SUM_SHIFT   0
 
#define TMC2208_PWM_SCALE_AUTO_MASK   0x01FF0000
 
#define TMC2208_PWM_SCALE_AUTO_SHIFT   16
 
#define TMC2208_PWM_OFS_AUTO_MASK   0xFF
 
#define TMC2208_PWM_OFS_AUTO_SHIFT   0
 
#define TMC2208_PWM_GRAD_AUTO_MASK   0xFF0000
 
#define TMC2208_PWM_GRAD_AUTO_SHIFT   16
 

Detailed Description