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-08-15 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 calculation 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). * apps/netutils/webserver/httpd.c: Missing logic to close sockets on loop termination. From Max (2014-7-28). * apps/system/nxplayer/nxplayer.c: Fix some error handling, update comments, more debug output (2014-7-31). * apps/system/nxplayer/nxplayer.c: Change how the end of the audio stream is detected by the leaf audio component. This used by be done by looking for the first partial buffer. That does not work with the in-place sub-sampling performed by the PCM decoder: That always reduces the size of the buffer so that all buffers only partially filled by the time they get to the leaf. Now, a flag is set in the audio buffer flags set to indicate the final buffer in the stream (2014-7-31). * apps/system/nxplayer/nxplayer.c: Fix an error I introduced: Need to pass through final buffer even if is it zero length because it contains the end of audio stream flag (2014-8-1). * apps/system/nxplayer/nxplayer.c: Break reading and enqueueing of audio buffers into two steps so that errors in enqueueing can be distinguished from errors in reading. Errors in enqueueing signal a downstream decoder error. Add logic to gracefully recover from downstream decoder errors (2014-8-5). * apps/nshlib/Kconfig, nsh.h, and nsh_netinit.c: Software assigned MAC address is now configurable. From Lazlo (2014-8-6). * apps/nshlib/Kconfig, nsh.h, and nsh_netinit.c: Also add an option to let platform-specific logic select the MAC address (2014-8-5). * apps/nshlib/Kconfig, nsh.h, and nsh_netinit.c: There is now a configuration option that will bring up the network on an separate thread. Since the network bring-up is asynchronous, there are not serial console start-up delays due to the network negotiation time (2014-8-6). * apps/system/sudoku: Add a sudoku game (2014-8-11). 7.5 2014-09-28 Gregory Nutt * apps/nshlib/Kconfig, nsh.h, and nsh_netinit.c: Extend the NSH network initialization logic. There is now an option that will create a network monitor thread that will monitor the state of the link. When the link goes down, the code will attempt to gracefully put the Ethernet driver in a down state; When the link comes back, the code will attempt to bring the network back up (2014-8-17). * apps/system/free/free.c and install/install.c: STM32 FLASH fixes: use size_t instead of uint16_t, make interface more generic. From Freddie Chopin (2014-8-28). * apps/examples/elf: The ELF test/example has been extended so the individual ELF test programs can link against the SYSCALL library (if it is available) or against the C library to eliminate or minimize the need for symbol tables (2014-8-29). * apps/nshlib/nsh_proccmds.c: Fix NSH PS command: If there are no arguments, it would print garbage for argument list (2014-9-1). * apps/import/, apps/tools/, apps/Makefile: Beginning of logic that will, hopefully, allow me to build applications against a NuttX export package (vs. the nuttx/ source tree) (2014-9-4). * apps/tools/mkimport.sh and apps/import/Makefile: Add .config file to export package (2014-9-5). * apps/Makefile: Add a 'make import' target. More is needed before it will be usable (2014-9-5). * apps/import/Make.defs and .gitignore: Added mostly empty Make.defs file. Something like this will be bee needed for the 'make import' build (2014-9-5). * apps/Makefile, examples/elf/Kconfig, and import/Make.defs: Copy more logic from nuttx/tools/Config.mk into the Make.defs file (2014-9-5). * apps/import/Make.defs: Also need to define CFLAGS (2015-9-5) * apps/import/scripts/gnu-elf.ld: Add GCC linker script for ELF import builds (2014-9-5). * All Makefiles: Add an install target to all makefiles. For the import build, the top-level Makefile now does two passes: (1) builds libapp.a, then (2) installs the programs (not yet finished) (2014-9-6). * Many files: With kernel build (CONFIG_BUILD_KERNEL), entry point to all tasks is main, not some xyz_main (2014-9-6). * Many Makefiles: Add program installation for CONFIG_BUILD_KERNEL in all Makefiles that build a main() (2014-9-6). * Many Makefiles. For kernel build, the object file containing main cannot go into library because of name collisions. The object file must be handled as a special case in every Makefile (2014-9-7). * apps/import/Make.defs: libapps.a needs to be added to the list of libraries to link against (2014-9-7). * apps/nshlib/nsh.h and nsh_ddcmd.c: Several commands must be disabled in the kernel build because they depend on interfaces that are not available outside of the kernel: dd, df, losetup, mkfatfs, mkdr, and ps (2014-9-7). * apps/import/Make.defs: ELF build requires -fno-common in CFLAGS (2014-9-8). * apps/tools/mkromfsimg.sh: Add a script to create a BOOT ROMFS filesystem image (2014-9-9). * Many makefiles: All makefiles that have separated the MAINOBJ need to include MAINOBJ in list of C objects to be compiled. SourceForge tick #31 from Aton (2014-9-11). * apps/examples/elf/tests/Makefile and nxflat/tests/Makefile: Do not build test cases that use task_create if there is an address environment (2014-9-14). * apps/examples/null/null_main.c: Need to include config.h it order know if this is or is not a kernel build (2014-9-16). * Change all occurrences of NxConsole to NxTerm (2014-9-20). * apps/examples/Konfig, Makefile, README.txt and all of mdrwb/: Add an example to test MTD R/W buffering (2014-9-25). * apps/examples/ostest: Add a trivial test of sem_timedwait (2014-9-16). 7.6 2014-11-26 Gregory Nutt * apps/examples/ostest: Add a simple test of named semaphores (2014-9-23). * apps/netutils/webclient/Kconfig and webclient.c: Add implementation of timeouts for the apps/netutils/webclient. From Brennan Ashton * apps/nshlib/Kconfig and nsh_romfsetc.c: Add support for a custom NSH ROMFS startup image header file location. From Martin Lederhilger (2014-9-30). * apps/nshlib/nsh_fscmds.c: Fix ls -l output for regular files (14-9-30). * apps/nshlib/nsh_ddcmd.c: Fix reversed in/out file closing when an error occurs. From Ken Pettit (2014-10-2). * apps/examples/ostest/aio.c, Kconfig, Makefile, and ostest_main.c: Add AIO test case in OS test (2014-10-5). * apps/examples and system: Remove non-portable uses of syslog (014-10-8). * apps/: Correct everything under apps to use the corrected syslog interfaces (2014-10-8). * apps/netutils/netlib/netlib_gethostaddr.c: Fix memcpy of host address in netlib_gethostaddr(). From Brennan Ashton (2014-10-17). * apps/system/stackmonitor.c and stackmonitor/Makefile: Fix compile problems introduced when the syslog() prototype changed; Also update Makefile for kernel build From Radoslaw Adamczyk (2014-10-23). * apps/examples/nxterm/Makefile: Update makefile for kernel-build issues. From Radoslaw Adamczyk (2014-10-23). * apps/examples/keypadtest/keypadtest_main.c: Fixes to keypadtest from Pierre-Noel Bouteville (2014-10-23). * apps/nshlib/nsh_parse.c, nsh.h, and Kconfig: Move CONFIG_NSH_TMPDIR to CONFIG_LIBC_TMPDIR (2014-11-05). * apps/interpreter/bas: Merged in the Michael Haardt's BAS 2.4 adapted for use by NuttX by Alan Carvalho de Assis. The bas24 branch was merged into the master branch on this date (2014-11-7). * apps/examples/bastest: This is a special version of Michael Haardt's BAS 2.4 test files adapted for use by NuttX on a ROMFS file system (2014-11-7). * apps/interpreter/bas: Add VT100 support for color command (2014-11-10). * nshlib/: Remove use of CONFIG_MAX_TASKS in ps command and in range checkout (2014-11-13). * netutils/thttpd: Remove use of CONFIG_MAX_TASKS in in 'task' CGI example (2014-11-13). * sysm/i2c: Remove use of CONFIG_MAX_TASKS for maximum argument I2C tool size (2014-11-13). * apps/netutils/dnsclient/dns_socket.c: Right now if you make a DNS request before the dns address it set you will get an assertion. The state of the IP setting is not something the application should be aware of, it should only be concerned with whether or not the name was resolved. From Brennan Ashton (2014-11-13). * apps/nshlib/, apps/netutils, and apps/include/netutils: Misc changes to support multiple networks with different link layers. For example, ETHERNET + SLIP (2014-11-15). * apps/nshlib/nsh_usbconsole.c: Add logic to restart the console wait if an error occurs while reading from the console.In USB console startup, the logic must be able to open the USB serial and receive 3 newlines. However, it the USB driver is disconnected or otherwise fails before the 3 newlines are received, the receive loop becomes a killer, infinite loop, CPU hog. Noted by spasbyspas (2014-11-16). * examples/, netutils/, nshlib/, various files: Rename CONFIG_NET_BUFSIZE to CONFIG_NET_ETH_MTU; Add CONFIG_NET_SLIP_MTU. Modify logic to handle different MTUs when both Ethernet and SLIP are enabled (2014-11-16). * apps/examples/discover, tcpecho, webserver, xmlrpc: These examples all set the IP address of eth1 but the netmask and gateway of eth0 if DHCP is enabled. That can't be right???? (2014-11-17). * apps/examples/bridge: Add a simple UDP relay bridge for testing configurations with multiple networks. Initial checkin is not very usuable because it lacks a host-side test driver for the bridge (2014-11-17). * apps/netutils/codecs/md5.c: Fix md5 hashing when digest[$i] lower that 16. From Sergey (2015-11-20). * apps/examples/bridge/host_main.c, host_net1.c, host_net2.c, Kconfig, and Makefile: Add host-side test driver (2014-11-21). 7.7 2015-01-26 Gregory Nutt * apps/examples/romfs/Makefile: fix romfs example builtin app registry issue. From Librae (2014-11-27). * apps/examples/djoystick and support files: Add a test of the discrete joystick driver (2014-11-28). * apps/examples/ajoystick and support files: Add a test of the analog joystick driver (2014-12-03). * apps/nshlib/nsh_netcmds.c: NSH TFTP get command: Wrong file namei used for the destination. From Lazlo (2014-12-10). * apps/system/cu: Add a minimalist implementation of the 'cu' terminal program (part of Taylor UUCP for ages). Using it, you can simply open a serial port and interact with it. Using '~.' you can leave the terminal program and drop back to nsh. This might come in handy for people that have e.g. GSM modems, GPS receivers or other devices with text based serial communications attached to their Nuttx systems. From Harald Welte (2014-12-13). * apps/examples/ltdc and build-related file: Add ltdc test example. From Marco Krahl (2014-12-19). * apps/system/cdcacm, composite and usbmsc: Fix some strangely placed conditional compilation. Looks like an automated update gone awry (2014-12-28). * apps/examples/ltdc/ltdc_main.c: Clean up documentation, some formatting improvements. From Marco Krahl (2014-12-29). * apps/system/lm75 and build-related files: Add a tiny application to read the temperature from an LM-75 (or compatible) temperature sensor (2015-01-06). * apps/interpreters/micropython: A port of Micro Python to NuttX. Contributed by Dave Marples (2015-01-11). * apps/examples/timer: Add a trivial test of the timer driver (2015-01-13). * apps/netutils/dnsclient: Can select to be either IPv4 or IPv6, but not both (IPv6 still does not compile) (2015-01-18). * apps/netutils/netlib: Add new library functions to manipulate IPv6 addresses (2015-01-13). * apps/nshlib/Kconfig and nsh_netinit.c: Add logic to initialize IPv6 addresses (2015-01-19). * apps/netutils/netlib: All IOCTLs must use a valid address family -- even if the address family does not matter such as when getting the MAC address or the network flags (2015-01-19). * apps/examples/nettest: Update test so that it can be used to test IPv6 TCP sockets (2015-01-20). * Many files: Correct name of fields in struct sockaddr_in6: sin6_port and sin6_family, not sin_port and sin_family (2015-01-20). * apps/netutils/telnetd: Add protection when CONFIG_SCHED_HAVE_PARENT is enabled: Call sigaction with SA_NOCLDWAIT so that exit status is not retained (no zombies) and block receipt of SIGCHLD so that accept is not awakened by a signal. If accept() is awakened by a signal, do not do anything crazy like exit. Most from Rony Xln (2015-01-22). * apps/examples/udp: The UDP test example has been extend to support IPv6 domain sockets (2015-01-22). * apps/nshlib: Add the ping6 command to support checking IPv6 networks. (2015-01-23). * apps/nsh: Clean up network status presentation for IPv6 (2015-01-24). 7.8 2015-02-11 Gregory Nutt * apps/interpreters/micropython: Add math library defines for nan(), copysign(), and trunc() functions. From Brennan Ashton (2015-01-26). * apps/examples/ustream: Add a simple test of Unix domain sockets (2015-01-27). * apps/examples/udgram: Add a simple test of Unix domain datagram sockets (2015-01-28) * apps/Makefile and builtin/Makefile: Fix for building with parallel make. Build-server sometimes failed 'make -j24' with errors in the builtin line or or sometimes silently succeeds but generated builds that contain a random subset of configured NuttX applications. There are two root causes for this: (1) Recipes for building builtin_list.h and builtin_proto.h are not linearizable, and (2) Nothing ensures that 'make context' is run first for apps/builtin. This change address both issues. From Juha Niskanen (2015-02-03). * apps/netutils/netlib: Add utilities to convert to/from prefix lengths from/to 128-bit network masks (2015-02-06). * apps/nshlib: Modify the NSH IPv6 ifconfig command to show the more standard post-pended prefix value, rather than the full 128-bit netmask (2015-02-06). 7.9 2015-04-14 Gregory Nutt * apps/examples/ostest: Improved error checking for sem_timedwait() from Juha Niskanen (2015-02-20). * apps/netutils/Kconfig, Make.defs, and pppd/: Add a PPP daemon. From Max Neklyudov (2015-03-11). * Rename arch_nshinitialize() to board_app_initialize() (2015-03-30). * apps/nshlib: NSH initialization now calls boardctl(BOARDIOC_INIT) instead of board_app_initaliaze(). Remove support for CONFIG_NSH_ARCHMAC. It is not used and there are better ways to do that operation (2015-03-31). * apps/examples/touchscreen: No longer calls arch_tcinitialize() or arch_tcuninitialize(). Instead the new OS interface boardctl() is called to perform these test operations on the touchscreen driver (2015-03-31). * apps/examples/adc: Change apps/examples/adc to that is now calls boardctl() instead of adc_devinit() in order to initalize the ADC device(2015-03-31). * apps/examples/pwm/: Replace calls to pwm_devinit() in apps/examples/pwm with calls to boardctl() (2015-03-31). * apps/examples/: More renaming: up_lcdinitialize->board_lcd_initialize, up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize (2015-04-04). * apps/examples/nxlines/: Add the new 'capped' parameter to nx_drawline() calls (2015-04-05). * apps/modbus/tcp: Fix some complile problems when TCP is enabled (2015-04-06). * apps/system: Clean up Kconfig menus. The way it worked before, it was difficult to see what was enabled and what was not. menus replaced with menuconfig (2015-04-07). * apps/examples/ostest/sigprocmask.c: Add a simple test of sigprocmask, sighold, and sigrelse (2015-04-09). * apps/modbus: Includes extensions to support RTU master mode by Armink(383016632@qq.com): https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32. Ported to NuttX by Darcy Gong. * apps/nshlib: Allow NSH 'date' command with no hardware RTC. Thisi command is useful without an RTC too. Also, this permits testing on the simulator which never has an RTC (2015-04-11). * apps/netutils/ppp: Make pppd PAP authentication optional. From Brennan Ashton * apps/examples/pppd: Add PPPD test case. Split out from apps/netutils/pppd by Brennan Ashton. * apps/netutils/pppd: Spit up pppd utils. From Brennan Ashton. * apps/system/zoneinfo: All logic to build timezone info. Does not do much else yet (2015-04-14). 7.10 2015-06-09 Gregory Nutt * apps/system/zoneinfo: Add logic to build a ROMFS file system containing the timezone data (2015-04-15). * apps/nshlib/nsh_timcmds.c: Check return values from time functions (2015-04-15). * apps/examples/nxlines: Fix missing right bracket that causes compile error when CONFIG_NX_XYINPUT=y. From Librae (2015-04-16). * apps/examples: When boardctl() fails, need to print errno not the returned value which will always be -1 (2015-04-16). * apps/examples: Correct use of the BOARDIOC_GRAPHICS_SETUP boardctl() call (2015-04-16). * apps/examples/ltdc: Add testing support for the STM32 LTDC's 2D DMA. From Marco Krahl (2015-04-16). * apps/nshlib/: Fix handling of gmtime_r return value in time commands. gmtime_r returns a pointer, not an int (2015-04-21). * apps/netutils/ntp: Fix mismatched sched_lock/unlock. Noted by Juha Niskanen (2015-05-06). * apps/examples: Modify/simpify apps/examples build files. From Roman Saveljev (2015-05-06). * apps/nshlib/nsh_netinit.c and apps/examples/ustream/: Add poll support for Unix stream sockets. From Jussi Kivilinna (2015-05-12). * apps/examples/ostest: Add a test of nested signals. There are no failures to handle signals but neither am I getting any nested signal handling (2015-05-12). * apps/nshlib: Enhancements to NSH ifconfig for case of multi-link operation, TUN device and local connections. From Max Neklyudov (2015-05-19). * apps/nshlib: Enhanced output to NSH ping command from Max Neklyudov (2015-05-27). * apps/examples/elf: Add configuration options to support building the hello++4 example that depends upon having uClibc++ available. From Leo aloe3132 (2015-05-29). * apps/platform/stm32f4discovery: Move up_cxxinitialize from nuttx/configs/stm32f4discovery/src to apps/platform/stm32f4discovery where it belongs (2015-05-29). * apps/examples/elf/tests/helloxx: Add hello++5 to ELF example. From Leo Aloe3132 (2015-06-01). * apps/netutils/thttpd/ and apps/examples/thttpd/: Add support for using binfs/ instead of NXFLAT. NXFLAT is probably the better solution but recently compiler changes make it unusable. binfs or ELF are fallback binary formats. This commit adds an option to use binfs (2015-06-02). * apps/examples/unionfs: Add a test of the union file system to apps/examples (2015-06-05). * apps/examples/thttpd now uses the Union File System if BINFS is selected for CGI binaries (2015-06-06). * apps/nshlib/: The NSH mount command now recognizes the Union file system type when listing mounted file systems (2015-06-07). 7.11 2015-08-13 Gregory Nutt * apps/netutils/thttpd: Fix compilation problems when CONFIG_THTTPD_GENERATE_INDICES is defined (2015-06-12). * apps/include: Clean up and review of header files for conformance to standards (2015-06-12). * apps/examples/ostest/: Extend the OS test to include a test of pthread_mutex_trylock() for recursive mutexes. From Juha Niskanen (2015-06-16). * apps/netutils/thttpd: Missing gci-src as a dependency path when building with BINFS enabled (2015-06-18). * The apps/ directory has been removed from the NuttX GIT repository and now stands alone in its own repository (2015-06-27). * apps/examples/poll: Fix a few bit-rot compilation errors (2015-07-01). * apps/nshlib: NSH will now support an (optional) shutdown command if the board provides the option CONFIG_BOARDCTL_POWEROFF. The command can also be used to reset the system if CONFIG_BOARDCTL_RESET=y. (2015-07-04). * apps/system/poweroff: Remove the system poweroff command. This is replaced with the NSH shutdown command (2015-07-02). * apps/nshlib: Add support for a uname command (2015-07-04). * apps/system/sysinfo: Remove the system sysinfo command. This is replaced with the NSH uname command (2015-07-04). * apps/syste/netdb: Add a command to access the network database (2015-07-08). * apps/netuils/dnsclient and include/netutils/dnsclient.h: Move the DNS client logic into the NuttX C library. It is a necessary part for the full implementation of the netdb logic and provides more flexibility in that location (2015-07-10). * apps/examples/ and apps/netutils: Remove calls to obsolete, non- functional DNS interfaces (2015-07-11). * apps/netutils and apps/nshlib: Replace calls to the non-standard dns_gethotip with calls to standard gethostbyname (2015-07-11). * apps/netutils/netlib and other files: Create netlib wrapper functions around dns_getserver() and dns_setserver() to isolate application code from changes to those interfaces (2015-07-12). * apps/nshlib: Add an nslookup command (2015-07-13). * apps/examples/nxlines: If CONFIG_NX_ANTIALIASING=y, then the nxlines example now erases a line that is 2 pixels longer and 2 pixels wideri than the line it drew. That eliminates edges effects due to applying the anti-aliasing algorithm twice. A better solution would be to makei anti-aliasing an option for each graphics call so you would rend the line with anti-aliasing ON and clear it with anti-aliasing OFF. but I don't have the wherewithal for that change today (2015-04-14)`. * apps/nshlib and apps/examaples/thttpd: Change decoding to handle the increased size of the scheduling policy field in the TCB (2015-07-23). * apps/examples/ostest: Improve synchronization in round robin tests. On very fast processors, there are race conditions that make the test failure. Need better interlocking to assure that the threads actually do start at the same time (2015-07-24). * apps/examples/ostest: Add a test for the sporadic scheduler. This test is failing as of this commit (2015-07-24). * apps/system/readline: Add support for Unix-style tab complete toi readline. This currently works only for built-in functions. Contributed by Nghia Ho (2015-07-28). * apps/system/readline and apps/nshlib: Extended the tab-completion support to also expand NSH command names (2015-07-30). * apps/system/readline and apps/nshlib: Add support for an in-memory command line history that can be retrieved using the up and down arrows. Contributed by Nghia Ho (2015-08-09). * apps/Makefile: No longer depends on hardcoded lists of directories. Instead, it does a wildcard search to find all appropriate directories. This means that to install a new application, you simply have to copy the directory (or link it) into the apps/ directory. If the new directory includes a Makefile and Make.defs file, then it will automatically be included in the build (2015-08-11). * apps/Makefile, Kconfig, */Kconfig, tools/mkkconfig.sh: Add the tool mkkconfig.sh that dynamically builds the apps/Kconfig file at configuration time. The hardcoded configuration file has been removed and now the top-level Makefile executes tools/mkkconfig.sh to auto- generate the top-level Kconfig file. A new apps/ make target call preconfig: was added to support this operation. Now you do not have to modify the top-level Kconfig file to add a new directory into the configuration; the top-level subdirectory simply needs to include a Kconfig file and it will automatically be included in the configuration. The native Windows build is temporarily broken until a new apps/tools/mkconfig.bat script is generated (2015-08-11). * apps/tools/mkkconfig.bat: Add the Windows script corresponding to apps/tools/mkkconfig.sh. Needed for a Windows native build. Untested on initial commit (2015-08-12). 7.12 2015-xx-xx Gregory Nutt * apps/examples/can: Extend the CAN loopback test by adding more command line options (2015-08-17). * apps/examples/usbserial: Can now be run as an NSH builtin-function. Now uses a configurable IO buffer size (2015-08-20).