Skip to content
ChangeLog 683 KiB
Newer Older
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
7.13 2015-12-05 Gregory Nutt <gnutt@nuttx.org>

	* libc/stdlib/lib_bsearch.c and include/stdlib.h:  Add the bsearch()
	  function from NetBSD (2015-10-02).
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7/sam_lowputc.c: Reconfigure System I/O when using
	  USART1.  From Frank Benkert (2015-10-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7 and arch/arm/include/samv7:  Add support for the
	  SAME70 family of chips (2015-11-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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,
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib_strftime.c:  Add day-of-week support. (2015-11-25).
	* 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).
	* drivers/mtd/mtd/mtd_procfs/c and include/nuttx/mtd/mtd.h:  Add an
Gregory Nutt's avatar
Gregory Nutt committed
	  interface to un-register an MTD procfs entry.  From Ken Pettit
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/mtd/filemtd.c:  A new MTD conversion layer that will
	  convert a regular file (or driver file) to an MTD device.  This is
	  useful for testing on the simulation using the hostfs.  From Ken
	  Pettit (2015-11-25).
	* 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/:
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/same70-xplained/nsh:  The NSH configuration now seems fully
	  functional:  serial console, LEDs, buttons, SDRAM, and HSMCI SD card
	  (2015-11-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/same70-xplained/netnsh:  Added and verified a network-enabled
	  NSH configuration for the SAME70-Xplained board (2015-11-20).
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7/sam_tc.c:  Port the SAMA5 timer/counter driver
	  to the SAMV7 (2015-12-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* arm/arm/src/samv7/sam_tickless.c:  Port the SAMA5/SAM4CM tickless
	  logic to the SAMV7 (2015-12-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7: Bring programmable clock logic from SAMA5 into
	  SAMV7 (2015-12-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7: Add PCK6 as an optional source for the timer/
	  counter clock (2015-12-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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>
Gregory Nutt's avatar
Gregory Nutt committed

	* arch/arm/src/samv7:  Port the TRNG driver from the SAMA5D3/4 to the
	  SAMV7 (2015-12-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7:  Port the WDT driver from the SAMA5D3/4 to the
	  SAMV7 (2015-12-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7:  Add an RSWDT driver (2015-12-06).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/:  Update all configurations that use the Telnet daemon; those
	  configurations now need to separately enable the Telnet drvier
	  (2015-12-07).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7: In USBHS device driver, fix check if zero length
	  packet is needed (2015-12-08).
Gregory Nutt's avatar
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.  Same problem as fixed on 2015-11-29, but in different location
	  (2015-12-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/module:  Add support for kernel modules.  Initial commit is
	  just the ELF module support with name changes (2015-12-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/samv71-xult/module:  Add configuration for testing OS
	  modules (2015-12-12).
	* sched/module:  Add an implementation of rmmod() (2015-12-12).
	* sched/module and fs/procfs:  Add some basic module procfs support
	  (2015-12-12),
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-r:  Add basic architecture support for the ARMv7-R
	  processor family (2015-12-13).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/launchxl-tms57004:  Add basic board support for TI LaunchXL-
	  TMS57004.  Not much to see there yet (2015-12-15).
	* 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(),
	  and timercmp() as macros. These are non-POSIX interfaces, but
	  included in most BSD deriviatives, including Linux.  From Manuel Stühn
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32:  Add timer input capture driver.  From Pierre-Noel
	  Bouteville (2015-12-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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
	* 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).
	* 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).
	* drivers/sensors/mcp9844.c and include/nuttx/sensors/mcp9844.h: Driver
	  for the MCP9844 I2C digital temperature sensor with a selectable
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/misc/lib_tea.h and include/nuttx/crypto/tea.h:  Add an
	  implementation of the Tiny Encryption Algorithm (2016-01-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  an MOTD message. (2016-01-20).
	* 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).
	* include/nuttx/clock.h:  Get rid of clock_systimer32() and
	  clock_systime64().  There is now only clock_systimer() (2016-01-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* SPI: Rename the STM32 up_spiinitialize() to stm32_spibus_initialize()
	  (2016-01-26).
SP's avatar
SP committed
	* SPI: Rename the SAM up_spiinitialize() to sam_spibus_initialize()
Gregory Nutt's avatar
Gregory Nutt committed
	  (2016-01-26).
	* SPI: Rename the Tiva up_spiinitialize() to tiva_spibus_intialize()
	  (2016-01-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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()
Gregory Nutt's avatar
Gregory Nutt committed
	  (2016-01-26).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/fs_poll.c: Fix handling of sem_tickwait() return value
	  sem_tickwait() does not return an -1+errno, it returns a negated
	  errno value.  Noted by Freddie Chopin.

Gregory Nutt's avatar
Gregory Nutt committed
7.15 2016-03-27 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/analog/ads1242.c and include/nuttx/analog/ads1242.h:  Driver
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  Alexander Entinger (2016-01-29)
	* configs/board/src/xyz_cxxinitialize.c:  Move C++ initialization logic
Gregory Nutt's avatar
Gregory Nutt committed
	  out of the RTOS and into the application space, specifically to
	  apps/platform/board, where it belongs (2016-01-29).
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  (2016-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc17xx: Backport lpc43xx I2C driver, replacing the
Gregory Nutt's avatar
Gregory Nutt committed
	  lpc17xx I2C driver.  This gives us the I2C_TRANSFER method (2016-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc11xx: Backport the lpc17xx I2C driver, replacing the
Gregory Nutt's avatar
Gregory Nutt committed
	  lpc11xx I2C driver.  This gives us the I2C_TRANSFER method (2016-01-30).
	* arch/arm/src/lpc2378: Backo the Lpc17xx I2C driver, replacing the
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* I2C_RESET:  Eliminate up_i2creset().  It should not be a global function;
	  Now it is an I2C interface method (2016-02-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* drivers/ioexpander/pca555.c:  Add logic to make the PCA555 driver
	  thread safe (2016-02-03).
	* 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).
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* Also rename irqdisable() and irqenable() to up_irq_disable() and
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  enabled (2016-02-19).
	* 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).
	* 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).
	* drivers/leds/rgbled.c: Add a driver to manage a RGB LED via PWM.  From
	  Alan Carvalho de Assis (2016-02-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32f4discovery: Add PWM support for the onboard RGB LED
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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)
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  a .config file without interaction.  tools/refesh.sh now has a --silent
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
	* drivers/syslog/note_driver.c:  Add a character driver that will allow
Gregory Nutt's avatar
Gregory Nutt committed
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
	* net/tcp/tcp_timer.c:  Fix some logic when there are multiple network
	  interfaces.  In this case, TCP timeout events can really only being
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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>
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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
	  Kha Vo (2016-04-08).
	* 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).
	* 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
	  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).
	* 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
	  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
	* 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).
	* Framebuffer driver:  Add a display number to each interface in order
	  to support multiple display devices (2015-04-14).
	* drivers/wireless/nrf24l01.c: Fix backward calculation of relative
	  frequency.  Noted by Henry Zhang (2015-04-15).
	* drivers/sensors/h1750fvi.c:  Add a character driver for Rohm Ambient
Gregory Nutt's avatar
Gregory Nutt committed
	  Light Sensor BH1750FVI.  From Alan Carvalho de Assis (2016-04-15).
	* configs/stm32f4discovery: Integrate BH1750FVI driver in the
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  (2016-04-22).
	* configs/samv71-xult/vncwwm:  Add a more complex NxWM configuration
	  to support further VNC testing (particularly of VNC keyboard and
Gregory Nutt's avatar
Gregory Nutt committed
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	 (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
Gregory Nutt's avatar
Gregory Nutt committed
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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,
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  (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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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).
	* 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* 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.
Gregory Nutt's avatar
Gregory Nutt committed
	  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
Gregory Nutt's avatar
Gregory Nutt committed
	  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-xx-xx Gregory Nutt <gnutt@nuttx.org>

	* 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
Gregory Nutt's avatar
Gregory Nutt committed
	  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/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).
	* 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)