Synergy Software Package User's Manual

#include <sf_external_irq_api.h>

Data Fields

ssp_err_t(* open )(sf_external_irq_ctrl_t *const p_ctrl, sf_external_irq_cfg_t const *const p_cfg)
 
ssp_err_t(* wait )(sf_external_irq_ctrl_t *const p_ctrl, ULONG const timeout)
 
ssp_err_t(* versionGet )(ssp_version_t *const p_version)
 
ssp_err_t(* close )(sf_external_irq_ctrl_t *const p_ctrl)
 

Detailed Description

External IRQ framework API structure. External IRQ implementations use the following API.

Field Documentation

◆ close

ssp_err_t(* sf_external_irq_api_t::close) (sf_external_irq_ctrl_t *const p_ctrl)

Close channel at HAL layer and release the RTOS services.

Implemented as
Parameters
[in]p_ctrlPointer to device control block initialized in Open call for this external interrupt.

◆ open

ssp_err_t(* sf_external_irq_api_t::open) (sf_external_irq_ctrl_t *const p_ctrl, sf_external_irq_cfg_t const *const p_cfg)

Create the semaphore, then handle driver initialization at the HAL layer.

Implemented as
Parameters
[in,out]p_ctrlPointer to a structure allocated by user. The device control structure is initialized in this function.
[in]p_cfgPointer to configuration structure. All elements of the structure must be set by user.

◆ versionGet

ssp_err_t(* sf_external_irq_api_t::versionGet) (ssp_version_t *const p_version)

Get version and store it in provided pointer p_version.

Implemented as
Parameters
[out]p_versionCode and API version used stored here.

◆ wait

ssp_err_t(* sf_external_irq_api_t::wait) (sf_external_irq_ctrl_t *const p_ctrl, ULONG const timeout)

Wait for the next external interrupt expiration, then return.

Precondition
Call SF_EXTERNAL_IRQ_Open to configure the external IRQ before using this function. During SF_EXTERNAL_IRQ_Open, set sf_external_irq_cfg_t::sf_external_irq_event_t to SF_EXTERNAL_IRQ_EVENT_SEMAPHORE_PUT.
Implemented as
Parameters
[in]p_ctrlHandle set in SF_EXTERNAL_IRQ_Open.
[in]timeoutThreadX timeout. Select TX_NO_WAIT, a value in system clock counts between 1 and 0xFFFFFFFF, or TX_WAIT_FOREVER.

The documentation for this struct was generated from the following file: