Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
TMC4671.h File Reference

Go to the source code of this file.

Classes

struct  TMC4671MotConf
 
struct  TMC4671HardwareTypeConf
 
union  StatusFlags
 
struct  StatusFlags::StatusFlags_s
 
struct  TMC4671MainConfig
 
struct  TMC4671PIDConf
 
struct  TMC4671Limits
 
struct  TMC4671PidPrecision
 
struct  TMC4671FlashAddrs
 
struct  TMC4671ABNConf
 
struct  TMC4671AENCConf
 
struct  TMC4671HALLConf
 
struct  TMC4671Biquad_t
 
struct  TMC4671Biquad_conf
 
class  TMC4671Biquad
 
struct  TMC4671BiquadFilters
 
class  TMC4671
 
class  TMC4671::TMC_ExternalEncoderUpdateThread
 
class  TMC_1
 
class  TMC_2
 

Enumerations

enum class  TMC_ControlState : uint32_t {
  uninitialized , waitPower , Shutdown , Running ,
  EncoderInit , EncoderFinished , HardError , OverTemp ,
  IndexSearch , FullCalibration , ExternalEncoderInit , Pidautotune
}
 
enum class  TMC_PwmMode : uint8_t {
  off = 0 , HSlow_LShigh = 1 , HShigh_LSlow = 2 , res2 = 3 ,
  res3 = 4 , PWM_LS = 5 , PWM_HS = 6 , PWM_FOC = 7
}
 
enum class  TMC_StartupType { NONE , coldStart , warmStart }
 
enum class  TMC_GpioMode {
  DebugSpi , DSAdcClkOut , DSAdcClkIn , Aout_Bin ,
  Ain_Bout , Aout_Bout , Ain_Bin
}
 
enum class  MotorType : uint8_t {
  NONE =0 , DC =1 , STEPPER =2 , BLDC =3 ,
  ERR
}
 
enum class  PhiE : uint8_t {
  ext =1 , openloop =2 , abn =3 , hall =5 ,
  aenc =6 , aencE =7 , NONE , extEncoder
}
 
enum class  MotionMode : uint8_t {
  stop =0 , torque =1 , velocity =2 , position =3 ,
  prbsflux =4 , prbstorque =5 , prbsvelocity =6 , uqudext =8 ,
  encminimove =9 , NONE
}
 
enum class  FFMode : uint8_t { none =0 , velocity =1 , torque =2 }
 
enum class  PosSelection : uint8_t {
  PhiE =0 , PhiE_ext =1 , PhiE_openloop =2 , PhiE_abn =3 ,
  res1 =4 , PhiE_hal =5 , PhiE_aenc =6 , PhiA_aenc =7 ,
  res2 =8 , PhiM_abn =9 , PhiM_abn2 =10 , PhiM_aenc =11 ,
  PhiM_hal =12
}
 
enum class  VelSelection : uint8_t {
  PhiE =0 , PhiE_ext =1 , PhiE_openloop =2 , PhiE_abn =3 ,
  res1 =4 , PhiE_hal =5 , PhiE_aenc =6 , PhiA_aenc =7 ,
  res2 =8 , PhiM_abn =9 , PhiM_abn2 =10 , PhiM_aenc =11 ,
  PhiM_hal =12
}
 
enum class  EncoderType_TMC : uint8_t {
  NONE =0 , abn =1 , sincos =2 , uvw =3 ,
  hall =4 , ext =5
}
 
enum class  TMC_HW_Ver : uint8_t {
  NONE =0 , v1_0 , v1_2 , v1_2_2 ,
  v1_2_2_LEM20 , v1_2_2_100mv , v1_3_66mv
}
 
enum class  TMCbiquadpreset : uint8_t { none =0 , lowpass =1 , notch =2 , peak =3 }
 

Variables

SPI_HandleTypeDef HSPIDRV
 
TIM_HandleTypeDef TIM_TMC
 
const std::vector< std::pair< TMC_HW_Ver, std::string > > tmcHwVersionNames
 

Enumeration Type Documentation

◆ EncoderType_TMC

enum class EncoderType_TMC : uint8_t
strong
Enumerator
NONE 
abn 
sincos 
uvw 
hall 
ext 

Definition at line 55 of file TMC4671.h.

◆ FFMode

enum class FFMode : uint8_t
strong
Enumerator
none 
velocity 
torque 

Definition at line 52 of file TMC4671.h.

◆ MotionMode

