Jump to content

Watchdog


CraigGraham

Recommended Posts

I'm revisiting a cFP project I've been away from for a year, and I no longer have access to the hardware until the few days when I go onsite to deploy an update.

I want to add watchdogs to the cFP code, but can't seem to find decent info and with no cFP controller I can't play. Don't want to be implimenting new features in the deployment time. I have several loops, and ideally would like one watchdog per loop so if any loop hangs the whole thing reboots. Can I do this simply by having multiple "Watchdog Configure" nodes and wiring the watchdogIDs to whack nodes in the individual loops? I've had a play with the VIs on Windows but they do nothing, so I'm not sure that being able to code this on Windows without getting broken wires actually means anything.

Link to comment
I'm revisiting a cFP project I've been away from for a year, and I no longer have access to the hardware until the few days when I go onsite to deploy an update.

I want to add watchdogs to the cFP code, but can't seem to find decent info and with no cFP controller I can't play. Don't want to be implimenting new features in the deployment time. I have several loops, and ideally would like one watchdog per loop so if any loop hangs the whole thing reboots. Can I do this simply by having multiple "Watchdog Configure" nodes and wiring the watchdogIDs to whack nodes in the individual loops? I've had a play with the VIs on Windows but they do nothing, so I'm not sure that being able to code this on Windows without getting broken wires actually means anything.

I haven't played with the watchdogs on cFP and don't have one handy to play with but I'm afraid there is only one wtachdog hardware resource on the cFP. Either trying to open more than one will not work at all or if it does it may reset the watchdog on every access which means you would only fail if ALL your loops stop.

A better aproach may be to wire up a small LV2 style global that allows your loops to open a reference to some internal state (an array index might work). On every reset store the actual timestamp in the apropriate index and evaluate all timestamps to have not elapsed more than your set value. The whole thing might be a little bit involved in logic to make sure to reset the actual watchdog apropriately but it could definitely be made to work.

Rolf Kalbermatter

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.