nuttx/Documentation/ReleaseNotes/NuttX-7.30

610 lines
26 KiB
Plaintext
Raw Normal View History

NuttX-7.30
----------
The 130th release of NuttX, Version 7.30, was made on May 19, 2019,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.30.tar.gz and
apps-7.30.tar.gz. These are available from:
https://bitbucket.org/nuttx/nuttx/downloads
https://bitbucket.org/nuttx/apps/downloads
Both may be needed (see the top-level nuttx/README.txt file for build
information).
Additional new features and extended functionality:
* Core OS:
- pthreads: Added non-standard pthread_get_stackaddr_np() and
pthread_get_stacksize_np(). From Joao Matos.
- boardctl(): Add a command to start the VNC server. From Gregory
Nutt.
- Signals: Remove references to CONFIG_DISABLE_SIGNALS in many
files. Signals can no longer be disabled. From Gregory Nutt.
* Wireless/Wireless Drivers:
- NRF24L01: Add support for "multicast" TX mode - no waiting for ACK
(needs to be enabled with fcntl SETTXPAYLOADNOACK) From Leif Jakob.
* Graphics/Display Drivers:
- NX Graphics: Add new server->client callback to notify the window
client of server events. Remove the old 'blocked' callback and just
make it one case of an 'event' callback. From Gregory Nutt.
- NX Graphics: Implement new interfaces nx_synch() and nxtk_synch().
This are used to synchronize the NX server with the window client.
Currently most of the logic is equivalent to nx_block() and
nxtk_block(), but with slightly different semantics. They are
separate now because they are likely to diverge in the future.
From Gregory Nutt.
- NX Graphics: Add support for modal windows. From Gregory Nutt.
- NX Graphics: Implement a software cursor. The cursor behaves
like a "sprite", always at the top of the display with a
transparent background. Includes new NX interfaces to show/hide
the cursor, set the cursor image, and to move the cursor position.
From Gregory Nutt.
- NX Graphics: Added support for hiding windows. This features is
needed by Twm4Nx: When a window is iconified, the icon should
appear on the background and the window should disappear (i.e., be
hidden). The windows needs to remain healthy and to be updated in
all ways, but it cannot affect the display content. Conversely,
when the icon is clicked, the icon needs to be hidden on the
background and the window needs to be restored in its current
state (which may be different than the state of the window at the
time it was iconified. From Gregory Nutt.
- NX Graphics: Windows can now be created in the hidden state.
This can be used to clean up initial window presentation which may
involve several steps. This makes those steps all invisible until
nx[tk]_setvisibility() is called to make the windows visible.
From Gregory Nutt.
- NX Graphics: Add new NX interfaces to query if a window is hidden
or not. From Gregory Nutt.
- NxTerm IOCTLs: Replace specific interfaces between boardctl and
nxterm with a generalized IOCTL interface. From Gregory Nutt.
- NxTerm: Add a new IOCTL that can be used to inform NxTerm that
the size of a window has changed. From Gregory Nutt.
* Other Common Device Drivers:
- CAN Upper Half: Support multiple readers of the same port From
Valmantas Paliksa.
- MAX7456: Adds a read-only (for now) /dev/osd0/CM interface for
obtaining the chip's onboard NVM character map data. Use seek()
to position the cursor over a desired subset of bytes, or request
a large read to obtain the entire EEPROM memory contents. Values
are returned in binary form. Use hexdump, etc. to format them for
viewing. From Bill Gatliff.
- Serial Upper Half: The upper half serial driver configuration
CONFIG_SERIAL_DMA used to enable DMA on both RX and TX streams.
This was replaced with CONFIG_SERIAL_RXDMA and CONFIG_SERIAKL_TXDMA
which will permit supporting DMA on only one or both streams.
From Gregory Nutt.
- FUSB303: Add FUSB303 driver From Juha Niskanen.
* Microchip PIC32MZ Drivers:
- PIC32MZ GPIO: Adds support for edge detect mode. Slew Rate was
also added for completeness. From Abdelatif Guettouche.
* Microchip/Atmel SAMv7 Boards
- SAME70-xplained: Add a configuration for test Twm4Nx using VNC.
From Gregory Nutt.
* Microchip LPCxx Drivers:
- LPC17xx Ethernet: Added support for KSZ8081RNA PHY to LPC17xx
Ethernet driver. From jjlange.
- LPC17xx Ethernet: Added support for Ethernet PHY ioctl() on
LPC17xx. From jjlange.
* NXP i.MX RT:
- .i.MXRT1020: Gets imx1020 family support started. It is pretty
similar, but subtly different, to 1050/60 (less PLLs, less GPIO
banks, differently numbered ports etc. etc.).
Moved each of the imxrt family-specific files into its own
subdirectory to tidy things up a bit, and remove the vast majority
of ifdefs from the mainline code.
From Dave Marples.
* NXP LPC54xx Drivers
- LPC54xx USB FS Host: Bring in the USB FS OHCI driver from LPC17.
This is a quick'n'dirty port from LPC17 that I hope finish
sometime later. Currently, it is missing hardware clocking setup
and is not even hooked into the build system yet. From Gregory
Nutt.
* NXP LPC54xx Boards
- LPCXpresso-LPC54628: Add a Twm4Nx configuration. From Gregory Nutt.
* Sony CXD56xx
- CXD56xx: Add initial CXD56xx chip driver sources. From Nobuto
Kobayashi.
* Sony CXD56xx Spresense Board
- Spresense: Add Spresense board support. This is not the full
Spresense BSP from Sony, only the barebones logic to present an
NSH console. From Nobuto Kobayashi.
* STMicro STM32:
- STM32F7 Clocking: Add support for using the HSE in bypass mode,
configured by board.h From Anthony Merlino.
- STM32F7 Clocking: Added support for TICKLESS mode. From Valmantas
Paliksa.
- STM32H7 Backup Domain: Add backup domain control registers. From
Jukka Laitinen.
- STM32H7 Clocking: Set the STM32H7 default HSI pre-divider to 4.
The I2C driver currently assumes HSI clock to be 16MHz. From Jukka
Laitinen.
- STM32H7 Memorymap.: Add the STM32H7 SYSTEM_UID and DEBUGMCU_BASE
register definitions. From Jukka Laitinen.
- STM32L071x: Add support for STM32L071x. From Mateusz Szafoni.
* STMicro STM32 Drivers:
- STM32 OTGHS Host: Allow VBUS monitoring for the OTG_HS host
driver. From Jason Harris.
- STM32F0/L0 ADC: Initial ADC support for the STM32 M0 From Mateusz
Szafoni.
- STM32F0/LO I2C: Port STM32F7 I2C to STM32F0/L0, From Mateusz Szafoni.
- STM32F1 FLASH: As noted by Matias N, the FLASH base address used
was incorrect. It was using the address of the FLASH data, not
the address of the FLASH registers. From Gregory Nutt.
- STM32F3 I2C: Port STM32F7 I2C to STM32F3. From Mateusz Szafoni.
- STM32F7 Ethernet.c: Auto-generate Ethernet MAC address from
device unique ID. From Valmantas Paliksa.
- STM32F7 FLASH: Add flash block mapping support for progmem. From
Valmantas Paliksa.
- STM32F7 FMC: Updated stm32_fmc.h with more FMC definitions. From
Joao Matos.
- STM32F7 GPIO: Adds additional pin alternate function for SPI2.
From Anthony Merlino.
- STM32F7 PWM: Ported the PWM from F4 to F7. From Eduard Niesner.
- STM32F7 SDMMC: Support bypassing the input clock divider on the
SDMMC interface. This enables using the full clock speed provided
to the SDMMC interface with no dividing. From Anthony Merlino.
- STM32F7 SPI: Add SPI DMA threshold configuration. From Valmantas
Paliksa.
- STM32F7 UID: Add UID access. From Valmantas Paliksa.
- STM32F7 USB: USB High speed for STM32F7 series From Ramtin Amin.
- STM32H7 Ethernet: Add stm32h7 Ethernet driver. This is the
initial push for the Ethernet driver. The driver has been tested
to be working on a nucleo board. This is still WIP, it doesn't
for example do MAC filtering on HW level, but just receives all
Ethernet packets. From Jukka Laitinen.
- STM32H7 GPIO: Add the GPIO_ETH_RMII_RXD1 pinmap definition for
STM32H7. From Jukka Laitinen.
- STM32H7 SDMMC: Add STM32H7 SDMMC driver. It is mostly copied
from STM32F7, with modified register addresses and bits, and IDMA
dded. This is still WIP; it only works with IDMA. From Jukka
Laitinen.
- STM32H7 Timers: Add timer devices driver for STM32H7. This i
mostly a forklift from stm32f7 with some h7 specific
modifications. From Jukka Laitinen.
- STM32L0 AES: Add support for AES for L0. From Mateusz Szafoni.
- STM32L0 RND: Add support for RND. From Mateusz Szafoni.
- STM32L0 HSI48: Add support for HS148 for L0. Move HSI48 enable
from stm32_usbdev.c to stm32xx_rcc.c From Mateusz Szafoni.
- STM32L4 USB FS Device: Add USB FS device support. From Juha
Niskanen.
- STM32L4 HSI48: Port HSI48 from STM32F0/L0 From Juha Niskanen.
- STM32L4 CRS: Port CRS from STM32F0/L0 From Juha Niskanen.
* STMicro STM32 Boards:
- B-L072Z-LRWAN1: Add ADC example. From Mateusz Szafoni.
- B-L072Z-LRWAN1: Add nxlines_oled example (ssd1306). Add support
for the I2C tool From Mateusz Szafoni.
- Nucleo-144: Added STM32_RCC_DCKCFGR2_DSISRC definition to board.h.
From Joao Matos.
- Nucleo-144: Mount sysfs for ifconfig for f767-netnsh/defconfig.
Even if ifconfig is working to set IP, it will not work to display
NICs (without args) From Phil Coval.
- Nucleo-144: Add basic PWM support to nucleo-144 board. More PWMs
and multi channels support may be investigated and added later.
Tested on Nucleo-F767ZI. From Phil Coval.
- Nucleo-F303ZE: Add nxlines_oled example (ssd1306) From Mateusz
Szafoni.
- Nucleo-H743ZI: Enable the FPU. From Jason Harris.
- Nucleo-H743ZI: Add support for I2C devices: ssd1306, pca9635,
i2ctools From Mateusz Szafoni.
- Nucleo-H743ZI: Add default clock configuration for SDMMC for
Nucleo-H743ZI's board.h. From Jukka Laitinen.
- Nucleo-H743ZI: Add the input clock frequency definitions in
board.h for all the drivers. Assumes internal clock source for
all the timers. From Jukka Laitinen.
- STM32F4 Discovery: Keep c++ global constructor symbols From
Masayuki Ishikawa.
- Nucleo-L073RZ: Add MFRC522 support From Mateusz Szafoni.
- OmnibusF4: Add boardctl() reset logic. From Bill Gatliff.
- OmnibusF4: Add board_ioctl() which is needed only if
CONFIG_BOARDCTL_IOCTL=y is selected; Update NSH configuration
to enable board IOCTLs and DFU mode reset. From Bill Gatliff.
- STM32L Discovery: Add support for board_late_initialize(), Move
common initialization logic out of board_app_initialize() into new
file stm32_bringup.c From Gregory Nutt.
- STM32F103-Minimum: Add PROCFS automount support From Alan
Carvalho de Assis.
* Libraries/Header Files:
- include/alloca.h: Add alloca.h. Included limited implementation
of alloc() that is only available for GCC versions 3 and above.
From Joao Matos.
- include/cxx/cstdlib: Add std::random() From Gregory Nutt.
* apps/ General:
- Many locations: Remove references to CONFIG_DISABLE_SIGNALS.
Signals can no longer be disabled. From Gregory Nutt.
* Examples/Tests: apps/examples:
- apps/examples/fb: Add some awareness of overlays to
apps/examples/fb From Matthew Koch.
- apps/examples/lvgldemo. Update to Littlevgl 5.3. From Matthew
Koch.
- apps/examples/pwfb: Extend example to verify software cursors.
From Gregory Nutt.
- apps/examples/pwfb: Add options to reduce the number of windows.
This is helpful during debug to reduce the complexity. From
Gregory Nutt.
* Network Utilities: apps/netutils:
- apps/netutils/cjson: Support for the current version of cJSON.
From Mateusz Szafoni.
- apps/netutils/libcurl4nx: This is an initial commit libcurl4nx.
It is not complete yet, but I still wish to commit the unfinished
bits to describe the roadmap, and because it is already usable. It
will be updated and fixed in the future weeks and months, certainly
including POST support and later, SSL. From Sebastien Lorquet.
- apps/netutils/netinit. This commit removes the private network
initialization logic from NSH and puts in a common location at
apps/netutils/netinit. Now that netork initialization logic can be
used by applications that do not include NSH. From Gregory Nutt.
- apps/netutils/netlib: Add a more flexible version of
netlib_parsehttpurl(). This one can parse any URL, and is
extensible so future improvements keep the same API. From Sebastien
Lorquet.
* System Utilities: apps/system
- apps/system/spi: I needed a small test tool for spi in the style of
the I2C tool, but I didn't see one so I've hacked one out of the I2C
tool source. From Dave Marples.
* Graphics: apps/graphics:
- apps/graphics/twm4nx. This release introduces Twm4Nx. Twm4Nx is a
"port" of TWM, Tab Window Manager (or Tom's Window Manager) version
1.0.10 to NuttX NX windows server. No, a port is not the right
word. It is are-design of TWM from the inside out to work with the
NuttX NX server and NXWidgets. The name Twm4Nx reflects this
legacy. But Twm4Nx is more a homage to TWM than a port of TWM.
The original TWM was based on X11 which provides a rich set of
features. TWM provided titlebars, shaped windows, several forms of
icon management, user-defined macro functions, click-to-type and
pointer-driven keyboard focus, graphic contexts, and user-specified
key and pointer button bindings, etc.
Twm4Nx, on the other hand is based on the NuttX NX server which
provides comparatively minimal support. Additional drawing support
comes from the NuttX NxWidgets library (which necessitated a
conversion to C++).
Twm4Nx is greatly stripped down and targeted on small embedded systems
with minimal resources. For example, no assumption is made about the
availability of a file system; no .twmrc file is used.
The state of the "port" is available in
apps/graphics/twm4mx/README.txt. To summarize: The port is fully
functional but probably only at an alpha release level. The only
missing critical feature is built-in touchscreen calibration.
- apps/graphics/littlevgl. Update to Littlevgl 5.3. From Matthew
Koch.
- apps/graphics/nxglyphs: Put all NxWidgets and NxWM glyphs into a
common directory where they can eventually be shared. Decouple
from nxwidgets and nxwm so that they can be used elsewhere.
Creates include/graphics/nxglyphs.h From Gregory Nutt.
- apps/graphics/nxglyphs: Add some new cursor bitmap images. From
Gregory Nutt.
- apps/graphics/nxglyphs: Add mkcursor.c. Will auto-generate
cursor image header file from Gimp C output. From Gregory Nutt.
- apps/graphics/nxglyphs: Add 16x16 cursor images. 30x30 are kind
of large on small displays. From Gregory Nutt.
- apps/graphics/nxglyphs: Add a new resize cursor image. From
Gregory Nutt.
- apps/graphics/nxwm: Separate NxWidgets and NxWM into separate
directories. Remove old, common NxWidgets directory. From
Gregory Nutt.
- apps/graphics/nxwm: Move the NxWM unit test main() to apps/nxwm.
It is no longer a unit test, but the main startup entry point for
NxWM. From Gregory Nutt.
- apps/graphics/nxwidgets: Update NX window clients so that they
use the new 'event' callback (vs. the obsoleted 'blocked' callback).
From Gregory Nutt.
- apps/graphics/nxwidgets: Add a synchronize method to every window.
This is a wrapper arounc nx[tk]_sync and permits C++ applications
to synchronize with the NX server. From Gregory Nutt.
- apps/graphics/nxwidgets: Add support for modal windows. From
Gregory Nutt.
- apps/graphics/nxwidgets: Add cursor control methods to the
CNxServer class. From Gregory Nutt.
- apps/graphics/nxwidgets: Add a method to CButtonArray that will
allow us to dynamically resize the array (at the cost of losing all
button labels). From Gregory Nutt.
- apps/graphics/nxwidgets: Fix a possible deadlock condition when
waiting for window geometry data that will never come. Fixed by
re-requesting geometry data if we don't already have it. From
Gregory Nutt.
- apps/graphics/nxwidgets: Add handshake to
CWidgetControl::getWindowHandle() to avoid returning a NULL
handle. From Gregory Nutt.
- apps/graphics/nxwidgets: CNxTkWindow, CNxWindow, CNxServer: Add
support to create RAM backed windows. From Gregory Nutt.
- apps/graphics/nxwidgets: Add methods to all windows to query if a
window is visible or hidden. From Gregory Nutt.
Bugfixes. Only the most critical bugfixes are listed here (see the
ChangeLog for the complete list of bugfixes and for additional, more
detailed bugfix information):
* Core OS:
- Clock Initialization: A recent change broke Tickless mode for all
architectures. The original change was intended to handle the
case where up_timer_gettime may not start from zero case. The
side effect is that this changed to order of initialization of
clocking, breaking Tickless mode:: After this change the tickless
timer structures are used before they are initialized in
clock_inittime(). The commit has been reverted.
- pthread Stack Attribute: Fixed pthread_attr_get/setstacksize
param type to size_t. From Joao Matos.
- Signals: The abnormal termination signal handler was just calling
exit() conditionally when, for example, Ctrl-C is sent to a task.
The abnormal termination handler must obey the rules of cancellation
points: If cancellation is disabled, then the abnormal termination
logic must wait for cancellation to be re-enabled; If cancellation
is deferred then the abnormal termination logic may have to wait
for the victim task to enter or exit a cancellation point. From
Gregory Nutt.
- Syscall: Added support for munmap() syscall. From Joao Matos.
- Syscall: Fix a warning due to inconsistencies in return type in
syscall.csv. From Gregory Nutt.
- Syscall: Correct an error syscall.csv. Error occurred when
creating the munmap() proxy if CONFIG_FS_RAMMAP is not defined.
From Gregory Nutt.
* File System/Block and MTD Drivers:
- fs/littlefs/lfs.c: Fix lfs_format bug. In superblock disk root-
block assignment, the second must be root[1]. From YanLin Zhu.
* Networking/Network Drivers:
- getsockname(): Fix addrlen check in socket debug features.
Getsockname() checked erroneously a pointer against 0, where the
intention was to dereference the pointer and to check the length.
This causes also a compilation failure if the code is compiled
with CONFIG_DEBUG_FEATURES and with -Werror flag set. From Jukka
Laitinen.
- Network Locking: net_lock() and net_restorelock() now return a
value. That values is the standard zero on success; negated errn
value on failure. This return value is only needed for
-ECANCELED. That cancellation indication needs to ripple all the
way back to the highest levels where the cancellation can be acted
on. This commit only adds the return value; it does not add
checking for the return values of net_lock() and net_restorelock()
at higher levels. That is required too. From Gregory Nutt.
- PHY Notification Driver: Change sprintf to strncpy in phy_notify.
On some platforms, the sprintf doesn't accept a const char* as a
format argument. From Jukka Laitinen.
- 6LoWPAN HC06: Correct an endian-ness problem in HC06 decompression.
From Ivan Ucherdzhiev.
* Wireless/Wireless Drivers:
- NRF24L01: Don't block in read if file descriptor is O_NONBLOCK.
From Leif Jakob.
* Graphics/Display Drivers:
- NX Graphics: Fix an error in coordinate system usage. Expected
rectangle in device coordinate frame, but was passing the
rectangle in window-relative coordinate frame. From Gregory Nutt.
- NX Graphics: Fix an oversight in the implementation of per-window
framebuffers. It is true that redraw callbacks can be suppressed
for all cases ... EXCEPT ONE: When the window is resized to a
larger size, then the newly exposed territory must be drawn for
the first time. From Gregory Nutt.
- NxTK: Fix an error in handling mouse events for framed windows.
When drawing, NX may report mouse positions outside of the Window.
The is only for NX windows, but the outside-the-side positions were
being discarded by nxtk_events(). From Gregory Nutt.
- NxTK: Refuse to open a toolbar of height zero or less. From
Gregory Nutt.
- Nxglib: Correct bogus logic in nxgl_interesting(). From Gregory
Nutt.
- VNC Server: Fix an error in color conversion. From Gregory Nutt.
* Common Drivers:
- APDS9960: Initial state of allocated structure was not being set.
Noted by Leif Jacob. From Gregory Nutt.
- MFRC522: In mfrc522_read uid.sak must be different from 0x04 not
as before from 0x00. SAK == 0x00 is a valid PICC type. Add
interface to read MIFARE Ultralight data From Mateusz Szafoni.
- Power: Fix build for battery gauge From Tom Kopriva.
- Syslog: In syslog buffered mode, avoid IOB alloc lock-up with
heavy network activity. This change alters the buffered syslog
logic to use 'iob_tryalloc' instead of blocking 'iob_alloc' to
avoid syslog printing from getting stuck when all IOBs are
depleted by network activity. An issue was seen when large
incoming TCP transfer uses free IOB buffers and processing
threads try to use syslog which then block at iob_alloc. From
Jussi Kivilinna.
- USB CDC/ACM Device: This fixes a problem where the host sent a
"get descriptor" message of type "standard" with a recipient of
type "interface". Since the composite driver would only pass
messages to the child interfaces when a message was not
"standard", this message was not handled. I changed the condition
so that the composite driver checks not only if this is a
"standard" message but if it is also directed to the device.
Otherwise, the handling is delegated to the children of the
composite device. From Matias N.
- USB HID: The usbhid_descriptor_s struct defined in hid.h included
some optional fields that should not be hard-defined as part of
that structure. An arbitrary number of optional entries could be
included in the descriptor, but that is not properly represented.
No code on NuttX currently depends on the structure definition
with an optional descriptor so it is safe to remove. From Matias N.
- USB MSC Device: Correct typo "const const" to "const".
arch/arm/src/stm32/stm32_i2s.c: In debug assertions, it on a
sample rate of 0, but based on other code comments this value
implies disabling the i2s master clock. From Jason Harris.
- Zerocross Driver: Fix some errors when debug assertions are
enabled. From Matous Pokorny.
- User Leds: Fix ledset validity check in ULEDIOC_SETALL ioctl.
From Jussi Kivilinna.
* Architecture Common:
- All board interfaces (those starting with board_) must be defined
in board-specific logic. Otherwise, they cannot be customized for
specialized usage by different boards. The board_reset()
interface was defined in architecture-specific logic that only
called up_systemreset(). That is useless! This change removes
the board_reset() implementation from the architecture-specific
code and re-implements it in the src/ directory of each board that
has CONFIG_BOARDCTL_RESET enabled. That is the correct functional
partitioning. From Gregory Nutt.
- Start-up: Remove dependency on CONFIG_ARCH_FPU for inclusion of
nvic.h in all other *_start.c files. From Gregory Nutt.
- Architecture initialization: up_initialize() needs to know about
ramlog_consoleinit() From Jason Harris.
* Microchip PIC32MZ Drivers:
- PIC32MZ GPIO: Corrects the gpioirq when mismatch mode is
selected. From Abdelatif Guettouche.
* ARMv7-A:
- ARMv7-A Build: Fix 'cc1: warning: switch -mcpu=cortex-a7 conflicts
with -march=armv7-a switch' From Xiang Xiao.
* Nordic NRFxx
- NRF52: Fix compiler error in nrf52832_errdata.c when following
C89. From Erik Englund.
* STMicro STM32:
- STM32 Configuration: It seems one option in the timer configuration
was lost at some point. From Matias N.
- STM32 start-up: Inclusion of nvic.h should not be conditioned on
CONFIG_ARCH_FPU. From Mateusz Szafoni.
- STM32H7 Clocking: Fixes for STM32H7 RCC definitions. From Jukka
Laitinen.
* STMicro STM32 Drivers:
- STM32F0/L USART: A few fixes for USART. From Mateusz Szafoni.
- STM32F1/F30 FLASH: RCC register access should not be offset by
FLASH register base. From Matias N.
- STM32F7 CAN: CAN fixes. From Valmantas Paliksa.
- STM32F7 I2C: I2C Interrupt storm fix. I2C track bad state. Now
we track bad state and so the SW reset only when it occurs. From
David Sidrane.
- STM32F7 OTG: Fixes some macros related to OTGFS/OTGHS preventing
OTGHS from working. From Anthony Merlino.
- STM32F7 OTG Device: Correct hard-coded FIFO size that is wrong
for OTG FS. From Ramtin Amin.
- STM32F7 QSPI: Fix QuadSPI interrupts. This commit essentially
replaces wrongly named configuration variable STM32F7_QSPI_INTERRUPTS
into CONFIG_STM32F7_QSPI_INTERRUPTS. Also fixes some getreg/
putreg where register addresses were used instead of register
offsets From Pierre-Olivier Vauboin.
- STM32H7 I2C: Fix I2C4 compilation for STM32H7. From Jukka
Laitinen.
- STM32H7 UART: Fix compilation for UART7, UART8 and I2C4s. From
Jukka Laitinen.
- STM32L4 USB Device: Add missing PWR USBV enable, correct two USB
register bits From Juha Niskanen.
* STMicro STM32 Boards:
- STM32F103-Minimum: USB reset was not working appropriately since
the pin connected to D+ was incorrectly defined and the pullup/down
logic was reversed. From Matias N.
- Nucleo-l476RG: Fix some errors in GPIO logic when debug assertions
are enabled. From Matous Pokorny.
- Nucleo-L476RG: Add missing files of BMP180 example for Nucleo-L476RG.
From Fabian Justi.
- STM32F103-Minimum GPIO: Fix some errors when debug assertions are
enabled. From Matous Pokorny.
- STM32L4 PWM: Fix register addr, en_bit and resetbit for pwm timers.
From Fabian Justi.
- STM32F746G-DISCO: I2C1 config on stm32f746g-disco. Typo in
stm32f7/stm32_i2c.c From Matthew Koch.
* C Library/Header Files:
- include/limits.h: Remove the duplicate TMP_MAX definitions. The
standard requires that TMP_MAX defines be in stdio.h. From
Xiang Xiao.
- include/sys/select.h: Fix compiler error when
CONFIG_NSOCKET_DESCRIPTORS is undefined. From Xiang Xiao.
- include/signal.h: Add commented out definition of the si_addr
field. From Joao Matos.
- include/unistd.h: Fixed R_OK/X_OK definitions to match POSIX.
From Joao Matos.
- libs/libc/locale: Improved error handling in setlocale(). From Joao
Matos.
- libs/libc: Fixed return code in uname(). From Joao Matos.
- libs/libc/stdio: Restore support for printing NULL string as
"(null)". Legacy printf supported printing "(null)" in place for
NULL string: printf("null: %s\n", NULL); => null: (null). This
commit restores this functionality for new printf library. From
Jussi Kivilinna.
* Examples: apps/examples:
- apps/examples/pca9635/pca9635_main.c: fix compilation error. From
Mateusz Szafoni.
* Graphics Utilities: apps/graphics:
- Various graphics apps (and apps/examples): If CONFIG_VNCSERVER=y,
don't call vnc_default_fbinitialize() directly. That is a violation
of the portable POSIX interface. Instead, call
boardctl(BOARDIOC_VNC_START);. From Gregory Nutt.
- apps/graphics/nxwidgets: CWidgetControl::handleLeftClick now
returns a value to indicate if the click was actually processed or
not. CWidgetControl::pollMouseEvents: Correct return value. From
Gregory Nutt.
- apps/graphics/nxwidgets/: NXWidgets::CNxWidgets: Fix some issues
with returned values. On setting the widget size or position, it was
returning false if there was no change in size or position. Many
places in the code were treating the false return value as an error.
From Gregory Nutt.
* System Utilities: apps/system:
- apps/system/nxplayer: Fix some logical errors from recent commits.
They broke the build of the nxplayer as a library vs. a task.