Appendix a, Programming watchdog timer – Lanner LEC-7050 User Manual
Page 24

23
Programming Watchdog Timer
Embedded and Industrial Computing
Appendix A
BOOL ret = Read_DIO (nPort) ;
printf (“DIO_IN #%d = %d\n”, nPort, ret) ;
return
ret
;
}
// Milli-second delay
int mSleep (int argc, char *argv[])
{
CHECK_ARGC (3) ;
CheckNumeric (argv[2]) ;
Sleep (atoi (argv[2]) ) ;
return 0 ;
}
// Watchdog
int mWatchDog (int argc, char *argv[])
{
if (argc != 3 && argc != 2)
RETMSG (-1, PARAMETER_HELP) ;
if (argc == 3)
{
CheckNumeric (argv[2]) ;
int nValue = atoi (argv[2]) ;
WatchDog_Enable (nValue) ;
}
int nLeft = WatchDog_GetLeft () ;
printf (“Watchdog timer left %d seconds\n”, nLeft)
;
return nLeft ;
}
// Argument - function mapping
typedef struct
{
char *szCmd ;
int (*function) (int argc, char *argv[]) ;
} CMD2FUN ;
CMD2FUN c2f[] =
{
{“DIO_IN”
, mDIO_IN
},
{“DIO_OUT”
, mDIO_OUT
},
{“PIO”
, mPIO
},
{“RunLED”
, mRunLED
},
{“AlarmLED”
, mAlarmLED
},
{“GPS_LED”
, mGPS_LED
},
{“WirelessLED” , mWirelessLED },
{“CaseOpen” , mCaseOpen },
{“CaseOpen_Clear”,mCaseOpen_Clear},
{“Watchdog”
, mWatchDog
},
{“Sleep”
, mSleep
}
} ;
// Program start here
int main(int argc, char *argv[])
{