abstracted watchdog timer device driver