diff options
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 3 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 5 | ||||
-rw-r--r-- | nuttx/sched/timer_settime.c | 10 |
3 files changed, 12 insertions, 6 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 3e4e4fdb9..c2223cc5f 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -1337,5 +1337,8 @@ verify the LPC17xx ethernet driver currently under development. * arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h - Began development of the LPC17xx Ethernet driver. + * sched/timer_settime.c - Fix an error in set-up of one-shot timer. It was + using the repititive timer value (which is zero in the one-shot case, + always resulting in a 10Ms timer! Found and fixed by Wilton Tong. diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index a7d04ce99..77473f253 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -8,7 +8,7 @@ <tr align="center" bgcolor="#e4e4e4"> <td> <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1> - <p>Last Updated: November 11, 2010</p> + <p>Last Updated: November 17, 2010</p> </td> </tr> </table> @@ -1986,6 +1986,9 @@ nuttx-5.14 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> verify the LPC17xx ethernet driver currently under development. * arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h - Began development of the LPC17xx Ethernet driver. + * sched/timer_settime.c - Fix an error in set-up of one-shot timer. It was + using the repititive timer value (which is zero in the one-shot case, + always resulting in a 10Ms timer! Found and fixed by Wilton Tong. pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/sched/timer_settime.c b/nuttx/sched/timer_settime.c index 6aceea27c..035852315 100644 --- a/nuttx/sched/timer_settime.c +++ b/nuttx/sched/timer_settime.c @@ -1,7 +1,7 @@ /******************************************************************************** * sched/timer_settime.c * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -308,7 +308,7 @@ int timer_settime(timer_t timerid, int flags, FAR const struct itimerspec *value if (!timer || !value) { - *get_errno_ptr() = EINVAL; + errno = EINVAL; return ERROR; } @@ -349,7 +349,7 @@ int timer_settime(timer_t timerid, int flags, FAR const struct itimerspec *value #ifdef CONFIG_DISABLE_CLOCK /* Absolute timing depends upon having access to clock functionality */ - *get_errno_ptr() = ENOSYS; + errno = ENOSYS; return ERROR; #else /* Calculate a delay corresponding to the absolute time in 'value'. @@ -371,7 +371,7 @@ int timer_settime(timer_t timerid, int flags, FAR const struct itimerspec *value } /* If the time is in the past or now, then set up the next interval - * instead. + * instead (assuming a repititive timer). */ if (delay <= 0) @@ -385,7 +385,7 @@ int timer_settime(timer_t timerid, int flags, FAR const struct itimerspec *value if (delay > 0) { timer->pt_last = delay; - ret = wd_start(timer->pt_wdog, timer->pt_delay, (wdentry_t)timer_timeout, 1, (uint32_t)((uintptr_t)timer)); + ret = wd_start(timer->pt_wdog, delay, (wdentry_t)timer_timeout, 1, (uint32_t)((uintptr_t)timer)); } irqrestore(state); |