wdt.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 Technische Universit├Ąt Berlin
3  * (C) 2019 Inria
4  * (C) 2019 ML!PA Consulting GmbH
5  *
6  * This file is subject to the terms and conditions of the GNU Lesser
7  * General Public License v2.1. See the file LICENSE in the top level
8  * directory for more details.
9  */
10 
173 #ifndef PERIPH_WDT_H
174 #define PERIPH_WDT_H
175 
176 #include <stdint.h>
177 #include "periph_cpu.h"
178 
179 #ifdef __cplusplus
180 extern "C" {
181 #endif
182 
188 #if defined(DOXYGEN)
189 #define NWDT_TIME_LOWER_LIMIT
190 #endif
191 
196 #if defined(DOXYGEN)
197 #define NWDT_TIME_UPPER_LIMIT
198 #endif
199 
204 #if defined(DOXYGEN)
205 #define WWDT_TIME_LOWER_LIMIT
206 #endif
207 
212 #if defined(DOXYGEN)
213 #define WWDT_TIME_UPPER_LIMIT
214 #endif
215 
221 #ifndef WDT_HAS_STOP
222 #define WDT_HAS_STOP (0)
223 #endif
224 
229 #ifndef WDT_HAS_INIT
230 #define WDT_HAS_INIT (0)
231 #endif
232 
236 void wdt_start(void);
237 
244 void wdt_stop(void);
245 
249 void wdt_kick(void);
250 
262 void wdt_setup_reboot(uint32_t min_time, uint32_t max_time);
263 
270 void wdt_init(void);
271 
272 #if defined(MODULE_PERIPH_WDT_CB) || defined(DOXYGEN)
273 
285 #ifndef CONFIG_WDT_WARNING_PERIOD
286 #define CONFIG_WDT_WARNING_PERIOD (1)
287 #endif
288 
296 typedef void (*wdt_cb_t)(void *arg);
297 
312 void wdt_setup_reboot_with_callback(uint32_t min_time, uint32_t max_time,
313  wdt_cb_t wdt_cb, void *arg);
314 #endif
315 
316 #ifdef __cplusplus
317 }
318 #endif
319 
320 #endif /* PERIPH_WDT_H */
321 
void wdt_kick(void)
Reset the watchdog timer counter, delay system reset.
void(* wdt_cb_t)(void *arg)
Signature for the watchdog early warning callback.
Definition: wdt.h:296
void wdt_init(void)
Initialize WDT module.
void wdt_stop(void)
Stop watchdog timer.
void wdt_setup_reboot(uint32_t min_time, uint32_t max_time)
Set up the wdt timer.
void wdt_start(void)
Start watchdog timer.
void wdt_setup_reboot_with_callback(uint32_t min_time, uint32_t max_time, wdt_cb_t wdt_cb, void *arg)
Set up the wdt timer with callback.