RZ Flexible Software Package Documentation  Release v4.0.0

 
POE3 Interface

Detailed Description

Interface for the Port Output Enable 3.

Defines the API and data structures for the Port Output Enable 3 interface.

Summary

The POE3 disables timer output pins based on configurable events.

Classes

struct  st_poe3_pwm_pin_setting
 
struct  st_poe3_complementary_pwm_pin_setting
 
struct  st_poe3_complementary_pwm_setting_t
 
struct  st_poe3_output_short_circuit_setting
 
struct  st_poe3_status
 
struct  st_poe3_callback_args
 
struct  st_poe3_cfg
 
struct  st_poe3_api
 
struct  st_poe3_instance
 

Typedefs

typedef struct st_poe3_pwm_pin_setting poe3_pwm_pin_setting_t
 
typedef struct st_poe3_complementary_pwm_pin_setting poe3_complementary_pwm_pin_setting_t
 
typedef struct st_poe3_complementary_pwm_setting_t poe3_complementary_pwm_setting_t
 
typedef struct st_poe3_output_short_circuit_setting poe3_output_short_circuit_setting_t
 
typedef struct st_poe3_status poe3_status_t
 
typedef struct st_poe3_callback_args poe3_callback_args_t
 
typedef void poe3_ctrl_t
 
typedef struct st_poe3_cfg poe3_cfg_t
 
typedef struct st_poe3_api poe3_api_t
 
typedef struct st_poe3_instance poe3_instance_t
 

Enumerations

enum  poe3_state_t
 
enum  poe3_active_level_t
 
enum  poe3_pin_select_t
 

Class Documentation

◆ RZN::st_poe3_pwm_pin_setting

struct RZN::st_poe3_pwm_pin_setting

Timer PWM Output pin control setting

Class Members
poe3_pin_select_t pwm_pin_select PWM Pin Select.
bool hiz_output_enable High-impedance output enable.

◆ RZN::st_poe3_complementary_pwm_pin_setting

struct RZN::st_poe3_complementary_pwm_pin_setting

Timer Complementary PWM Output pin control setting

Class Members
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.

◆ RZN::st_poe3_complementary_pwm_setting_t

struct RZN::st_poe3_complementary_pwm_setting_t

Timer Complementary PWM control setting

Class Members
poe3_complementary_pwm_pin_setting_t pin_setting[3] Complementary PWM pin setting.

◆ RZN::st_poe3_output_short_circuit_setting

struct RZN::st_poe3_output_short_circuit_setting

Output short circuit setting.

Class Members
bool interrupt_enable Interrupt enable.
bool hiz_output_enable High-impedance output enable.

◆ RZN::st_poe3_status

struct RZN::st_poe3_status

POE3 status

Class Members
poe3_state_t state Current state of POE3.

◆ RZN::st_poe3_callback_args

struct RZN::st_poe3_callback_args

Callback function parameter data.

Class Members
void * p_context Placeholder for user data, set in poe3_cfg_t.

◆ RZN::st_poe3_cfg

struct RZN::st_poe3_cfg

User configuration structure, used in the open function.

Public Attributes

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 * p_context
 
void const * p_extend
 Extension parameter for hardware specific settings.
 

Member Data Documentation

◆ p_callback

void(* p_callback) (poe3_callback_args_t *p_args)

Callback called when a POE3 interrupt occurs.

◆ p_context

void* p_context

Placeholder for user data. Passed to the user callback in poe3_callback_args_t.

◆ RZN::st_poe3_api

struct RZN::st_poe3_api

Port Output Enable 3 API structure. POE3 functions implemented at the HAL layer will follow this API.

Public Attributes

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 p_context, poe3_callback_args_t *const p_callback_memory)
 

Member Data Documentation

◆ open

fsp_err_t(* open) (poe3_ctrl_t *const p_ctrl, poe3_cfg_t const *const p_cfg)

Initial configuration.

Parameters
[in]p_ctrlPointer to control block. Must be declared by user. Elements set here.
[in]p_cfgPointer to configuration structure. All elements of this structure must be set by user.

◆ statusGet

fsp_err_t(* statusGet) (poe3_ctrl_t *const p_ctrl, poe3_status_t *p_status)

Gets the current driver state.

