Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
watchdog.h File Reference

Infuse-IoT watchdog helpers. More...

#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/toolchain.h>
#include <zephyr/drivers/watchdog.h>

Go to the source code of this file.

Macros

#define INFUSE_WATCHDOG_DEV   DEVICE_DT_GET(DT_ALIAS(watchdog0))
 Infuse watchdog device.
 
#define INFUSE_WATCHDOG_FEED_PERIOD    K_MSEC(CONFIG_INFUSE_WATCHDOG_PERIOD_MS - CONFIG_INFUSE_WATCHDOG_FEED_EARLY_MS)
 Maximum duration to sleep before waking up to feed watchdog.
 
#define INFUSE_WATCHDOG_DEFAULT_TIMEOUT_CFG
 Default timeout configuration for subsystems.
 
#define INFUSE_WATCHDOG_REGISTER_SYS_INIT(name, dependency, chan_name, period_name)
 Install a watchdog timeout at boot.
 

Functions

void infuse_watchdog_warning (const struct device *dev, int channel_id)
 Function that is called just prior to watchdog expiry.
 
void infuse_watchdog_expired (const struct device *dev, int channel_id)
 Function that is called on watchdog expiry.
 
int infuse_watchdog_install (k_timeout_t *feed_period)
 Install an Infuse watchdog channel.
 
void infuse_watchdog_thread_register (int wdog_channel, k_tid_t thread)
 Register a watchdog channel against a thread.
 
int infuse_watchdog_thread_state_lookup (int wdog_channel, uint32_t *info1, uint32_t *info2)
 Determine state of the thread responsible for watchdog channel.
 
int infuse_watchdog_start (void)
 Start the Infuse watchdog.
 
void infuse_watchdog_feed (int wdog_channel)
 Feed an Infuse watchdog channel.
 
void infuse_watchdog_feed_all (void)
 Feed all Infuse watchdog channels.
 

Detailed Description

Infuse-IoT watchdog helpers.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2

Must only be included from files that declare a Zephyr logging context. Watchdog configuration errors are both critical to find during development and "invisible" if applications aren't explicit about displaying them, which is why the logging occurs in this context.