Components::Watchdog Component
1. Introduction
The Components::Watchdog component provides the mechanism to "pet" the physical watchdog circuit on the PROVES FC Board and provides a visual indicator by blinking an LED at a fixed interval. The component is driven by a rate group and oscillates the watchdog GPIO every rategroup tick.
2. Requirements
The requirements for Components::Watchdog are as follows:
| Requirement |
Description |
Verification Method |
Verified? |
| WD-001 |
The Components::Watchdog component shall activate upon startup. |
Inspection |
Yes |
| WD-002 |
The Components::Watchdog component shall oscillate the watchdog GPIO pin (24) on/off on each rategroup tick. |
Inspection |
Yes |
| WD-003 |
The Components::Watchdog component shall provide telemetry for watchdog transition count. |
Integration Test |
Yes |
| WD-004 |
The Components::Watchdog component shall respond to stop signals to halt the watchdog. |
Integration Test |
Yes |
| WD-005 |
The Components::Watchdog component shall provide a test command to stop the watchdog. |
Integration Test |
Yes |
| WD-006 |
The Components::Watchdog component shall emit an event when the watchdog stops. |
Integration Test |
Yes |
| WD-007 |
The Components::Watchdog component shall provide a test command to start the watchdog. |
Integration Test |
Yes |
| WD-008 |
The Components::Watchdog component shall emit an event when the watchdog starts. |
Integration Test |
Yes |
3. Design
3.1 Context
3.1.1 Component Diagram
The Components::Watchdog component has the following component diagram:

3.1.2 Ports
| Port Data Type |
Name |
Direction |
Kind |
Usage |
[Svc::Sched] |
run |
Input |
Synchronous |
Receive periodic calls from rate group |
[Fw::Signal] |
start |
Input |
Synchronous |
Receive start signal to start watchdog |
[Fw::Signal] |
stop |
Input |
Synchronous |
Receive stop signal to stop watchdog |
[Drv::GpioWrite] |
gpioSet |
Output |
n/a |
Control GPIO state through driver |
3.1.3 Commands
| Name |
Kind |
Description |
| START_WATCHDOG |
Synchronous |
calls the port start_runhandler to start the watchdog. |
| STOP_WATCHDOG |
Synchronous |
calls the port stop_runhandler to stop the watchdog. |
3.1.4 Events
| Name |
Description |
| WatchdogStart |
Emits once the watchdog has started. |
| WatchdogStop |
Emits once the watchdog has stopped. |
3.1.5 Telemetry
| Name |
Type |
Description |
| WatchdogTransitions |
U32 |
Number of times the GPIO has oscillated from on/off during watchdog petting |