RA Flexible Software Package Documentation  Release v5.2.0

 
ELC Interface

Detailed Description

Interface for the Event Link Controller.

Data Structures

struct  elc_cfg_t
 
struct  elc_api_t
 
struct  elc_instance_t
 

Typedefs

typedef void elc_ctrl_t
 

Enumerations

enum  elc_peripheral_t
 
enum  elc_software_event_t
 

Data Structure Documentation

◆ elc_cfg_t

struct elc_cfg_t

Main configuration structure for the Event Link Controller

Data Fields
elc_event_t const link[ELC_PERIPHERAL_NUM] Event link register settings.
void const * p_extend Extension parameter for hardware specific settings.

◆ elc_api_t

struct elc_api_t

ELC driver structure. General ELC functions implemented at the HAL layer follow this API.

Data Fields

fsp_err_t(* open )(elc_ctrl_t *const p_ctrl, elc_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(elc_ctrl_t *const p_ctrl)
 
fsp_err_t(* softwareEventGenerate )(elc_ctrl_t *const p_ctrl, elc_software_event_t event_num)
 
fsp_err_t(* linkSet )(elc_ctrl_t *const p_ctrl, elc_peripheral_t peripheral, elc_event_t signal)
 
fsp_err_t(* linkBreak )(elc_ctrl_t *const p_ctrl, elc_peripheral_t peripheral)
 
fsp_err_t(* enable )(elc_ctrl_t *const p_ctrl)
 
fsp_err_t(* disable )(elc_ctrl_t *const p_ctrl)
 

Field Documentation

◆ open

fsp_err_t(* elc_api_t::open) (elc_ctrl_t *const p_ctrl, elc_cfg_t const *const p_cfg)

Initialize all links in the Event Link Controller.

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

◆ close

fsp_err_t(* elc_api_t::close) (elc_ctrl_t *const p_ctrl)

Disable all links in the Event Link Controller and close the API.

Parameters
[in]p_ctrlPointer to control structure.

◆ softwareEventGenerate

fsp_err_t(* elc_api_t::softwareEventGenerate) (elc_ctrl_t *const p_ctrl, elc_software_event_t event_num)

Generate a software event in the Event Link Controller.

Parameters
[in]p_ctrlPointer to control structure.
[in]eventNumSoftware event number to be generated.

◆ linkSet

fsp_err_t(* elc_api_t::linkSet) (elc_ctrl_t *const p_ctrl, elc_peripheral_t peripheral, elc_event_t signal)

Create a single event link.

Parameters
[in]p_ctrlPointer to control structure.
[in]peripheralThe peripheral block that will receive the event signal.
[in]signalThe event signal.

◆ linkBreak

fsp_err_t(* elc_api_t::linkBreak) (elc_ctrl_t *const p_ctrl, elc_peripheral_t peripheral)

Break an event link.

Parameters
[in]p_ctrlPointer to control structure.
[in]peripheralThe peripheral that should no longer be linked.

◆ enable

fsp_err_t(* elc_api_t::enable) (elc_ctrl_t *const p_ctrl)

Enable the operation of the Event Link Controller.

Parameters
[in]p_ctrlPointer to control structure.

◆ disable

fsp_err_t(* elc_api_t::disable) (elc_ctrl_t *const p_ctrl)

Disable the operation of the Event Link Controller.

Parameters
[in]p_ctrlPointer to control structure.

◆ elc_instance_t

struct elc_instance_t

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

Data Fields
elc_ctrl_t * p_ctrl Pointer to the control structure for this instance.
elc_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
elc_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ elc_ctrl_t

typedef void elc_ctrl_t

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

Enumeration Type Documentation

◆ elc_peripheral_t

Possible peripherals to be linked to event signals (not all available on all MCUs)

◆ elc_software_event_t

Software event number

Enumerator
ELC_SOFTWARE_EVENT_0 

Software event 0.

ELC_SOFTWARE_EVENT_1 

Software event 1.