1
0
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:
gstellenberg
2009-05-20 21:01:20 -05:00
parent 62d3176463
commit ec47b8fac1
7 changed files with 67 additions and 11 deletions

View File

@@ -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)
{