Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/trylaarsdam/stm32l4xx-watchdog
Simple hardware watchdog library for the STM32L4xx series and PlatformIO.
https://github.com/trylaarsdam/stm32l4xx-watchdog
iwdg platformio stm32 stm32l4 watchdog
Last synced: about 1 month ago
JSON representation
Simple hardware watchdog library for the STM32L4xx series and PlatformIO.
- Host: GitHub
- URL: https://github.com/trylaarsdam/stm32l4xx-watchdog
- Owner: trylaarsdam
- Created: 2021-12-02T14:40:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T19:51:14.000Z (over 1 year ago)
- Last Synced: 2024-11-14T19:43:29.083Z (3 months ago)
- Topics: iwdg, platformio, stm32, stm32l4, watchdog
- Language: C++
- Homepage: https://registry.platformio.org/libraries/trylaarsdam/STM32L4xx%20Watchdog
- Size: 11.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# STM32L4xx Watchdog Library
## Usage
### Creating Watchdog Object
```cpp
#include "WatchDog.hpp"WatchDog watchdog;
```### Initializing the Watchdog
```cpp
watchdog.init([seconds]);
```
[seconds] specifies the timeout period for the watchdog. If the watchdog is not "pet" within this amount of time (excluding when sleeping in `Shutdown` mode), the device will be reset and the IWDGRST RCC flag will be set.### Petting/Refreshing the Watchdog Countdown
```cpp
watchdog.pet();
```### Checking if the Watchdog is Currently Enabled
```cpp
watchdog.isEnabled();
```
This function returns a `bool`, where `true` means the watchdog is enabled and `false` designates the watchdog is not running. Note: this function only returns `true` when that watchdog instance has started the watchdog, and will not return `true` when another object has started the watchdog or the watchdog has been started manually.### Checking if the Watchdog caused a system reset
```cpp
if(__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST)) {
//watchdog caused reset
}
else {
//watchdog did not cause reset
}
__HAL_RCC_CLEAR_RESET_FLAGS(); // clears reset flags, otherwise on the next reset even though the watchdog may not have caused the reset `RCC_FLAG_IWDGRST` will still be set.
```