Closed tobby88 closed 8 years ago
Für den Watchdog ist kein exaktes Timing nötig.
In der alten Software läuft anstelle eines einfachen Sleep 60 sek. am Programmende folgendes:
REM *****************************************************************
REM * Loop through Delay Time (approx. 60 sec - process time)
REM *****************************************************************
for secondy = 1 to 28 'count up 28 * 2 seconds
REM ***************************************************************
REM * Flash ok LED 1sec on, 1sec off
REM ***************************************************************
setdigitalchannel(portokok) 'Relay 7 on
sleep 1000 'Wait 1 second
cleardigitalchannel(portokok) 'Relay 7 off
sleep 1000 'Wait 1 second
windowtitle pgmid+" "+pgmvers+" Alive"+str$(secondy)
next
Watchdog ist im Modul House.cs implementiert. Es muss lediglich noch der richtige GPIO angepasst werden. Für diese Änderung wurde temprär der Heater Code deaktiviert. Code: // ** // // * Watchdog Pulse GPIO for 60 seconds, 1 second on, 1 second off // // **
Console.Write("Watchdog Pulse ");
for (int i = 1; i <= 30; i++)
{
Console.Write(". ");
gpio.State = GPIOPinDriver.GPIOState.High;
Thread.Sleep(1000);
gpio.State = GPIOPinDriver.GPIOState.Low;
Thread.Sleep(1000);
}
Erledigt. Funktioniert.
Add a watchdog (blinking LED) so one can see whether the program is running