WATCHDOG

Overview

Provides watchdog APIs, such as setting the watchdog timeout duration and feeding a watchdog (resetting a watchdog timer).

If an error occurs in the main program of the system, for example, if the program crashes or the watchdog timer is not reset in time, the watchdog timer generates a reset signal, and the system restores from the suspending state to the normal state.

Since:

1.0

Summary

Files

File Name

Description

watchdog_if.h

Declares standard watchdog APIs.

Enumerations

Enumeration Name

Description

WatchdogStatus { WATCHDOG_STOP, WATCHDOG_START }

Enumerates watchdog statuses.

Functions

Function Name

Description

WatchdogOpen (int16_t wdtId)

struct DevHandle 

Opens a watchdog.

WatchdogClose (struct DevHandle handle)

void 

Closes a watchdog.

WatchdogGetStatus (struct DevHandlehandle, int32_t status)

int32_t 

Obtains the watchdog status.

WatchdogStart (struct DevHandlehandle)

int32_t 

Starts a watchdog.

WatchdogStop (struct DevHandle handle)

int32_t 

Stops a watchdog.

WatchdogSetTimeout (struct DevHandlehandle, uint32_t seconds)

int32_t 

Sets the watchdog timeout duration.

WatchdogGetTimeout (struct DevHandle handle, uint32_t seconds)

int32_t 

Obtains the watchdog timeout duration.

WatchdogFeed (struct DevHandle handle)

int32_t 

Feeds a watchdog, that is, resets a watchdog timer.

Details

Enumeration Type Documentation

WatchdogStatus

  1. enum[WatchdogStatus]($api-api-SmartVision-Devices-WATCHDOG.md#ga3c77a35e1051e3f99238029519ac1954)

Description:

Enumerates watchdog statuses.

To obtain the watchdog status, call the WatchdogGetStatus function.

Enumerator

Description

WATCHDOG_STOP 

Stopped

WATCHDOG_START 

Started

Function Documentation

WatchdogClose()

  1. voidWatchdogClose(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle)

Description:

Closes a watchdog.

If you no longer need a watchdog, call this function to close it and release its device handle to prevent unnecessary use of memory resources.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog device handle.

WatchdogFeed()

  1. int32_tWatchdogFeed(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle)

Description:

Feeds a watchdog, that is, resets a watchdog timer.

After a watchdog is started, you must feed it to reset the watchdog timer periodically. If you do not do so, the watchdog hardware will reset the system upon a timeout.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

Returns:

Returns 0 if the watchdog is fed; returns a negative value otherwise.

WatchdogGetStatus()

  1. int32_tWatchdogGetStatus(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle,int32_t* status )

Description:

Obtains the watchdog status.

For the available watchdog statuses, see WatchdogStatus.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
statusIndicates the pointer to the watchdog status.

Returns:

Returns 0 if the watchdog status is obtained; returns a negative value otherwise.

WatchdogGetTimeout()

  1. int32_tWatchdogGetTimeout(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle,uint32_t* seconds )

Description:

Obtains the watchdog timeout duration.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
secondsIndicates the pointer to the timeout duration, in seconds.

Returns:

Returns 0 if the watchdog timeout duration is obtained; returns a negative value otherwise.

WatchdogOpen()

  1. struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)*WatchdogOpen(int16_t wdtId)

Description:

Opens a watchdog.

Before operating a watchdog, you must call this function to open it and obtain its device handle.

Parameters:

Name

Description

wdtIdIndicates the watchdog ID.

Returns:

Returns the pointer to the device handle of the watch dog if the operation is successful; returns NULL otherwise.

WatchdogSetTimeout()

  1. int32_tWatchdogSetTimeout(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle,uint32_t seconds )

Description:

Sets the watchdog timeout duration.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.
secondsIndicates the timeout duration, in seconds.

Returns:

Returns 0 if the setting is successful; returns a negative value otherwise.

WatchdogStart()

  1. int32_tWatchdogStart(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle)

Description:

Starts a watchdog.

This function starts the watchdog timer. You must feed the watchdog periodically; otherwise, the watchdog hardware will reset the system upon a timeout.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

Returns:

Returns 0 if the watchdog is successfully started; returns a negative value otherwise.

Attention:

If the watchdog timer has started before this function is called, calling this function will succeed; however, the watchdog hardware determines whether to reset the timer.

WatchdogStop()

  1. int32_tWatchdogStop(struct[DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* handle)

Description:

Stops a watchdog.

If the watchdog has stopped before this function is called, calling this function will succeed.

Parameters:

Name

Description

handleIndicates the pointer to the watchdog handle, which is obtained via WatchdogOpen.

Returns:

Returns 0 if the watchdog is successfully stopped; returns a negative value otherwise.