Open FFBoard
Open source force feedback firmware
ODriveCAN.h File Reference

Go to the source code of this file.

Classes

class  ODriveCAN
 
class  ODriveCAN1
 
class  ODriveCAN2
 

Enumerations

enum class  ODriveState : uint32_t {
  AXIS_STATE_UNDEFINED =0 , AXIS_STATE_IDLE =1 , AXIS_STATE_STARTUP_SEQUENCE =2 , AXIS_STATE_FULL_CALIBRATION_SEQUENCE =3 ,
  AXIS_STATE_MOTOR_CALIBRATION =4 , AXIS_STATE_ENCODER_INDEX_SEARCH =6 , AXIS_STATE_ENCODER_OFFSET_CALIBRATION =7 , AXIS_STATE_CLOSED_LOOP_CONTROL =8 ,
  AXIS_STATE_LOCKIN_SPIN =9 , AXIS_STATE_ENCODER_DIR_FIND =10 , AXIS_STATE_HOMING =11 , AXIS_STATE_ENCODER_HALL_POLARITY_CALIBRATION =12 ,
  AXIS_STATE_ENCODER_HALL_PHASE_CALIBRATION =13
}
 
enum class  ODriveControlMode : uint32_t { CONTROL_MODE_VOLTAGE_CONTROL = 0 , CONTROL_MODE_TORQUE_CONTROL = 1 , CONTROL_MODE_VELOCITY_CONTROL = 2 , CONTROL_MODE_POSITION_CONTROL = 3 }
 
enum class  ODriveInputMode : uint32_t {
  INPUT_MODE_INACTIVE = 0 , INPUT_MODE_PASSTHROUGH = 1 , INPUT_MODE_VEL_RAMP = 2 , INPUT_MODE_POS_FILTER = 3 ,
  INPUT_MODE_MIX_CHANNELS = 4 , INPUT_MODE_TRAP_TRAJ = 5 , INPUT_MODE_TORQUE_RAMP =6 , INPUT_MODE_MIRROR =7
}
 
enum class  ODriveLocalState : uint32_t {
  IDLE , WAIT_READY , WAIT_CALIBRATION_DONE , WAIT_CALIBRATION ,
  RUNNING , START_RUNNING
}
 
enum class  ODriveEncoderFlags : uint32_t {
  ERROR_NONE = 0 , ERROR_UNSTABLE_GAIN = 0x01 , ERROR_CPR_POLEPAIRS_MISMATCH = 0x02 , ERROR_NO_RESPONSE = 0x04 ,
  ERROR_UNSUPPORTED_ENCODER_MODE = 0x08 , ERROR_ILLEGAL_HALL_STATE = 0x10 , ERROR_INDEX_NOT_FOUND_YET = 0x20 , ERROR_ABS_SPI_TIMEOUT = 0x40 ,
  ERROR_ABS_SPI_COM_FAIL = 0x80 , ERROR_ABS_SPI_NOT_READY = 0x100 , ERROR_HALL_NOT_CALIBRATED_YET = 0x200
}
 
enum class  ODriveAxisError : uint32_t {
  AXIS_ERROR_NONE = 0x00000000 , AXIS_ERROR_INVALID_STATE = 0x00000001 , AXIS_ERROR_WATCHDOG_TIMER_EXPIRED = 0x00000800 , AXIS_ERROR_MIN_ENDSTOP_PRESSED = 0x00001000 ,
  AXIS_ERROR_MAX_ENDSTOP_PRESSED = 0x00002000 , AXIS_ERROR_ESTOP_REQUESTED = 0x00004000 , AXIS_ERROR_HOMING_WITHOUT_ENDSTOP = 0x00020000 , AXIS_ERROR_OVER_TEMP = 0x00040000 ,
  AXIS_ERROR_UNKNOWN_POSITION = 0x00080000
}
 
enum class  ODriveCAN_commands : uint32_t {
  canid , canspd , errors , state ,
  maxtorque , vbus , anticogging , connected ,
  storepos
}
 

