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/system/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-12-20 Gregory Nutt * apps/examples/ostest/roundrobin.c: Replace large tables with algorithmic prime number generation. This allows the roundrobin test to run on platforms with minimal SRAM (Freddie Chopin). * apps/nshlib/nsh_dbgcmds.c: Add hexdump command to dump the contents of a file (or character device) to the console Contributed by Petteri Aimonen. * apps/examples/modbus: Fixes from Freddie Chopin * apps/examples/modbus/Kconfig: Kconfig logic for FreeModBus contributed by Freddie Chopin. * Makefile, */Makefile: Various fixes for Windows native build. Now uses make foreach loops instead of shell loops. * apps/examples/elf/test/*/Makefile: OSX doesn't support install -D, use mkdir -p then install without the -D. From Mike Smith. * apps/examples/relays/Makefile: Reduced stack requirement (Darcy Gong). * apps/nshlib and apps/netutils/dhcpc: Extend the NSH ifconfig command plus various DHCPC improvements(Darcy Gong). * apps/nshlib/nsh_apps.c: Fix compilation errors when CONFIG_NSH_DISABLEBG=y. From Freddie Chopin. * Rename CONFIG_PCODE and CONFIG_FICL as CONFIG_INTERPRETERS_PCODE and CONFIG_INTERPRETERS_FICL for consistency with other configuration naming. * apps/examples/keypadtest: A keypad test example contributed by Denis Carikli. * apps/examples/elf and nxflat: If CONFIG_BINFMT_EXEPATH is defined, these tests will now use a relative path to the program and expect the binfmt/ logic to find the absolute path to the program using the PATH variable. 6.25 2013-02-01 Gregory Nutt * Makefiles: Removed dependency of distclean on clean in most top-level files. It makes sense for 'leaf' Makefiles to have this dependency, but it does not make sense for upper-level Makefiles. * apps/namedapp/: Renamed to builtins in preparation for another change. * .context: Removed the .context kludge. This caused lots of problems when changing configurations because there is no easy way to get the system to rebuild the context. Now, the context will be rebuilt whenever there is a change in either .config or the Makefile. * apps/builtin/registry: Updated new built-in registration logic to handle cases where (1) old apps/.config is used, and (2) applications ared removed, not just added. * apps/examples/nettest/Makefile: Fix an error that crept in during some of the recent, massive build system changes. * apps/builtin/Makefile: Need to have auto-generated header files in place early in the dependency generation phase to avoid warnings. It is not important if they are only stubbed out header files at this build phase. * apps/examples/hidbkd: Now supports decoding of encoded special keys if CONFIG_EXAMPLES_HIDKBD_ENCODED is defined. * apps/examples/hidbkd: Add support for decoding key release events as well. However, the USB HID keyboard drier has not yet been updated to detect key release events. That is kind of tricky in the USB HID keyboard report data. * apps/examples/wlan: Remove non-functional example. * apps/examples/ostest/vfork.c: Added a test of vfork(). * apps/exampes/posix_spawn: Added a test of posix_spawn(). * apps/examples/ostest: Extend signal handler test to catch death-of-child signals (SIGCHLD). * apps/examples/ostest/waitpid.c: Add a test for waitpid(), waitid(), and wait(). * builtin/binfs.c: Add hooks for dup() method (not implemented). * builtin/exec_builtin.c, nshlib/nsh_parse.c, and nshlib/nsh_builtin.c: NSH now supports re-direction of I/O to files (but still not from). * builtin/binfs.c: Greatly simplified (it is going to need to be very lightweight). Now supports open, close, and a new ioctl to recover the builtin filename. The latter will be needed to support a binfs binfmt. * builtin/binfs.c: Move apps/builtin/binfs.c to fs/binfs/fs_binfs.c CONFIG_APPS_BINDIR rename CONFIG_FS_BINFS * apps/include/builtin.h: Some of the content of apps/include/apps.h moved to include/nuttx/binfmt/builtin.h. apps/include/apps.h renamed builtin.h * apps/builtin/exec_builtins.c: Move builtin utility functions from apps/builtin/exec_builtins.c to binfmt/libbuiltin/libbuiltin_utils.c * apps/nshlib/nsh_mountcmds.c: The block driver/source argument is now optional. Many files systems do not need a source and it is really stupid to have to enter a bogus source parameter. * apps/nshlib/nsh_fileapp.c: Add the ability to execute a file from a file system using posix_spawn(). * apps/builtin/: Extensions from Mike Smith. * apps/examples/ftpd/Makefile: Name ftpd_start is not the name of the entrypoint. Should be ftpd_main (from Yan T.) * apps/netutils/telnetd/telnetd_driver: Was stuck in a loop if recv[from]() ever returned a value <= 0. * apps/examples/nettest and poll: Complete Kconfig files. * apps/examples/ostest/waitpid.c: Need to use WEXITSTATUS() to decode the correct exit status. * apps/system/usbmonitor: A daemon that can be used to monitor USB trace outpout. * apps/nshlib/nsh_usbdev.c, nsh_consolemain.c, nsh_session.c, nsh_script.c: Add support for a login script. The init.d/rcS script will be executed once when NSH starts; the .nshrc script will be executed for each session: Once for serial, once for each USB connection, once for each Telnet session. * apps/system/readline: Correct readline() return value. Was not any returning special values when end-of-file or read errors occur (it would return an empty string which is not very useful). 6.26 2013-03-15 Gregory Nutt * apps/builtin/exec_builtin.c: Now uses task_spawn() to start builtin applications. * Type of argv has changed from const char ** to char * const * * apps/nshlib/nsh_parse.c: Fix memory lead: Need to detach after creating a pthread. * apps/examples and nshlib: Change name of _TCB to struct tcb_s to match NuttX name change. * apps/examples/ostest/restart.c: Add a test case to verify task_restart(). * apps/system/readline.c: readline() now returns EOF on any failure (instead of a negated errno value). This is because the underlying read is based on logic similar to getc. The value zero was being confused with a NUL. So if a NUL was received, the NSH session would terminate because it thought it was the end of file. 6.27 2013-04-28 Gregory Nutt * apps/system/ramtest: Add a simple memory test (2013-03-26). * apps/examples/ostest: In the non-cancelable thread test, we need to give the thread an opportunity to run and to set the non- cancelable state. * apps/nshlib/nsh_ddcmd.c: Correct the test of the skip input parameter. Was limiting the range to <= count. From Ken Petit (2014-4-24). 6.28 2013-06-14 Gregory Nutt * apps/examples/mtdpart: Provides a simple test of MTD partitions. * apps/nshlib/nsh_mntcmds.c: Add a -h option to the df command to show the volume information in human readable form (Ken Petit, 2013-4-30). * apps/nshlib/nsh_fscmds.c: Add support for the mksmartfs command. (Ken Petit, 2013-4-30). * apps/system/flash_eraseall: Add an interface to erase FLASH using a flash_eraseall NSH command (Ken Pettit, 2013-5-1). * apps/examples/flash_test and apps/examples/smart_test: Add tests of the SMART block driver and file system (Ken Pettit, 2013-5-1). * apps/examples/mtdpart: Extended the test. The original test coverage was superficial (2013-5-3). * apps/examples/smart: This is an adaptation of the NXFFS stress test for the SMART file system (Ken Pettit, 2013-5-3). * apps/examplex/nxtext: Remove the CONFIG_EXAMPLES_NXTEXT_NOGETRUN option. The test logic was bad for the case where this options is not selected. Also, complete the empty Kconfig file (2013-5-7). * apps/NxWidgets/Kconfig: Updated to match NxWidgets/Kconfig by Ken Pettit (2013-5-11). * apps/examples/helloxx: C++ name mangling was occurring when this example is built as an NSH built-in application. (2013-5-16). * apps/netutils/discover: Added a runtime configuration for the UDP discover utility. From Max Holtzberg (2013-5-21). * apps/examples/tcpecho: Added a simple single threaded, poll based TCP echo server based on W. Richard Stevens UNIX Network Programming Book. Contributed by Max Holtzberg (2013-5-22). * apps/examples/slcd: Add an example for testing alphanumeric, segment LCDs (2013-5-24). * apps/examples/slcd: Extend SLCD test to handle multi-line displays (2013-5-26). * apps/examples/slcd: This test now sets the SLCD brightness level to the mid-point as part of its initialization (2013-5-27). * .gitignore: Clean-up of most all .gitignore files: Make scope of ignore to be only the current directory; Ignore .dSYM files in directories where .exe's may be build. Also, in Makefiles, clean .dSYM files in directories where .exe may be built (2013-5-30). * apps/examples/nrf35l01_term: Add an example application to demo the nRF24L01 driver. From Laurent Latil (2013-6-1). * apps/nshlib/Kconfig: Add some missing NSH configuration values. From Lorenz Meier (2013-6-2). * Standardize on CONFIG_NSH_BUILTIN_APPS. Remove all other variants of the build-as-an-NSH-application configuration settings (2013-6-12). 6.29 2013-07-31 Gregory Nutt * apps/examples/nsh, cxxtest, and helloxx: C++ initializers should be set once and, preferably, in the context of the task that uses any C++ statically initialized classes. These only becomes an issue if cxxtest or helloxx are built as NSH builtin applications. Then you want the initialization done in cxxtext or helloxx and not in NSH (and certainly not twice). Added configuration options to control who does the C++ initialization. NSH now does not do C++ initialization be default and must be configured to do otherwise. Converely, cxxtest and helloxx will do C++ initialization unless configured do otherwise (2013-6-21). * apps/examples/cxxtext: Add ostream test as provided by Michael (2013-6-21). * apps/examples/nxhello: Minor fix for compilation error when the display resolution is low (< 8bpp) due to a typo that has been there for a long time (2013-6-23). * apps/examplex/nxhello: Correct default colors when in Y1 code mode. (2013-6-24). * apps/system/Make.defs and Kconfig: The RAM test was not correctly built into the configuration and build system (2013-6-26). * apps/examples/composite/composite_main.c: SourceForge But Ticket #19. Change to prevent some false alarm debug assertions (From Chia Cheng Tao, 2013-7-9). * apps/system/zmodem: Add configuration support and a build framework for the Zmodem sz and rz command (which exist but have not yet been checked in) (2013-7-12). * apps/system/zmodem: The 'sz' command is now complete and seems functional (given on light testing). The rz command logic exists but is still untested and not yet checked in (2013-7-13). * apps/system/zmodem: The 'rz' command is now complete and functional under certain conditaions. There are, however, some data overrun issues that I am still uncertain how should be handled (2012-7-15). * apps/system/zmodem/Makefile.host and host/: The Zmodem utilities can now be built to execute on a Linux host. * apps/nshlib/nsh_fscmds.c: Add a 'cmp' command that can be used to compare two files for equivalence. Returns an indication if the files differ. Contributed by Andrew Tridgell (via Lorenz Meier) (2013-7-18). 6.30 2013-09-14 Gregory Nutt * apps/examples/composite/: SourceForge bug #19: Fix a typo that can cause a configuration error. From CCTSAO (2013-9-4). * apps/examples/cc3000. Initial support for the TI CC3000 network module on the Freescale Freedom-KL25Z board from Alan Carvalho de Assis. Includes the test to verify the CC3000 (2013-9-3). * apps/examples/usbmsc: apps/examples/usbstorage renamed usbmsc. Change submitted by CCTSAO (2013-6-5). * apps/examples/pwm: Clean-up some configuration confusion (2013-9-5). * apps/netutils/dhcpd/dhcpd.c: Fix calculation of the next lease address. SourceForge bug #21 from Paolo Messina (2013-9-6). * apps/examples/usbmsc: Don't try to control USB trace if we are an NSH built-in task. In that case our attempts are inadequate and only interfere with with other logic that is attempting to to do the same thing (in NSH or in the USB monitor) (2013-9-6). * apps/examples/usbmsc: IMPORTANT bug fix: Change how the msconn works. Because of recent changes the msconn command was hanging. This was because the USB MSC start-up logic creates a pthread; Now waitpid() will wait until all members of the task group exit. So NSH was hanging in waitpid when msconn started even though msconn returned. The USB MSC logic really should not use a pthread, but we are stuck with that for now. The work-around is that msconn now daemonizes itself so that it so that the pthread is created in a different task group (2013-9-7). * apps/system/usbmonitor: The USB monitor has been extended so that it can be used with USB device or host trace data (2013-9-9). * apps/nshlib/nsh_fscmds.c: Fix NSH listing output for the case of a single file. Provided by Lorenz Meier (2013-9-13). 6.31 2013-10-28 Gregory Nutt * apps/nshlib/nsh_netcmds.c: Remove a warning when DHCP is not enabled (2013-9-17). * apps/nshlib/Kconfig: Default IP address should be 0x0a000001 (10.0.0.1), not 0xa0000001 (160.0.0.1). Ditto for the gateway (2013-9017). * apps/examples/ostest/Kconfig: Add configuration options for the FPU test. There are still many OS test configuration options that do not appear in Kconfig (2013-9-18). * apps/examples/cc3000: Condition the CC3000 example on having selected the CC3000 device. Otherwise, you are prompted for this option on each 'make oldconfig' (2013-9-18). * apps/system/usbmonitor/usbmonitor.c: Fix some bad conditional compilation probably introduced on 2013-9-9 (2013-9-23). * apps/system/stackmonitor: Add a daemon that can be used to monitor stack usage by all threads (2013-9-24). * system/usbmsc: Move examples/usbmsc to system/usbmsc (2013-9-25). * system/cdcacm: Move examples/cdcacm to system/cdcacm (2013-9-25). * system/composite: Move examples/composite to system/composite (2013-9-25). * apps/nshlib and apps/readline: Numerous changes to get NSH working with no file system. Basically this suppresses I/O redirection and replaces file I/O with calls to low-level console read/write functions. Suggested by Alan Carvalho de Assis in a somewhat different form. (2013-9-30). * apps/nshlib/nsm_routecmds.c: Add addroute and delroute commands (2013-10-5). * apps/system/i2ctool/Kconfig: Fix default I2C frequency: 400KHz instead of 4MHz. Suggested by Max Kriegleder (2013-10-10). * apps/system/info/Kconfig and Makefile: Increase stack size. Ken Petit reports that this simple command can exceed its 768 stack size under certain conditions. The size is marginal and has been increased to 1024 by default but is also now configurable (2013-10-14). * apps/Makefile: Need to include external/Make.defs if we want allow external applications to participate in the NuttX configuration. Suggested by gdi@embedders.org (2013-10-14). * apps/examples/cc3300: Updates as part of larger re-organizaion of CC3000 logic by David Sidrane (2013-10-16). * apps/examples/random: Add a simple test that dumps values from /dev/random (2013-10-20). * apps/examples/cc3000: Extensions and enhancements from David Sidrane (2013-10-23). * apps/netutils/telnetd/telnetd_driver.c: Missing argument to debug statement can cause crashes in certain error conditions. From David Sidrane (2013-10-24). * apps/examples/cc3000: Updates from David Sidrane. Plus some kruft removal (2013-10-24). * apps/examples/can/can_main.c: Correct an error in a debug statement. From Martin Lederhilger (2013-10-24). * apps/examples/adc: Add support so that a ADC driven by software triggering can be tested (2013-10-25). * apps/examples/cc3000: Updates from David Sidrane (2013-10-25). * apps/system/nxplayer: Implements a command line media player. From Ken Pettit (2013-10-27). * apps/system/nxplayer: Add logic to verify the audio sub-format. From Ken Pettit (2013-10-28). 6.32 2013-12-07 Gregory Nutt * apps/platform: A new home for board-specific application code (2013-10-30). * apps/include/platform/configdata.h: Define an interface that can be used to manage platform-specific storage of configuration data (2013-10-30). * apps/examples/cc3000: Fine tuning of memory usage from David Sidrane (2013-10-30). * apps/platform/mikroe-stm32f4: Now supports storage of configuration data. From Ken Pettit (2013-10-30). * apps/nshlib/nsh_dbgcmds.c and others: Add skip= and count= options to the hexdump command. From Ken Pettit (2013-11-1). * apps/platform/mikroe-stm32f4: Now uses /dev/config for configuration data storage. From Ken Pettit (2013-11-1). * apps/platform/Makefile: Was not dealing with the bin sub-directory correctly (2013-11-2). * apps/examples/configdata: A unit test for the MTD configuration data driver from Ken Pettit (2013-11-4). * apps/platform/mikroe-stm32f4: Updated to use new MTD configuration driver features. From Ken Pettit (2013-11-1). * apps/nshlib/nsh.h: Allow USB trace without a USB console. From David Sidrane (2013-11-06). * apps/system/composite/composite_main.c: The wrong handle was getting nullified. From David Sidrane (2013-11-7). * apps/system/nxplayer: Play thread stack size is now configurable. All NxPlayer threads now have names assigned via pthread_setname_np(). From Ken Pettit (2013-11-10). * apps/examples/i2schar: The beginning of an I2S test based on the I2S character driver (2013-11-10). * apps/nshlib/nsh_mntcmds.c: Mount command updates from Ken Pettit (2013-11-17). * apps/examples/hidkbd/hidkbd_main.c: Now calls a function named arch_usbhost_initialize() that must be provided by the platform- specific code (2013-11-29). * apps/nshlib/nsh_fscmds.c: Add an option to the mkfatfs command to specify FAT12, FAT16, or FAT32 (2013-12-5). 6.33 2014-01-30 Gregory Nutt * apps/nshlib/nsh_mntcmds.c: Modified the df -h logic to eliminate truncating numbers in conversion (like 7900 -> 7M). From Ken Pettit (2013-12-12). * Moved configs/stm3240g-eval/src/up_cxxinitialize.c to apps/platform/stm3240g-eval/up_cxxinitialize.c: Now it is available in user-space in the kernel mode build (2013-12-29). * apps/examples/mount/Kconfig: Fill in empty Kconfig file (2013-12-31). * builtin/Makefile: Fixes for native Windows build from Max Holtzberg (2014-1-4). * apps/netutils/dhcpc/Kconfig, resolv/Kconfig, telnetd/Kconfig, and apps/nshlib/Kconfig: Refactor some configuration dependencies: NSH features should depend on netutil selections; netutil selections should depend on networking selections. (2014-1-9). * apps/nshlib/nsh_command.c: Separate NSH command handling from NSH line parsing. This re-partitioning simplifies the logic and will enable some things to come (2014-1-10). * apps/nshlib/nsh_parse.c: Will now support multiple commands on a command line, each separated with a semi-colon (2014-1-10). * apps/nshlib/nsh_parse.c: Put the logic that executes a command after parsing parameters into a separate file so that it can be reused (2014-1-10). * apps/nshlib/nsh_parse.c: Add initial support of commands enclosed in back quotes as command arguments. Functionality still incomplete on initial commit (2014-1-10). * Logic to support commands enclosed in back quotes is functional but not thoroughly tested (2014-1-11). * apps/nshlib/nsh_parse.c: Can now handle arguments that are concatenations of constant strings, command return data, application return data, and environment variables (2014-1-11). * apps/nshlib/nsh_parse.c: Fix a memory leak ... forgot to close a temporary file (2013-1-12). * apps/system/inifile: A simple INI file parser (perhaps too simple). This is code that I wrote a long time ago and have used many time but is untested in its current incarnation (2014-1-15). * aps/nshlib/nsh_parse.c: Recent changes broke redirection of output (2014-1-14). * apps/nshlib/nsh_parse.c: Add true and false commands (2014-1-17) * apps/nshlib/nsh.h and nsh_parse.c: Re-name and re-organize some if-then-else related structures to better support forthcoming until and while loops (2014-1-17). * apps/nshlib/nsh_script.c: Now saves the FILE stream for the script file in the vtbl structure so that it can be accessed by forthcoming while and until logic (2014-1-17). * apps/nshlib/nsh.h, nsh_command.c, nsh_parse.c, and nsh_script.c: Add support for while-do-done and until-do-done loops. These only work when executing a script file because they depend on the ability to seek in the file to implement the looping behaviors (2014-1-17). * apps/nshlib/nsh_parse.c: Loosen up if-then-else-fi syntax to allow a command to be on the same line as the then and else tokens like: "if true; then echo true; else echo false; fi". Much more like bash! (2014-1-17). * apps/nshlib/Kconfig, README.txt, nsh.h, nsh_command.c, and nsh_script.c: Add an option to conditionally compile out support for loop and for if-then-else-fi sequence (2014-1-17). * apps/nshlib/nsh.h, nsh_command.c, and nsh_parse.c: Add a break command that can be executed with a loop to terminate the loop immediately (2014-1-17). * apps/system/vi: Add support for a tiny, VI work-alike editor. This is still very much a work-in-progress on initial check-in (2014-1-20). * apps/netutils/uiplib: Support new definitions and state passing for network device status. From Maz Holtzberg (2014-1-21). * apps/system/vi: Tiny VI is basically functional. All commands seem to work. There are still some display artifacts and probably several untested conditions (2014-1-21). 7.1 2014-03-15 Gregory Nutt * apps/system/cle: Add a EMACS-like command line editor. This CLE, is really more like readline than the NuttX readline is! (2014-02-02). * apps/nshlib: Use of the standard tiny readline (about .25KB) is now an option and can be replaces with the EMACX-like CLE (about 2KB) (2014-02-02). * Several changes to restore Windows native build (2014-2-7) * apps/examples/touchscreen: Can now be configured to work with a mouse interface as well (2014-2-10). * Several files changes based on complaints from the tool CppCheck. Some latent bugs were fixed (and most likely some new typos were introduced) (2014-2-10). * apps/examples/nximage/Kconfig and apps/examples/uip/Kconfig: Incomplete Kconfig files fleshed out by Alan Carvalho de Assis (2014-2-18). * apps/nshlib: 'rmdir' can now be used in the pseudo-filesystem. Hence, the command needs to be available even if there are no write-able filesystem enabled (2014-2-19). * apps/nshlib: 'mkdir' can now be used in the pseudo-filesystem. Hence, the command needs to be available even if there are no write-able filesystem enabled (2014-2-19). * apps/nshlib: 'mv' can now be used in the pseudo-filesystem. Hence, the 'mv' command needs to be available even if there are no write-able filesystem enabled (2014-2-19). * apps/nshlib: 'rm' can now be used to remove nodes from the pseudo- filesystem. Hence, the 'rm' command needs to be available even if there are no write-able filesystem enabled (2014-2-20). * CONFIG_DISABLE_PSEUDOFS_OPERATIONS: This new configuration setting basically backs out the recent changes to mv, rm, mkdir, and rmdir (2014-2-20). * nshlib/Kconfig: Use CONFIG_DEFAULT_SMALL in selecting default settings (2014-2-20). * nshlib/nsh_telnetd.c: Use strncpy vs strcpy to avoid overruning the username and password buffers. From Bertold Van den Bergh (2014-2-22). * nshlib/Kconfig, nsh_proccmds.c: If the CPU load feature and the procfs features are enabled, then show CPU load used by each thread in the 'ps' command (2014-2-27). * nshlib/nsh_fscmds.c: Add a newline after printing the file in the 'cat' command. This prevents the NSH prompt from be in the same line as the final line of the file in the case where there is no newline at the end of the file (2014-2-27). * netutils/dhcpd/dhcpd.c: allocipaddr() should not call ntohl(), the returned IP address is already in host order. * apps/netutils/dhcpd/Kconfig: Add missing DHCPD configuration settings(2014-3-3). * Support for the legacy configuration mechanism (using appconfig files) is removed. Only the newer configuration using the kconfig-frontends tools is now supported (2014-3-6). 7.2 2014-04-29 Gregory Nutt * apps/nshlib/nsh_parse.c: Fix NuttShell version number display in welcome message. version.h was not being included (2014-3-23). * apps/examples/igmp: Fill out Kconfig file; update makefile so that the IGMP example can be used as an NSH built-in application. From Manuel Stühn (2014-3-24). * apps/system/usbmsc: Back out the USBMSC daemon... it is no longer needed with the recent fix to the USBMSC class driver (2014-3-25). * apps/examples/lcdrw: Fill out empty Kconfig file (2014-2-27). * apps/netutils/dhcpd/dhcpd.c: The correct value of the PAD option is zero, not one. From Brennan Ashton (2014-3-31). * apps/sysinfo: CONFIG_VERSION_BUILD is a string an needs to be printed with %s, not %d. Noted by Librae (2014-4-8). * apps/netutils/ntpclient/ and apps/include/netufils/ntpclient.h: Add a very primitive NTP client. The initial check-in is untested and probably incomplete (2014-4-10). * apps/netutils/resolv: Long needed major clean up for coding style and unification of naming conventions (resolv vs dns) (2014-4-11). * apps/netutils/dnsclient and include/netutils/dnsclient.h: File name changes that are part of the overal resolv->dns renaming (2014-4-11). * apps/netutils/dnsclient: Break the one big monolithic file into three smaller files (2014-4-11). * apps/netutils/ntpclient/ntpclient.c: Corrections to the NTP client from Manuel Stuehn (2014-4-12). * apps/examples/touchscreen: Add a configuration option to indicate if architecture-specific initialized is required, yes or no (2014-4-14). * apps/system/nxplayer/nxplayer.c: Compilation failure in one configuration reported by Manuel Stuhn (2014-4-21). * apps/system/sdcard: Remove an STM32 dependency. From Bob Doiron (2014-4-21). * apps/nshlib: malloc/free IOBUFFER for 'cat' and 'hexdump' commands instead of using the stack. From Bob Doiron (2014-4-21). * apps/examples/cpuhog, serialblaster, and serialrx: Stress test examples added by Bob Doiron (2014-4-22). * apps/examples/telnetd: Naming is confused. In someplaces 'telnetd', and in others 'shell.' All changes to telnetd. Noted by Pelle Windestam (2014-4-38). 7.3 2014-06-25 Gregory Nutt * apps/examples/serialblaster: Update configuration an make logic in order to select that the serial blaster task priority and stack size. From Bob Doiron (2014-4-30). * apps/nshlib/Kconfig and other NSH files: The alternate console device CONFIG_NSH_CONDEV must not be defined unconditionally. This causes errors when using Telnet sessions. This was solved by adding CONFIG_NSH_ALTCONDEV: CONFIG_NSH_ALTCONDEV enables or disables the feature then, if enabled, CONFIG_NSH_CONDEV provides the alternative console device name (2014-5-5). * apps/system/i2c/i2c_get.c: Fix to show the updated register address on each fetch (vs. showing the same starting address each time). From Ryan VanSickle (2014-5-8). * apps/interpreters/prun and apps/include/interpreters/prun.h: Broke out the P-code execution logic from apps/examples/pashello and moved it to these directory where it can be used more generally (2014-5-9). * apps/system/prun and apps/include/interpreters/pexec_main.c: Move the P-Code execution logic from apps/interpreters/prun to apps/system/prun; Add pexec_main.c which is an NSH built-in application that can be used to run P-Code programs from the NSH command line (2014-5-9). * Several files: Convert all old-style variadic macros to the C99 form. Recent GCC changes tightens up that behavior and can cause some problems (at least for the IAR compiler for some reason). See https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros. Noted by Bob Grimes (2014-5-22). * apps/system/cle: CLE was not returning the terminating newline character. But reported by Max kriegleder; work-around reported by Lorenz Meier (2015-5-23). * Misc changes due to moving nuttx/net/uip/uip-arp.h to nuttx/net/arp.h (2015-5-30). * apps/examples/netpkt/: A "raw" socket test from Lazlo Sitzer (2014-6-12). * apps/system/hex2bin/: A library and built-in task to convert from Intel HEX to binary format. Untested on initial commit (2014-6-15). * apps/system/hex2bin/: Appears to be functional but testing is still light (2014-6-16). * apps/system/hex2bin/hex2mem_main: Add a variant application that will write Intel HEX files directly to memory (2014-6-16). * netutils/webserver: httpd_fs_open() should return OK on success and ERROR on failure, not 1 and 0 (2014-6-23) 7.4 2014-xx-xx Gregory Nutt * apps/system/mdio: PHY tool from Daniel Lazlo Sizter (2014-6-27). * apps/nshlib: Networking logic modified to handler the case of SLIP transport. From Max Neklyudov (2014-6-27). * apps/nshlib: if # appears on line, need to comment ignore additional commands on the line (2014-7-1). * apps/netlib: Renamed all occurrences of uiplib to netlib. Renamed files under netutils/uiplib/uip_*.c to netutils/netlib/netlib_*.c. Renamed all functions defined in netutils/netlib/ to begin with netlib_, instead of uip_. (2014-7-2). * apps/nshlib/nsh_usbkeyboard.c: Add a configuration to use a USB keyboard for the stdin device (2014-7-3). * apps/neturils/webclient/webclient.c: Fix to offset caculation from Rony Xln. Prevents 0x0a at the beginning of lines (2014-7-7). * netutils/webserver (and other files): Fix some configuration usage: CONFIG_NETUTILS_HTTPD_SENDFILE was missing from Kconfig; CONFIG_NET_HAVE_SOLINGER should be CONFIG_NET_SOLINGER; Type of CONFIG_NET_HTTPD_MAXPATH was wrong in Kconfig file. From Max (2014-7-11). * apps/system/nxplayer/nxplayer.c: Check for file read errors and end-of-file with zero bytes read (2014-7-23). * apps/system/nxplayer: Misc changes to better integrate with NxWM::CMediaPlayer (2014-7-23). * apps/system/nxplayer/nxplayer.c and apps/include/nxplayer.h: Add hooks for fast-forward and rewind needed by CMediaPlayer; add hooks for equalizer settings needed by the WM8904 (2014-7-24). * apps/include/nxplayer.h and apps/system/nxplayer/nxplayer.c: Changes to integrate with Ken's NxWM::CMediaPlayer (2014-7-24). * apps/include/nxplayer.h: Move subsampling rate definitions from nxplayer.h to audio.h *2014-7-27). * apps/system/nxplayer/nxplayer.c: NxPlayer needs to set curbyte field to zero before enqueuing a buffer. Otherwise, it looks like beginning of the buffer has already been consumed. (2014-7-27).