Parameters
[in]p_ctrlControl block set in poe3_api_t::open call.
[out]p_statusProvides the current state of the POE3.

◆ outputDisable

fsp_err_t(* outputDisable) (poe3_ctrl_t *const p_ctrl)

Disables timer output pins by software request.

Parameters
[in]p_ctrlControl block set in poe3_api_t::open call.

◆ reset

fsp_err_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().

Parameters
[in]p_ctrlControl block set in poe3_api_t::open call.

◆ close

fsp_err_t(* close) (poe3_ctrl_t *const p_ctrl)

Disables POE3 interrupt.

Parameters
[in]p_ctrlControl block set in poe3_api_t::open call.

◆ callbackSet

fsp_err_t(* callbackSet) (poe3_ctrl_t *const p_ctrl, void(*p_callback)(poe3_callback_args_t *), void *const p_context, poe3_callback_args_t *const p_callback_memory)

Specify callback function and optional context pointer and working memory pointer.

Parameters
[in]p_ctrlControl block set in poe3_api_t::open call for this timer.
[in]p_callbackCallback function to register
[in]p_contextPointer to send to callback function
[in]p_callback_memoryPointer to volatile memory where callback structure can be allocated. Callback arguments allocated here are only valid during the callback.

◆ RZN::st_poe3_instance

struct RZN::st_poe3_instance

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

Class Members
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 Documentation

◆ poe3_pwm_pin_setting_t

Timer PWM Output pin control setting Please refer to the struct st_poe3_pwm_pin_setting.

◆ poe3_complementary_pwm_pin_setting_t

Timer Complementary PWM Output pin control setting Please refer to the struct st_poe3_complementary_pwm_pin_setting.

◆ poe3_complementary_pwm_setting_t

Timer Complementary PWM control setting Please refer to the struct st_poe3_complementary_pwm_setting_t.

◆ poe3_output_short_circuit_setting_t

Output short circuit setting. Please refer to the struct st_poe3_output_short_circuit_setting.

◆ poe3_status_t

typedef struct st_poe3_status poe3_status_t

POE3 status Please refer to the struct st_poe3_status.

◆ poe3_callback_args_t

Callback function parameter data. Please refer to the struct st_poe3_callback_args.

◆ poe3_ctrl_t

typedef void poe3_ctrl_t

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

◆ poe3_cfg_t

typedef struct st_poe3_cfg poe3_cfg_t

User configuration structure, used in the open function. Please refer to the struct st_poe3_cfg.

◆ poe3_api_t

typedef struct st_poe3_api poe3_api_t

Port Output Enable 3 API structure. POE3 functions implemented at the HAL layer will follow this API. Please refer to the struct st_poe3_api.

◆ poe3_instance_t

This structure encompasses everything that is needed to use an instance of this interface. Please refer to the struct st_poe3_instance.

Enumeration Type Documentation

◆ 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.

Timer output disabled due to DSMIF0 error.

POE3_STATE_DSMIF1_ERROR_REQUEST 

Timer output disabled due to DSMIF1 Error0.

Timer output disabled due to DSMIF1 error.

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 Error0.

Timer output disabled due to DSMIF0 error.

POE3_STATE_DSMIF1_ERROR_REQUEST 

Timer output disabled due to DSMIF1 Error0.

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.

◆ poe3_active_level_t

Active level for short circuit detection.

Enumerator
POE3_ACTIVE_LEVEL_HIGH 

High level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_LOW 

Low level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_SETTING_NONE 

The active level of the pin is set by the timer peripheral side, not by POE3.

POE3_ACTIVE_LEVEL_HIGH 

High level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_LOW 

Low level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_SETTING_NONE 

The active level of the pin is set by the timer peripheral side, not by POE3.

POE3_ACTIVE_LEVEL_HIGH 

High level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_LOW 

Low level is set as the active level to detect a short circuit.

POE3_ACTIVE_LEVEL_SETTING_NONE 

The active level of the pin is set by the timer peripheral side, not by POE3.

◆ poe3_pin_select_t

Timer Control Pin selection

Enumerator
POE3_PIN_SELECT_0 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_1 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_2 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_3 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_4 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_5 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_6 

Select pin to control. Refer to the user's manual of each device for details.

POE3_PIN_SELECT_7 

Select pin to control. Refer to the user's manual of each device for details.