![]() |
RZN Flexible Software Package Documentation
Release v3.0.0
|
|
Interface for the Port Output Enable 3.
Defines the API and data structures for the Port Output Enable 3 interface.
The POE3 disables timer output pins based on configurable events.
Data Structures | |
| struct | poe3_pwm_pin_setting_t |
| struct | poe3_complementary_pwm_pin_setting_t |
| struct | poe3_complementary_pwm_setting_t |
| struct | poe3_output_short_circuit_setting_t |
| struct | poe3_status_t |
| struct | poe3_callback_args_t |
| struct | poe3_cfg_t |
| struct | poe3_api_t |
| struct | poe3_instance_t |
Typedefs | |
| typedef void | poe3_ctrl_t |
Enumerations | |
| enum | poe3_state_t |
| enum | poe3_active_level_t |
| enum | poe3_pin_select_t |
| struct poe3_pwm_pin_setting_t |
Timer PWM Output pin control setting
| Data Fields | ||
|---|---|---|
| poe3_pin_select_t | pwm_pin_select | PWM Pin Select. |
| bool | hiz_output_enable | High-impedance output enable. |
| struct poe3_complementary_pwm_pin_setting_t |
Timer Complementary PWM Output pin control setting
| Data Fields | ||
|---|---|---|
| poe3_pin_select_t | positive_pwm_pin_select | Positive PWM Pin Select. |
| poe3_pin_select_t | negative_pwm_pin_select | Negative PWM Pin Select. |
| poe3_active_level_t | positive_pwm_pin_active_level | Active level Positive PWM pin for short circuit detection. |
| poe3_active_level_t | negative_pwm_pin_active_level | Active level Negative PWM pin for short circuit detection. |
| bool | hiz_output_enable | High-impedance output enable. |
| struct poe3_complementary_pwm_setting_t |
Timer Complementary PWM control setting
| Data Fields | ||
|---|---|---|
| poe3_complementary_pwm_pin_setting_t | pin_setting[3] | Complementary PWM pin setting. |
| struct poe3_output_short_circuit_setting_t |
| struct poe3_status_t |
POE3 status
| Data Fields | ||
|---|---|---|
| poe3_state_t | state | Current state of POE3. |
| struct poe3_callback_args_t |
Callback function parameter data.
| Data Fields | ||
|---|---|---|
| void const * | p_context | Placeholder for user data, set in poe3_cfg_t. |
| struct poe3_cfg_t |
User configuration structure, used in the open function.
Data Fields | |
| uint32_t | pwm_pin |
| Length of PWM pin settings. | |
| poe3_pwm_pin_setting_t const * | p_pwm_pin_setting |
| Settings for PWM pin. | |
| uint32_t | complementary_pwm_pin |
| Length of complementary PWM pin settings. | |
| poe3_complementary_pwm_setting_t const * | p_complementary_pwm_pin_setting |
| Settings for complementary PWM pin. | |
| uint32_t | short_circuit |
| Length of short circuit settings. | |
| poe3_output_short_circuit_setting_t const * | p_short_circuit_setting |
| High impedance output when the output short circuit. | |
| bool | oscillation_stop_hiz_output_enable |
| High-impedance output when the oscillator is stopped. | |
| void(* | p_callback )(poe3_callback_args_t *p_args) |
| void const * | p_context |
| void const * | p_extend |
| Extension parameter for hardware specific settings. | |
| void(* poe3_cfg_t::p_callback) (poe3_callback_args_t *p_args) |
Callback called when a POE3 interrupt occurs.
| void const* poe3_cfg_t::p_context |
Placeholder for user data. Passed to the user callback in poe3_callback_args_t.
| struct poe3_api_t |
Port Output Enable 3 API structure. POE3 functions implemented at the HAL layer will follow this API.
Data Fields | |
| fsp_err_t(* | open )(poe3_ctrl_t *const p_ctrl, poe3_cfg_t const *const p_cfg) |
| fsp_err_t(* | statusGet )(poe3_ctrl_t *const p_ctrl, poe3_status_t *p_status) |
| fsp_err_t(* | outputDisable )(poe3_ctrl_t *const p_ctrl) |
| fsp_err_t(* | reset )(poe3_ctrl_t *const p_ctrl) |
| fsp_err_t(* | close )(poe3_ctrl_t *const p_ctrl) |
| fsp_err_t(* | callbackSet )(poe3_ctrl_t *const p_ctrl, void(*p_callback)(poe3_callback_args_t *), void const *const p_context, poe3_callback_args_t *const p_callback_memory) |
| fsp_err_t(* poe3_api_t::open) (poe3_ctrl_t *const p_ctrl, poe3_cfg_t const *const p_cfg) |
Initial configuration.
| [in] | p_ctrl | Pointer to control block. Must be declared by user. Elements set here. |
| [in] | p_cfg | Pointer to configuration structure. All elements of this structure must be set by user. |
| fsp_err_t(* poe3_api_t::statusGet) (poe3_ctrl_t *const p_ctrl, poe3_status_t *p_status) |
Gets the current driver state.
| [in] | p_ctrl | Control block set in poe3_api_t::open call. |
| [out] | p_status | Provides the current state of the POE3. |
| fsp_err_t(* poe3_api_t::outputDisable) (poe3_ctrl_t *const p_ctrl) |
Disables timer output pins by software request.
| [in] | p_ctrl | Control block set in poe3_api_t::open call. |
| fsp_err_t(* poe3_api_t::reset) (poe3_ctrl_t *const p_ctrl) |
Attempts to clear status flags to reenable timer output pins. Confirm all status flags are cleared after calling this function by calling poe3_api_t::statusGet().
| [in] | p_ctrl | Control block set in poe3_api_t::open call. |
| fsp_err_t(* poe3_api_t::close) (poe3_ctrl_t *const p_ctrl) |
Disables POE3 interrupt.
| [in] | p_ctrl | Control block set in poe3_api_t::open call. |
| fsp_err_t(* poe3_api_t::callbackSet) (poe3_ctrl_t *const p_ctrl, void(*p_callback)(poe3_callback_args_t *), void const *const p_context, poe3_callback_args_t *const p_callback_memory) |
Specify callback function and optional context pointer and working memory pointer.
| [in] | p_ctrl | Control block set in poe3_api_t::open call for this timer. |
| [in] | p_callback | Callback function to register |
| [in] | p_context | Pointer to send to callback function |
| [in] | p_callback_memory | Pointer to volatile memory where callback structure can be allocated. Callback arguments allocated here are only valid during the callback. |
| struct poe3_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
| Data Fields | ||
|---|---|---|
| poe3_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
| poe3_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
| poe3_api_t const * | p_api | Pointer to the API structure for this instance. |
| typedef void poe3_ctrl_t |
POE3 control block. Allocate an instance specific control block to pass into the POE3 API calls.
| enum poe3_state_t |
POE3 states.
| Enumerator | |
|---|---|
| POE3_STATE_NO_DISABLE_REQUEST | Timer output is not disabled by POE3. |
| POE3_STATE_POE0_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE0# pin. |
| POE3_STATE_POE4_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE4# pin. |
| POE3_STATE_POE8_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE8# pin. |
| POE3_STATE_POE10_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE10# pin. |
| POE3_STATE_POE11_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE11# pin. |
| POE3_STATE_SOFTWARE_STOP_DISABLE_REQUEST | Timer output disabled due to poe3_api_t::outputDisable() |
| POE3_STATE_OSCILLATION_STOP_DISABLE_REQUEST | Timer output disabled due to main oscillator stop. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_1_ERROR_REQUEST | Timer output disabled due to output short circuit 1. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_2_ERROR_REQUEST | Timer output disabled due to output short circuit 2. |
| POE3_STATE_NO_DISABLE_REQUEST | Timer output is not disabled by POE3. |
| POE3_STATE_POE0_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE0# pin. |
| POE3_STATE_POE4_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE4# pin. |
| POE3_STATE_POE8_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE8# pin. |
| POE3_STATE_POE10_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE10# pin. |
| POE3_STATE_POE11_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE11# pin. |
| POE3_STATE_SOFTWARE_STOP_DISABLE_REQUEST | Timer output disabled due to poe3_api_t::outputDisable() |
| POE3_STATE_OSCILLATION_STOP_DISABLE_REQUEST | Timer output disabled due to main oscillator stop. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_1_ERROR_REQUEST | Timer output disabled due to output short circuit 1. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_2_ERROR_REQUEST | Timer output disabled due to output short circuit 2. |
| POE3_STATE_DSMIF0_ERROR_REQUEST | Timer output disabled due to DSMIF0 Error0. |
| POE3_STATE_DSMIF1_ERROR_REQUEST | Timer output disabled due to DSMIF1 Error0. |
| POE3_STATE_DSMIF2_ERROR_REQUEST | Timer output disabled due to DSMIF2 Error0. |
| POE3_STATE_DSMIF3_ERROR_REQUEST | Timer output disabled due to DSMIF3 Error0. |
| POE3_STATE_DSMIF4_ERROR_REQUEST | Timer output disabled due to DSMIF4 Error0. |
| POE3_STATE_DSMIF5_ERROR_REQUEST | Timer output disabled due to DSMIF5 Error0. |
| POE3_STATE_DSMIF7_ERROR_REQUEST | Timer output disabled due to DSMIF7 Error0. |
| POE3_STATE_DSMIF8_ERROR_REQUEST | Timer output disabled due to DSMIF8 Error0. |
| POE3_STATE_DSMIF0_1_ERROR_REQUEST | Timer output disabled due to DSMIF0 Error1. |
| POE3_STATE_DSMIF1_1_ERROR_REQUEST | Timer output disabled due to DSMIF1 Error1. |
| POE3_STATE_DSMIF2_1_ERROR_REQUEST | Timer output disabled due to DSMIF2 Error1. |
| POE3_STATE_DSMIF3_1_ERROR_REQUEST | Timer output disabled due to DSMIF3 Error1. |
| POE3_STATE_DSMIF4_1_ERROR_REQUEST | Timer output disabled due to DSMIF4 Error1. |
| POE3_STATE_DSMIF5_1_ERROR_REQUEST | Timer output disabled due to DSMIF5 Error1. |
| POE3_STATE_DSMIF7_1_ERROR_REQUEST | Timer output disabled due to DSMIF7 Error1. |
| POE3_STATE_DSMIF8_1_ERROR_REQUEST | Timer output disabled due to DSMIF8 Error1. |
| POE3_STATE_NO_DISABLE_REQUEST | Timer output is not disabled by POE3. |
| POE3_STATE_POE0_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE0# pin. |
| POE3_STATE_POE4_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE4# pin. |
| POE3_STATE_POE8_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE8# pin. |
| POE3_STATE_POE10_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE10# pin. |
| POE3_STATE_POE11_HIGH_IMPEDANCE_REQUEST | Timer output disabled due to POE11# pin. |
| POE3_STATE_SOFTWARE_STOP_DISABLE_REQUEST | Timer output disabled due to poe3_api_t::outputDisable() |
| POE3_STATE_OSCILLATION_STOP_DISABLE_REQUEST | Timer output disabled due to main oscillator stop. |
| POE3_STATE_DSMIF0_ERROR_REQUEST | Timer output disabled due to DSMIF0 error. |
| POE3_STATE_DSMIF1_ERROR_REQUEST | Timer output disabled due to DSMIF1 error. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_1_ERROR_REQUEST | Timer output disabled due to output short circuit 1. |
| POE3_STATE_OUTPUT_SHORT_CIRCUIT_2_ERROR_REQUEST | Timer output disabled due to output short circuit 2. |
| enum poe3_active_level_t |
Active level for short circuit detection.
| enum poe3_pin_select_t |
Timer Control Pin selection