RZG Flexible Software Package Documentation
Release v2.1.0
|
|
Interface for watch dog timer functions.
The WDT interface for the Watchdog Timer (WDT) peripheral provides watchdog functionality including resetting the device or generating an interrupt.
The watchdog timer interface can be implemented by:
Data Structures | |
struct | wdt_callback_args_t |
struct | wdt_timeout_values_t |
struct | wdt_cfg_t |
struct | wdt_api_t |
struct | wdt_instance_t |
Typedefs | |
typedef void | wdt_ctrl_t |
Enumerations | |
enum | wdt_timeout_t |
enum | wdt_clock_division_t |
enum | wdt_window_start_t |
enum | wdt_window_end_t |
enum | wdt_reset_control_t |
enum | wdt_stop_control_t |
enum | wdt_status_t |
struct wdt_callback_args_t |
Callback function parameter data
Data Fields | ||
---|---|---|
void const * | p_context | Placeholder for user data. Set in wdt_api_t::open function in wdt_cfg_t. |
struct wdt_timeout_values_t |
struct wdt_cfg_t |
WDT configuration parameters.
Data Fields | |
wdt_timeout_t | timeout |
Timeout period. | |
wdt_clock_division_t | clock_division |
Clock divider. | |
wdt_window_start_t | window_start |
Refresh permitted window start position. | |
wdt_window_end_t | window_end |
Refresh permitted window end position. | |
wdt_reset_control_t | reset_control |
Select NMI or reset generated on underflow. | |
wdt_stop_control_t | stop_control |
Select whether counter operates in sleep mode. | |
void(* | p_callback )(wdt_callback_args_t *p_args) |
Callback provided when a WDT NMI ISR occurs. | |
void const * | p_context |
void const * | p_extend |
Placeholder for user extension. | |
void const* wdt_cfg_t::p_context |
Placeholder for user data. Passed to the user callback in wdt_callback_args_t.
struct wdt_api_t |
WDT functions implemented at the HAL layer will follow this API.
Data Fields | |
fsp_err_t(* | open )(wdt_ctrl_t *const p_ctrl, wdt_cfg_t const *const p_cfg) |
fsp_err_t(* | refresh )(wdt_ctrl_t *const p_ctrl) |
fsp_err_t(* | statusGet )(wdt_ctrl_t *const p_ctrl, wdt_status_t *const p_status) |
fsp_err_t(* | statusClear )(wdt_ctrl_t *const p_ctrl, const wdt_status_t status) |
fsp_err_t(* | counterGet )(wdt_ctrl_t *const p_ctrl, uint32_t *const p_count) |
fsp_err_t(* | timeoutGet )(wdt_ctrl_t *const p_ctrl, wdt_timeout_values_t *const p_timeout) |
fsp_err_t(* | callbackSet )(wdt_ctrl_t *const p_api_ctrl, void(*p_callback)(wdt_callback_args_t *), void const *const p_context, wdt_callback_args_t *const p_callback_memory) |
fsp_err_t(* wdt_api_t::open) (wdt_ctrl_t *const p_ctrl, wdt_cfg_t const *const p_cfg) |
Initialize the WDT in register start mode. In auto-start mode with NMI output it registers the NMI callback.
[in] | p_ctrl | Pointer to control structure. |
[in] | p_cfg | Pointer to pin configuration structure. |
fsp_err_t(* wdt_api_t::refresh) (wdt_ctrl_t *const p_ctrl) |
Refresh the watchdog timer.
[in] | p_ctrl | Pointer to control structure. |
fsp_err_t(* wdt_api_t::statusGet) (wdt_ctrl_t *const p_ctrl, wdt_status_t *const p_status) |
Read the status of the WDT.
[in] | p_ctrl | Pointer to control structure. |
[out] | p_status | Pointer to variable to return status information through. |
fsp_err_t(* wdt_api_t::statusClear) (wdt_ctrl_t *const p_ctrl, const wdt_status_t status) |
Clear the status flags of the WDT.
[in] | p_ctrl | Pointer to control structure. |
[in] | status | Status condition(s) to clear. |
fsp_err_t(* wdt_api_t::counterGet) (wdt_ctrl_t *const p_ctrl, uint32_t *const p_count) |
Read the current WDT counter value.
[in] | p_ctrl | Pointer to control structure. |
[out] | p_count | Pointer to variable to return current WDT counter value. |
fsp_err_t(* wdt_api_t::timeoutGet) (wdt_ctrl_t *const p_ctrl, wdt_timeout_values_t *const p_timeout) |
Read the watchdog timeout values.
[in] | p_ctrl | Pointer to control structure. |
[out] | p_timeout | Pointer to structure to return timeout values. |
fsp_err_t(* wdt_api_t::callbackSet) (wdt_ctrl_t *const p_api_ctrl, void(*p_callback)(wdt_callback_args_t *), void const *const p_context, wdt_callback_args_t *const p_callback_memory) |
Specify callback function and optional context pointer and working memory pointer.
[in] | p_ctrl | Pointer to the WDT control block. |
[in] | p_callback | Callback function |
[in] | p_context | Pointer to send to callback function |
[in] | p_working_memory | Pointer to volatile memory where callback structure can be allocated. Callback arguments allocated here are only valid during the callback. |
struct wdt_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
Data Fields | ||
---|---|---|
wdt_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
wdt_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
wdt_api_t const * | p_api | Pointer to the API structure for this instance. |
typedef void wdt_ctrl_t |
WDT control block. Allocate an instance specific control block to pass into the WDT API calls.
enum wdt_timeout_t |
enum wdt_clock_division_t |
WDT clock division ratio.
enum wdt_window_start_t |
enum wdt_window_end_t |
enum wdt_reset_control_t |
enum wdt_stop_control_t |
enum wdt_status_t |
WDT status