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

Page 24

Advertising
background image

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[])
{

Advertising