![]() |
RZT Flexible Software Package Documentation
Release v2.3.0
|
|
Interface for EtherCAT SSC functions.
The EtherCAT SSC port module (rm_ethercat_ssc_port) provides an API for EtherCAT Slave Stack Code that use the EtherCAT Slave Controler peripheral.
Data Structures | |
struct | ethercat_ssc_port_callback_args_t |
struct | ethercat_ssc_port_cfg_t |
struct | ethercat_ssc_port_api_t |
struct | ethercat_ssc_port_instance_t |
Typedefs | |
typedef void | ethercat_ssc_port_ctrl_t |
Enumerations | |
enum | ethercat_ssc_port_event_t |
struct ethercat_ssc_port_callback_args_t |
Callback function parameter data
Data Fields | ||
---|---|---|
ethercat_ssc_port_event_t | event | Event code. |
void const * | p_context | Placeholder for user data. Set in ethercat_ssc_port_api_t::open function in ethercat_ssc_port_cfg_t. |
struct ethercat_ssc_port_cfg_t |
Configuration parameters.
Data Fields | |
uint32_t | reset_hold_time |
PHY Reset signal hold time (ms) | |
uint32_t | reset_wait_time |
Wait time after PHY reset relase (us) | |
uint32_t | address_offset |
Offset of the PHY address. | |
IRQn_Type | common_irq |
EtherCAT IRQ interrupt number. | |
uint8_t | common_ipl |
EtherCAT interrupt priority. | |
IRQn_Type | sync0_irq |
EtherCAT Sync0 IRQ interrupt number. | |
uint8_t | sync0_ipl |
EtherCAT Sync0 interrupt priority. | |
IRQn_Type | sync1_irq |
EtherCAT Sync1 IRQ interrupt number. | |
uint8_t | sync1_ipl |
EtherCAT Sync1 interrupt priority. | |
void(* | p_callback )(ethercat_ssc_port_callback_args_t *p_args) |
Callback provided when an ISR occurs. | |
timer_instance_t const * | p_timer_instance |
Pointer to Timer instance. | |
void const * | p_context |
void const * | p_extend |
Placeholder for user extension. | |
void const* ethercat_ssc_port_cfg_t::p_context |
Placeholder for user data. Passed to the user callback in ethercat_ssc_port_callback_args_t.
struct ethercat_ssc_port_api_t |
Functions implemented at the HAL layer will follow this API.
Data Fields | |
fsp_err_t(* | open )(ethercat_ssc_port_ctrl_t *const p_api_ctrl, ethercat_ssc_port_cfg_t const *const p_cfg) |
fsp_err_t(* | close )(ethercat_ssc_port_ctrl_t *const p_api_ctrl) |
fsp_err_t(* ethercat_ssc_port_api_t::open) (ethercat_ssc_port_ctrl_t *const p_api_ctrl, ethercat_ssc_port_cfg_t const *const p_cfg) |
Open driver.
[in] | p_api_ctrl | Pointer to control structure. |
[in] | p_cfg | Pointer to EtherCAT SSC port configuration structure. |
fsp_err_t(* ethercat_ssc_port_api_t::close) (ethercat_ssc_port_ctrl_t *const p_api_ctrl) |
Close driver.
[in] | p_api_ctrl | Pointer to control structure. |
struct ethercat_ssc_port_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
Data Fields | ||
---|---|---|
ethercat_ssc_port_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
ethercat_ssc_port_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
ethercat_ssc_port_api_t const * | p_api | Pointer to the API structure for this instance. |
typedef void ethercat_ssc_port_ctrl_t |
Control block. Allocate an instance specific control block to pass into the API calls.