Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

NI6509 Watchdog timer expires prematurely

Hello,

I am using the Watchdog functionality of NI6509 PCI board.

The problem I am experiencing is that Watchdog time sometime expires prematurely.

Especially if I stop the watch dog and restart it again.

Please see the attached NI6509Controller.cpp, where I am defining following functions:

1) SetupWatchDogTask 

2) StopBoardTask

3) RunWatchDogThread

 

Basically my thread is running the thread function RunWatchDogThread, waiting to receive following commands:

- WD_START, WD_PUMP, WD_STOP  and calls the functions as described in the code.

Usually I am starting the Watchdog with timeout = 5s and start pumping with command WD_PUMP.

At some time I am stopping it by sending WD_STOP command, 

By this point the functionality works fine.

Next time I start the Watchdog( WD_START with 5s ), it stops prematurely within a second.

Could you please help?

Thanks in forward,

0 Kudos
Message 1 of 2
(2,425 Views)

Problem fixed!

Actually the port which is assigned to be asserted to HIGH by Watchdog needed to be put to Low before Watchdog started.

Otherwise it was floating and causing Change Detection Task to catch false transition Low->High.

0 Kudos
Message 2 of 2
(2,370 Views)