diff --git a/ChangeLog b/ChangeLog index 991873f17b..bd1e20ba37 100755 --- a/ChangeLog +++ b/ChangeLog @@ -7917,7 +7917,7 @@ command line NxPlayer (2014-7-31). * audio/audio.c: More debug output (2014-7-31). * configs/sama5d3x-ek/README.txt: REAME update (2014-7-31). - * drivers/audio/wm8904.c: Was not saving i2s interface instance + * drivers/audio/wm8904.c: Was not saving I2S interface instance (2014-7-31). * sched/sem_wait.c: Use set_errno() and get_errno(). Direct access inside the OS may not be supported in the future (2014-7-31). @@ -15307,7 +15307,7 @@ change the link state. From Sebastien Lorquet (2017-05-19). * drivers/wireless/ieee80211: Add support for AP scanning. From Simon Piriou (2017-05-21). - * drivers/audio: Add cs43l22 audio driver STM32F4: Add i2s driver. + * drivers/audio: Add cs43l22 audio driver STM32F4: Add I2S driver. From Taras Drozdovsky (2017-05-21). * This is based on a patch by Taras Drozdovsky. Basically, the delay that was added during the integration of the CDC/ACM host driver was diff --git a/Documentation/NuttShell.html b/Documentation/NuttShell.html index af8eeba20b..dae6f3019f 100644 --- a/Documentation/NuttShell.html +++ b/Documentation/NuttShell.html @@ -8,7 +8,7 @@
Last Updated: April 5, 2017
+Last Updated: June 13, 2017
nsh> is the NSH prompt and indicates that you may enter a command from the console.
++ USB console startup. + When using a USB console, the start-up sequence differs a little: In this case, you are required to press ENTER three times. Then NSH prompt will appear as described above. + This is required for the following reasons: +
+
Extended Command Line Editing.
By default, NuttX uses a simple command line editor that allows command entry after the nsh> and supports only the backspace key for editing.
@@ -752,7 +778,7 @@ nsh>
<file>Optional Syntax Extensions - Because these features commit significant resources, it is disabled by default. + Because these features commit significant resources, they are disabled by default.
FOO to XYZ, BAR to 123 and FOOBAR to ABC_XYZ_123.
- If CONFIG_NSH_ARGCAT is not selected, then a slightly small FLASH footprint results but then also only simple environment variables like $FOO can be used on the command line.
+ If CONFIG_NSH_ARGCAT is not selected, then a slightly smaller FLASH footprint results but then also only simple environment variables like $FOO can be used on the command line.
@@ -820,7 +846,7 @@ set FOOBAR ABC_${FOO}_${BAR}
An if-then[-else]-fi construct is also supported in order to
support conditional execution of commands. This works from the
command line but is primarily intended for use within NSH scripts
- (see the sh commnd). The syntax is as follows:
+ (see the sh command). The syntax is as follows:
if <cmd> @@ -968,7 +994,7 @@ done
`--init.d/
`-- rcS
@@ -976,7 +1002,7 @@ done
Where rcS is the NSH start-up script.
/etc, resulting in:
+ NSH will then mount the ROMFS file system at /etc, resulting in:
|--dev/ | `-- ram0 @@ -1058,7 +1084,7 @@ mount -t vfat /dev/ram1 /tmp All of the startup-behavior is contained inrcS.template. The role ofmkromfsimg.shis to (1) apply the specific configuration settings torcS.templateto create the finalrcS, and (2) to - generate the header filensh_romfsimg.hcontaing the ROMFS + generate the header filensh_romfsimg.hcontaining the ROMFS file system image. @@ -1139,7 +1165,7 @@ addroute <target> <netmask> <router>Synopsis. This command adds an entry in the routing table. - The new entry will map the IP address of a router on a local network(<router>) to an external network characterized by the <target> IP address and a network mask <netmask> + The new entry will map the IP address of a router on a local network (<router>) to an external network characterized by the <target> IP address and a network mask <netmask>
Example: @@ -1274,7 +1300,7 @@ cat
<path>[<path>[<path>
Synopsis.
- This command copies and concatentates all of the files at <path>
+ This command copies and concatenates all of the files at <path>
to the console (or to another file if the output is redirected).
Synopsis.
Copy of the contents of the file at <source-path> to the location
- in the filesystem indicated by <dest-path>.
+ in the file system indicated by <dest-path>.
-b|-n |
- Selects either binary ("octet") or test ("netascii") transfer + Selects either binary ("octet") or text ("netascii") transfer mode. Default: text. |
skip=<bytes> |
+ Will skip <bytes> number of bytes from the beginning.
+ |
count=<bytes> |
+ Will stop after dumping <bytes> number of bytes.
+ |
+The skip and count options are only available if CONFIG_NSH_CMDOPT_HEXDUMP is defined in the NuttX configuration.
+
- 2.30 List to a File or Directory (ln)+2.30 Link to a File or Directory (ln) |
Command Syntax:
-link [-s] <target> <link> +ln [-s] <target> <link>
Synopsis.
- The link command will create a new symbolic link at <link> for the existing file or directory, <target>.
- This implementation is simplied for use with NuttX in these ways:
+ The ln command will create a new symbolic link at <link> for the existing file or directory, <target>.
+ This implementation is simplified for use with NuttX in these ways:
Synopsis.
Show the contents of the directory at <dir-path>. NOTE:
- <dir-path> must refer to a directory and no other filesystem
+ <dir-path> must refer to a directory and no other file system
object.
Options:
@@ -2073,20 +2112,19 @@ mw <hex-address>[=<hex-value>][ <hex-byte-count>]<hex-address>. |
+ <hex-address> |
Specifies the address to be accessed. The current value at that address will always be read and displayed. |
<hex-address>=<hex-value>. |
+ <hex-address>=<hex-value> |
Read the value, then write <hex-value>
to the location.
|
<hex-byte-count>. |
+ <hex-byte-count> |
Perform the mb, mh, or mw operation on a total
- of <hex-byte-count> bytes, increment the <hex-address> appropriately
- after each access
+ of <hex-byte-count> bytes, increment the <hex-address> appropriately after each access.
|
Example:
@@ -2160,10 +2198,10 @@ mkdir <path>
Limited to Mounted File Systems.
- Recall that NuttX uses a pseudo filesystem for its root file
+ Recall that NuttX uses a pseudo file system for its root file
system.
The mkdir command can only be used to create directories in volumes set up with the
- mount command; it cannot be used to create directories in the pseudo filesystem.
+ mount command; it cannot be used to create directories in the pseudo file system.
Example:
@@ -2178,7 +2216,7 @@ nsh>
- 2.37 Create a FAT Filesystem (mkfatfs)+2.37 Create a FAT File System (mkfatfs) |
NSH provides this command to access the mkfatfs() NuttX API.
- This block device must reside in the NuttX pseudo filesystem and
+ This block device must reside in the NuttX pseudo file system and
must have been created by some call to register_blockdriver() (see include/nuttx/fs/fs.h).
<dir-
If no parameters are provided on the command line after the mount command, then the mount command will enumerate all of the current mountpoints on the console.
- If the mount parameters are provied on the command after the mount command, then the mount command will mount a file system in the NuttX pseudo-file system.
- mount' performs a three way association, binding:
+ If the mount parameters are provided on the command after the mount command, then the mount command will mount a file system in the NuttX pseudo-file system.
+ mount performs a three way association, binding:
- - File system.
+
- File System.
The '-t
<fstype>' option identifies the type of
file system that has been formatted on the <block-device>.
As of this writing, vfat is the only supported value for <fstype>
- Block Device.
The
<block-device> argument is the full or relative
- path to a block driver inode in the pseudo filesystem.
+ path to a block driver inode in the pseudo file system.
By convention, this is a name under the /dev sub-directory.
This <block-device> must have been previously formatted with the same file system
type as specified by <fstype>
- Mount Point.
The mount point,
<dir-path>, is the location in the
- pseudo filesystem where the mounted volume will appear.
- This mount point can only reside in the NuttX pseudo filesystem.
+ pseudo file system where the mounted volume will appear.
+ This mount point can only reside in the NuttX pseudo file system.
By convention, this mount point is a subdirectory under /mnt.
The mount command will create whatever pseudo directories that may be needed to complete the
full path but the full path must not already exist.
@@ -2334,8 +2372,8 @@ mount -t <fstype> [-o <options>] <block-device> <dir-
After the volume has been mounted in the NuttX
- pseudo filesystem,
- it may be access in the same way as other objects in thefile system.
+ pseudo file system,
+ it may be access in the same way as other objects in the file system.
Examples:
Using mount to mount a file system:
@@ -2383,7 +2421,7 @@ mv <old-path> <new-path>
Synopsis.
Rename the file object at <old-path> to <new-path>.
- Both paths must reside in the same mounted filesystem.
+ Both paths must reside in the same mounted file system.
@@ -2527,7 +2565,7 @@ put [-b|-n] [-f <remote-path>] -h <ip-address> <local-path>
-b|-n
- Selects either binary ("octet") or test ("netascii") transfer
+ Selects either binary ("octet") or text ("netascii") transfer
mode. Default: text.
@@ -2616,11 +2654,11 @@ rm <file-path>
Synopsis.
Remove the specified <file-path> name from the mounted file system.
- Recall that NuttX uses a pseudo filesystem for its root file
+ Recall that NuttX uses a pseudo file system for its root file
system.
The rm command can only be used to remove (unlink) files in volumes set up with the
mount command;
- it cannot be used to remove names in the pseudo filesystem.
+ it cannot be used to remove names in the pseudo file system.
Example:
@@ -2650,11 +2688,11 @@ rmdir <dir-path>
Synopsis.
Remove the specified <dir-path> directory from the mounted file system.
- Recall that NuttX uses a pseudo filesystem for its root file
+ Recall that NuttX uses a pseudo file system for its root file
system.
The rmdir command can only be used to remove directories from volumes set up with the
mount command;
- it cannot be used to remove directories from the pseudo filesystem.
+ it cannot be used to remove directories from the pseudo file system.
Example:
@@ -2712,10 +2750,7 @@ set [{+|-}{e|x|xe|ex}] [<name> <value>]
Synopsis.
- Set the environment variable <name> to the string <value> and or set NSH
- parser control options. For example,
-
- For example,
+ Set the environment variable <name> to the string <value> and or set NSH parser control options. For example,
nsh> echo $foobar
@@ -2728,7 +2763,7 @@ nsh>
Set the 'exit on error control' and/or 'print a trace' of commands when parsing
- scripts in NSH. The settinngs are in effect from the point of exection, until
+ scripts in NSH. The settings are in effect from the point of execution, until
they are changed again, or in the case of the init script, the settings are
returned to the default settings when it exits. Included child scripts will run
with the parents settings and changes made in the child script will effect the
@@ -2740,9 +2775,8 @@ nsh>
Use 'set -x' to enable and 'set +x' to disable (silence) printing a trace of the script
- commands as they are ececuted.
- The default is +x. No printing of a trace of script commands as they are executed.
-
+ commands as they are executed.
+ The default is +x: no printing of a trace of script commands as they are executed.
Example 1 - no exit on command not found
@@ -2757,16 +2791,16 @@ nsh>
notacommand
- Example 3 - will exit on command not found, and print a trace of the script commmands
+ Example 3 - will exit on command not found, and print a trace of the script commands
set -ex
- Example 4 - will exit on command not found, and print a trace of the script commmands
+ Example 4 - will exit on command not found, and print a trace of the script commands
and set foobar to foovalue.
set -ex foobar foovalue
- nsh> echo $foobar
+ nsh> echo $foobar
foovalue
@@ -2855,8 +2889,7 @@ nsh> time "sleep 2"
nsh>
- The additional 10 millseconds in this example is due to the way that the sleep command works: It always waits one system clock tick longer than requested and this test setup used a 10 millisecond periodic system
- timer.
+ The additional 10 milliseconds in this example is due to the way that the sleep command works: It always waits one system clock tick longer than requested and this test setup used a 10 millisecond periodic system timer.
Sources of error could include various quantization errors, competing CPU usage, and the additional overhead of the time command execution itself which is included in the total.
@@ -2949,7 +2982,7 @@ uname [-a | -imnoprsv]
-n
- Print the network node hostname (only availabel if CONFIG_NET=y)
+ Print the network node hostname (only available if CONFIG_NET=y)
@@ -3167,7 +3200,7 @@ nsh>
- Note that in addition to general NuttX configuation settings, each NSH command can be
+ Note that in addition to general NuttX configuration settings, each NSH command can be
individually disabled via the settings in the rightmost column.
All of these settings make the configuration of NSH potentially complex but also allow it to
squeeze into very small memory footprints.
@@ -3336,13 +3369,13 @@ nsh>
ln
- CONFIG_NFILE_DESCRIPTORS > 0
- CONFIG_NSH_DISABLE_LL
+ CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_PSEUDOFS_SOFTLINKS
+ CONFIG_NSH_DISABLE_LN
ls
CONFIG_NFILE_DESCRIPTORS > 0
- CONFIG_NSH_DISABLE_LS && CONFIG_PSEUDOFS_SOFTLINKS
+ CONFIG_NSH_DISABLE_LS
lsmod
@@ -3441,6 +3474,11 @@ nsh>
!CONFIG_DISABLE_ENVIRON && CONFIG_NFILE_DESCRIPTORS > 0
CONFIG_NSH_DISABLE_PWD
+
+ readlink
+ CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_PSEUDOFS_SOFTLINKS
+ CONFIG_NSH_DISABLE_READLINK
+
reboot
CONFIG_BOARD_RESET
@@ -3488,7 +3526,7 @@ nsh>
time
-  
+
CONFIG_NSH_DISABLE_TIME
@@ -3498,7 +3536,7 @@ nsh>
uname
- br
+
CONFIG_NSH_DISABLE_UNAME
@@ -3547,15 +3585,15 @@ nsh>
1
Because of hardware padding, the actual required packet size may be larger
2
- Special TFTP server start-up optionss will probably be required to permit
+ Special TFTP server start-up options will probably be required to permit
creation of files for the correct operation of the put command.
3
CONFIG_FS_READABLE is not a user configuration but is set automatically
- if any readable filesystem is selected. At present, this is either CONFIG_FS_FAT
+ if any readable file system is selected. At present, this is either CONFIG_FS_FAT
or CONFIG_FS_ROMFS.
4
CONFIG_FS_WRITABLE is not a user configuration but is set automatically
- if any writable filesystem is selected. At present, this is only CONFIG_FS_FAT.
+ if any writable file system is selected. At present, this is only CONFIG_FS_FAT.
5
Verbose help output can be suppressed by defining CONFIG_NSH_HELP_TERSE.
In that case, the help command is still available but will be slightly smaller.
@@ -3613,7 +3651,7 @@ nsh>
CONFIG_NSH_FILEIOSIZE
Size of a static I/O buffer used for file access (ignored if
- there is no filesystem). Default is 1024.
+ there is no file system). Default is 1024.
@@ -3686,7 +3724,7 @@ set FOOBAR ABC_${FOO}_${BAR}
CONFIG_NSH_NESTDEPTH
The maximum number of nested if-then[-else]-fi sequences that
- are permissable. Default: 3
+ are permissible. Default: 3
@@ -3734,7 +3772,7 @@ set FOOBAR ABC_${FOO}_${BAR}
CONFIG_NSH_ROMFSETC
- Mount a ROMFS filesystem at /etc and provide a startup script
+ Mount a ROMFS file system at /etc and provide a startup script
at /etc/init.d/rcS. The default startup script will mount
a FAT FS RAMDISK at /tmp but the logic is
easily extensible.
@@ -3837,7 +3875,7 @@ set FOOBAR ABC_${FOO}_${BAR}
CONFIG_NSH_TELNET
- If CONFIG_NSH_TELNET is set to y, then a TELENET
+ If CONFIG_NSH_TELNET is set to y, then a TELNET
server front-end is selected. When this option is provided,
you may log into NuttX remotely using telnet in order to
access NSH.
@@ -3932,7 +3970,7 @@ set FOOBAR ABC_${FOO}_${BAR}
CONFIG_NSH_IOBUFFER_SIZE
Determines the size of the I/O buffer to use for sending/
- receiving TELNET commands/reponses
+ receiving TELNET commands/responses
@@ -3963,7 +4001,7 @@ set FOOBAR ABC_${FOO}_${BAR}
CONFIG_NSH_NOMAC
- Set if your ethernet hardware has no built-in MAC address.
+ Set if your Ethernet hardware has no built-in MAC address.
If set, a bogus MAC will be assigned.
@@ -4236,7 +4274,7 @@ mount -t vfat /dev/ram1 /tmp
-
- Mount the FAT filesystem at a configured mountpoint, /tmp.
+ Mount the FAT file system at a configured mountpoint, /tmp.
@@ -4364,7 +4402,7 @@ struct cmdmap_s
That last string is what is printed when enter "nsh> help".
- So, for you sample commnd, you would add the following the to the g_cmdmap[] table:
+ So, for you sample command, you would add the following the to the g_cmdmap[] table:
{ "mycmd", cmd_mycmd, 1, 1, NULL },
@@ -4525,7 +4563,7 @@ int hello_main(int argc, char *argv[])
-
- And finally, the apps/examples/Makefile will execute the context target in all configured examplesub-directores, getting us finally to apps/examples/Makefile which is covered below.
+ And finally, the apps/examples/Makefile will execute the context target in all configured examplesub-directories, getting us finally to apps/examples/Makefile which is covered below.
@@ -4654,7 +4692,7 @@ CONFIG_SCHED_WAITPID=y
You replace the sample code at apps/examples/nsh/nsh_main.c with whatever start-up logic that you want.
NSH is a library at apps/nshlib.
- apps.examplex/nsh is just a tiny, example start-up function (CONFIG_USER_ENTRYPOINT()) that that runs immediately and illustrates how to start NSH
+ apps.examples/nsh is just a tiny, example start-up function (CONFIG_USER_ENTRYPOINT()) that that runs immediately and illustrates how to start NSH
If you want something else to run immediately then you can write your write your own custom CONFIG_USER_ENTRYPOINT() function and then start other tasks from your custom CONFIG_USER_ENTRYPOINT().
-
@@ -4711,7 +4749,7 @@ CONFIG_SCHED_WAITPID=y
-
- NSH will create a read-only RAM disk (a ROM disk), containing a tiny ROMFS filesystem containing the following:
+ NSH will create a read-only RAM disk (a ROM disk), containing a tiny ROMFS file system containing the following:
`--init.d/
@@ -4722,7 +4760,7 @@ CONFIG_SCHED_WAITPID=y
-
- NSH will then mount the ROMFS filesystem at /etc, resulting in:
+ NSH will then mount the ROMFS file system at /etc, resulting in:
|--dev/
@@ -4829,7 +4867,7 @@ mount -t vfat /dev/ram1 /tmp
To generate a custom rcS file a copy of rcS.template needs to be placed at tools/ and changed according to the desired start-up behaviour.
- Running tools/mkromfsimg.h creates nsh_romfsimg.h which needs to be copied to apps/nhslib OR if CONFIG_NSH_ARCHROMFS is defined to configs/<board>/include.
+ Running tools/mkromfsimg.h creates nsh_romfsimg.h which needs to be copied to apps/nshlib OR if CONFIG_NSH_ARCHROMFS is defined to configs/<board>/include.
@@ -4845,7 +4883,7 @@ mount -t vfat /dev/ram1 /tmp
All of the startup-behavior is contained in rcS.template.
- The role of mkromfsimg.sh script is to (1) apply the specific configuration settings to rcS.template to create the final rcS, and (2) to generate the header file nsh_romfsimg.h containg the ROMFS file system image.
+ The role of mkromfsimg.sh script is to (1) apply the specific configuration settings to rcS.template to create the final rcS, and (2) to generate the header file nsh_romfsimg.h containing the ROMFS file system image.
To do this, mkromfsimg.sh uses two tools that must be installed in your system:
- mv
nfsmount
nice
- NSH library (
nshlib)
@@ -5391,6 +5429,7 @@ xxd -i romfs_img >nsh_romfsimg.h
up_cxxinitialize()
urldecode
urlencode
+ - USB console startup
useradd
userdel
usleep
diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html
index 2fe4d5a538..494a08777c 100644
--- a/Documentation/NuttX.html
+++ b/Documentation/NuttX.html
@@ -1624,8 +1624,8 @@
- STMicroelectronics
- STMicro STR71x (ARM7TDMI)
- - STMicro STM32L152 (STM32 L "EnergyLite" Line, ARM Cortex-M3)
- - STMicro STM32L162 (STM32 L "EnergyLite" Medium+ Density, ARM Cortex-M3)
+ - STMicro STM32L152 (STM32 L1 "EnergyLite" Line, ARM Cortex-M3)
+ - STMicro STM32L162 (STM32 L1 "EnergyLite" Medium+ Density, ARM Cortex-M3)
- STMicro STM32F0xx (STM32 F0, ARM Cortex-M0)
- STMicro STM32F100x (STM32 F1 "Value Line"Family, ARM Cortex-M3)
- STMicro STM32F102x (STM32 F1 Family, ARM Cortex-M3)
@@ -1651,9 +1651,9 @@
- STMicro STM32 F429 (STM32 F4 family, ARM Cortex-M4)
- STMicro STM32 F446 (STM32 F4 family, ARM Cortex-M4)
- STMicro STM32 F46xx (STM32 F4 family, ARM Cortex-M4)
- - STMicro STM32 L4x2 (STM32 F4 family, ARM Cortex-M4)
- - STMicro STM32 L476 (STM32 F4 family, ARM Cortex-M4)
- - STMicro STM32 L496 (STM32 F4 family, ARM Cortex-M4)
+ - STMicro STM32 L4x2 (STM32 L4 family, ARM Cortex-M4)
+ - STMicro STM32 L476 (STM32 L4 family, ARM Cortex-M4)
+ - STMicro STM32 L496 (STM32 L4 family, ARM Cortex-M4)
- STMicro STM32 F745/F746 (STM32 F7 family, ARM Cortex-M7)
- STMicro STM32 F756 (STM32 F7 family, ARM Cortex-M7)
- STMicro STM32 F76xx/F77xx (STM32 F7 family, ARM Cortex-M7)
@@ -2871,7 +2871,7 @@ Mem: 14096 3928 10168 10168
nsh>
- You can see that 9.9KB (62%) of SRAM heap is staill available for further application development while NSH is running.
+ You can see that 9.9KB (62%) of SRAM heap is still available for further application development while NSH is running.
@@ -2883,9 +2883,9 @@ nsh>
- STMicro STM32F152x/162x(STM32 F1 "EnergyLite" Medium+ Density Family).
- Support for the STM32152 and STM32162 Medium+ density parts from Jussi Kivilinna and Sami Pelkonen was included in NuttX-7.3, extending the basic STM32F152x support.
- This is architecture-only support, meaning that support for the boards with these chips is available, but not support for any publicly available boards is included.
+ STMicro STM32L152x/162x (STM32 L1 "EnergyLite" Medium+ Density Family).
+ Support for the STM32L152 and STM32L162 Medium+ density parts from Jussi Kivilinna and Sami Pelkonen was included in NuttX-7.3, extending the basic STM32L152x support.
+ This is architecture-only support, meaning that support for the boards with these chips is available, but no support for any publicly available boards is included.
@@ -2995,7 +2995,7 @@ nsh>
-
- The other port is for a generic minimual STM32F103CBT6 "blue" board contributed by Alan Carvalho de Assis.
+ The other port is for a generic minimal STM32F103CBT6 "blue" board contributed by Alan Carvalho de Assis.
Alan added support for numerous sensors, tone generators, user LEDs, and LCD support in NuttX 7.18.
@@ -3170,7 +3170,7 @@ nsh>
STMicro STM32F107x (STM32 F1 "Connectivity Line" family).
- Chip support for the STM32 F1 "Connectivity Line" family has been present in NuttX for some time and users have reported that they have successful brought up NuttX on theor proprietary boards using this logic.
+ Chip support for the STM32 F1 "Connectivity Line" family has been present in NuttX for some time and users have reported that they have successful brought up NuttX on their proprietary boards using this logic.
-
@@ -3259,7 +3259,7 @@ nsh>
STATUS:
- In addition to the above-mention WiFI support, the Photon board support includes buttons, LEDS, IWDG, USB OTG HS, and procfs support. Configurations available for nsh, usbnsh, and wlan configurations. See the Photon https://bitbucket.org/nuttx/nuttx/src/master/configs/photon/README.txt" target="_blank">README file for additional information.
+ In addition to the above-mention WiFI support, the Photon board support includes buttons, LEDS, IWDG, USB OTG HS, and procfs support. Configurations available for nsh, usbnsh, and wlan configurations. See the Photon README file for additional information.
@@ -3783,7 +3783,7 @@ nsh>
- STMicro ST Nucleo F303RE board..
+ STMicro ST Nucleo F303RE board.
Contributed by Paul Alexander Patience.
@@ -4047,7 +4047,7 @@ nsh>
-
- The intial release included support from either OTG FS or OTG HS in FS mode.
+ The initial release included support from either OTG FS or OTG HS in FS mode.
-
The F429 port adds support for the STM32F439 LCD and OTG HS (in FS mode).
@@ -4176,10 +4176,17 @@ nsh>
- Serial Audio Interface (SAI).
- - Power Managmement.
+ - Power Management.
- LPTIM.
- Comparator (COMP).
+
+ NuttX-7.21.
+ Additional drivers were added:
+
+
+ - Internal Watchdog (IWDG).
+
@@ -4481,7 +4488,7 @@ nsh>
-
This board supports included two configurations for the NuttShell (NSH).
Both are networked enabled: One configured to support IPv4 and one configured to supported IPv6.
- Instructions are included in the board README file for configuring both IPv4 and IPv6 simultaneously..
+ Instructions are included in the board README file for configuring both IPv4 and IPv6 simultaneously.
-
Tiva PWM and Quadrature Encoder drivers were contributed to NuttX in 7.18 by Young.
diff --git a/Documentation/NuttXCCodingStandard.html b/Documentation/NuttXCCodingStandard.html
index 7d65a766a2..a80b4d3960 100644
--- a/Documentation/NuttXCCodingStandard.html
+++ b/Documentation/NuttXCCodingStandard.html
@@ -12,7 +12,7 @@
NuttX C Coding Standard
- Last Updated: May 6, 2017
+ Last Updated: June 11, 2017
@@ -736,12 +736,25 @@ void some_function(void)
-
Always on Separate Lines.
- Braces always appear on a separate line containing nothing else other that white space.
+ Braces always appear on a separate line containing nothing else other than white space.
-
Never Comments on Braces.
Do not put comments on the same line as braces.
+ -
+ Compound Statements.
+ Within this document, an opening left brace followed by a sequence of statments, and ending with a closing right brace is refered to as a compound statement.
+
+ -
+ Nested Compound Statements.
+ In the case where there are nested compound statements that end with several consecutive right braces, each closing right brace must lie on a separate line and must be indented to match the corresponding opening brace.
+
+ -
+ Final brace followed by a single blank line.
+ The final right brace must be followed by a blank line as per standard rules.
+ In the case where there are nested several consecutive right braces, no blank lines should be inserted except for after the final right brace.
+
-
Special Indentation Rules.
Special indentation rules apply to braces.
@@ -763,6 +776,19 @@ while (true)
...
} /* not valid */
} /* end forever */
+if (a < b) {
+ if (a < 0) {
+ c = -a;
+ } else {
+ c = a;
+ }
+} else {
+ if (b < 0) {
+ c = -b;
+ } else {
+ c = b;
+ }
+}
- Exceptions. + Exception to Indentation Rule for Braces. The exception is braces that following structure, enumeration, union, and function declarations. There is no additional indentation for those braces; those braces align with the beginning of the definition @@ -854,6 +904,7 @@ int animals(int animal) { ... } +
+ Forbidden Multicharacter Forms.
+ Many operators are expressed as a character in combination with = such as +=, >=, >>=, etc.
+ Some compilers will accept the = at the beginning or the end of the sequence.
+ This standard, however, requires that the = always appear last in order to avoid amiguities that may arise if the = were to appear first. For example, a =++ b; could also be interpreted as a =+ +b; or a = ++b all of which are very different.
+
if then else StatementCoding Standard:
if separated from <condition>.
+ The if keyword and the <condition> must appear on the same line.
+ The if keyword and the <condition> must be separated by a single space.
+ if <condition> and else must lie on separate lines with nothing else present on the line.
@@ -2118,16 +2181,24 @@ x++;
if <condition> and else lines must always be enclosed in braces.
- Braces must follow the if <condition> and else lines even in the case where these is no contained statement!
+ Statement(s) following the if <condition> and else keywords must always be enclosed in braces.
+ Braces must follow the if <condition> and else lines even in the cases where (a) there is no contained statement or (b) there is only a single statement!
if-else must be followed by a blank line in most cases (the exception given below).
+ This may be the final brace of the if compound statement if the else keyword is not present.
+ Or it may be the the final brace of the else compound statement if present.
+ A blank line never follows the right brace closing the if compound statement if the else keyword is present.
+ Use of braces must follow all other standard rules for braces and spacing.
+ if <condition>-else statement is nested within another compound statement; there should be no blank lines between consecutive right braces as discussed in the standard rules for use of braces.
@@ -2221,6 +2292,11 @@ x++;
Coding Standard:
switch separated from <value>.
+ The switch keyword and the switch <value> must appear on the same line.
+ The if keyword and the <value> must be separated by a single space.
+ break statements are normally indented by two spaces.
When used conditionally with case logic, the placement of the break statement follows normal indentation rules.
switch <value> statement must be followed by a single blank line.
+ switch <value> statement is nested within another compound statement; there should be no blank lines between consecutive right braces as discussed in the standard rules for use of braces.
+ Other Applicable Coding Standards. @@ -2274,6 +2358,11 @@ x++;
while StatementCoding Standard:
while separated from <condition>.
+ The while keyword and the <condition> must appear on the same line.
+ The while keyword and the <condition> must be separated by a single space.
+ while <condition> must lie on a separate line with nothing else present on the line.
@@ -2297,7 +2386,11 @@ x++;
while <condition> statment must be followed by a single blank line.
+ while <condition> statement is nested within another compound statement; there should be no blank lines between consecutive right braces as discussed in the standard rules for use of braces.
@@ -2345,15 +2438,20 @@ x++;
do must always be enclosed in braces, even if only a single statement follows.
+ Statement(s) following the do must always be enclosed in braces, even if only a single statement (or no statement) follows.
while separated from <condition>.
+ The while keyword and the <condition> must appear on the same line.
+ The while keyword and the <condition> must be separated by a single space.
+ while <condition> must be followed by a single blank line.
@@ -2388,6 +2486,7 @@ x++; ptr++; } while (*ptr != '\0'); +
pthread_mutex_timedlock. lock a mutex.pthread_mutexattr_getprioceiling. get and set the prioceiling attribute of the mutex attributes object.pthread_mutexattr_setprioceiling. get and set the prioceiling attribute of the mutex attributes object.pthread_rwlock_destroy. destroy and initialize a read-write lock object.pthread_rwlock_init. destroy and initialize a read-write lock object.pthread_rwlock_rdlock. lock a read-write lock object for reading.pthread_rwlock_timedrdlock. lock a read-write lock for reading.pthread_rwlock_timedwrlock. lock a read-write lock for writing.pthread_rwlock_tryrdlock. lock a read-write lock object for reading.pthread_rwlock_trywrlock. lock a read-write lock object for writing.pthread_rwlock_unlock. unlock a read-write lock object.pthread_rwlock_wrlock. lock a read-write lock object for writing.pthread_rwlockattr_destroy. destroy and initialize the read-write lock attributes object.pthread_rwlockattr_getpshared. get and set the process-shared attribute of the read-write lock attributes object.pthread_rwlockattr_init. destroy and initialize the read-write lock attributes object.Last Updated: May 9, 2017
+Last Updated: June 10, 2017