Newer
Older
Gregory Nutt
committed
action. Both the test and the scheduling action need to be atomic
(2015-09-30).
* sched/wqueue/kwork_queue.c and libc/wqueue/work_queue.c: Logic that
sets the queued indication and the logic that does the actual queuing
must be atomic (2015-09-20).
* libc/stdlib/lib_bsearch.c and include/stdlib.h: Add the bsearch()
function from NetBSD (2015-10-02).
Gregory Nutt
committed
* libc/stdlib/lib_qsort.c and include/stdlib.h: Make coding style
more conformant, take description from OpenGroup.org, rename formal
parameters to match names used on OpenGroup.org (2015-10-02).
Pierre-noel Bouteville
committed
* drivers/lcd/st7565.c: Extend to include support for the ERC12864-3.
From Pierre-noel Bouteville (2015-10-07).
* fs/tmpfs: Created a directory that will eventually hold a trivial
temporary RAM file file system (2015-10-0i8).
* tools/: Add crappy style checking tool nxstyle.c. See thee tools/
README file for more info (2015-10-08).
* stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder
(2015-10-9).
* fs/tmpfs: TMPFS file system is code complete and bascially functional
although it has not been heavily tested (2015-10-9).
* drivers/input/button_upper.c and include/nuttx/input/buttons.h: Add a
driver to support application access to board buttons (2015-10-12).
* drivers/input/button_lower.c: Add a generic lower half button driver.
This lower half driver is only usable in a limited number of
situations, but can still serve as a module for the lower half button
driver. (2015-10-13).
* drivers/sensors/zerocross.c and include/nuttx/sensors/zerocross.h:
Add Zero Cross device driver support. From Alan Carvalho de Assis
(2015-10-13).
* configs/stm32f4discovery/src/stm32_zerocross.c: Add low level support
for the Zero Cross driver for the STM32F4-Discovery. From Alan
Carvalho de Assis (2015-10-13).
* drivers/sensors/max6675.c and include/nuttx/sensors/max6675.h: Add
support to Thermocouple-to-Digital converter MAX6675. From Alan
Carvalho de Assis (2015-10-18).
* configs/stm32f4discovery/src: Add board config to support MAX6675.
From Alan Carvalho de Assis (2015-10-18).
* arch/arm/src/samv7/sam_lowputc.c: Reconfigure System I/O when using
USART1. From Frank Benkert (2015-10-20).
* fs/semaphore: Named semaphores: Bad cast in sem_close(). Fixed by
reordering fields of struct nsem_inode_s so that the cast will work
(2015-10-22).
* Many files: Rename board_led_* functions to board_autoled_* functions.
This makes room in the namespace to handler user LED functions
(2015-11-01).
* Many files: Standardize naming of the user LED interface functions.
The new user LED interface functions are now prototyped in only in
include/nuttx/board.h and have name like board_userled_* (2015-11-01).
* drivers/leds/usersled_upper.c and include/leds/usersled.h: Add
a generic character driver that may be used by applications to write
to board LEDs (2015-11-01).
* drivers/leds/usersled_lower.c: Add a generic lower-half user LED
driver that may be used by any board that supports the standard
board user LED interfaces (2015-11-01).
* sched/clock: Fix error in clock_timespec_subtract(). Found by Lok
(2015-11-03).
Gregory Nutt
committed
* drivers/can.c and include/nuttx/can.h: Fix a problem in the CAN
upper-half driver that occurs only for CAN hardware that support a
H/W FIFO of outgoing CAN messages. In this case, there can be a
hang condition if both the H/W and S/W FIFOs are both full. In that
case, there may be no event to awaken the upper half driver. Add a
new (conditional) CAN upper half interface called can_txready() that
can be used by the lower half driver to avoid this hang condition
(2015-11-03).
* arch/arm/src/samv7: Add a call to can_txready() to the MCAN driver
(2015-11-03).
* arch/arm/src/samv7: Add MPU and protected build support (2015-11-06).
* arch/arm/src/samv7: The QSPI FLASH driver is now functional. This
driver operates in the memory-mapped, Serial Memory Mode (SMM)
(2015-11-07).
* drivers/bch: Block-to-character (BCH) driver should forward ioctl()
calls to the contained block driver (2015-11-09).
* arch/arm/samv7/sam_qspi.c: The QuadSPI driver is now functional
(2015-11-10).
* drivers/mtd/s25fl1.c: The S25FL1xx QuadSPI FLASH driver is now
functional (2015-10-11).
* arch/arm/samv7: Add an on-chip FLASH driver (2015-11-12).
Gregory Nutt
committed
* drivers/mtd/mtd_progmem.c: Add an upper half MTD device that can
use the interfaces defined in included/nuttx/progmem.h to provide
a standard MTD interface (2015-11-12).
* drivers/serial/serial.c, serialirq.c and include/nuttx/serial/serial.h:
Implement high level DMA infrastructure for serial devices. From
Max Neklyudov (2015-11-12).
* arch/arm/src/samv7 and arch/arm/include/samv7: Add support for the
SAME70 family of chips (2015-11-14).
* configs/stm32f429i-disco: configs/stm32f429i-disco/src/stm32_nsh.c
file calculated partition boundries based on page block sizes but
mtd_partition() is expecting calculations based on erase block size.
From Alan Carvalho de Assis (2015-11-16).
* Move rivers/wireless/cc3000/security.c to crypto/aes.c; move
include/nuttx/wireless/cc3000/security.h to include/nuttx/crypto/aes.h
(2015-11-16).
* drivers/mtd/at24xx.c: Add support for multiple AT24xx EEPROM parts,
each with unique I2C addresses, but otherwise identical (2015-11-17).
* drivers/timers/ds3231.c: Add support for the DS3231 I2C RTC. Untested
on the initial commit (2015-11-17).
* arch/arm/src/stm32/stm32_tim_lowerhalf.c: Add a compatible lower-half
timer driver for use with drivers/timers/timer.c. From Wail Khemir
(2015-11-17).
* drivers/sensors/ms58xx.c: Fix some issues with initialization and with
CRC calculation. From Karim Keddam (2015-11-17).
* drivers/mtd/w25.c: Fix W25 FLASH driver page read/write logic. From
Ken Pettit (2015-11-18).
* drivers/mtd/smart.c: Fix a Smart wear-leveling bug. From Ken Pettit
(2015-11-18).
* arch/sim/src/up_spiflash.c: Add support for W25 FLASH simulation.
From Ken Pettit (2015-11-18).
* configs/boardctl.h, Kconfig, include/sys/boardctl.h, and nuttx/board.h:
Add a command to the boardctl() interface to obtain a board unique ID
(2015-11-18).
* drivers/timers/ds3231.c: Driver extended to include support for the
DS1307 RTC (2015-11-18).
* configs/same70-xplained: Add basic NSH configuration for the SAME70
Xplained board. Initial commit is just the SAMV71-XULT files with
names changed appropriately (2015-11-18).
* drivers/mtd/smart.c: Fixed SmartFS wear level error that occurs when
the logical sector size is too small to save all wear level status
bytes in a single sector. Logical sectors 1 and 2 were simply not
being allocated and then the read_sector and write_sector routines
were failing. From Ken Pettit (2015-11-18).
* drivers/timers/ds3231.c: Untested support for DS1302 and DS3232.
Also definitions for the DS3234, but that is an unsupported SPI RTC
(2015-11-19).
* drivers/mtd/w25.c: Add support for byte write mode. From Ken Pettit
* drivers/timers/pcf85263.c and include/nuttx/times/pcf85263.h: Add
a driver for the NXP PCF85263 I2C RTC. Untested on initial commit
(2015-11-20).
Gregory Nutt
committed
* fs/driver/fs_blockproxy.c: Add logic to create a temporary char driver
using drivers/bch to mediate character oriented accessed to a block
driver (2015-11-21).
* fs/vfs/open.c: If the use attempts to open a block driver, use
block_proxy() to insert a character driver conversion layer in front
of the block driver (2015-11-21).
* libc/stdio/lib_freopen.c and include/stdio.h: Add support for
freopen() (2015-11-22).
* include/sys/types.h and include/nuttx/mm.h: When building on a 64-bit
machine, the size of size_t should be 64-bits. In general, I believe
that sizeof(size_t) should be the same as sizeof(uinptr_t). mmsize_t
should always be 32-bits in any event. The last change to stddef has
been backed out. With these changes, the simulator builds without
* fs/hostfs and arch/sim/src: Add a special file system for use with
simulator that supports access to the host file system from the
simulation. From Ken Pettit (2015-11-25).
* libc/time/lib_strftime.c: Add day-of-week support. (2015-11-25).
Marco Krahl
committed
* drivers/lcd/ili9432.c: Fixed errors in orientation. Portrait,
RPortrait, and RLandscript should work correly now. They were
displayed mirrored. From Marco Krahl (2015-11-25).
Ken Pettit
committed
* drivers/mtd/mtd/mtd_procfs/c and include/nuttx/mtd/mtd.h: Add an
interface to un-register an MTD procfs entry. From Ken Pettit
Ken Pettit
committed
(2015-11-25).
* drivers/mtd/filemtd.c: A new MTD conversion layer that will
Ken Pettit
committed
convert a regular file (or driver file) to an MTD device. This is
useful for testing on the simulation using the hostfs. From Ken
Gregory Nutt
committed
* drivers/loop: Add a loop character device. losetup() and
loteardown() should not be called directory from applications.
Rather, these functions are now available as IOCTL commands to the
loop driver (2015-11-25).
* include/nuttx/net/netdev.h and several Ethernet drivers in arch/:
Most network drivers do not support statistics. Those that do only
support them when DEBUG is enabled. Each driver collects an
architecture specific set of statistics and there is no mechanism in
place to view those statistics. Thus, the driver feature was mostly
useless. This change standardizes the driver statistics and puts the
definition in the common network device structure defined in netdev.h
where they can be accessed by network applications. All Ethernet
drivers that collect statistics have been adapted to use these common
statistics (2015-11-26).
* net/net_procfs.c: Add basic support for networking entries in the
procfs (2015-11-27).
* mtd/filemtd.c and smart.c: Add support for a /dev/smart loop device.
From Ken Pettit (2015-11-28).
Gregory Nutt
committed
* sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication
that of the type of a pthread. Hence, it could be confused as a
task. Found because this was causing a crash when /proc/nnn/cmdline
was printed (2015-11-29).
* configs/same70-xplained/nsh: The NSH configuration now seems fully
functional: serial console, LEDs, buttons, SDRAM, and HSMCI SD card
(2015-11-30).
* configs/same70-xplained/netnsh: Added and verified a network-enabled
NSH configuration for the SAME70-Xplained board (2015-11-20).
Gregory Nutt
committed
* net/: Remove CONFIG_NET_PINGADDRCONF. This was a uIP way of assigning
IP addresses, but is not standard and not a appropriate feature in
general (2015-12-01).
Gregory Nutt
committed
* fs/procfs: The procfs file system can now be configured so that it
supports a runtime registration of procfs entries with
CONFIG_FS_PROCFS_REGISTER=y (2015-12-01).
* arch/arm/src/stm32/stm32_ccm_procfs.c: Is no longer a part of the
'base' procfs entries and can now only be supported via run time
registration with CONFIG_FS_PROCFS_REGISTER=y (2015-12-01).
* arch/arm/src/samv7/sam_tc.c: Port the SAMA5 timer/counter driver
to the SAMV7 (2015-12-02).
* arm/arm/src/samv7/sam_tickless.c: Port the SAMA5/SAM4CM tickless
logic to the SAMV7 (2015-12-02).
* fs/semaphore: Named semaphores: Back out "fix" of 2015-10-22. It was
correct before. The change of 2015-10-22 probably broke named
semaphores (2015-12-02).
* arch/arm/src/samv7: Bring programmable clock logic from SAMA5 into
SAMV7 (2015-12-03).
* arch/arm/src/samv7: Add PCK6 as an optional source for the timer/
counter clock (2015-12-04).
* configs/samv7-xult/: If Tickless mode is selected then enable PCK6
as a timer/counter clock source (2015-12-04).
7.14 2016-01-28 Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/samv7: Port the TRNG driver from the SAMA5D3/4 to the
SAMV7 (2015-12-06).
* arch/arm/src/samv7: Port the WDT driver from the SAMA5D3/4 to the
* arch/arm/src/samv7: Add an RSWDT driver (2015-12-06).
Gregory Nutt
committed
* drivers/net/telnet.c: Move the Telnet driver from apps/netutils/telnetd
to drivers/net. It is a driver a belongs in the OS. There are still
some interface related issues, however (2015-12-07).
* configs/: Update all configurations that use the Telnet daemon; those
configurations now need to separately enable the Telnet drvier
(2015-12-07).
Gregory Nutt
committed
* drivers/net/telnet.c: Now works like the loop device. A new interface
called telnet_initialize() registers a telnet session "factory"
device at /dev/telnet. Via ioctl, the factory device can create
instances of the telnet character devices at /dev/telnetN to support
Telnet sessions (2015-12-07).
* arch/arm/src/samv7: In USBHS device driver, fix check if zero length
packet is needed (2015-12-08).
* sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication
that of the type of a pthread. Hence, it could be confused as a
task. Same problem as fixed on 2015-11-29, but in different location
(2015-12-09).
* sched/module: Add support for kernel modules. Initial commit is
just the ELF module support with name changes (2015-12-10).
* configs/samv71-xult/module: Add configuration for testing OS
modules (2015-12-12).
Gregory Nutt
committed
* sched/module: Add an implementation of rmmod() (2015-12-12).
* sched/module and fs/procfs: Add some basic module procfs support
(2015-12-12),
* arch/arm/src/armv7-r: Add basic architecture support for the ARMv7-R
processor family (2015-12-13).
Gregory Nutt
committed
* drivers/led: Adds a driver for the PCA9635PW I2C LED driver IC which
can be used to control the intensity of up to 16 LEDs. From Alexander
Entinger (2015-12-15).
* configs/launchxl-tms57004: Add basic board support for TI LaunchXL-
TMS57004. Not much to see there yet (2015-12-15).
Gregory Nutt
committed
* waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid
from using stale memory released by the waited-for task group
(2015-12-22).
* sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(),
Manuel Stühn
committed
and timercmp() as macros. These are non-POSIX interfaces, but
included in most BSD deriviatives, including Linux. From Manuel Stühn
Manuel Stühn
committed
(2015-12-23).
* arch/arm/src/stm32: Add timer input capture driver. From Pierre-Noel
Bouteville (2015-12-24).
* arch/avr: Add support for the Atmega2560. From Dimitry Kloper
(2015-12-19).
* configs/arduino-mega2560: Add support for the Arduino-Mega2560. From
Dimitry Koper (2015-12-29).
* sched/signal, sched/mqueue, sched/timer, include/signal.h,
include/nuttx/signal, fs/aio, libc/aio, and probably other
directories: Add support for the SIGEV_THREAD notification method in
struct sigevent. This initial implementation will only work in the
FLAT build. See the top-level TODO file for additional details
(2015-12-30).
* include/nuttx/compiler.h, include/nuttx/streams.h include/stdio.h
include/syslog.h libc/stdio/, and libc/syslog: introduce support for
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
Atmel toolchain in-flash strings. Atmel toolchain AVR compiler
provides a transparent in-flash object support using __flash and
__memx symbols. The former indicates to compiler that this is a flash-
based object. The later used with pointer indicates that the referenced
object may reside either in flash or in RAM. The compiler automatically
makes 32-bit pointer with flag indicating whether referenced object is
in flash or RAM and generates code to access either in run-time. Thus,
any function that accepts __memx object can transparently work with RAM
and flash objects.
For platforms with a Harvard architecture and a very small RAM like AVR
this allows to move all constant strings used in trace messages to flash
in the instruction address space, releasing resources for other things.
This change introduces IOBJ and IPTR type qualifiers. The 'I' indicates
that the object may lie in instruction space on a Harvard architecture
machine. For platforms that do not have __flash and __memx or similar
symbols IOBJ and IPTR are empty, making the types equivalent to, for
example, 'const char' and 'const char*'. For Atmel compiler these will
become 'const __flash char' and 'const __memx char*'. All printf()
functions and syslog() functions are changed so that the qualifier is
used with the format parameter. From Dimitry Kloper (2016-01-05).
* drivers/net/tun.c: Fix a compile time error in the TUN driver. From
Vladimir Komendantskiy (2016-01-05).
* Kconfig and include/debug.h: Add configuration to support an
architecture-specific debug.h header file. From Dimitri Kloper
(2016-01-09).
* arch/avr/include/debug.h: Add an AVR-specific header file used when
the AVR MEMX pointer is used. From Dimitri Kloper (2016-01-09).
Gregory Nutt
committed
* tools/cnvwindeps.c: Add a tool that will convert paths in
dependencies generated by a Windows compiler so that they can be
used with the Cygwin make (2016-01-09).
* tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe
(2016-01-09).
Gregory Nutt
committed
* tools/mkdeps.c: Deleted mkdeps.sh and mkdeps.bat. The mkdeps
executable generated from mkdeps.c is now that the only supported
way to make dependencies (2016-01-09).
Gregory Nutt
committed
* tools/mkdeps.c: Extended/fixed support for --winpath option.
Dependencies now work under Cygwin with a native Windows toolchain
(2016-01-10).
* libc/netdb: Add support for the use of a DNS resolver file like
/etc/resolv.conf (2016-01-14).
Alexander Entinger
committed
* drivers/sensors/mcp9844.c and include/nuttx/sensors/mcp9844.h: Driver
for the MCP9844 I2C digital temperature sensor with a selectable
resolution. From Alexander Entinger (2016-01-15).
* arch/arm/src/lpc43xx: Numerous LPC43 improvements to SPIFI and ADC
from Lok Tep (2016-01-15).
* configs/lpc4337-ws: Support for the WaveShare LPC4337-WS board. From
Lok Tep (2016-01-15).
* drivers/wireless/pn532.c: Add driver for the NXP pn532 NFC-chip. From
Janne Rosberg and others at Offcode Ltd (2016-01-17).
* drivers/sensors/lsm9ds1.c: Add driver for the STMicro LSM9DS1 chip.
The LSM9DS1 is a system-in-package featuring a 3D digital linear
acceleration sensor, a 3D digital angular rate sensor, and a 3D
digital magnetic sensor. From Paul Alexander Patience (2016-01-17).
* configs/olimex-stm32-h407: Added a port to the Olimex STM32 H407
board. This board features the STMicro STM32F407ZGT6 (144 pins).
Contributed by Neil Hancock. (2016-01-18)
* arch/arm/src/stm32/stm32_otgfs/hs/host.c: Fix some backward
arguments to stm32_putreg(). Note by Hang Xu (2016-01-18).
* include/nuttx/can.h and several CAN drivers: Add more extensive
error reporting capaibility to the CAN interface. From Frank
Benkert (2016-01-18).
* libc/misc/lib_tea.h and include/nuttx/crypto/tea.h: Add an
implementation of the Tiny Encryption Algorithm (2016-01-19).
* sim/include: Now supports a customizable startup script with a
read-only passwd file (2016-01-20).
* sim/nsh: Uses the custom start up script, includes hooks for
* include/clock.h and lots of other files: If the 64-bit timer is
selected, then use it whenever clock_systimer() is called rather
then chopping the 64-bit timer down to 32-bits. Add a new type,
systime_t to represent the 32- or 64-bit system timer (2016-01-21).
* sched/clock/clock_systimespec.c: Fix an error in a time
conversion (2016-01-21).
Gregory Nutt
committed
* include/nuttx/clock.h: Get rid of clock_systimer32() and
clock_systime64(). There is now only clock_systimer() (2016-01-21).
* arch/arm/src/kinetis: Numerous updates to the Kinetis ENET driver.
From Andrew Webster (2016-01-21).
* arch/arm/src/kinetis: Add support for the MK60N512VLL100 Kinetis part.
From Andrew Webster (2016-01-21).
* net/tcp and net/iob: Numerous fixes, mostly relate to TCP and IOB
buffering and race conditions. These were necessary for for the
NuttX networking later to be stable in some stress testing. From
Andrew Webster (2016-01-22).
* include/spi/spi.h: Add an optional hwfeatures() method to the
SPI interface (2016-01-23).
* drivers/spi/Kconfig and many other files: Remove CONFIG_SPI_OWNBUS:
Now its not just a good idea, its the law (2015-01-23).
* include/nuttx/math32.h and libc/misc: Add some utilities to support
64-bit arithmetic operations for platforms that do not support long
long types. Not yet used anywhere (2015-01-25).
* arch/arm/src/samv7/chip: Add an AFEC header file (2016-01-25).
* net/iob: iob_alloc_qentry() has the same issues as did iob_alloc()
fixed on 2016-01-23. (2016-01-26).
* drivers/usbhost/hid_parser.c: Wrong size used in memcpy(). From Hang
Xu (2016-01-25).
* drivers/ioexpander/pca9555.c: Fixed a bug in the function pca9555_setbit
which occurs if someone tries to set one of the pins 8-15. The problem is
that after the check if the pin is greater than 7 the variable addr is
incremented and used in the Call I2C_WRITEREAD. But later in the call to
the I2C_WRITE buf[0] is used as address but this address is not incremented
as it should be. Note address does mean the address to the register in the
ioexpander and not the I2C address. From Stefan Kolb (2016-01-26).
* drivers/ioexpander/pca9555: Convert to use I2C_TRANSFER vs. I2C_WRITEREAD,
the former is thread safe while the latter is deprecated (2016-01-26).
Gregory Nutt
committed
* drivers/i2c/i2c_writeread.c: Create a wrapper that uses I2C_TRANSFER
to implement I2C_WRITEREAD functionality (2016-01-26).
* I2C: Eliminate the I2C_WRITEREAD method (2016-01-26).
Gregory Nutt
committed
* drivers/i2c/i2c_read.c and i2c_write.c: Convert to use I2C_TRANSFER vs.
I2C_READ and I2C_WRITE which are not thread safe (2016-01-26).
* SPI: Rename the STM32 up_spiinitialize() to stm32_spibus_initialize()
(2016-01-26).
* SPI: Rename the SAM up_spiinitialize() to sam_spibus_initialize()
(2016-01-26).
* SPI: Rename the Tiva up_spiinitialize() to tiva_spibus_intialize()
(2016-01-26).
* SPI: Rename the PIC32MX/MZ up_spiinitialize() to pic32mx/mz_spibus_intialize()
(2016-01-26).
* SPI: Rename EFM32's efm32_spi_initialize to efm32_spibus_initialize()
for compatibility with these other changes (2016-01-26).
* SPI: Rename the KL up_spiinitialize() to kl_spibus_intialize() (2016-01-26).
* SPI: Rename the Kinetis up_spiinitialize() to kinetis_spibus_intialize()
(2016-01-26).
* SPI: Rename the LPC31xx up_spiinitialize() to lpc31_spibus_intialize(),
Rename the LPC17xx lpc17_spiinitialize() to lpc31_spibus_intialize(),
Rename the LPC43xx up_spiinitialize() to lpc43_spibus_intialize()
* SPI: Rename the AVR up_spiinitialize() to avr_spibus_intialize(),
Rename the LPC2148 up_spiinitialize() to lpc214x_spibus_intialize(),
Rename the Calypso up_spiinitialize() to calypso_spibus_intialize(),
Rename the ez80 up_spiinitialize() to ez80_spibus_intialize(),
Rename the STR71xx up_spiinitialize() to str71_spibus_intialize(),
Rename the i.MX1 up_spiinitialize() to imx_spibus_intialize(),
Rename the LPC2378 up_spiinitialize() to lpc23_spibus_intialize(),
Rename the M9S12 up_spiinitialize() to hcs12_spibus_intialize(),
Rename the x86 up_spiinitialize() to i486_spibus_intialize(),
Rename the z16f up_spiinitialize() to z16_spibus_intialize().
up_spiinitialize() has been completely eliminated. (2016-01-27).
* fs/vfs/fs_poll.c: Fix handling of sem_tickwait() return value
Gregory Nutt
committed
sem_tickwait() does not return an -1+errno, it returns a negated
errno value. Noted by Freddie Chopin.
Gregory Nutt
committed
* drivers/analog/ads1242.c and include/nuttx/analog/ads1242.h: Driver
Gregory Nutt
committed
for the 24-Bit Differential Input ADC ADS1242 that communicates via
SPI with a MCU. Reading the ADC conversion result as well as configuring
the ADC, setting the input channel, etc. is implemented via ioctl calls.
However, it does not yet implement the standard ADC interface. From
Alexander Entinger (2016-01-29)
* configs/board/src/xyz_cxxinitialize.c: Move C++ initialization logic
out of the RTOS and into the application space, specifically to
apps/platform/board, where it belongs (2016-01-29).
Vladimir Komendantskiy
committed
* drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper
half driver for the U-Blox Modem. From Vladimir Komendantskiy
* arch/arm/src/lpc17xx: Backport lpc43xx I2C driver, replacing the
lpc17xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* arch/arm/src/lpc11xx: Backport the lpc17xx I2C driver, replacing the
lpc11xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* arch/arm/src/lpc2378: Backo the Lpc17xx I2C driver, replacing the
lpc2378 I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* configs/u-blox-c027: Support for the u-blox GSM and GPS module evaluation
board with NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or MAX-M8. From
Vladimir Komendantskiy (2016-01-31).
* drivers/, arch/, include/, numerous files: Restructuring of the I2C
interface necessary to eliminate some thread-safety issues inherent in
the legacy I2C interface design. This effects the interface definition,
all I2C clients, and all low-level I2C drivers. I have used caution,
but I still expect a change of this magnitude to introduce some errors.
Any bug reports of bug fixes will be much appreciated (2016-02-01).
* drivers/i2c/i2c_driver.c: Add an I2C character drivers to support
raw I2C data transfers for test applications (2016-02-02).
Gregory Nutt
committed
* I2C_RESET: Eliminate up_i2creset(). It should not be a global function;
Now it is an I2C interface method (2016-02-02).
* I2C: Rename up_i2cinitialize and up_i2cuninitilize to follow the correct
naming convention. These are not common interfaces used by the OS;
these are MCU-specific interfaces used only be MCU-specific code. The
the correct naming is xyz_i2cbus_initialize and xzy_i2cbus_uninitialize
where xzy is the MCU mnemonic (2016-02-02).
* Networking drivers that support CONFIG_NET_NOINTS: Fix a race condition
that can cause the TX poll timer to stop running. From Manuel Stuhn
(2016-02-03).
* All Network drivers: Remove the hsec parameter from devif_timer().
We can get better timing accuracy without it (2016-02-03).
Gregory Nutt
committed
* drivers/ioexpander/pca555.c: Add logic to make the PCA555 driver
thread safe (2016-02-03).
Gregory Nutt
committed
* sched/init/os_start.c and include/nuttx/init.h: Add a state variable
that provides the current level of OS initialization. This is needed by
some logic that may attempt to run early in the start-up sequence but
cannot run if a sufficient level of initialization has not yet occurred
(2016-02-05).
Gregory Nutt
committed
* libc/syslog/lib_syslog.c: If syslog timestamping is enabled, don't try to
get the time if the timer hardware has not yet been initialized
(2016-02-05).
* fs/procfs/fs_procfskmm.c: Add /proc/kmm entry that shows that state of
the kernel heap. Only useful in PROTECTED and KERNEL build modes where
there is a kernel heap (2016-02-06).
Gregory Nutt
committed
* sched/ and arch/: Replace explicit access to the OS internal data structure
g_readytorun() with the wrapper this_task() which hides the implementation
and will permit such things as more scalable representations of task queues
and SMP (2016-02-06).
* include/nuttx/net/arp.h, include/nuttx/net/ioctl.h, net/netdev/netdev_ioctl.c,
and ARP-related files: Add support for IOCTL commands to manage the
ARP table (2016-02-08).
* ARMv7-A, ARMv7-R, and ARMv7-A: Add test-and-set logic and definitions
needed to supports spinlocks (2016-02-09).
* include/nuttx/spinlock.h: Add basic definitions for spinlocks. Not yet
used by NuttX (2016-02-09).
* include/nuttx/arch.h, sched/sched/sched.h: Add some basic definitions
that may be needed for SMP support (2016-02-10).
* sched/init/os_start.c, sched/init/os_smpstart.c, and include/nuttx/arch.h:
Add some tentative SMP start-up logic (2016-02-10).
* arch/arm/sim/up_head.c and up_simsmp.c: Add multi-CPU support to the
simulation to support SMP investigation.. Currently crashes when CONFIG_SMP
is enabled as expected (2016-02-10).
Gregory Nutt
committed
* sched/sched.h and other files: Replace the bool 'prioritized' in the task
list table with a uint8_t bit set so that additional attributes of a task
list can be provided without adding more booleans (2016-10-11).
* Everywhere: Replace irqsave() with enter_critical_section(); replace
irqrestore() with leave_critical_section(). This is part of the onging
development of SMP support (2016-02-13).
* Conform to naming convention: Rename irqsave() to up_irq_save(); rename
irqrestore() to up_irq_restore(). These should no longer be used. If
your code still uses them, please switch to enter_critical_section()
and leave_critical_section() (2016-02-14).
* Also rename irqdisable() and irqenable() to up_irq_disable() and
Gregory Nutt
committed
up_irq_enable() (2016-02-14).
* sched/signal and include/nuttx/sched.h: Move the list of signal
actions from the TCB to the group structure. Signal handlers are not
per thread but, rather, per task group. I know, I preferred it the
other way too, but this is more compliant with POSIX (2016-02-18).
* fs/ procfs/fs_procfsproc.c: Add support for showing CPU if SMP is
* include/pthread.h, sched.h, sys/types.h and other files: Rename
cpuset_t to cpu_set_t which is the type used in some non-standard
Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h.
Add prototypes for sched_setaffinity(), sched_getaffinity(),
pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(),
pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation
is yet in place (2016-02-19).
Gregory Nutt
committed
* sched/sched_cpuselect.c, include/nuttx/sched.h, and other files. Add
a CPU affinity set to the TCB if SMP is enabled and use this CPU set as
a mask for determining which CPUs the thread may run on (2016-02-19).
* libc/pthread, sched/pthread/pthread_start.c, and include/pthread.h:
Add an affinity field to the attrributes to permit controlling
which CPUs a pthread may run on. Implements pthread_att_setaffinity_np()
and pthread_attr_getaffinity_np() (2016-02-19).
* sched/pthread: Add pthread_setaffinity() and pthread_getaffinity()
(2016-02-19).
* sched/sched: Add sched_setaffinity() and sched_getaffinity() (2016-02-19).
Gregory Nutt
committed
* drivers/leds/rgbled.c: Add a driver to manage a RGB LED via PWM. From
Alan Carvalho de Assis (2016-02-22).
* arch/arm/src/stm32f4discovery: Add PWM support for the onboard RGB LED
Gregory Nutt
committed
From Alan Carvalho de Assis (2016-02-22).
* arch/arm/src/samv7: HSMCI driver can now be configured to handle unaligned
data buffers (2016-02-22).
* fs/fat: Add an option to force all transfers to be performed indirectly
using the FAT file system's internal sector buffers (2016-02-22).
* drivers/wireless/ieee802154: New directory. Nothing there yet (2016-02-25).
* wireless/: New top level directory. Nothing there yet (2015-02-26).
* wireless/ieee802154: Add an new directory to the build. Nothing there
yet (2016-02-26).
* include/nuttx/wireless/ieee802154: Add directory (and dummy header file)
(2016-02-16).
* arch/arm/include and src: Rename the imx directories to imx1 to make room
in the namespace for other members of the i.MX family (2016-02-27).
* arch/arm/include/imx6 and src/imx6: Evolving support for the NXP/Freescale
i.MX6Q (2016-02-28).
* configs/sabre-6quad: Placeholder that will eventually become board support
for the NXP/Freescale Sabre 6Quad board (2016-02-28).
* arch/arm/src/stm32: Support for STM32F46xx from Paul Alexander Patience
* sched/semaphore/sem_reset.c and include/nuttx/semaphore.h: Add an internal,
non-standard interface to reset a semaphore count. This is sometimes
needed by drivers in order to recover from error conditions (2016-03-05)
* AT24xx driver: Correct missing address calculation logic. From Frank
Benkert (2016-03-08).
* arch/ renaming: current_regs renamed to g_current_regs in all
architectures. For ARM which is slowly developing SMP capability,
g_current_regs is now an array of dimension 1 in most case but of higher
dimension of the architecuture supports multiple CPUs (2016-03-09).
* MTD: Increase block size in mtd_geometry_s to 32-bits (2016-03-09).
* include/nuttx/clock.h: Missing parenteses in MSEC2TICK macro can
cause wrong calculations. From Stefan Kolb (2016-03-09).
* Build system: Added a 'make olddefconfig' target that will refresh
a .config file without interaction. tools/refesh.sh now has a --silent
option so that it can be used in batch modes without human input
(2016-03-09).
* tools/testbuild.sh: .config files were not being updated because (a)
kconfig-conf was being called in the wrong directory and (b) apps/Kconfig
had not yet been created. Now uses 'make olddefconfig' (2016-03-09).
* arch/arm/src/stm32l4 and include/stm32l4: Add support for the STM32L4
family. From Sebastien Lorquet (2016-03-10).
* configs/nucleo-l476: Add support for the Nucleo-L476 board. From
Sebastien Lorquet (2016-03-10).
* sched/tls and include/nuttx/tls.h: Basic definitions needed to support
thread local storage (TLS). Not used anywhere yet (and may not be used
in the near future either) (2016-03-10).
* sched/sched_note.c and include/nuttx/sched_note.c: Add a configuration
option to buffer RTOS instrumentation data in an in-memory buffer
(2016-03-17).
Gregory Nutt
committed
* drivers/syslog/note_driver.c: Add a character driver that will allow
an application to read buffered scheduler instrumentation data (2016-03-17).
* arch/arm/src/samv7/sam_usbdevhs.c: The USB driver has had some issue that
would occasionally cause loss of packets. Back last December, a fix was
put in for this but the fix apparently worsens the problem; now causing
hangs. The basic problem is that the number of busy banks (NBUSYBKS)
status is not real time but is delayed. This was fixed; now when the DMA
completes and NBUSYBKS > 0, the NBUSYBK is interrupt is enabled and the
operations are deferred until NBUSYBKS is truly zero (2016-03-17).
Gregory Nutt
committed
* net/tcp/tcp_timer.c: Fix some logic when there are multiple network
Gregory Nutt
committed
interfaces. In this case, TCP timeout events can really only being
Gregory Nutt
committed
processed when the poll from the correct device is received (2016-03-20).
* sched/wqueue/kwork_signal.c: Fix logic to find an IDLE worker thread;
the test for busy was backward. From Linfei Chen (2016-03-22).
* include/sys/boardctl.h, configs/boardctl.c, and many configurations: Add
boardctl() support that will permit applications to control USB devices
(2016-03-25).
* configs/stm32l476vg-disco: Add support for the STM32L476VG Discovery
board. From Dave (2016-03-25).
7.16 2016-06-01 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt
committed
* PM: Add activity domain to all PM interfaces and driver callbacks. If
CONFIG_PM_NDOMAINS == 1, then the legacy behavior is preserved. If
CONFIG_PM_NDOMAINS > 1, then multiple PM domains are supported. This
will allow separate control for certain power management groups. For
example, a network can be shut down without affect an ongoing UI (and
vice versa) (2016-03-27).
* apps/configs/vsn: Removed the VSN configuration from the main NuttX
repository. The VSN can still be found in the Obsoleted repository
(along with a full explanation in the README file there) (2016-03-29).
* arch/arm/src/armv7-m and stm32: Add support for the IAR toolchain for
the limited case of the ARMv7-M architecture and the STM32 chip. From
Aleksandr Vyhovanec (2016-04-02).
Gregory Nutt
committed
* arch/arm/src/stm32/stm32f40xxx_rtc.c: Add a custom RTC driver. From
Neil Hancock (2016-04-02).
* include/nuttx/timer/rtc.h and drivers/timers/rtc.c: Simplify the RTC
interface. The old interface was way to complex and was not fully
implemented anywhere (2016-04-02).
* Moved NuttX repository to https://bitbucket.org/nuttx/nuttx (2016-04-06).
* arch/arm/src/armv7-m/iar: Convert more assembly language files for
use with the IAR toolchain. From Kha Vo (2016-04-08)
* Fix miscellaneous build issues for the IAR compiler. From Kha Vo
(2016-04-08).
* tools/ide_exporter.py: IDE exported Python script for use with the
IAR toolchain. From Kha Vo (2016-04-08).
* STM3220G-EVAL: Add support for both the IAR and uVision GCC IDEs
From Kha Vo (2016-04-08).
* STM32F429I Discovery: Add support for the uVision GCC IDE. From
Gregory Nutt
committed
* libc/signal and include/signal.h: Rename sigset() to signal().
sigset() is the System V function; signal() is the obsoleted POSIX
name. These seem to be equivalent. Neither are relevant in modern
POSIX programming but the name signal() probably has the better
credentials. sigset() is now relegated to a #define in signal.h that
makes it equivalent to signal() (2016-04-10).
Gregory Nutt
committed
* configs/nucleus2g: Removed the Nucleus2G configuration. There has
not been any activity with the commercial board in a few years and it
no longer appears to be available from the 2g-eng.com website.
Since the board is commercial and no longer publicly available, it
Gregory Nutt
committed
no longer qualifies for inclusion in the open source repositories.
The code as of this data is still available in the Obsoleted
repository at configs/nucleus2g (2016-04-12).
Sebastien Lorquet
committed
* arch/arm/src/stm32l4: Fix the STM32L4 SPI driver. That SPI driver is
quite different. They now handle frames of arbitrary size between 4
and 16 bits. It was broken before a new bit has to be set (RX fifo
Sebastien Lorquet
committed
threshold) to handle <= 8-bit transactions. If not set, the default is
16-bit packed >=8-bit frames and the RXNE bit is never set (it is set
when 16-bits are received). weird things as always.
This also add 8-bit access routines to the data register, because a
16-bit access to the data register when the frame size is below 9 bits
is interpreted as a packed dual frame exchange. Sebastien Lorquet
(2016-04-13).
* net/sockets/listen.c and accept.c and include/nuttx/net: Separate
out psock_listen() and psock_accept() for internal OS usage
(2016-04-14).
* fs/inode/, fs/vfs/, and sched/task/: File and socket descriptors are
no longer allocated for kernel threads. They must use SYSLOG for
output and the low-level psock interfaces for network I/O. This
saves a little memory which might be important for small footprint
configurations (2015-04-14).
Gregory Nutt
committed
* Framebuffer driver: Add a display number to each interface in order
to support multiple display devices (2015-04-14).
Gregory Nutt
committed
* drivers/wireless/nrf24l01.c: Fix backward calculation of relative
frequency. Noted by Henry Zhang (2015-04-15).
Alan Carvalho de Assis
committed
* drivers/sensors/h1750fvi.c: Add a character driver for Rohm Ambient
Light Sensor BH1750FVI. From Alan Carvalho de Assis (2016-04-15).
Alan Carvalho de Assis
committed
* configs/stm32f4discovery: Integrate BH1750FVI driver in the
STM32F4Discovery board. From Alan Carvalho de Assis (2016-04-15).
* drivers/mtd: Add MTD support for Micron N25Qxxx family of QSPI flash.
From Dave dev@ziggurat29.com (2016-04-17).
* arch/arm/src/stm32l: Add a QSPI driver. From Dave dev@ziggurat29.com
(2016-04-18).
* configs/stm32l476vb-disco: Add support for QSPI based N25Qxxx flash.
From Dave dev@ziggurat29.com (2016-04-18).
* graphics/vnc: Add support for a VNC server. This logic is code
complete, but untested and so not ready for prime time (2016-04-18).
* configs/samv71-xult/vnc: Add a configuration that will be used to
verify VNC (also untested) (2016-04-18).
* drivers/ioexpander: Fix an error in the PCA9555 driver: Under certain
error conditions, interrupts were not being re-enabled. Sebastien
Lorquet (2016-04-20).
* arch/arm/src/stm32 and configs/stm32f429i-disco: Correct some bad
commits that broke the LTDC display example. From Marco Krahl
(2016-04-22).
* configs/samv71-xult/vncwwm: Add a more complex NxWM configuration
to support further VNC testing (particularly of VNC keyboard and
mouse inputs). Initial configuration is not functional (2016-04-23).
* arch/arm/src/stm32l4: Add support for QSPI DMA. From Dave
dev@ziggurat29.com (2016-04-24).
* configs/stm32l476vg-disco: Update stm32l4 disco board to reflect QSPI
DMA support. From Dave dev@ziggurat29.com (2016-04-24).
* arch/arm/src/stm32l4: Add configuration options to allow SRAM2 to be
used for heap, or not at all, and to zero-initialize it on OS start,
or not at all. From Dave dev@ziggurat29.com (2016-04-24).
* drivers/mtd/smart.c: Return code of smart_scan not checked, can
cause success result in failure case, leading to 'dev' pointer being
invalid. From Dave dev@ziggurat29.com (2016-04-27).
* arch/arm/src/stm32l4: Add support for QSPI memory mapped mode. From
Dave dev@ziggurat29.com (2016-04-27).
* configs/stm32l476vg-disco: Add board ioctls for allowing user
application to cause QSPI memory mapped mode to be engaged and
disengaged. Also partitioned QSPI flash for file system and other
(eventually xip). From Dave dev@ziggurat29.com (2016-04-27).
* fs/mount: Fix a backward debug assertion. Noted by David Sidrane
(2016-04-29).
* arch/arm/src/stm32l4: Add support for HSE and MSI clocks, and auto
trim of MSI to LSE (needed for USB). From Dave dev@ziggurat29.com
(2016-04-29).
* arch/arm/src/stm32l4: Add support for unique id function to arch;
modified board to support unique id boardctl. From Dave
dev@ziggurat29.com (2016-05-03).
* Makefile.unix and tools/mkexport.sh: Pass top-level make to the
script to allow -j greater than 1. From David Sidrane (2016-05-04).
* arch/arm/src/stm32, stm32f7, stm32l4: Fix typo in variable name in
serial BREAK logic. Review other serial implementations for similar
naming problems. (2016-05-05).
* arch/arm/src/samv7: Fix typo in MATRIX register definitions. From
Stefan Kolb (2016-05-06).
* arch/arm/src/stm32l4: Problem with resetting backup domain clears
clocking options set up before in *rcc.c use INITS flag to avoid magic
reg value to detect power up reset state of RTC correct a problem
clearing interrupt flags (they weren't) which prevented an alarm from
ever being used more than once per reset cycle. From Dave
dev@ziggurat29.com (2016-05-07).
* arch/arm/src/tiva: Fix a bug of GPIO falling-edge interrupt for tiva.
From Young (2016-05-07).
* drivrs/mtd: Add a driver for SST26F spi/qspi flash devices (SPI mode
only). From Sebastien Lorquet (2016-05-10).
Gregory Nutt
committed
* Several Makefiles: Add .PHONY definitions to prevent 'clean up to date'
message weirdness when 'make clean' is done with no .config or Make.defs
file (2016-05-10).
* include/nuttx/can.h and drivers/can.c: Improve CAN error reporting.
From Frank Benkert (2016-05-11).
* fs/Kconfig: Allow CONFIG_FS_WRITABLE to be manually selectable
(2016-05-11).
* Various file: Search for places where a stray semicolon following an
if condition cause the if body to be executed unconditionally. Fixes
in all SAM DMA logic, unionfs, OS signalling logic,
Gregory Nutt
committed
* configs/nucleo-144: Basic port for the Nucleo-144 board with the
STM32F746ZG MCU. From Kconstantin Berezenko (2015-05-12).
* arch/arm-src/armv7-a: Complete re-design of logic to initialize each
CPUn, n > 0, when CONFIG_SMP=y (2016-05-13).
* arch/arm/src/imx6 and configs/sabre-6quad: The basic i.MX6 port is
complete. This is a very minimal port at present and probably still
has some as-of-yet-undiscovered issues (2016-05-17).
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
* arch/*/Makefile: Add definitions that can be overrided to use GCC
instead of LD in the final link. From Paul Alexander Patience
(2016-05-18) .
* arch/arm/src/stm32, stm32l4, and stm32f7 serial: Add support for
compliant BSD-style breaks. From David Sidrane (2016-05-18).
* enter/leave_critical_section() may attempt to access task lists before
they have been initialized in the SMP configuration (2016-05-18).
* configs/stm32f103-minimum: Add support for this minimual STM32F103CBT6
"blue" board. From Alan Carvalho de Assis (2016-05-18).
* arch/arm/src/sam* Watchdogs: Rename up_wdginitialize() to something
more appropriate for an internal, MCU-specific function (2016-05-18).
* configs/*/src/*_watchdog.c: Remove all implementations of
up_wdginitialize() which was only used by apps/examples/watchdog.
That internal OS function is no longer called from application code.
If you want to use the watchdog example, you will need to configure
the watchdog driver by calling the appropriate, MCU-specific driver
configuration function from your board initialization logic
(2016-05-18).
* arch/srm/src/stm32l4: Add CAN support for STM32L4. From Sebastien
Lorquet (2016-05-19).
* arch/arm/src/samv7: Adds a JTAG config and ERASE config to Kconfig to
set the CCFG_SYSIO SYSIO Pins. From David Sidrane (2016-05-19).
* arch/sim/src: Enhance networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support
for Linux bridge devices. From Steve (2016-05-20).
* configs/stm32f411e-disco: Add basic configuration for stm32f411e-disco
board with STM32F411VE chip. From Konstantin Berezenko (2016-05-20).
* i.MX6 Sabre-6Quad: Basic SMP NSH configuration is now working. But
this is probably only because the SMP NSH case does not stress the
logic. There are know outstanding SMP issues as noted in the
Sabre-6Quad README.txt file (2016-05-22).
* configs/sabre-6quad: Add an SMP configuration; Enable procfs in all
configurations (2016-05-22).
* include/nuttx/crypto/aes.h: Modifications to the crypto API needed
for LPC43xx. From Alexander Vasiljev (2016-05-23).
* arch/arm/src/lpc43xx: Add AES support. From Alexander Vasiljev
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
(2016-05-24).
* configs/*/src/tiva_timer.c: Tiva boards: Fix a naming collision,
rename board-specific function from tiva_timer_initialize() to
tiva_timer_configure() to remove conflict (2016-05-23).
* arch/arm/src/sam*: Ensure that the TWIHS (i2c) hw get's its clock
set when the sequence of sam_i2cbus_initialize(),
sam_i2cbus_uninitialize(), then sam_i2cbus_initialize() or twi_reset()
is called. I found this a while back in the stm32 family, so there
may be more arch-es with this sort of bug. I suppose any driver that
has the notion of "do not set the freq if it is already set" could be
suspect. From David Sidrane (2016-05-23).
* arch/arm/src/samv7: Add the up_systemreset interface to the samv7
arch. The approach is slightly different in that: 1) It enables
ARCH_HAVE_RESET and allows the user to set if, and for how long, to
drive External nRST signal. It also does not contain a default
board_reset, as that really should be done in the config's src if
CONFIG_BOARDCTL_RESET is defined. From David Sidrane (2016-05-23).
* arch/arm/include/lpc43xx and src/lpc43xx: Adds definitions for the
LPC4337jet100 chip. From Alexander Vasiljev (2016-05-24).
* Many files: board_app_initialize() now accepts an argument that may
be used to support initialization in different configurations
(2016-05-24).
* arch/arm/src/samv7: Remove disabling of whole USB on suspend of USBHS.
This fix removes the disabling of the whole USB peripheral on suspend
interrupt. Its enough to freeze the clock instead. When disabling the
whole peripheral, the next wakeup-interrupt comes up with an disabled
clocking. The unfreeze clock has no effect, because the master clock
is disabled. This makes all registers, including the IDR unwriteable
and the IRQ falls in an endless loop blocking the whole system.
Furthermore the disabling of the peripheral clock prevents hotplugging
or reconnecting the USB. From Frank Benkert (2015-05-25).
* drivers/lcd: Add support for PCF8574 LCD Backpack driver. This driver
supports an interface board that is based on the PCF8574 io expander
and supports the HD44780-based (or compatible) LCD modules. There
are a myriad of different vendors of such, but they are principally
the same, save wiring and minor features like jumpers for I2C
addresses. This driver supports known and unknown variants. From
Dave (ziggurat29, 2013-6-26).
* arch/arm/stm32: Add support for a custom 1-wire driver. The serial
driver already supports a 1-wire interface, but this driver uses the
same serial logic to implement a lower half driver much like the I2C
lower half driver. From Aleksandr Vyhovanec (2015-05-25).
Gregory Nutt
committed
* fs/: Add logic to detach a file structure from a file descriptor.
This is for use only within the OS. It permits an open file or driver
to be used across multiple threads (2016-05-26).
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
* arch/arm/src/stm32l4: Get I2C working for STM32L4. From Dave
(ziggurat29) (2016-05-25).
* fs/ and include/nuttx/fs: Add logic to detach a file structure from a
file descriptor. This is for use only within the OS. It permits an
open file or driver to be used across multiple threads. (2016-05-26).
* drivers/analog/adc.c, include/nuttx/analog/adc.h, and all ADC lower
half drivers: No longer uses global adc_receive() call. Added a new
bind() method to the ADC interface. Now the ADC upper half driver
will register its receipt-of-data callback. This change allows the
ADC lower half driver to be used with a differ ADC upper half
(2016-05-26).
* drivers/analog/ads1255.c: Must not do SPI access from interrupt
handler. Use the worker thread instead. Must also lock the SPI bus
before using it. (2015-05-26).
* drivers/: Several SPI-based drivers modified. All drivers that use
SPI must call SPI_LOCK and SPI_UNLOCK. This is not optional
(2016-05-26).
* drivers/sensors: Fix a bug in crc computation for ms583730.
Implement POSIX read (2016-05-27).
* arch/arm/src/samv7: This is a fix to a problem in the handling of the
oneshot timer. Due to a wrong assumption concerning the behavior
directly after the start of the timer/counter the function
sam_oneshot_cancel(â¦) calculates the wrong remaining time. The code
assumes that the counter register is zero directly after the start of
the timer, but this is not true. To start the time/counter a software
trigger is invoked, this trigger starts the timer/count and sets the
counter register to zero, but the reset of the counter register is not
performed instantly. According to the datasheet: "The counter can be
reset by a trigger. In this case, the counter value passes to zero on
the next valid edge of the selected clock." Thus the counter is set to
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
zero between 0 and USEC_PER_TICK microseconds after the clock was
started.
In my fix I use the freerun count value to determine if at least one
tick passed since the start of the timer and thus if the value of the
oneshot counter is correct. I also tried to use the function
up_timer_gettime(â¦) to achieve this but, at least if compiled with no
optimization the problem vanishes without using the value of the
function, the function call takes too long.
Another problem treated in the fix is that if the oneshot timer/counter
is canceled, we only know the remaining time with a precision of
USEC_PER_TICK microseconds. This means the calculated remaining time
is between 0 and USEC_PER_TICK microseconds too long. To fix this I
subtract one tick if the calculated remaining time is greater than one
tick and otherwise set the remaining time to zero. By doing so the
measured times are much more precise as without it. From Stefan Kolb
(2016-05-27).
* arch/arm/src/sama5: Stefan Kolb's change to the SAMV7 Oneshot Timer
should also be applied to the SAMA5 oneshot time since the drivers are
identical (2016-05-27).
* arch/arm/src/stm32l4: Add support for SPI 4 and 5 on stm32f411 chips.
From Konstantin Berezenko (2016-05-27).
* arch/arm/src/sam34: Stefan Kolb's change to the SAMV7 Oneshot Timer
should also be applied to the SAM3/4 oneshot time since the drivers
are identical (2016-05-29).
* arch/arm/src/stm32: Allow to not use all channel in a lower part of
PWM. From Pierre-noel Bouteville (2016-05-30).
* libc/math: Add a NAN test on 'x' in asin function of lib_asin.c.
Suggested by Pierre-noel Bouteville (2016-05-31).
* arch/arm/src/stm32: Fix logic in F4 RTCC driver that prevent ALARM
interrupt. From Neil Hancock (2016-05-31).
* arch/arm/src/stm32: Fix STM32 ValueLine ADC IRQ number selection.
From David Sidrane (2016-05-31).
* arch/arm/src/samv7: Fix missing unlock of device in MCAN
mcan_txempty(). From Frank Benkert (2016-06-01).
7.17 2016-07-25 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt
committed
* drivers/mtd/flash_eraseall.c: Removed. This is no longer used
in the OS and is simply a wrapper around the MDIOC_BULKERASE
IOCTL command. It used to be called (only) from
apps/system/flash_eraseall, but that has been removed because it
violated the OS/application interface -- by calling flash_eraseall().
The old code can be found in the Obsoleted' repository (and a revised
version can be found at apps/fsutils/flash_eraseall) (2016-06-03).
* arch/arm/src/stm32: STM32 Timer Driver: Change calculation of per-
timer pre-scaler value. Add support for all timers (2016-6-03)
* drivers/lcd: Correct conditional compilation in ST7565 driver. From
Pierre-noel Bouteville (2016-6-03)
* arch/arm/src/stm32: Correct conditional compilation in STM32 timer
capture logic. From Pierre-noel Bouteville (2016-6-03)
* arch/arm/src/efm32: Fix EFM32 FLASH conditional compilation. From
Pierre-noel Bouteville (2016-6-03)
* arch/arm/src/lpc43xx: Fix errors in GPIO interrupt logic. From v01d
(phreakuencies) (2016-06-04)
* arch/arm/src/kl and lpc11xx: rename xyz_lowputc to up_putc. Remove
all references to up_lowputc, everywhere (2016-06-04).
* configs/stm32f103-minimum: Add minnsh configuration. From Alan
Carvalho de Assis (2016-06-04).
* arch/arm/src/stm32: Add the up_getc() function to STM32 in order to
support the minnsh configuration. From Alan Carvalho de Assis
(2016-06-04).
* include/sys/boardctl.h: Needs to be usable with C++ files (2016-06-05).
* tools/tesbuild.sh will now build NxWM configurations (2016-06-05).
* arch/arm/src/stm32: In PWM driver, just update duty if frequency is
not changed and PSM started. This removeis glitch or blinking when
only duty is frequently changed. From Pierre-noel Bouteville (2016-06-05).
* arch/arm/src/kinetis: Add a USB device controller driver. Derived from
the pic32mx usb driver, which uses the same usb controller. From kfazz
(2016-06).
* configs/teensy-3.x: Add USB support and a usbnsh configuration. From
kfazz (2016-06).
* arch/arm/src/stm32: Add support for the STM32F105R. From Konstantin
Berezenko (2016-06-06).
Aleksandr Vyhovanec
committed
* include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
_sa_handler_t. The type void does not work with the IAR toolchain.
Aleksandr Vyhovanec
committed
From Aleksandr Vyhovanec (2016-06-07).
* configs/nucleo-144: Refactored configs/nucleo-144 sub-directories to
support additional nucleo-144 board. Add support for the Nucleo-F767ZI
board. From David Sidrane (2016-06-07).
* arch/arm/src/stm32f7 and include/stm32f7: Added STM32F76xxx and
STM32F77xx families. From David Sidrane (2016-06-08).
* Refactoring configs/nucleo-144 sub-directories to support additional
nucleo-144 board. Add support for the Nucleo-F767ZI board. From David
Sidrane (2016-06-08).
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
* include/assert.h: Check if NDEBUG is defined. From Paul Alexander
Patience (2016-06-08).
* arch/arm/src/stm32: Fix STM32 DMA code and configuration for STM32F37X
chips. From Marten Svanfeldt (2016-06-08).
* drivers/mtd: Add a driver of IS25xP SPI flash devices. From Marten
Svanfeldt (2016-06-09).
* arch/arm/src/Kconfig and configs/teensy-3.x: Teensy clock fixes. The
High Gain bit in MCG_C1 was preventing teensy from booting except
after a programming session. The second change doesn't appear to
change any functionality, but complies with restrictions in the k20
family reference manual on FEI -> FBE clock transiions. From kfazz
(2016-06-09).
* configs/*/include/board.h: Fix timer input clock definitions. From
David Sidrane (2016-06-09).
* Networking: In both IPv6 and IPv4 incoming logic: (1) Should check
if the packet size is large enough before trying to access the packet
length in the IP header. (2) In the comparison between the IP length
and the full packet length, need to subtract the size of the link
layer header before making the comparison or we will get false
positives (i.e., the packet is really too small) (2016-06-09)
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
* configs/: All configurations that have both CONFIG_NSH_LIBRARY=y and
CONFIG_NET=y must now also have CONFIG_NSH_NETINIT=y (2016-06-09).
* arch/arm/src/kinetis: Kinetis pwm support, based on kl_pwm driver.
From kfazz (2016-06-09).
* arch/srm/src/stm32: Fix compilation errors in debug mode of
stm32_pwm.c. From Konstantin Berezenko (2016-06-09).
* arch/arm/src/kinetis: Support up to 8 channels per timer. From kfazz
(2016-06-09).
* lib/: crc16: fix error. From Paul Alexander Patience (2016-06-10).
* lib/: Add crc64 support. From Paul Alexander Patience (2016-06-10).
* arch/arm/src/kinetis: Added kl_dumpgpio functionality as
kinetis_pindump. From kfazz (2016-06-10).
* arch/arm/src/sam34: Fix some errors in AFEC header file. From
OrbitalFox (2016-06-10).
* arch/arm/include/stm32: Correct the can2 rx irq number for stm32f10xx
chips. From Konstantin Berezenko (2016-06-10).
* drivers/include/input: Button upper half driver: Add definitions
needed for compilation with the poll() interface is not disabled
* Kconfig/, include/debug.h, and many other files: (1) Debug features
are now enabled separately from debug output. CONFIG_DEBUG is gone.
It is replaced with CONFIG_DEBUG_FEATURES. (2) The macros dbg() and
vdbg() have renamed as err() and info(), respectively. This also
applies to all of the variants as well, lldbg(), llvdbg(), XXdbg(),
XXvdbg(), XXlldbg(), and XXllvdbg(). (3) Add a new debug level,
warn() (and all variants vwarn(), llwarn(), etc.). (4) Debug
assertions can now be enabled separately from debug output. (5) You
can now enable subsystem/device driver debug output at different
output levels. For example, CONFIG_DEBUG_FS no longer enables file
system debug output. It enables general file system debug logic and
enables selection of CONFIG_DEBUG_FS_ERROR, CONFIG_DEBUG_FS_WARN,
and CONFIG_DEBUG_FS_INFO (2016-06-12).
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
* strtoul() and strtoull(): Fix errno settings required by function
definition. Resolved Bitbucket Issue #1. From Sebastien Lorquet
(2016-06-13)
* arch/arm/src/stm32f7: Add SPI driver. DMA not yet supported. From
David Sidrane (2016-06-14).
* configs/nucleo-144: Add test for STM32 F7 SPI. From David Sidrane
(2016-06-14).
* alert(): New debug macro: alert(). This is high priority,
unconditional output and is used to simplify and stanardize crash
error reporting(2016-06-14).
* arch/arm/src/tiva: Bug Fix in tiva_serial.c - UART5, UART6 and UART7
were not being configured as TTYS0 for printing over serial console.
From Shirshak Sengupta (2016-06-14).
* SAMV7: SPI: SPI-Freq. 40MHz; VARSELECT; hw-features
This change adds the following improvements:
- Increase the allowed SPI-Frequency from 20 to 40 MHz.
- Correct and rename the "VARSELECT" option
This option was included in the code as "CONFIG_SPI_VARSELECT" but
Gregory Nutt
committed
nowhere defined in a Kconfig file. The change renames it to