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 stm32_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-xx-xx 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).