Fix a couple of bugs in the STM32 IWDG driver

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4620 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo
2012-04-16 22:15:33 +00:00
parent d6bb782713
commit 1837532bd7
2 changed files with 93 additions and 18 deletions
+33
View File
@@ -223,6 +223,9 @@ static void parse_args(FAR struct wdog_example_s *wdog, int argc, FAR char **arg
int wdog_main(int argc, char *argv[])
{
struct wdog_example_s wdog;
#ifdef CONFIG_DEBUG_WATCHDOG
struct watchdog_status_s status;
#endif
long elapsed;
int fd;
int ret;
@@ -278,6 +281,21 @@ int wdog_main(int argc, char *argv[])
usleep(wdog.pingdelay * 1000);
/* Show watchdog status. Only if debug is enabled because this
* could interfere with the timer.
*/
#ifdef CONFIG_DEBUG_WATCHDOG
ret = ioctl(fd, WDIOC_GETSTATUS, (unsigned long)&status);
if (ret < 0)
{
message("wdog_main: ioctl(WDIOC_GETSTATUS) failed: %d\n", errno);
goto errout_with_dev;
}
message("wdog_main: flags=%08x timeout=%d timeleft=%d\n",
status.flags, status.timeout, status.timeleft);
#endif
/* Then ping */
ret = ioctl(fd, WDIOC_KEEPALIVE, 0);
@@ -299,6 +317,21 @@ int wdog_main(int argc, char *argv[])
usleep(wdog.pingdelay * 1000);
/* Show watchdog status. Only if debug is enabled because this
* could interfere with the timer.
*/
#ifdef CONFIG_DEBUG_WATCHDOG
ret = ioctl(fd, WDIOC_GETSTATUS, (unsigned long)&status);
if (ret < 0)
{
message("wdog_main: ioctl(WDIOC_GETSTATUS) failed: %d\n", errno);
goto errout_with_dev;
}
message("wdog_main: flags=%08x timeout=%d timeleft=%d\n",
status.flags, status.timeout, status.timeleft);
#endif
message(" NO ping elapsed=%ld\n", elapsed);
msgflush();
}