mirror of
https://github.com/preble/libpinproc
synced 2026-02-24 18:25:23 +01:00
Added support for configuring and tickling the watchdog timer.
This commit is contained in:
@@ -120,10 +120,9 @@ int PRDevice::GetEvents(PREvent *events, int maxEvents)
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
PRResult PRDevice::DriverUpdateGlobalConfig(PRDriverGlobalConfig *driverGlobalConfig)
|
||||
{
|
||||
const int burstWords = 2;
|
||||
const int burstWords = 4;
|
||||
uint32_t burst[burstWords];
|
||||
int32_t rc;
|
||||
|
||||
@@ -131,8 +130,12 @@ PRResult PRDevice::DriverUpdateGlobalConfig(PRDriverGlobalConfig *driverGlobalCo
|
||||
|
||||
this->driverGlobalConfig = *driverGlobalConfig;
|
||||
rc = CreateDriverUpdateGlobalConfigBurst(burst, driverGlobalConfig);
|
||||
rc = CreateWatchdogConfigBurst(burst+2, driverGlobalConfig->watchdogExpired,
|
||||
driverGlobalConfig->watchdogEnable,
|
||||
driverGlobalConfig->watchdogResetTime);
|
||||
|
||||
DEBUG(PRLog("Words: %x %x\n", burst[0], burst[1]));
|
||||
DEBUG(PRLog("Driver Global words: %x %x\n", burst[0], burst[1]));
|
||||
DEBUG(PRLog("Watchdog words: %x %x\n", burst[2], burst[3]));
|
||||
return WriteData(burst, burstWords);
|
||||
}
|
||||
|
||||
@@ -244,6 +247,19 @@ PRResult PRDevice::DriverPatter(uint16_t driverNum, uint16_t millisecondsOn, uin
|
||||
return DriverUpdateState(&driver);
|
||||
}
|
||||
|
||||
PRResult PRDevice::DriverWatchdogTickle()
|
||||
{
|
||||
const int burstWords = 2;
|
||||
uint32_t burst[burstWords];
|
||||
int32_t rc;
|
||||
|
||||
rc = CreateWatchdogConfigBurst(burst, driverGlobalConfig.watchdogExpired,
|
||||
driverGlobalConfig.watchdogEnable,
|
||||
driverGlobalConfig.watchdogResetTime);
|
||||
|
||||
return WriteData(burst, burstWords);
|
||||
}
|
||||
|
||||
|
||||
PRResult PRDevice::SwitchesUpdateRules(PRSwitchRule *rules, int numRules)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user