39 std::chrono::steady_clock::time_point
lastFed;
66 void* userData =
nullptr,
83 int feed(
int channelId)
override;
Interface for a hardware watchdog peripheral (not the software watchdog, this does not need to be moc...
Definition IWatchdog.hpp:26
Option
Watchdog configuration options.
Definition IWatchdog.hpp:31
std::function< void(int channelId, void *userData)> CallbackFn
Watchdog callback function type.
Definition IWatchdog.hpp:52
ResetFlag
Watchdog reset behavior flags.
Definition IWatchdog.hpp:40
@ ResetSoc
Reset entire SoC on timeout.
Mock implementation of the watchdog interface for testing.
Definition WatchdogMock.hpp:28
bool m_isSetup
Whether setup() has been called.
Definition WatchdogMock.hpp:171
int disable() override
Disable the watchdog instance.
Definition WatchdogMock.cpp:127
Option m_globalOptions
Global watchdog options.
Definition WatchdogMock.hpp:173
int installTimeout(uint32_t timeoutMs, CallbackFn callback=nullptr, void *userData=nullptr, ResetFlag flags=ResetFlag::ResetSoc) override
Install a watchdog timeout configuration.
Definition WatchdogMock.cpp:38
bool mockIsDisabled() const
Check if the watchdog is disabled.
Definition WatchdogMock.hpp:122
const struct device * getRawDevice() const override
Get the raw watchdog device pointer.
Definition WatchdogMock.cpp:143
int feed(int channelId) override
Feed (service) a watchdog channel to prevent timeout.
Definition WatchdogMock.cpp:95
bool mockIsSetup() const
Check if the watchdog has been set up.
Definition WatchdogMock.hpp:115
size_t mockGetChannelCount() const
Get the number of installed timeout channels.
Definition WatchdogMock.hpp:129
std::vector< uint32_t > m_feedCounts
Feed count per channel.
Definition WatchdogMock.hpp:170
int m_nextChannelId
Next channel ID to assign.
Definition WatchdogMock.hpp:174
int64_t mockGetTimeRemainingMs(int channelId) const
Get the time remaining until timeout for a channel.
Definition WatchdogMock.cpp:187
~WatchdogMock()
Destructor.
Definition WatchdogMock.cpp:33
void mockReset()
Reset all mock state (useful for test setup).
Definition WatchdogMock.cpp:210
int setup(Option options=Option::None) override
Setup the watchdog with global configuration.
Definition WatchdogMock.cpp:73
bool mockIsChannelExpired(int channelId) const
Check if a channel is expired (past its timeout).
Definition WatchdogMock.cpp:174
uint32_t mockGetFeedCount(int channelId) const
Get the number of times a channel has been fed.
Definition WatchdogMock.cpp:201
bool m_isDisabled
Whether disable() has been called.
Definition WatchdogMock.hpp:172
void mockTriggerTimeout(int channelId)
Manually trigger a timeout for a specific channel.
Definition WatchdogMock.cpp:149
std::vector< TimeoutChannel > m_channels
Installed timeout channels.
Definition WatchdogMock.hpp:169
const TimeoutChannel * mockGetChannelInfo(int channelId) const
Get information about a specific channel.
Definition WatchdogMock.cpp:165
Structure to hold information about an installed timeout channel.
Definition WatchdogMock.hpp:33
std::chrono::steady_clock::time_point lastFed
Last time channel was fed.
Definition WatchdogMock.hpp:39
bool isActive
Whether the channel is active.
Definition WatchdogMock.hpp:38
uint32_t timeoutMs
Timeout value in milliseconds.
Definition WatchdogMock.hpp:34
ResetFlag flags
Reset behavior flags.
Definition WatchdogMock.hpp:37
void * userData
User data for callback.
Definition WatchdogMock.hpp:36
CallbackFn callback
Callback function.
Definition WatchdogMock.hpp:35