| Crates.io | heartbeat-watchdog |
| lib.rs | heartbeat-watchdog |
| version | 0.2.0 |
| created_at | 2025-03-22 23:03:19.360883+00 |
| updated_at | 2025-03-24 03:20:46.890352+00 |
| description | A versatile heartbeat watchdog |
| homepage | |
| repository | https://github.com/roboplc/heartbeat-watchdog |
| max_upload_size | |
| id | 1602193 |
| size | 55,214 |
A versatile watchdog and heartbeat traits for various monitoring purposes in mission-critical systems (processes, single threads etc).
The crate is a part of the RoboPLC project and works on Linux only. No other platforms support is planned, except bare-metal.
The crate provides out-of-the-box:
UDP socket heartbeat/watchdog
GPIO heartbeat/watchdog (requires gpio feature)
More communication methods can be added by implementing io::WatchdogIo and
Heart traits.
For high-level communication (e.g. TCP/IP) the edges are encoded as "+" for rising and "." for falling to simplify sniffing/debugging purposes.
The crate has got integration with embassy for no_std
targets. Requires disabling defaults and enabling embassy feature.
The following heartbeat errors are detected:
Timeout - no heartbeat edge change has been detected within the specified
time
Window - heartbeat edge change has been detected out of the time window
OutOfOrder - heartbeat edge change has been detected out of order (e.g. for
TCP/IP communication)