diff --git a/ChangeLog b/ChangeLog index b2575af19d..0eb84f2299 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1438,7 +1438,7 @@ * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and fixed several errors in the code identified by the tool. -5.18 2011-xx-xx Gregory Nutt +5.18 2011-02-27 Gregory Nutt * Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary. - Lost SYNACK causes connection reset @@ -1476,3 +1476,7 @@ mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve, this port remains untested until I figure out this BDM / Code Warrior and paged build thing + * Added a new 'kill' command to NSH that will support sending signals to + running NuttX tasks. + +5.19 2011-xx-xx Gregory Nutt diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 57c2b8723f..0c11fc7048 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -800,31 +800,43 @@ -

nuttx-5.17 Release Notes: +

nuttx-5.18 Release Notes: +

- The 64th release of NuttX, Version 5.17, was made on January 19, 2010 and is available for download from the - SourceForge website. + The 65th release of NuttX, Version 5.18, was made on February 27, 2011 and is available for download from the + SourceForge website. The change log associated with the release is available here. Unreleased changes after this release are available in SVN. These unreleased changes are listed here.

- This release follows close on the heels of the 5.16 release and extends the USB host capabilities first introduced in that version. -

+ This is first release from the new NuttX SVN repository. + This release is made primarily to keep the release tarball in synchronization with SVN. + Many smaller changes have been made as identified in the ChangeLog. + Headlines would include: +

  • - The LPC17xx USB host controller driver was extended to (1) add support for low-speed devices, - (2) handle multiple concurrent transfers on different endpoints (still only one TD per endpoint), and - (3) handle periodic interrupt endpoint types. + Incorporate several important uIP patches -- including the well known patch to handle missing SYNACK.
  • - Add a USB host HID keyboard class driver. - Now you can connect a standard USB keyboard to NuttX and receive keyboard input for an application. + The Freescale mc8s12ne64 port is code complete but testing has not yet begun due to toolchain issues. + Added support for the Future Electronics Group NE64 Badge board. +
  • +
  • + Added support for a new STM32 board, the ISOTEL NetClamps VSN V1.2 ready2go sensor network platform. + This board is based on a STM32F103RET6 and includes some interesting power saving/clock control extensions. +
  • +
  • + USB host support expanded to handle vendor specific USB devices. +
  • +
  • + Incorporated the LUFA HID parser. +
  • +
  • + Various bugfix as detailed in the ChangeLog
-

- And other changes as detailed in the ChangeLog. -

@@ -1999,56 +2011,7 @@ Other memory:
    -nuttx-5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr>
    -
    -    * include/nuttx/usb -- rename usb_storage.h to storage.h.
    -    * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices.
    -    * drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers
    -    * include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New
    -      files for HID keyboard support.
    -    * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple
    -      concurrent transfers on different endpoints (still only one TD per
    -      endpoint).  All methods are protected from re-entrancy; lots of re-
    -      structuring in preparation for interrupt endpoint support.
    -    * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic
    -      interrupt transfers.
    -    * examples/hidkbd - Added a simple test for the USB host HID keyboard
    -      class driver.
    -    * configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the
    -      USB host HID keyboard class driver test for the LPC17xx.
    -    * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
    -      fixed several errors in the code identified by the tool.
    -
    -pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
    -
    -    * Updated to use standard C99 types in stdint.h and
    -      stdbool.h.  This change was necessary for compatibility
    -      with NuttX-5.0 (any beyond).
    -
    -buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr>
    -
    -    * configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
    -    * configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
    -      arm926
    -    * toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
    -    * toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
    -      GDB 6.8 won't build because the tarbal was released with -Werror enabled and
    -      the build stops on the first warning.
    -    * Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
    -      patches available from http://www.msextra.com/tools courtesy of James
    -      Cortina.  Add configs/m9x12x-defconfig-3.3.6.
    -
- - - - - -
- Unreleased Changes -
- -
    -nuttx-5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
    +nuttx-5.18 2011-02-27 Gregory Nutt <spudmonkey@racsa.co.cr>
     
         * Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
           - Lost SYNACK causes connection reset
    @@ -2086,6 +2049,39 @@ nuttx-5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
           mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board.  Howeve,
           this port remains untested until I figure out this BDM / Code Warrior
           and paged build thing
    +	* Added a new 'kill' command to NSH that will support sending signals to
    +	  running NuttX tasks.
    +
    +pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
    +
    +    * Updated to use standard C99 types in stdint.h and
    +      stdbool.h.  This change was necessary for compatibility
    +      with NuttX-5.0 (any beyond).
    +
    +buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr>
    +
    +    * configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
    +    * configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
    +      arm926
    +    * toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
    +    * toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
    +      GDB 6.8 won't build because the tarbal was released with -Werror enabled and
    +      the build stops on the first warning.
    +    * Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
    +      patches available from http://www.msextra.com/tools courtesy of James
    +      Cortina.  Add configs/m9x12x-defconfig-3.3.6.
    +