enum class MotionMode : uint8_t
strong
Enumerator
stop 
torque 
velocity 
position 
prbsflux 
prbstorque 
prbsvelocity 
uqudext 
encminimove 
NONE 

Definition at line 51 of file TMC4671.h.

◆ MotorType

enum class MotorType : uint8_t
strong
Enumerator
NONE 
DC 
STEPPER 
BLDC 
ERR 

Definition at line 49 of file TMC4671.h.

◆ PhiE

enum class PhiE : uint8_t
strong
Enumerator
ext 
openloop 
abn 
hall 
aenc 
aencE 
NONE 
extEncoder 

Definition at line 50 of file TMC4671.h.

◆ PosSelection

enum class PosSelection : uint8_t
strong
Enumerator
PhiE 
PhiE_ext 
PhiE_openloop 
PhiE_abn 
res1 
PhiE_hal 
PhiE_aenc 
PhiA_aenc 
res2 
PhiM_abn 
PhiM_abn2 
PhiM_aenc 
PhiM_hal 

Definition at line 53 of file TMC4671.h.

◆ TMC_ControlState

enum class TMC_ControlState : uint32_t
strong
Enumerator
uninitialized 
waitPower 
Shutdown 
Running 
EncoderInit 
EncoderFinished 
HardError 
OverTemp 
IndexSearch 
FullCalibration 
ExternalEncoderInit 
Pidautotune 

Definition at line 41 of file TMC4671.h.

◆ TMC_GpioMode

enum class TMC_GpioMode
strong
Enumerator
DebugSpi 
DSAdcClkOut 
DSAdcClkIn 
Aout_Bin 
Ain_Bout 
Aout_Bout 
Ain_Bin 

Definition at line 47 of file TMC4671.h.

◆ TMC_HW_Ver

enum class TMC_HW_Ver : uint8_t
strong
Enumerator
NONE 
v1_0 
v1_2 
v1_2_2 
v1_2_2_LEM20 
v1_2_2_100mv 
v1_3_66mv 

Definition at line 58 of file TMC4671.h.

◆ TMC_PwmMode

enum class TMC_PwmMode : uint8_t
strong
Enumerator
off 
HSlow_LShigh 
HShigh_LSlow 
res2 
res3 
PWM_LS 
PWM_HS 
PWM_FOC 

Definition at line 43 of file TMC4671.h.

◆ TMC_StartupType

enum class TMC_StartupType
strong
Enumerator
NONE 
coldStart 
warmStart 

Definition at line 45 of file TMC4671.h.

◆ TMCbiquadpreset

enum class TMCbiquadpreset : uint8_t
strong
Enumerator
none 
lowpass 
notch 
peak 

Definition at line 269 of file TMC4671.h.

◆ VelSelection

enum class VelSelection : uint8_t
strong
Enumerator
PhiE 
PhiE_ext 
PhiE_openloop 
PhiE_abn 
res1 
PhiE_hal 
PhiE_aenc 
PhiA_aenc 
res2 
PhiM_abn 
PhiM_abn2 
PhiM_aenc 
PhiM_hal 

Definition at line 54 of file TMC4671.h.

Variable Documentation

◆ HSPIDRV

SPI_HandleTypeDef HSPIDRV
extern

◆ TIM_TMC

TIM_HandleTypeDef TIM_TMC
extern

◆ tmcHwVersionNames

const std::vector<std::pair<TMC_HW_Ver,std::string> > tmcHwVersionNames
Initial value:
{
std::make_pair(TMC_HW_Ver::NONE,"Undefined"),
std::make_pair(TMC_HW_Ver::v1_0,"v1.0 AD8417"),
std::make_pair(TMC_HW_Ver::v1_2,"v1.2 AD8417"),
std::make_pair(TMC_HW_Ver::v1_2_2,"v1.2.2 LEM GO 10 (80mV/A)"),
std::make_pair(TMC_HW_Ver::v1_2_2_LEM20,"v1.2.2 LEM GO 20 (40mV/A)"),
std::make_pair(TMC_HW_Ver::v1_2_2_100mv,"v1.2/3 100mV/A"),
std::make_pair(TMC_HW_Ver::v1_3_66mv,"v1.3 ACS724 30A (66mV/A)")
}
@ v1_2_2_100mv
Definition TMC4671.h:58
@ v1_3_66mv
Definition TMC4671.h:58
@ v1_2_2_LEM20
Definition TMC4671.h:58

Definition at line 60 of file TMC4671.h.