Enumeration Type Documentation

◆ ODriveAxisError

enum class ODriveAxisError : uint32_t
strong
Enumerator
AXIS_ERROR_NONE 
AXIS_ERROR_INVALID_STATE 
AXIS_ERROR_WATCHDOG_TIMER_EXPIRED 
AXIS_ERROR_MIN_ENDSTOP_PRESSED 
AXIS_ERROR_MAX_ENDSTOP_PRESSED 
AXIS_ERROR_ESTOP_REQUESTED 
AXIS_ERROR_HOMING_WITHOUT_ENDSTOP 
AXIS_ERROR_OVER_TEMP 
AXIS_ERROR_UNKNOWN_POSITION 

Definition at line 29 of file ODriveCAN.h.

◆ ODriveCAN_commands

enum class ODriveCAN_commands : uint32_t
strong
Enumerator
canid 
canspd 
errors 
state 
maxtorque 
vbus 
anticogging 
connected 
storepos 

Definition at line 31 of file ODriveCAN.h.

◆ ODriveControlMode

enum class ODriveControlMode : uint32_t
strong
Enumerator
CONTROL_MODE_VOLTAGE_CONTROL 
CONTROL_MODE_TORQUE_CONTROL 
CONTROL_MODE_VELOCITY_CONTROL 
CONTROL_MODE_POSITION_CONTROL 

Definition at line 24 of file ODriveCAN.h.

◆ ODriveEncoderFlags

enum class ODriveEncoderFlags : uint32_t
strong
Enumerator
ERROR_NONE 
ERROR_UNSTABLE_GAIN 
ERROR_CPR_POLEPAIRS_MISMATCH 
ERROR_NO_RESPONSE 
ERROR_UNSUPPORTED_ENCODER_MODE 
ERROR_ILLEGAL_HALL_STATE 
ERROR_INDEX_NOT_FOUND_YET 
ERROR_ABS_SPI_TIMEOUT 
ERROR_ABS_SPI_COM_FAIL 
ERROR_ABS_SPI_NOT_READY 
ERROR_HALL_NOT_CALIBRATED_YET 

Definition at line 28 of file ODriveCAN.h.

◆ ODriveInputMode

enum class ODriveInputMode : uint32_t
strong
Enumerator
INPUT_MODE_INACTIVE 
INPUT_MODE_PASSTHROUGH 
INPUT_MODE_VEL_RAMP 
INPUT_MODE_POS_FILTER 
INPUT_MODE_MIX_CHANNELS 
INPUT_MODE_TRAP_TRAJ 
INPUT_MODE_TORQUE_RAMP 
INPUT_MODE_MIRROR 

Definition at line 25 of file ODriveCAN.h.

◆ ODriveLocalState

enum class ODriveLocalState : uint32_t
strong
Enumerator
IDLE 
WAIT_READY 
WAIT_CALIBRATION_DONE 
WAIT_CALIBRATION 
RUNNING 
START_RUNNING 

Definition at line 26 of file ODriveCAN.h.

◆ ODriveState

enum class ODriveState : uint32_t
strong
Enumerator
AXIS_STATE_UNDEFINED 
AXIS_STATE_IDLE 
AXIS_STATE_STARTUP_SEQUENCE 
AXIS_STATE_FULL_CALIBRATION_SEQUENCE 
AXIS_STATE_MOTOR_CALIBRATION 
AXIS_STATE_ENCODER_INDEX_SEARCH 
AXIS_STATE_ENCODER_OFFSET_CALIBRATION 
AXIS_STATE_CLOSED_LOOP_CONTROL 
AXIS_STATE_LOCKIN_SPIN 
AXIS_STATE_ENCODER_DIR_FIND 
AXIS_STATE_HOMING 
AXIS_STATE_ENCODER_HALL_POLARITY_CALIBRATION 
AXIS_STATE_ENCODER_HALL_PHASE_CALIBRATION 

Definition at line 23 of file ODriveCAN.h.