RA Flexible Software Package Documentation  Release v6.6.0

 
Motor Trajectory Interface

Detailed Description

Interface for motor trajectory functions.

Summary

The Motor trajectory interface provides Motor functionality.

Data Structures

struct  motor_trajectory_callback_args_t
 
struct  motor_trajectory_cfg_t
 
struct  motor_trajectory_params_base_t
 
struct  motor_trajectory_target_t
 
struct  motor_trajectory_api_t
 
struct  motor_trajectory_instance_t
 

Typedefs

typedef uint32_t motor_trajectory_command_flags_t
 
typedef void motor_trajectory_ctrl_t
 

Enumerations

enum  motor_trajectory_state_t
 
enum  motor_trajectory_type_id_t
 
enum  motor_trajectory_bypass_mode_t
 
enum  motor_trajectory_command_status_t
 
enum  motor_trajectory_error_t
 
enum  motor_trajectory_accel_state_t
 
enum  motor_trajectory_direction_t
 

Data Structure Documentation

◆ motor_trajectory_callback_args_t

struct motor_trajectory_callback_args_t

Trajectory callback arguments

Data Fields
float * p_reference Pointer to new reference value.
bool force_align Force alignment flag.
float align_value Alignment value.

◆ motor_trajectory_cfg_t

struct motor_trajectory_cfg_t

Configuration parameters.

Data Fields

void(* p_user_callback )(void *p_args)
 Callback function.
 
void * p_user_callback_args
 Callback function arguments.
 
void const * p_context
 User context data.
 
void const * p_extend
 Extended configuration.
 

◆ motor_trajectory_params_base_t

struct motor_trajectory_params_base_t

Basis structure of orbital parameters

Data Fields
uint32_t type_id Magic number for type identification.
uint16_t version Parameter structure version.
uint16_t size Structure size for validation.
motor_trajectory_command_flags_t command_flags Command flags.

◆ motor_trajectory_target_t

struct motor_trajectory_target_t

Common Structure for Target Settings

Data Fields
motor_trajectory_params_base_t
const *
p_params Pointer to parameter structure.

◆ motor_trajectory_api_t

struct motor_trajectory_api_t

Functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(motor_trajectory_ctrl_t *const p_ctrl)
 
fsp_err_t(* reset )(motor_trajectory_ctrl_t *const p_ctrl)
 
fsp_err_t(* targetSet )(motor_trajectory_ctrl_t *const p_ctrl, const motor_trajectory_target_t *p_target, motor_trajectory_command_status_t *const p_cmd_status)
 
fsp_err_t(* statusGet )(motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_state_t *const p_status)
 
fsp_err_t(* bypassModeSet )(motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_bypass_mode_t bypass_mode)
 
fsp_err_t(* callback )(motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_callback_args_t *const p_args)
 

Field Documentation

◆ open

fsp_err_t(* motor_trajectory_api_t::open) (motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_cfg_t const *const p_cfg)

Open driver.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to configuration structure.

◆ close

fsp_err_t(* motor_trajectory_api_t::close) (motor_trajectory_ctrl_t *const p_ctrl)

Close driver.

Parameters
[in]p_ctrlPointer to control structure.

◆ reset

fsp_err_t(* motor_trajectory_api_t::reset) (motor_trajectory_ctrl_t *const p_ctrl)

Reset the motor control. (Recover from the error status.)

Parameters
[in]p_ctrlPointer to control structure.

◆ targetSet

fsp_err_t(* motor_trajectory_api_t::targetSet) (motor_trajectory_ctrl_t *const p_ctrl, const motor_trajectory_target_t *p_target, motor_trajectory_command_status_t *const p_cmd_status)

Set target information.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_targetPointer to target parameters.
[out]p_cmd_statusPointer to command status output.

◆ statusGet

fsp_err_t(* motor_trajectory_api_t::statusGet) (motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_state_t *const p_status)

Get the trajectory control status.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_statusPointer to get the motor control status.

◆ bypassModeSet

fsp_err_t(* motor_trajectory_api_t::bypassModeSet) (motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_bypass_mode_t bypass_mode)

Enable bypass mode for the trajectory module.

Parameters
[in]p_ctrlPointer to control structure.
[out]bypass_modebypass control status

◆ callback

fsp_err_t(* motor_trajectory_api_t::callback) (motor_trajectory_ctrl_t *const p_ctrl, motor_trajectory_callback_args_t *const p_args)

callback for the trajectory module.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_argsPointer to callback arguments.

◆ motor_trajectory_instance_t

struct motor_trajectory_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
motor_trajectory_ctrl_t * p_ctrl Pointer to the control structure for this instance.
motor_trajectory_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
motor_trajectory_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ motor_trajectory_command_flags_t

Command flags

◆ motor_trajectory_ctrl_t

trajectory Control block. Allocate an instance specific control block to pass into the API calls.

Enumeration Type Documentation

◆ motor_trajectory_state_t

Trajectory execution state

Enumerator
MOTOR_TRAJECTORY_STATE_IDLE 

Trajectory inactive.

MOTOR_TRAJECTORY_STATE_IN_PROGRESS 

Trajectory in execution.

MOTOR_TRAJECTORY_STATE_QUEUED 

New command is queued.

◆ motor_trajectory_type_id_t

Type Identifier Definition

Enumerator
MOTOR_TRAJECTORY_TYPE_ID_LINEAR 

"LINR" in ASCII

MOTOR_TRAJECTORY_TYPE_ID_TRAPEZOID 

"TRAP" in ASCII

MOTOR_TRAJECTORY_TYPE_ID_POSITION 

"POSI" in ASCII

MOTOR_TRAJECTORY_TYPE_ID_SINUSOID 

"SINU" in ASCII

MOTOR_TRAJECTORY_TYPE_ID_SCURVE 

"SCUR" in ASCII

MOTOR_TRAJECTORY_TYPE_ID_HOMING 

"HOMI" in ASCII

◆ motor_trajectory_bypass_mode_t

Bypass mode

Enumerator
MOTOR_TRAJECTORY_BYPASS_MODE_DISABLE 

Disable bypass mode.

MOTOR_TRAJECTORY_BYPASS_MODE_ENABLE 

Enable bypass mode.

◆ motor_trajectory_command_status_t

Command status

Enumerator
MOTOR_TRAJECTORY_COMMAND_STATUS_ACCEPTED_IMMEDIATE 

New command applied immediately.

MOTOR_TRAJECTORY_COMMAND_STATUS_QUEUED 

Command queued.

MOTOR_TRAJECTORY_COMMAND_STATUS_REJECTED 

Command rejected.

◆ motor_trajectory_error_t

Error information

◆ motor_trajectory_accel_state_t

Acceleration / Deceleration operation status

Enumerator
MOTOR_TRAJECTORY_ACCEL_STATE_ACCELERATING 

Accelerating.

MOTOR_TRAJECTORY_ACCEL_STATE_DECELERATING 

Decelerating.

◆ motor_trajectory_direction_t

CW/CCW select

Enumerator
MOTOR_TRAJECTORY_DIRECTION_CW 

Clock Wize.

MOTOR_TRAJECTORY_DIRECTION_CCW 

Counter Clock Wize.