RZV Flexible Software Package Documentation  Release v3.1.0

 
All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages
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.