+ + + + + +
+ Unreleased Changes +
+ +
    +nuttx-5.19 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
     
     pascal-2.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
     
    diff --git a/ReleaseNotes b/ReleaseNotes
    index c2e38d6923..8976721308 100644
    --- a/ReleaseNotes
    +++ b/ReleaseNotes
    @@ -1658,7 +1658,7 @@ the NuttX Porting Guide:
     nuttx-5.17
     ^^^^^^^^^^
     
    -The 64th release of NuttX, Version 5.17, was made on January 19, 2010 and is
    +The 64th release of NuttX, Version 5.17, was made on January 19, 2011 and is
     available for download from the SourceForge website. This release follows
     close on the heels of the 5.16 release and extends the USB host capabilities
     first introduced in that version.
    @@ -1672,3 +1672,25 @@ first introduced in that version.
            application.
     
     And other changes as detailed in the ChangeLog.
    +
    +nuttx-5.18
    +^^^^^^^^^^
    +
    +The 65th release of NuttX, Version 5.18, was made on February 27, 2011 and is
    +available for download from the SourceForge website.  This is first release from
    +the new NuttX SVN repository.  This release is made primarily to keep the release
    +tarball in synchronization with SVN.  Many smaller changes have been made as
    +identified in the ChangeLog.  Headlines would include:
    +
    +    * Incorporate several important uIP patches -- including the well known
    +      patch to handle missing SYNACK.
    +    * The Freescale mc8s12ne64 port is code complete but testing has not yet
    +      begun due to toolchain issues.  Added support for the Future Electronics
    +      Group NE64 Badge board.
    +    * Added support for a new STM32 board, the ISOTEL NetClamps VSN V1.2 ready2go
    +      sensor network platform.  This board is based on a STM32F103RET6 and
    +      includes some interesting power saving/clock control extensions.
    +    * USB host support expanded to handle vendor specific USB devices.
    +    * Incorporated the LUFA HID parser.
    +    * Various bugfix as detailed in the ChangeLog
    +
    diff --git a/examples/nsh/nsh.h b/examples/nsh/nsh.h
    index 29bd19b98a..1fd1b3e926 100644
    --- a/examples/nsh/nsh.h
    +++ b/examples/nsh/nsh.h
    @@ -286,6 +286,9 @@ extern const char g_fmtcontext[];
     extern const char g_fmtcmdfailed[];
     extern const char g_fmtcmdoutofmemory[];
     extern const char g_fmtinternalerror[];
    +#ifndef CONFIG_DISABLE_SIGNALS
    +extern const char g_fmtsignalrecvd[];
    +#endif
     
     /****************************************************************************
      * Public Function Prototypes
    diff --git a/examples/nsh/nsh_fscmds.c b/examples/nsh/nsh_fscmds.c
    index cdc4ac0cd1..eb43ed23c6 100644
    --- a/examples/nsh/nsh_fscmds.c
    +++ b/examples/nsh/nsh_fscmds.c
    @@ -432,14 +432,21 @@ int cmd_cat(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
     
                       if (nbytesread < 0)
                         {
    -                     /* EINTR is not an error */
    +                      /* EINTR is not an error (but will stop stop the cat) */
     
    -                      if (errno != EINTR)
    +#ifndef CONFIG_DISABLE_SIGNALS
    +                      if (errno == EINTR)
    +                        {
    +                          nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
    +                        }
    +                      else
    +#endif
                             {
                               nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
    -                          ret = ERROR;
    -                          break;
                             }
    +
    +                      ret = ERROR;
    +                      break;
                         }
     
                       /* Check for data successfully read */
    @@ -453,14 +460,20 @@ int cmd_cat(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
                               int n = write(1, buffer, nbytesread);
                               if (n < 0)
                                 {
    -                              /* EINTR is not an error */
    +                              /* EINTR is not an error (but will stop stop the cat) */
     
    -                              if (errno != EINTR)
    + #ifndef CONFIG_DISABLE_SIGNALS
    +                              if (errno == EINTR)
    +                                {
    +                                  nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
    +                                }
    +                              else
    +#endif
                                     {
                                       nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
    -                                  ret = ERROR;
    -                                  break;
                                     }
    +                              ret = ERROR;
    +                              break;
                                 }
                               else
                                 {
    @@ -593,11 +606,22 @@ int cmd_cp(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
                   ret = OK;
                   goto errout_with_wrfd;
                 }
    -          else if (nbytesread < 0 && errno != EINTR)
    +          else if (nbytesread < 0)
                 {
    -              /* Read error */
    +              /* EINTR is not an error (but will still stop the copy) */
     
    -              nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
    +#ifndef CONFIG_DISABLE_SIGNALS
    +              if (errno == EINTR)
    +                {
    +                  nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
    +                }
    +              else
    +#endif
    +                {
    +                  /* Read error */
    +
    +                  nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
    +                }
                   goto errout_with_wrfd;
                 }
             }
    @@ -610,11 +634,22 @@ int cmd_cp(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
                 {
                   nbytesread -= nbyteswritten;
                 }
    -          else if (errno != EINTR)
    +          else
                 {
    -              /* Read error */
    +              /* EINTR is not an error (but will still stop the copy) */
     
    -              nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
    +#ifndef CONFIG_DISABLE_SIGNALS
    +              if (errno == EINTR)
    +                {
    +                  nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
    +                }
    +              else
    +#endif
    +                {
    +                 /* Read error */
    +
    +                  nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
    +                }
                   goto errout_with_wrfd;
                 }
             }
    diff --git a/examples/nsh/nsh_main.c b/examples/nsh/nsh_main.c
    index 80a9eb8e1a..c27c741744 100644
    --- a/examples/nsh/nsh_main.c
    +++ b/examples/nsh/nsh_main.c
    @@ -358,6 +358,9 @@ const char g_fmtcmdfailed[]      = "nsh: %s: %s failed: %d\n";
     #endif
     const char g_fmtcmdoutofmemory[] = "nsh: %s: out of memory\n";
     const char g_fmtinternalerror[]  = "nsh: %s: Internal error\n";
    +#ifndef CONFIG_DISABLE_SIGNALS
    +const char g_fmtsignalrecvd[]    = "nsh: %s: Signal received\n";
    +#endif
     
     /****************************************************************************
      * Private Functions