5.19 2011-03-12 Gregory Nutt * Initial version of the apps/ directory was released as contributed by Uros Platise. 6.0 2011-03-21 Gregory Nutt * README.txt -- README cosmetics * hello/ -- hello world minor changes * Makefile -- Makefile cosmetics (I am slowly adding the Darjeeling JVM) * Make.defs -- New file adds common make definitions for applications. * hello/Makefile -- Now uses new Make.defs definitions. Added README.txt. * apps/poweroff -- New application to turn off board power. * Moved NSH library, netutils, and examples from the nuttx/ directory to the apps/ directory * Moved exec_nuttapp machinery into the nuttapp/ directory. 6.1 2011-04-10 Gregory Nutt * Creation of auto-generated header files now occurs during the context build phase. * Added sdcard insert and eject, nsh command '?' and some code remarks * Renamed nuttapp to namedapp * namedapp/binfs.c -- Create a tiny filesystem that can be used to show the internal named apps under /bin. * Numerous fixes to build system required to support building with native Windows toolchain. 6.2 2011-05-06 Gregory Nutt * apps/examples/nxffs: Add a test a a configuration that will be used to verify NXFFS. 6.3 2011-05-15 Gregory Nutt * apps/interpreter: Add a directory to hold interpreters. The Pascal add- on module now installs and builds under this directory. * apps/interpreter/ficl: Added logic to build Ficl (the "Forth Inspired Command Language"). See http://ficl.sourceforge.net/. * apps/netutils/dhcpc, dhcpcd, and tftp. If these directories are included in the configuration but CONFIG_NET_UDP is disable (which is not very wise), then a make error occurs because tools/mkdep.sh is called with no files. * system/free: Move Uros' custom free command from vsn/free * system/install: Add a new install command submitted by Uros Platise. * examples/rgmp. Add a placeholder for an RGMP build example. RGMP is a project for running GPOS and RTOS simultaneously on multi-processor platforms. See http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further information about RGMP. NOTE: This is an empty example on initial check-in. 6.4 2011-06-06 Gregory Nutt * nshlib/nsh_netcmds.c: If a network device name and IP address are provided with the ifconfig command, then this command will now set the network address. (Contributed by Yu Qiang). * netutils/ftpc: A library to support client-side FTP. * examples/ftpc: A simple add-on to the NSH. From NSH, you can start this simple FTP shell to transfer files to/from a remote FTP server. 6.5 2011-06-21 Gregory Nutt * netutils/ftpc: Simpflication and size reduction. 6.6 2011-07-11 Gregory Nutt * Make.defs, namedapp/namedapp.c: Several structural changes made to get a clean compile under the ez80 ZDS-II toolchain (no design changes). * apps/examples/buttons: Add a test for the new standardized button interfaces * apps/examples/nxtext: Add another NX graphics test. This one focus on placing text on the background while pop-up windows occur. Text should continue to update normally with or without the popup windows present. 6.7 2011-08-02 Gregory Nutt * apps/examples/nx and nxtext: These examples can now be built as NSH "built-in" commands. * apps/examples/nxhello: The simplest graphics example: It just says "Hello, World!" in the center of the display. This example can also be built as an NSH "built-in" command. * apps/examples/nx, ntext, and nxhello: All updated to use the new NuttX font interfaces. * apps/examples/nximage: Another super simple graphics example: It just puts the NuttX logo in the center of the display. This example can also be built as an NSH "built-in" command. * apps/examples/usbstorage: Can now be built as two NSH "built-in" commands: 'msconn' will connect the USB mass storage device; 'msdis' will disconnect the USB storage device. * apps/examples/nx*: All NX header files moved from nuttx/include/nuttx to nuttx/include/nuttx/nx. * apps/examples/usbstorage: Added instrumentation to monitor memory usage to check for memory leaks in the USB storage driver. * apps/examples/nxhello/nxhello_bkgd.c: Fix handling of allocated glyph memory. 6.8 2011-08-11 Gregory Nutt * apps/examples/nxlines: Added a test for NX line drawing capabilities. 6.9 2011-09-11 Gregory Nutt * apps/examples/nxlines: Extend the line drawing text to include drawing of circles. * apps/system/i2c: Add an I2C test tool that should help to bring up I2C devices (when it is fully functional). * apps/nshlib/nsh_timcmds.c: Add the date command that can be used to show or set the time (only if CONFIG_RTC is set). 6.10 2011-10-06 Gregory Nutt * apps/system/i2c: Add repitition and address auto-incrementing so that and command can be executed numerous times. Add a new verify command that will write to a register, read from register, and verify that returned value. * apps/graphics/tiff: Add a library that can be used to create TIFF files. * apps/examples/tiff: Add a unit test for the TIFF file creation logic * apps/examples/lcdrw: Add a test to verify if you can or can or read data from an LCD correctly. * apps/examples/usbterm: A USB terminal example.. more of a USB chat or serial bridge: Data received on local console echoed via USB serial; data received on USB serial is echoed on the local console. * apps/examples/touchscreen: Add a simple, generic test for any touschscreen driver. * Makefile: The apps/ Makefile now checks for an apps/external directory or symbolic link. If such a directory/link exists (and has a Makefile), it will be added to the apps/ build. This allows external directories to be included into the apps/ build by simply creating a symbolic link. 6.11 2011-11-12 Gregory Nutt (No major changes from 6.10) 6.12 2011-12-06 Gregory Nutt * apps/examples/buttons: The button test can now be executed as an NSH built in command. 6.13 2012-12-26 Gregory Nutt * apps/examples/dhcpd: May now be built as an NSH built-in application by setting CONFIG_NSH_BUILTIN_APPS. * apps/netutils/dhcpd/dhcpd.c: Fix several problems using host order address where network addresses expected (and vice versa). * apps/examples/nettest: May now be built as an NSH built-in application by setting CONFIG_NSH_BUILTIN_APPS. * apps/examples/nettest: Correct some build issues with the nettest is built for performance evaluation. * apps/examples/adc: Add a very simple test to drive and test an ADC driver. * apps/examples/pwm: Add an NSH PWM command to drive and test a PWM driver. * apps/examples/can: Add an NSH CAN command to drive and test a CAN driver in loopback mode. 6.14 2012-01-15 Gregory Nutt * apps/examples/buttons/main.c: The test needs to call up_buttoninit() to properly configure the button interrupt GPIOs. * apps/examples/pwm: Add support to test the pulse count option recently added to the PWM interface. 6.15 2012-02-12 Gregory Nutt * apps/nshlib/nsh_serial.c and nsh_usbdev.c: If NuttX is configured to use a USB serial console, then NSH needs to wait until the USB console is connected and available. * apps/examples/composite: Add a test of the USB composite device. * apps/examples/Telnetd: Move the tiny uIP shell example from netutils/Telnetd to examples/Telnetd. Enhanced the Telnetd daemon so that it supports Telnetd via a TTY device driver: A new TTY device driver is created when each new Telnet connection is created. The shell thread is started with stdin, stdout, and stderr mapped to the TTY device. * netutils/Telnetd: The old uIP Telnet demo is gone. In its place is a new Telnet infrastructure. The new Telnet daemon creates sessions that are "wrapped" as character devices and mapped to stdin, stdout, and stderr. Now the Telnet session can be inherited by spawned tasks. * examples/Telnetd: Add a test for the new Telnet daemon. * examples/Telnetd/telnetd_driver.c: Move the internal socket structure from the daemon's socket array into the driver's state data so that it will be independent from the the Telnetd daemon. * apps/system/readline: Moved the old nuttx/lib/stdio/lib_fgets.c here and renamed it as readline(). The old fgets was simplied and the overloaded readline functionality was removed. * apps/netutils/ftpd: Add an FTPD server (does not even compile on initial checkin). * apps/examples/ftpd: Add a test for the FTPD server (untest on initial check-in). * apps/nshlib/nsh_fscmds.c: Add support for a 'dmesg' command that will dump the system log if CONFIG_SYSLOG is selected. 6.16 2012-03-10 Gregory Nutt * apps/examples/qencoder: Add a quadrature driver test. * apps/examples/ostest/fpu.c: Add a test to verify that FPU registers are properly saved and restored on context switches. * apps/system/readline/readline.c: readline() will now treat either a backspace or a DEL character as a backspace (i.e., deleting the character to the left of the cursor). This makes NSH less dependent on particular keyboard mappings of the Backspace key. Submitted by Mike Smith. * apps/examples/cdcacm: An example that illustrates how the CDC/ACM driver may to connected and disconnected through software control. * apps/examples/nsh/nsh_main.c: If available, call up_cxxinitialize() to initialize all statically defined C++ classes. * apps/nshlib: Now supports a USB serial device for NSH console I/O. This allows NSH to be used on boards that have USB but no serial connectors. 6.17 2012-04-14 Gregory Nutt * apps/examples/can: Add conditional compilation so that the test can be configured to only send messages or to only receive messages. This will let the test work in other modes than simple loopback testing. * apps/examples/hello and apps/examples/ostest: Can now be built as NSH built-int functions. * vsn/hello: Removed. The modified apps/examples/hello is enough "Hello, World!" * apps/examples/nxconsole: Add a test of the NX console device. * apps/examples/nxconsole: The NX console example now supports running the NuttShell (NSH) within an NX window. * apps/system/readline: Now uses standard definitions from include/nuttx/ascii.h and vt100.h * Kconfig, */Kconfig: Added skeleton Kconfig files to all directories that may need them. 6.18 2012-05-19 Gregory Nutt * Kconfig: Continued Kconfig file updates (no longer tracking on a per-file basis in the ChangeLog) * apps/examples/watchdog: Add a watchdog timer example. * apps/examples/tiff: Fix wrong path used for temporary file. * apps/examples/touchscreen: Standardize the board-specific, touchscreen initialization interfaces. 6.19 2012-06-15 Gregory Nutt * apps/nshlib/nsh_usbdev.c: Add the capability to use an arbitrary USB device as the console (not necessarily /dev/console). This is a useful option because then you can still use the serial console to debug with. * apps/nshlib/nsh_usbdev.c: User now has to press ENTER 3 times before USB console will start. Otherwise, the USB console starts before there is anyone at the other end to listen. * apps/nshlib/nsh_usbdev.c and nsh_consolemain.c: Add support for the USB capability when a USB console is used. * apps/nshlib/nsh_fscmds.c: Add the 'mv' command 6.20 2012-07-12 Gregory Nutt * namedapp/exec_namedapp.c - Correct an error when round robin scheduling is enabled. The priority of the new, named application was erroneously being set to the priority of the parent thread; losing its configured priority. Reported by Mike Smith. 6.21 2012-08-25 Gregory Nutt * apps/include/: Stylistic clean-up of all header files. * apps/modbus and apps/include/modbus: A port of freemodbus-v1.5.0 has been added to the NuttX apps/ source tree. * apps/examples/modbus: A port of the freemodbus-v1.5.0 "demo" program that will be used to verify the FreeModBus port * apps/modbus: Don't use strerror(). It is just too big. * apps/modbus: Add CONFIG_MB_TERMIOS. If the driver doesn't support termios ioctls, then don't bother trying to configure the baud, parity etc. * apps/nshlib: If waitpid() is supported, then NSH now catches the return value from spawned applications (provided by Mike Smith) * apps/nshlib: Lock the scheduler while starting built-in applications in order to eliminate race conditions (also from Mike Smith). * apps/examples/adc, pwm, and qencoder: Add support for testing devices with multiple ADC, PWM, and QE devices. * apps/nshlib/nsh_mntcmds.c: Separated mount-related commands out of nsh_fscmds.c. Extended to the mount command so that if no arguments are provided, then the current mountpoints are enumerated. * apps/nshlib/nsh_mntcmds.c: Add an NSH df command to list the properties of mounted file systems. * apps/nshlib/nsh_parse.c: Extend help command options. 'help' with no arguments outputs a short list of commands. With -v lists all command line details. A command name can be added to just get help on one command. * system/readline.c: If character input/output is interrupted by a signal, then readline() will try the read/write again. * apps/*/Make.defs: Numerous fixes needed to use the automated configuration (from Richard Cochran). 6.22 2012-09-29 Gregory Nutt * apps/netutils/thttpd/thttpd_cgi.c: Missing NULL in argv[] list (contributed by Kate). * apps/nshlib/nsh_parse.c: CONFIG_NSH_DISABLE_WGET not CONFIG_NSH_DISABLE_GET in one location (found by Kate). * apps/examples/ostest/prioinherit.c: Limit the number of test threads to no more than 3 of each priority. Bad things happen when the existing logic tried to created several hundred test treads! * apps/nshlib/nsh.h: Both CONFIG_LIBC_STRERROR and CONFIG_NSH_STRERROR must be defined to use strerror() with NSH. * apps/examples/*/*_main.c, system/i2c/i2c_main.c, and others: Added configuration variable CONFIG_USER_ENTRYPOINT that may be used to change the default entry from user_start to some other symbol. Contributed by Kate. * apps/netutils/webserver/httpd/c: Fix a typo that as introduced in version r4402: 'lese' instead of 'else' (Noted by Max Holtzberg). * tools/mkfsdata.pl: The uIP web server CGI image making perl script was moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl (Part of a larger change submitted by Max Holtzberg). * apps/netutils/webserver, apps/examples/uip, and apps/include/netutils/httpd.h: The "canned" version of the uIP web servers content that was at netutils/webserver/httpd_fsdata.c has been replaced with a dynamically built configuration located at apps/examples/uip (Contributed by Max Holtzberg). * apps/netutils/webserver: Several inenhancements from Kate including the ability to elide scripting and SERVER headers and the ability to map files into memory before transferring them. * apps/netutils/webserver: Add ability to map a URL to CGI function. Contributed by Kate. * apps/nshlib/nsh_mntcmds.c: The changes of 6.21 introduced holes in the error handling: Now the number of arguments to mount can be 0 or 4. Additional parameter checking is required to prevent mysterious errors (submiteed by Kate). * apps/netutils/webserver/httpd_mmap.c: Fix errors when the mmap() length is zero (submitted by Kate). * apps/netutils/webserver/httpd_sendfile.c: Add and option, CONFIG_NETUTILS_HTTPD_SENDFILE to transfer files using the NuttX sendfile() interface. * apps/netutils/discover: A UDP network discovery utility contributed by Max Holtzberg. * apps/examples/discover: A test example for the UDP network discovery utility (also contribed by Max Holtzberg). * apps/examples/*/main.c: Too many files called main.c. Each renamed to something unique so that they will not collide in the archive. * apps/netutils/xmlrpc: The Embeddable Lightweight XML-RPC Server discussed at http://www.drdobbs.com/web-development/\ an-embeddable-lightweight-xml-rpc-server/184405364. Contributed by Max Holtzberg. * apps/netutils/uip_listenon.c: Logic in uip_server.c that creates the listening socket was moved to this new file to support re-use. Contributed by Kate. * apps/netutils/webserver/httpd.c: The option CONFIG_NETUTILS_HTTPD_SINGLECONNECT can now be used to limit the server to a single thread. Option CONFIG_NETUTILS_HTTPD_TIMEOUT can be used to generate HTTP 408 errors. Both from Kate. * apps/netutils/webserver/httpd.c: Improvements to HTTP parser from Kate. * apps/netutils/webserver/httpd.c: Add support for Keep-alive connections (from Kate). * apps/NxWidget/Kconfig: This is a kludge. I created this NxWidgets directory that ONLY contains Kconfig. NxWidgets does not live in either the nuttx/ or the apps/ source trees. This kludge makes it possible to configure NxWidgets/NxWM without too much trouble (with the tradeoff being a kind ugly structure and some maintenance issues). * apps/examples/Make.defs: Missing support for apps/examples/watchdog. * apps/NxWidgets/Kconfig: Add option to turn on the memory monitor feature of the NxWidgets/NxWM unit tests. 6.23 2012-11-05 Gregory Nutt * vsn: Moved all NSH commands from vsn/ to system/. Deleted the vsn/ directory. * Makefile: Change order of includes when CONFIG_NEWCONFIG=y. In that case, namedapp must be included first so that the namedapp context is established first. If the namedapp context is established later, it will overwrite any existing namedapp_list.h and nameapp_proto.h files. * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*. * Kconfig: Fleshed out apps/examples/adc/Kconfig and apps/examples/wget/Kconfig. There are still a LOT of empty, stub Kconfig files. * Kconfig: Fleshed out apps/examples/buttons/Kconfig. There are still a LOT of empty, stub Kconfig files. * apps/netutils/webserver/httpd.c: Fix a bug that I introduced in recent check-ins (Darcy Gong). * apps/netutils/webclient/webclient.c: Fix another but that I introduced when I was trying to add correct handling for loss of connection (Darcy Gong) * apps/nshlib/nsh_telnetd.c: Add support for login to Telnet session via username and password (Darcy Gong). * apps/netutils/resolv/resolv.c (and files using the DNS resolver): Various DNS address resolution improvements from Darcy Gong. * apps/nshlib/nsh_netcmds.c: The ping command now passes a maximum round trip time to uip_icmpping(). This allows pinging of hosts on complex networks where the ICMP ECHO round trip time may exceed the ping interval. * apps/examples/nxtext/nxtext_main.c: Fix bad conditional compilation when CONFIG_NX_KBD is not defined. Submitted by Petteri Aimonen. * apps/examples/nximage/nximage_main.c: Add a 5 second delay after the NX logo is presented so that there is time for the image to be verified. Suggested by Petteri Aimonen. * apps/Makefile: Small change that reduces the number of shell invocations by one (Mike Smith). * apps/examples/elf: Test example for the ELF loader. * apps/examples/elf: The ELF module test example appears fully functional. * apps/netutils/json: Add a snapshot of the cJSON project. Contributed by Darcy Gong. * apps/examples/json: Test example for cJSON from Darcy Gong * apps/nshlib/nsh_netinit.c: Fix static IP DNS problem (Darcy Gong) * apps/netutils/resolv/resolv.c: DNS fixes from Darcy Gong. * COPYING: Licensing information added. * apps/netutils/codec and include/netutils/urldecode.h, base64.h, and md5.h: A port of the BASE46, MD5 and URL CODEC library from Darcy Gong. * nsnlib/nsh_codeccmd.c: NSH commands to use the CODEC library. Contributed by Darcy Gong. * apps/examples/wgetjson: Test example contributed by Darcy Gong * apps/examples/cxxtest: A test for the uClibc++ library provided by Qiang Yu and the RGMP team. * apps/netutils/webclient, apps/netutils.codes, and apps/examples/wgetjson: Add support for wget POST interface. Contributed by Darcy Gong. * apps/examples/relays: A relay example contributed by Darcy Gong. * apps/nshlib/nsh_netcmds: Add ifup and ifdown commands (from Darcy Gong). * apps/nshlib/nsh_netcmds: Extend the ifconfig command so that it supports setting IP addresses, network masks, name server addresses, and hardware address (from Darcy Gong). 6.24 2012-xx-xx Gregory Nutt