Skip to content
ChangeLog 643 KiB
Newer Older
Gregory Nutt's avatar
Gregory Nutt committed
	* net/, include/, various files:  Rename CONFIG_NET_RECEIVE_WINDOW to
	  CONFIG_NET_ETH_TCP_RECVWNDO and CONFIG_NET_SLIP_TCP_RECVWNDO.  Add
	  data structures and logic to handler different TCP receive windows
	  when both Ethernet and SLIP are enabled (2014-11-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sama5d4-ek/bridge: Add a simple test for the dual EMACs on
	  the SAMA5D4 (2014-11-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_emacb.c:  Fix several typos that will prevent
	  EMAC1 from initializing properly (2014-11-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/net/ip.h and tcp.h, net/icmp/icmp_send.c and
	  igmp/igmp_send.c: Move IP header flags from tcp.h to ip.h and rename
	  IP_FLAGS vs TCPFLAGS.  The problem fixed here is that there IP flags
	  were not available when TCP was disabled.  The IP flags are used in
	  ICMP and IGMP (2014-11-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/clock/clock_abstime2ticks.c: Calling mq_timedreceived() with
	  immediate timeout was getting stuck and not timing out. Immediate
	  timeout is achieved by setting absolute timeout value to past time,
	  for example abstime={ .tv_sec=0, .tv_nsec=0 }. However absolute
	  time was converted to relative time using unsigned integer arithmetic
	  and resulted large ticks count by clock_abstime2ticks, instead of
	  expected negative ticks value.  Change corrects clock_abstime2ticks()
	  to return negative ticks, if absolute time is in the past.  From
	  Jussi Kivilinna (2014-11-19).
	* fs/vfs/fs_poll.c: poll() was not waking up from signals (for example
	  mq_notify() events).  From Jussi Kivilinna (2014-11-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_otghs.c, Make.defs,
	  configs/stm32f429i-disco/src/stm32_usb.c and Makefile: STM32 F4 OTGHS
	  device controller driver from Brennan Ashton (2014-11-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sama5d3-xplained/bridge: Add a simple test for the EMAC
Gregory Nutt's avatar
Gregory Nutt committed
	  and GMAC on the SAMA5D3 working together (2014-11-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* libnx/nxtk/nxtk_drawframe.c: Remove warnings when CONFIG_NXTK_BORDERWIDTH
	  is set to zero.  From Pierre-Noel Bouteville (2014-11-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/fs_poll.c: Add proper handling for sem_timedwait errnos.
	  From Jussi Kivilinna (2014-11-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/udp/udp_conn.c and udp.h:  Extensions to UDP "connection" structure
Gregory Nutt's avatar
Gregory Nutt committed
	  for the case of multiple networks.  In this case, assigned port numbers
	  only have to be unique with respect to the IP address.  So, for
Gregory Nutt's avatar
Gregory Nutt committed
	  example, you could have multiple port 80's, one on each network
	  (2014-11-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/tcp/tcp_conn.c and tcp.h: Make tcp_listener static scope; it is
	  not used outside of tcp_conn.c (2014-11-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/udp/tcp_conn.c and tcp.h:  Extensions to TCP connection structure
	  for the case of multiple networks.  See the description of the similar
	  change for UDP above (2014-11-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/route/net_router.c:  Refuse to perform routing table lookups for
	  the Broadcast IP address.  From Brennan Ashton.
Gregory Nutt's avatar
Gregory Nutt committed
	* net/netdev/netdev_findbyaddr.c and netdev:  Add logic to netdev_findbyaddr()
	  to return the correct network device for the case where a broadcast
	  address is used.  This change caused trivial ripples through other
	  files because additional parameters are required for netdev_findbyaddr()
	  when CONFIG_NET_MULTINIC.  Those other file include net/netdev/netdev_rxnotify.c,
	  netdev_txnotify.c which, in turn, for changes to arp/arp_send.c,
	  icmp/icmp_ping.c, socket/net_sendfile.c, recvfrom.c, sendto.c,
	  tcp/tcp_send_buffered.c, and tcp_send_unbuffered.c (2014-11-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/kl/chip/kl_i2c.h:  I2C header file for the Freescale KL
Gregory Nutt's avatar
Gregory Nutt committed
	  family.  From Alan Carvalho de Assis (2014-11-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/fs/fs.h: Fix typo in conditional compilation.  From
Gregory Nutt's avatar
Gregory Nutt committed
	  Alan Carvalho de Assis (2014-11-23).
Gregory Nutt's avatar
Gregory Nutt committed
7.7 2015-01-26 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed

	* nuttx/drivers/eeprom and include/nuttx/eeprom/: Add support for generic
	  EEPROM access via a character driver.  Add also the EEPROM driver itself.
	  From Sébastien Lorquet (2014-11-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* libnx/nxfonts/nxfonts_pixel-lcd-machine.h and nxfonts_pixel-unicode.h,
	  include/nuttx/nx/nxfonts.h, graphpics/Kconfig, and build-related files
	  in libnx/nxfonts: Two new fonts from Pierre-noel Bouteville (2014-11-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/lpc4357-evb, arch/arm/src/pc43xx/chip/, configs/Kconfig, and
	  and other related files:  A port of NuttX to the LPC4357-EVB from
	  Toby Duckworth.  This port is a leverage of the LPC3330-Xplorer port
	  and still have a some misinformation from that port that needs to be
	  updated for the LPC4357-EVB (2014-11-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/stm32/chip.h, src/stm32/Kconfig, chip.h, and
	  chip/stm32f102_pinmap.h:  Enable support for the STM32 F102.  From
	  https://github.com/PX4/NuttX/pull/28.diff (2014-11-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/loop.c:  Loop device should return -EINTR is interrupt by a
	  signal (2014-11-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/input/djoystick.c and include/nuttx/input/djoystick.h.  Also
	  drivers/input/Kconfig and Make.defs, and include/nuttx/fs/ioctl.h: Add
	  an interface definition and upper half driver for a discrete joystick
	  device (2014-11-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/efm32/Kconfig and efm32_serial.c: Add support for serial
	  termios TCGET and TCSET.  For the moment, only set/get speed is
	  implemented.  From Pierre-noel Bouteville (2014-11-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/wireless/ and include/nuttx/wireless/cc3000.h:  A set of 11
	  patches correcting issues with the CC3000 networking.  All from Jussi
	  Kivilinna (2014-11-28).  Among these:
	  03/11: CC3000 driver was getting stuck at recv() when remote host
	    closed connection and application tried to read data from remotely
	    shutdown socket. This patch adds proper handling for remotely closed
	    socket event.
	  07/11: Socket state initialization was done in 'register', while it
	    should be initialized in 'open' and deinitialized in 'close'. Old
	    way caused problems when device is closed, power-cycled and then
	    reopened as old socket state was left enabled.
	  08/11: Select thread was getting stuck after 'close, power-cycle,
	    reopen', since selectsem was not properly setup and cleaned up.
	  09/11: 'maxFD' was not properly reset in select worker and not checked
	    for before calling cc3000_select().
	  10/11: After wlan_stop()/cc3000_close(), irqsem was left with count
	    '-1'. Therefore on next wlan_start()/cc3000_open(), initial value
	    for irqsem was wrong. Additional repeated wlan_start()/wlan_stop()
	    decreased irqsem value further. Obviously this causes driver not to
	    function correctly and freeze. Patch moves initialization and
	    destruction of waitsem, irqsem and readysem to
	    cc3000_open/cc3000_close.
Gregory Nutt's avatar
Gregory Nutt committed
	* include/cxx/cctype: Undefine macros defined ctype.h so that builtin
Gregory Nutt's avatar
Gregory Nutt committed
	  C++ implementations will be used intead.  From Lorenz Meier
	  (2014-11-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm3210e-eval/src/stm32_djoystick.c:  Add a discrete Joystick
	  supportfor the STM3210E-EVAL (2014-11-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/input/djoystick.c include/nuttx/input/djoystick.h: Add a new
	  ioctl to get the supported joystick discrete signals (2014-11-28).
	* drivers/input/ajoystick.c and include/nuttx/input/ajoystick.h.  Also
	  drivers/input/Kconfig and Make.defs, and include/nuttx/fs/ioctl.h: Add
	  an interface definition and upper half driver for an analog joystick
Gregory Nutt's avatar
Gregory Nutt committed
	  device. Initial check-in is only a little more of a clone of the
	  discrete joystick driver and is as-of-yet untested (2014-11-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/Kconfig, misc/Make.defs, misc/lib_ioctl.c, fs/vfs/fs_ioctl.c,
	  include/nuttx/fs/fs.h, include/sys/ioctl.h, syscall.h, and several
	  files in syscall/: Add support for a variadic ioctl() function.  The
	  ioctl() interface is a non-standard, Unix interface.  NuttX has always
	  used the older, three-parameter version.  Most contemporary systems
	  now, however, use a variadic form of the ioctl() function.  Added an
	  option to insert a shim layer to adapt the three-parameter ioctl() to
	  use the variadic interface form.  Internally, the ioctl handling is
	  the same three-parameter logic.  The only real complexity to the shim
	  is in how the system calls must be handled (2014-11-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_i2c.c: Port Tridge's I2C noise resilience
	  logic from the PX4 repository (2014-11-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32l15xxx_pinmap.h:  Fix a typo in the
	  MCO pin definition.  From Jussi Kivilinna (2014-12-02).
	* arch/arm/src/stm32/stm32_rcc.h:  Add missing MCO configuration for
	  the STM32L1xxx.  From Jussi Kivilinna (2014-12-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sama5d3-xplained/src/sam_ajoystick.c:  Add analog Joystick
	  shield support for the SAMA5D3 Xplained board (2014-12-3).
	* configs/ucleo-f4x1re/src/sam_ajoystick.c and sam_adc.c:  Add
	  analog Joystick shield support for the Nucleo F4x1RE boards.  There
	  are still some ADC issues to be worke through as of the initial
	  commit (2014-12-3).
Gregory Nutt's avatar
Gregory Nutt committed
	* /drivers/eeprom/spi_xx25xx.c and /include/nuttx/eeprom/spi_xx25xx.h:
	  Add support for ST Micro EEPROM device geometries.  From Sebastien
	  Lorquet (2014-12-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/mqueue: msg type should be char * not void * in mq_send,
	  mq_timedsend, mq_receive, and mq_timedreceive.  Noted by  Pierre-Noel
	  Bouteville (2014-12-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/mqueue/mq_open.c and sched/mqueue/mq_msgqalloc.c: In message queue
	  creation return ENOSPC error if size exceeds the configured size of
	  pre-allocated messages; Use ENOSPC vs ENOMEM per OpenGroup.org.  From
	  Pierre-Noel Bouteville (2014-12-6).
Gregory Nutt's avatar
Gregory Nutt committed
	* Add sys/custom_file.h.  Used when CUSTOM_FILE_IO is define and avoids
	  re-definition errors about the FILE define.  From Thomas Gruber via
	  the PX4 repository (2014-12-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/bfd-converter.c and mkdeps.c:  Eliminate a warnging about
	  redefined strtok_r on some platforms (2014-12-8).
	* arch/sim/Kconfig:  Allow building the simulated framebuffer driver
	  even if NX is not enabled (12014-12-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sim/traveler and README.txt:  Add a configuration build and test
Gregory Nutt's avatar
Gregory Nutt committed
	  the Traveler first person game using the simulator (2014-12-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32f20xxx_pinmap.h and stm32f40xxx_pinmap.h:
	  Set the GPIO_SPEED_50MHz on all F2 and F4 SPI pin configurations.
	  This is based on an F411 SPI1 errata but the fixed is generalized to
	  all SPI and all F2 and F4 (let me know if this introduces any other
	  issues).  Discovered and fixed by Sebastien Lorquet after much
	  consternation (2014-12-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/stdio/lib_avsprintf.c: avsprintf():  Fix a bug in usage of
	  va_list on x86.  On x86, va_list is a pointer to a single copy on the
	  stack.  avsprintf() calls lib_vsprintf() twice and so traverses the
	  va_list twice using va_start.  va_start modifies that single copy on
Gregory Nutt's avatar
Gregory Nutt committed
	  the stack so that the second call to lib_vsprintf() fails.  This appears
Gregory Nutt's avatar
Gregory Nutt committed
	  to be an issue with x86 only so far (2014-12-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* stdint.h:  Don't use hex values to specify minimum values of fixed
	  width, signed values.  Hex values are inherently unsigned and not
	  usable for this purpose in all contexts (2014-12-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tiva_i2c.c, tiva_i2c.h, Kconfig, and Make.defs: Add
	  build framework and skeleton files for Tiva I2C driver.  Initial
	  commit is just the STM32 I2C driver with name changes and STM32-
	  specific logic removed (2014-12-9).
	* fs/procfs/fs_procfs.c:  Add procfs write support.  From Ken Pettit
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-12-9).
	* include/crc8.h, libc/misc/lib_crc8.c, and Make.defs: Add CRC8 support.
	  From Ken Pettit (2014-12-9).
	* drivers/mtd/smart.c, Kconfig, fs/smartfs/smartfs_smart.c,
	  smartfs_procfs.c, smartfs_utils.c, smartfs.h, Kconfig,
	  include/nuttx/fs/ioctl.h, smart.h, and mtd/smart.h: Implements wear-
	  leveling in the SmartFS.  From Ken Pettit (2014-12-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tiva_i2c.c: Driver is code complete but still
Gregory Nutt's avatar
Gregory Nutt committed
	  untested (2014-12-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/tm4c123g-launchpad/src/tm4c_at24.c, tm4c_bringup.c, and other
	  files:  Add initialization logic for an external AT24 EEPROM.  This
Gregory Nutt's avatar
Gregory Nutt committed
	  is intended only to support testing of the Tiva I2C driver
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-12-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* libnx/Makefile, libnx/nxfonts/nxfonts_x11-misc-fixed-*.h, Make.defs,
	  Makefile.sources, nxfonts_bitmaps.c, graphics/Kconfig, and
	  include/nuttx/nx/nxfonts.h:  Lots of fonts that derive from
	  X11-misc-fixed-* fonts.  Converted for use by NuttX by Pierre-Noel
	  Bouteville (2014-12-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* nuttx/drivers/mtd/m25px.c; M25P serial flash driver:  Add subsector
	  size of the M24P16 part.  From Lazlo (2014-12-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/string/lib_strncpy.c:  Commit d0c76ccacf0dc8988f9617ad82bf4349f456bb08
	  will trash a lot of memory if n == 0.  From Yasuhiro Osaki (2014-12-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_otghsdev.c.  Fix for OTGHS device driver
	  working in FS mode.  From Ken Pettit (2014-12-12).
	* libc/stdio/lib_sscanf.c: Accept %X as well as %x as a format
	  specifier.  From Sébastien Lorquet (2014-12-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/stdio/lib_sscanf.c: Also accept %F as well as %f (2014-12-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_otghsdev.c: For STM32 OTG HS DEV (in FS
	  mode): Disable ULPI clock enable in RCC AHB1 Register.  If Both ULPI
	  and the FS clock enable bits are set in FS mode, then the ARM never
	  awakens from WFI due to a chip issue.  This is only an issue if you
Gregory Nutt's avatar
Gregory Nutt committed
	  are using the internal PHY.  From Ken Pettit (2014-12-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/serial/serial.c: In case a thread is doing a blocking
Gregory Nutt's avatar
Gregory Nutt committed
	  operation (e.g. read()) on a serial device, while it is being
	  terminated by pthread_cancel(), then uart_close() gets called, but
	  the semaphore (dev->recv.sem in the above example) is still blocked.
	  This means that once the serial device is opened next time, data will
	  arrive on the serial port (and driver interrupts handled as normal),
	  but the received characters never arrive in the reader thread.
Gregory Nutt's avatar
Gregory Nutt committed
	  The problem was fixed by re-initializing the semaphores on the last
Gregory Nutt's avatar
Gregory Nutt committed
	  uart_close() on the device. From Harald Welte (2014-12-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/semaphore/sem_recover.c, Make.defs, seamphore.c,
	  sched/wdog/wd_recover.c, Make.defs, wdog.h, sched/task/task_recover.c:
	  Add logic to clean up after task_delete() or pthread_cancel() if the
	  task happens to be waiting on a semaphore when it is cancelled
	  (2014-12-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/kl/kl_gpioirq.c, Kconfig, Make.defs, and kl_irq.c: Add
	  GPIO interrupt capability for the KL architecture. The patch is
	  almost the same as kinetis_pinirq.c, just minor modifications and
	  rename kl_pinirq to kl_gpioirq to make it more generic to developers.
	  From Alan Carvalho de Assis (2014-12-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/sim/src/up_ajoystick.c, Kconfig, Makefile, up_idle.c,
	  up_internal.h, up_x11eventloop.c, up_x11framebuffer.c,
	  configs/sim/src/Makefile, sim_boot.c, and traveler/defconfig: Add an
	  X11 mouse-based simulation of an analog joystick device (2014-12-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/sensors/adxl345*, include/nuttx/sensors/adxl345.h and other
	  files:  Add driver support for the ADXL345 accelerometer.  From  Alan
	  Carvalho de Assis (2014-12-16).
	* configs/freedom-kl25z: Add board support for the ADXL345 accelerometer.
	  From  Alan Carvalho de Assis (2014-12-16).
	* Kconfig, include/debug.h, drivers/sensors/*, and Qencoder logic in
	  arch/arm/src/stm32 and various QEncoder board support files under
	  config/: Unify sensor debug.  ADX driver was using input debug; LM75
	  and QENCODE that their own custom debug.  Now all use
	  CONFIG_DEBUG_SENSOR, sndbg() (2014-12-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/dk-tm4c129x:  Initial board support for the Tiva DK-TM4C129x
	  Connected Development Kit.  The initial commit is just the Tiva
	  TM4C123G-Launchpad board support with naming changes (2014-12-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/sched.h, sched/Kconfig, sched/init/os_start.c,
	  sched/pthread/pthread_create.c, sched/task/task_prctl.c,
	  sched/task/task_setup.c: strncpy() will not copy the terminating \0
	  into the destination if the source is larger than the size of the
	  destination. Ensure that the last byte is always zero and let strncpy
	  only copy CONFIG_TASK_NAME_SIZE bytes. The issue of unterminated names
	  can be observed in ps when creating a pthread while
	  CONFIG_TASK_NAME_SIZE is set to 8.  From  Daniel Willmann (2014-12-17).
	* configs/*/*/defconfig: The previous change increased the task name
	  size allocation by one to hold a NUL terminator.  This changes reduces
	  the configured name size by one so that no additional memory is used
	  (2014-12-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/wireless/cc3000/cc3000.c: CC3000 Fix: Data can be unaligned.
	  When dereferenced as an input ntosh(), a bad value is returned.
	  Reported by Alan Carvalho de Assis (2014-12-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/freedom-kl25z: Update the Freedom KL25Z board CC3000 support
	  to use the current CC300 interfaces.  From Alan Carvalho de Assis
	  (2014-12-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva, include/tiva, and many configurations:  Change
	  negative Tiva logic CONFIG_TIVA_DISABLE_GPIOx_IRQS to positive logic
	  CONFIG_TIVA_GPIOx_IRQ (2014-12-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/Kconfig:  Fix configuration logic for IRQ interrupts.
	  The various parts support varying numbers of GPIO blocks and with varying
	  capabilities to support interrupts on the pins of different GPIO blocks
	  (2014-12-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32f40xxx_rcc.h: PLLSAI register name to
Gregory Nutt's avatar
Gregory Nutt committed
	  this one in the reference manual. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_ltdc.h: Rename CFBLR register name to
Gregory Nutt's avatar
Gregory Nutt committed
	  the name used in the reference manual. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_ltdc.h: Add missing clut register
Gregory Nutt's avatar
Gregory Nutt committed
	  definition. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32f40xxx_rcc.c:  Configure PLLSAI clock to
Gregory Nutt's avatar
Gregory Nutt committed
	  enable ltdc register access. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f429i-disco/include/board.h:  Update board definition for
	  the ili9341 LCD display. This configures all LCD settings for the RGB
	  interface. Also adds a customer LCD display template. From Marco Krahl
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_ltdc.h: Define a common layer description for
Gregory Nutt's avatar
Gregory Nutt committed
	  the ltdc and dma2d controller. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_dma2d.c/.h and related files:  Add
Gregory Nutt's avatar
Gregory Nutt committed
	  infrastructure for dma2d support. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/stm32/ltdc.h:  Add interface to perform hardware
	  accelerated layer operation. The following methods must be supported
	  by the implementation: gevideoinfo, getplaneinfo, getlid, setclut,
	  getclut, setcolor, getcolor, setcolorkey, getcolorkey, setalpha,
	  getalpha, setblendmode, getblendmode, setarea, getarea, and update.
	  And if DMA2D is supported: blit and blend.  The method up_ltdcgetlayer
	  provides access to a reference of a specific ltdc layer. From Marco
Gregory Nutt's avatar
Gregory Nutt committed
	  Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_ltdc.c: Implements ltdc frambuffer support
	  for the generic nuttx framebuffer interface, (see nuttx/video/fb.h).
	  This also implements the interface to perform hardware accelerated
	  layer operation by the ltdc controller and dma2d controller later
	  (see nuttx/video/ltdc.h). The following methods are supported by the
	  ltdc interface: getvideoinfo, getplaneinfo, getlid, setclut, getclut,
	  setcolor, getcolor, setcolorkey, getcolorkey, setalpha, getalpha,
	  setblendmode, getblendmode, setarea, getarea, and update. From Marco
Gregory Nutt's avatar
Gregory Nutt committed
	  Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/lcd/ili9341.h: Update interface control definitions.
Gregory Nutt's avatar
Gregory Nutt committed
	  From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f429i-disco/src/stm32_lcd.c:  Add support for
	  initializing ltdc framebuffer and the configured lcd display.  This
	  adds support for initializing of the ltdc controller and the lcd
	  device connected on the stm32f429i-disco. The following methods are
	  provided for the generic fb interface: up_fbinitialize,
	  up_fbgetvplane, and fb_uninitialize. The following methods are
	  provided for the ltdc interface: up_ltdcgetlayer. From Marco Krahl
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* zrch/arm/src/stm32/Kconfig: Add configuration option for ltdc.  This
	  adds the following ltdc configuration options: dither support, cmap
	  support, is this the right place for CONFIG_FB_CMAP?, support for
Gregory Nutt's avatar
Gregory Nutt committed
	  extended ltdc interface. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	*  nuttx/configs/stm32f429i-disco: Enable configuration of framebuffer
Gregory Nutt's avatar
Gregory Nutt committed
	  support for the ltdc controller. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f429i-disco/src/stm32_boot.c: Initialize ltdc during
Gregory Nutt's avatar
Gregory Nutt committed
	  bootup. From Marco Krahl (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f429i-disco/ltdc: Add default platform configuration to
	  test framebuffer support for the ltdc. . From Marco Krahl
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-12-19).
	* libnx/nxfonts/nxfonts_getfont.c: A patch to add previous added font
	  into nxf_getfonthandle function.  From  Pierre-Noel Bouteville
	  (2014-12-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva, include/tiva, and many configurations:  Change
	  negative Tiva logic CONFIG_SSIx_DISABLE to positive logic
	  CONFIG_TIVA_SSIx.  Add support for SSI2 and SSI3 (2014-12-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/efm32/efm32_pwm.c/.h, efm32_timer.c/.h, and related
	  build files: Add support for timer/PWM on the EFM32GG.  From
	  Pierre-noel Bouteville (2014-12-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/serial/Kconfig, serial.c, serialirq.c, and
	  include/nuttx/serial/serial.h:  Add watermark levels to the serial
	  RX flow control logic.  Modify the rxflowcontrol method to accept
	  the number of bytes in the buffer and a boolean indication of which
	  watermark was crossed (2014-12-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/semaphore/sem_waitirq.c must be built when signals are disabled.
Gregory Nutt's avatar
Gregory Nutt committed
	  That is because not handles not only the case of semaphore wait
	  being awakened by a signal, but also the case with sem_timedwait.c
	  when the semaphore wait is awakened by a timeout (2014-12-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_ltdc.c: stm32: fix faulty access to non-
	  existing layer.  This disables operation that requires double layer
	  support, when configured for single layer only.  From Marco Krahl
	  (2014-12-29).
	* arch/arm/src/stm32/stm32_ltdc.c: stm32: fix wait upon vertical blank.
	  This should never have occurred before.  From Marco Krahl (2014-12-29).
	* configs/stm32f429i-disco/ltdc/defconfig and src/stm32_boot.c:
	  stm32f429i-disco: change ltdc initializing during boot up. This moves
	  initializing of the ili9341 lcd and ltdc driver to the board specific
	  initializing routine.  From Marco Krahl (2014-12-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_ltdc.c:  Clean up documentation, some
Gregory Nutt's avatar
Gregory Nutt committed
	  formatting improvements.  From Marco Krahl (2014-12-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/chip/tiva_ethernet.h, lm3s_ethernet.c, and
Gregory Nutt's avatar
Gregory Nutt committed
	  tm4c_ethernet.h:  Add logic to discriminate between LM3S class Ethernet
Gregory Nutt's avatar
Gregory Nutt committed
	  register definitions and TM4C129X class Ethernet register definitions.
	  Add TM4C129X Ethernet register definitions (2014-12-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tm4c_ethernet.c, lm3s_ethernet.c, Kconfig, and
	  Make.defs: First cut at TM4C129X Ethernet driver.  Initial commit is
	  basically just the STM32 Ethernet driver with modifications for a clean
	  compilation in the Tiva environment (2014-12-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_rtc.c, stm32_rcc.c, Kconfig: Add support for
	  the internal low speed clock (LSI) as a source of the RTC clock.  Some
	  boards do not have the external 32khz oscillator installed, for those
	  boards we must fallback to the crummy internal RC clock.  Turn on by
	  defining CONFIG_RTC_LSICLOCK.  From Kevin Hester (2015-01-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/tcp/tcp_conn.c:  Fix a logic error when CONFIG_NETDEV_MULTINIC is
	  selected: net_unlock(flags) will be called will an uninitialized
Gregory Nutt's avatar
Gregory Nutt committed
	  variable (2015-01-03).
	* arch/arm/src/tiva/tiva_irq.c:  Fix Tiva IRQ control logic; was limited
	  to only 64 IRQs.  That is a problem for higher numbered IRQs on many
	  platforms (2015-01-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_sdio.c, drivers/mmcsd/mmcsd_sdio.c and Kconfig,
	  and include/nuttx/sdio.h: MMCSD SDIO:  Add support for a new
	  SDWAIT_WRCOMPLETE condition.  The previous logic used a busy-wait loop
	  to poll the card R1 status to determine when the card was ready for
Gregory Nutt's avatar
Gregory Nutt committed
	  the next transfer.  That busy-wait can be quite long -- up to hundreds
Gregory Nutt's avatar
Gregory Nutt committed
	  of milliseconds.  An alternative is to look the SD D0 pin which
Gregory Nutt's avatar
Gregory Nutt committed
	  will change state when the card is no longer busy.  This change avoids
	  the busy-wait poll by reconfiguring the SD D0 pin as a GPIO interrupt,
	  then waiting for the card to become ready without taking up CPU
	  cycles.  This change is conditioned on CONFIG_MMCSD_SDIOWATI_WRCOMPLETE
	  and is currently only implemented for the STM32 SDIO driver. From
	  David Sidrane (2015-01-08).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tiva_timerlib.c and .h:  Add a timer library for
Gregory Nutt's avatar
Gregory Nutt committed
	  generic support of Tiva timers (2015-01-08).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tiva_timerlow32.c:  Add a driver lower half for
Gregory Nutt's avatar
Gregory Nutt committed
	  drivers/timer.c.  Only 32-bit periodic timers are supported.  This
	  provides userspace access to timers.
	* configs/px4-v2_upstream, Kconfig, README.txt: Remove the px4-v2_upstream
	  configuration.  Moved to misc/Obsoleted/configs.  This was not the
	  official configuration for the PX4 board and has led to confusion by
	  NuttX users.  The board configuration also requires some ongoing
	  maintenance and customization to support ongoing PX4 testing and
	  evaluation.  It is best retained the PX4 repositories where it can be
	  properly maintained and not in the upstream NuttX repository
	  (2015-01-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/netdev/netdev_ioctl.c and include/nuttx/net/ioctl.h:  Add support
	  for IPv6 ioctls to manipulate IP addresses (2015-01-14).
	* net/icmpv6:  Create a future home for ICMPv6 (2015-01-14).
	* net/icmp:  Remove all logic conditioned on CONFIG_NET_IPv6
	  (2015-01-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/, include/nuttx/net, and a few other files: (1) Copied all ICMP
	  sources files to net/icmpv6 with proper renaming and removal of IPv4
	  logic, (2) remove IPv6 logic from files in net/icmp, (3) copied
	  include/nuttx/icmp.h to icmpv6.h and removed IPv4 specific logic, (4)
	  removed all IPv6 logic from icmp.h, (5) IP_HDRLEN became IPv4_HDRLEN
	  and IPv6_HDRLEN, (6) ip_chksum() became ipv4_chksum() and
	  ipv6_chksum(), and (7) added partial support for ICMPv6 statistics
	  (2015-01-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/, drivers/net/, include/nuttx/net, and net/devif:  (1) Rename
	  devif_input() ipv4_input(), (2) copy net/devif/devif_input.c to
	  ipv6_input.c, remove all IPv4-specific logic, (3) rename
	  net/devif/devif_input.c to ipv4_input.c, remove all IPv6-specific
	  logic, and (4) xplit IPv4 header structure out as net_ipv4hdr_s from
	  net_iphdr_s (2015-01-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/ and drivers/net:  All Ethernet drivers:  Call ipv6_input() if
	  IPv6 is enabled and an IPv6 packet is received (2015-01-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/devif, net/tcp, net/ucp, include/nuttx/net:  Separate tcp_input()
Gregory Nutt's avatar
Gregory Nutt committed
	  and udp_input() into separate functions tcp_ipv4_input(),
Gregory Nutt's avatar
Gregory Nutt committed
	  tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal
	  will the data offsets caused by the differing sizes of the IP header
	  (2015-01-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/utils/net_ipv6_maskcmp.c:  Add missing implementation of
	  net_ipv6_maskcmp() (2015-01-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking: Drivers can have both IPv4 and IPv6 addresses, but a
	  socket can only only one or the other; The socket connection
	  structures need to include a union of IPv4 and IPv6 addresses for
Gregory Nutt's avatar
Gregory Nutt committed
	  the local address binding and for the remote address connections
	  (2015-01-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking:  Replace all references to net_ipaddr_t with either
	  in_addr_t on net_ipv6addr_t.  The goal is to support both IPv4 and
	  IPv6 simultaneously.  This requires that the two types be distinct
	  and not conditionally typedef'ed to net_ipaddr_t (2015-01-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking:  Replace all references to the macros net_ipaddr_copy,
	  net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and
	  net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the
	  macro (such as net_ipv4addr_copy).  The goal is to support both
	  IPv4 and IPv6 simultaneously.  This requires that the macros be
	  distinct and not conditionally defined to one on or the other
	  (2015-01-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking: UDP and TCP MSS depends on the IP header size (as well
	  as the link layer header size) and cannot be represented with a
	  single value (2015-01-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/neighbor:  Move net/ipv6 to net/neighbor (2015-01-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/net/if.h:  Add a bit to the device flags to indicate if the
	  device packet buffer holds an IPv4 or an IPv6 domain packet.
	  Set/clear the flag along with the correct offset to the application
	  payload data as each packet is received (2015-01-17).
	* net/socket, net/tcp, net/udp:  Add logic to select the domain of the
	  outgoing packet before sending any UDP or TCP packet.  This sets the
	  bit to indicate the IPv4 or IPv6 domain and the correct offset to the
	  output going payload data (2015-01-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/socket and net/tcp: When we are ready to receive data or when we
	  have outgoing data ready to be sent, we need to the notify the
	  appropriate device driver of this condition.  The notifying socket
	  will be configured as either PF_INET or PF_INET6 and must look up the
	  correct driver using the correct IP domain (2015-01-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/socket/accept.c:  Fix accept() so that it returns the correct IP
	  address for the selected socket IP domain (2015-01-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking: Final detangling off IPv4 and IPv6 TCP/UDP send logic.
Gregory Nutt's avatar
Gregory Nutt committed
	  The networking subsystem now compiles with IPv6 enabled (2015-01-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tm4c_ethernet.c:  When calling into the stack
	  from the worker thread, it is necessary to have the stack locked
	  (2015-01-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* nuttx/arch/arm/src/stm32/stm32_serial.c: fix declaration and
Gregory Nutt's avatar
Gregory Nutt committed
	definition of up_receive() and up_dma_receive() to match fields of
Gregory Nutt's avatar
Gregory Nutt committed
	  uart_ops_s from nuttx/include/nuttx/serial/serial.h.  From Freddie
	  Chopin (2015-01-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/pipes/pipe.c, drivers/usbdev/cdcacm.c, and
	  mm/mm_gran/mm_granalloc.c: Fixes some issues found by the PX4 team
	  using Coverity.  From Pavel Krienko (2015-01-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_solicit.c, net/neighbor/neighbor_out.c, and other
	  files: Add logic to search the Neighbor Table and update the
	  destination address in the output Ethernet header OR to send an
	  ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor
	  table for the IPv6 address (2015-01-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/ and drivers/net:  Add missing raw/packet socket support to
Gregory Nutt's avatar
Gregory Nutt committed
	  all Ethernet driverss (2015-01-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/ and drivers/net: Networking:  Modify all Ethernet drivers:
Gregory Nutt's avatar
Gregory Nutt committed
	  Do neighbor look-up on all outgoing IPv6 packs in order to properly
	  set the destination link layer address (2015-01-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* Networking:  When sending ICMPv6 advertisements and solicitations,
	  set the NOARP bit so that we don't overwrite the destination MAC
	  address (2015-01-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many files: Correct name of fields in struct sockaddr_in6:  sin6_port
	  and sin6_family, not sin_port and sin_family (2015-01-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/socket/accept.c: Correct the value returned by accept() in the
	  case where net_lockingwait() is called.  It was returning -1 and
	  losing the errno value.  Noted by Rony Xln (2015-01-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/: After some significant effort, ICMPv6 and TCP are both
Gregory Nutt's avatar
Gregory Nutt committed
	  functional when IPv6 is selected.  UDP still requires testing
Gregory Nutt's avatar
Gregory Nutt committed
	  (2015-01-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/dk-tm4c129x/ipv6:  Add an IPv6-enabled NSH configuration
Gregory Nutt's avatar
Gregory Nutt committed
	  (2015-01-23)
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/net/icmpv6.h and net/icmpv6/icmpv6_ping.c: First cut
Gregory Nutt's avatar
Gregory Nutt committed
	  at ICMPv6 ping logic.  It works in both directions! (2015-01-23).
	* arch/arm/src/efm32/efm32_rmu.c and .h: Add support for the EFM32
	  reset management unit (RMU).  From Pierre-noel Bouteville
	  (2015-01-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/math.h: Adds support for the expm1 functions:
	  http://pubs.opengroup.org/onlinepubs/009695399/functions/expm1.html.
	  From Brennan Ashton (2015-01-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many file: Add CONFIG_STACK_COLORATION that does the same thing as
	  CONFIG_DEBUG_STACK but without enabling debug.  From David Sidrane
	  (2015-01-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* Remove CONFIG_DEBUG_STACK.  Adding CONFIG_STACK_COLORATION makes
	  this configuration option pointless (2015-01-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/: Clean up network status collection for IPv6 (2015-01-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/ and configs/: Changes to get USART 2 & 3 working on
	  lpc4357-evb. These changes are required to get USART 2 and 3 working
	  on the Embest development board.  From Toby Duckworth.

Gregory Nutt's avatar
Gregory Nutt committed
7.8 2015-02-11 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed

	* include/nuttx/math.h and libc/math: Add support for inverse
	  hyperbolic functions.  From Brennan Ashton (2015-01-26).
	* include/nuttx/math.h: Add math library definition for isfinite().
	  From Brennan Ashton (2015-01-26).
	* include/nuttx/math.h and libc/math/lib_erf*.c: Add error function
	  to math library.  From Brennan Ashton (2015-01-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/math.h and libc/math: Add math library defines for
	  nan(), copysign(), and trunc() functions.  From Brennan Ashton
	  (2015-01-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/wqueue/kwork_process and libc/wqueue/lib_usrthread.c:  Fix
	  a backward calculation when determining the time to the next event.
	  This is a bug in the back-up, "fail safe", work queue timing so it
	  not as bad as it seems.  From Liio Chen via the PX4 repository
	 (2015-01-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_exti_gpio.c:  Disabling any of EXTI 5-9
	  interrupts was disabling interrupts for all EXTI 5-9. Same issue with
	  EXTI 10-15.  From Jussi Kivilinna (2015-01-27).
	* arch/arm/src/stm32/stm32_rtcc.c and Kconfig:  Recent changes to
	  stm32_rtcc.c do not compile with STM32L15XX configurations.  From
	  Jussi Kivilinna (2015-01-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/local:  Add initial support for local, Unix domain sockets.
	  Initial support is limited to SOCK_STREAM and is untested on
	  initial commit (2014-01-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/iob, net/tcp/tcp_callback.c, and include/nuttx/net/iob.h:  There
	  were issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS was
	  enabled:  There is a possibility of deadlocks in certain timing conditions.
	  I have not seen this with the Tiva driver that I have been users but
	  other people claim to see the issue on other platforms.  Certainly it
	  is a logic error:  The network should never wait for TCP read-ahead
	  buffering space to be available.  It should drop the packets
	  immediately. This was fixed by duplicating most of the IOB interfaces:
	  The versions that waited are still present (like iob_alloc()), but now
	  there are non-waiting versions of the same interfaces (like
	  iob_tryalloc()).  The TCP read-ahead logic now uses only these non-
	  waiting interfaces (2015-01-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/tcp/tcp_send_buffered.c and tcp_wrbuffer.c: Fix another deadlock
	  condition.  tcp_write_buffer_alloc() calls sem_wait() with network
	  locked.  That worked if CONFIG_NET_NOINTS was not defined because
	  interrupts are automatically restored when the wait happens.  But
	  with CONFIG_NET_NOINTS=y, the wait blocks with the network locked --
	  bad style and also can lead to a deadlock condition (2015-01-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_memcpy.S and arch/arm/src/armv7-m/up_memcpy.S:
	  ARM assembly language memcpy.S's were not returning a value in R0 they
	  are required to do.  From David Sidrane (2015-01-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/local:  Extend Unix domain socket support to include support
	  for datagram Unix domain sockets (2015-01-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/socket/accept.c:  Fix a major TCP bug introduced with commit
	  e71c09ce9777ff732cb60bd07fb43d85522f79d6.  Some connection logic was
	  reordered; setting the socket as 'connected' got moved to BEFORE the point
	  where the check was made if the socket was already connected.  The
	  resulting behavior was odd:  Telnet would connect, but then when you
	  exit and reconnect, it would fail to connect.  But then if try again, it
	  would connect okay. So the symptom was connect-fail-connect-fail-...
	  (2015-01-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/socket/net_poll.c, recvfrom.c, and udp/udp_callback.c: Add UDP
Gregory Nutt's avatar
Gregory Nutt committed
	  read-ahead support.  This enables support for for poll/select on UDP
	  sockets and also non-blocking UDP sockets.  From Macs N (2015-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/local/local_netpoll.c, socket/net_poll.c, and udp/udp_netpoll.c:
	  Separate out UDP poll logic from net_poll.c into a new udp_netpoll.c;
	  Create a skeleton local_netpoll (2015-01-30).
	* net/socket/net_poll.c and tcp/tcp_netpoll.c: Separate TCP poll logic
	  out of net_poll.c and move it into the new tcp_netpoll.c (2015-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/efm32/efm32_clockconfig.c: Logic to unconditionally enable
	  LE clocking. Even you don't use core clock LE as source for LFA or LFB,
	  to read are write any register not clocked by HFPERCLK or HFCORECLK,
	  HFCORECLKLE should be enabled.  From Pierre-noel Bouteville (2015-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/net/slip.c: SLIP interface improvements.  From Macs N
	  (2015-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* clock_systimespec():  Fixes for compilation errors in certain
	  configurations.  From Macs N.
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/pipes/fifo.c, include/nuttx/fs/ioctl.h, and net/local/local_fifo.c:
	  Fix a race condition between FIFO buffer operations and the opening and
	  closing of FIFOs which necessary when the FIFOs are used to support
	  Unix domain, datagram sockets.  The default policy is the deallocate
	  FIFO buffering when the last client closes the pipe.  When when used
	  for datagram communications, packets left in the FIFO will be lost.
	  Some like UDP read-ahead is needed:  The buffered data in the FIFO
	  needs to be retained until the reader gets a chance to re-open the
	  FIFO.  Added an ioctl (PIPEIOC_POLICY) to control the buffer policy.
	  Default (0) is the legacy behavior; Unix domain datagram logic sets
	  the alternative policy so that the packet data persists after the FIFO
	  is closed (2015-01-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/local:  Add configuration options so that Unix domain stream and
	  datagram support can be separately enabled (2015-01-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/fs_unlink.c and include/nuttx/fs/fs.h: Add an unlink method to
Gregory Nutt's avatar
Gregory Nutt committed
	  both the character and block driver interface.  This is important
	  because if the driver inode is unlinked and there are no open references
	  to the driver, then the driver resources will be stranded.  On the unlink
Gregory Nutt's avatar
Gregory Nutt committed
	  call, the driver has the opportunity (1) check if there an any open
Gregory Nutt's avatar
Gregory Nutt committed
	  references, and if not, (2) free the driver resources (2015-01-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/pipes:  Implement the unlink method.  If the pipe/FIFO is
	  unlinked, it will marked the pipe/FIFO as unlinked.  If/when all open
	  references to the driver are closed, all of the driver resources will
	  be freed (2015-01-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/avr: Added architecture support for the Atmel AVR ATMega1284P
	  MCU.  From Jedi Tek'Unum (2015-01-31).
	* configs/moteino-mega: Added support for the LowPowerLab MoteinoMEGA
	  that is based on the Atmel AVR ATMega1284P MCU.  From Jedi Tek'Unum
	  (2015-01-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* EFM32 RTC:  RTC driver using BURTC. From Pierre-Noel Bouteville
	  (2015-02-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/ramdisk.c, include/nuttx/fs/ramdisk.h, and other files:  Add
Gregory Nutt's avatar
Gregory Nutt committed
	  logic to dispose of the driver and RAM buffer when the RAM disk has
Gregory Nutt's avatar
Gregory Nutt committed
	  been unlinked and all open references to the RAM disk have been
	  closed.  Add new parameters to romdisk() to specify what should be
	  done with the RAM/ROM buffer -- Should it be freed or not?  Changed
	  all calls to ramdisk() to use these new parameters (2015-02-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_neighbor.c, icmpv6_notify.c (and other files): Adds
	  basic logic to support verification that we have the IPv6 address in
	  the Neighbor Table.  This feature is important because otherwise the
	  first packet sent to a remote peer will fail (it will be replaced
	  with a Neighbor Solicitation) (2015-01-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/arp/arp.h, arp_notify.c, and arp_send.c: Fixes another
	  CONFIG_NET_NOINTS issues.  When called sem_timedwait() with the
Gregory Nutt's avatar
Gregory Nutt committed
	  network locked, the network stays locked while we wait which is not
Gregory Nutt's avatar
Gregory Nutt committed
	  what we want (without CONFIG_NET_NOINTS, interrupts are re-enabled
	  while we wait and all is well) (2015-02-02).
	* net/icmpv6/icmpv6.h, icmpv6_neighbor.c, icmpv6_notify.c: Apply the
	  same fix as for ARP to the Neighbor Solicitation logic (2015-02-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/sched/sched_timerexpiration.c, Kconfig, and include/nuttx/arch.h:
	  On my platform I have just 16-bit timer clocked at 32kHz. As result
	  oneshot timer max delay is 2s. The patch adds limit of maximum ticks
	  in sched_timer_start(). From Macs N (2015-02-03).
	* arch/arm/src/sam34:  Add support for Tickless mode of operation for
Gregory Nutt's avatar
Gregory Nutt committed
	  the SAM4CM platform.  From Macs N (2015-02-03).
	* include/nuttx/net/icmpv6.h and net/icmpv6/Kconfig: Add support for
	  sending ICMPv6 Router Solicitation and receiving Router advertisement.
	  This is a part of the ICMPv6 auto-configuration logic is still not
	  complete (2015-02-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* libnx/nxfonts/nxfonts_getfont.c and nxfonts_sans39x48.h: Fixes a
	  problem with one of the font files.  From Pierre-noel Bouteville
	 (2015-02-03).
	* arch/arm/src/efm32/efm32_rtc_burtc.c:  Remove a misbehaving assertion.
	  From Pierre-noel Bouteville (2015-02-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6:  Implemented the ICMPv6 Autonomous Auto-Configuration
	  logic.  This is an IPv6 alternative to DHCP.  It obtains the IPv6
	  addresses and masks using ICMPv6 Router Solicitation and
	  Advertisement messages (2015-02-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_aes.c, stm32_aes.h, and
	  chip/stm32l15xxx_aes.h:  Add driver for STM32L162XX AES peripheral.
	  From Juha Niskanen (2015-02-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_radvertise.c, Kconfig, and other files: Add option
	  to send Router Advertisement Messages (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_input.c, arch/arm/src/tiva/tm4c_ethernet.c, and
	  stm32/stm32_eth.c: Add logic to behave like a router (if so
	  configured):  NuttX will not send the router advertisement message
	  in response to any router solicitation messages (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f4discovery/ipv6 and arch/arm/src/stm32/stm32_eth.c: Add
	  an IPv6 configuration for the STM32F4-Discovery board (with the
	  STM32-DISCO_BB base board).  Verify that the STM32 Ethernet driver
	  works with IPv6 (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_input.c and icmpv6_rnotify.c:  With these two
	  changes both ICMPv6 autonomous autoconfiguration and router
	  functionality appear to be working with no problems (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva and configs/tm4c123g-launchpad:  Adds support for
	  TM4C123G timers; integrates with the TM4C123G Launchpad.  From Calvin
	  Maguranis (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arc/arc/src/tiva/tiva_adc.c and .h: Adds a Tiva ADC driver.  From
	  Calvin Maguranis (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* tmv4c123g-launchpad:  Add Tiva ADC support to the TM4C123G-Launchpad.
	  From Calvin Maguranis (2015-02-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_spi.c: The source clock for SPI 4,5, and 6
	  should be PCLK2, not PCLK1 (for F411, F427, and F429).  Per David
	  Sidrane (2015-02-07).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/syslog/syslog_console.c, include/nuttx/syslog/syslog_console.h,
	  and the console device initialization logic for all architectures: Add
Gregory Nutt's avatar
Gregory Nutt committed
	  an option to use the syslog'ing device as the system console.  This
Gregory Nutt's avatar
Gregory Nutt committed
	  option enables a low-level, write-only console device at /dev/console
	  (similar to the low-level UART console device).  From Pierre-noel
	  Bouteville (2015-02-08).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/utils:  Clean up and consolidate some clunky stuff in ARP and
	  ICMPv6 time waiting logic by adding new net_timedwait() function
	  (2015-4-09).
	* arch/arm/src/stm32/stm32_eth.c: Add logic so that STM32 Ethernet
	  driver can avoid interrupt level processing and, instead, execute on
	  the work thread (2015-4-09).
	* configs/stm32f4discovery/netnsh and ipv6: Convert all STM32F4-
	  Discovery configurations (with base board) to configure the Ethernet
	  driver to use the work queue (vs. interrupt level processing)
	  (2015-4-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/unisted/lib_execl.c:   Fix bad logic in counting the number of
	  arguments.  This could never have worked.  Noted by Pierre-noel
	  Bouteville (2015-4-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_emacb.c: Add support for Multicast address
	  matching and IPv6 in the SAMA5D4 Ethernet driver (2015-02-09).
	* configs/sama5d4-ek/ipv6: Add a configuration for testing IPv6 with
	  the SAMA5D4-EK (2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_doirq.c: ARMv7-A interrupt handler should not
	  automatically re-enable interrupts on interrupt return.  That
	  interferes with the driver's ability to manage interrupts (2015-02-09).
	* arch/arm/src/sama5/sam_emacb.c: Add support for CONFIG_NET_NOINTS in
Gregory Nutt's avatar
Gregory Nutt committed
	  the SAMA5D4 Ethernet driver so that the driver can operate from the
	  work queue thread instead of doing everything from the interrupt level
	  (2015-02-09).
	* SAMA5D4-EK: CONFIG_NET_NOINTS is now enabled in the nsh and ipv6
	  configurations (2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/a1x, arm, c5471, common, dm320, imx, lpc2378, lpc31xx,
	  sama5, str71x, hc/src.common, sh/src/common, x86/src/common,
	  z16/src/common, z16f, z80/src/z8: Big, very risky change:  Remove all
	  occurrences of up_maskack_irq() that disable and enable interrupts
	  with up_ack_irq() that only acknowledges the interrupts.  This is only
	  used in interrupt decoding logic.  Also remove the logic that
	  unconditionally re-enables interrupts with the interrupt exits.  This
	  interferes with the drivers ability to control the interrupt state.
	  This is a necessary, sweeping, global change and unfortunately
Gregory Nutt's avatar
Gregory Nutt committed
	  to test (2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* mtd/ramtron.c:  Table of parts is not terminated properly if
	  CONFIG_RAMTRON_FRAM_NON_JEDEC is not defined.  Noted by David
	  Sidrane (2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sam34/sam_emac.c, sama5/sam_emaca.c, and sama5/sam_gmac.c:
	  Clone the SAMA5D4 IPv6 support to the SAM4E EMAC and SAMAd3 EMAC and
	  GMAC drivers  (2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/:  Lots of build problems introduced into multiple NIC support.
	  Many places where conditional logic based on CONFIG_NETDEV_MULTINIC is
	  confused with CONFIG_NET_MULTILINK.  Lots of code changed with IPv6
	  that was never compiled with MULTINIC enabled.  Still some problem
	  with parameter passing in the MULTINIC configuration(2015-02-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/iob/Kconfig: In IOB Configuration, the default number of IOB
	  chains must be more than zero is UDP read-ahead is enabled (2015-02-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/tcp/tcp_conn.c and udp/udp_conn.c: Fix several build errors/warning
	  with IPv4 + IPv6 + multiple networks are enabled (2015-02-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sam34/sam_emac.c: SAM4 Ethernet driver bow supports
	  operation using the high priority work queue so that packet processing
	  can occur outside of interrupt level processing (2015-02-10).
	* SAM4E-EK: The nsh configuration now configures the Ethernet driver
	  for execution on the HP work thread (2015-02-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc17xx/lpc17_ethernet.c: Add IPv6 support to the LPC17
	  Ethernet driver.  Untested... I no longer have a proper environment
	  for LPC17 debug (2015-02-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/netinet/in.h and libc/net/lib_addrconfig.c: Some extensions
Gregory Nutt's avatar
Gregory Nutt committed
	  to netinet/in.h adding some Linux compatible definitions.  From Macs N
Gregory Nutt's avatar
Gregory Nutt committed
	  (2015-02-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/kl:  Add architectural support for the K26Z128VLH4 chip.
	  From Derek B. Noonburg (2015-02-11).
	* configs/freedom-kl26z: Add board support for the Freedom KL26Z board.
	  From Derek B. Noonburg (2015-02-11).
Gregory Nutt's avatar
Gregory Nutt committed
7.9 2015-04-14 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed

	* arch/arm/src/tiva:  Add support for the TM4C1294.  Contributed by
	  Frank Sautter (2015-02-11).
	* configs/tm4c1294-launchpad:  Add support for the TM4C1294 Launchpad.
	  Contributed by Frank Sautter (2015-02-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* gettimeofday():  Move gettimeofdady() from sched/clock to libc/time.
	  Remove gettimeofday() from NuttX system calls.  It is only a wrapper
	  around clock_settime() and does not need a trap.  gettimeofday() is
	  no longer treated as a core OS interface (2015-02-12).
	* settimeofday(): gettimeofday has been decrecated in POSIX 2008.
	  settimeofday() was never part of POSIX, but I decided to add it to
	  libc as well just for symmetry (2015-02-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/sensors/mpl115a.c and include/nuttx/sensors/mpl115a.h: Add
	  driver for the Feescale MPL115A baramoter.  From Alan Carvalho de
	  Assis (2015-02-12).
	* configs/viewtool-stm32f107:  Add support for an optional, add-on
	  Freescale MPL115A baramoter.  From Alan Carvalho de Assis
	  (2015-02-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/clock/clock_systimer.c: Fix a problem in clock_systimer64 that
	  occurs when (1) the 64-bit system time is enabled, and (2) the value
	  of CONFIG_USEC_PER_TICK is less than 1 milliseconds (such as when using
	  the tickless mode of operation).  In that case, the conversion of time
	  to 64-bit millisecond value in clock_systmer64() causes some bad times
	  to be returned.  Time was converted to milliseconds, then to configured
	  ticks.  Precision was lost in the millisecond conversion. The fix is
	  to first convert time to a 64-bit microsecond value, then to the
	  configured tick value. Noted by David Sidrane (2015-02-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/rtc.h, arch.h, and arch/*/src/*_rtc.h: Removed all of the
	  old, malformed RTC interface definitions from include/nuttx/rtc.h.  The
	  necessary prototypes have been removed, renamed, scattered to the wind,
	  hidden under rocks, -- whatever it takes to make it clear that there is
	  no RTC interface callable from application code (2015-02-13).
	* include/nuttx/rtc.h and fs/ioctl.h:  Begin the definition of a proper,
	  driver based RTC interfaces that is better suited to the architectural
	  goals of nuttx (2015-02-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/timers/timer.c and watchdog.c: Move timer-related drivers from
	  drivers/ to drivers/timers (2015-02-13).
	* drivers/timers/rtc.c:  Add an RTC upper half driver.  This is the driver
	  that is documented in include/nutt/rtc.h (2015-02-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_rtcc.c and stm32_rtc.h: Break out a new internal
	  interface, stm32_rtc_setdatetime().  This eliminates some un-necessary
	  time conversions.  From Freddie Chopin (2015-02-13).
	* arch/arm/src/stm32/stm32_rtc_lowerhalf.c, Make.defs, and stm32_rtc.h: Add
	  a skeleton implementation of the RTC lower half interface at
	  arch/arm/src/stm32/stm32_rtc_lowerhalf.c.  This is just the framework for
	  the RTC lower half.  None of the interface methods have yet been
	  implemented (2015-02-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmpv6/icmpv6_advertise.c and icmpv6_solicit.c:  Add inclusion of
	  nuttx/net.h to two files.  Without these there can be compilation errors
	  in certain configurations.  From Max Neklyudov (2015-02-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/net_initialize.c, sched/init/os_start.c, and a few other files:
	  Divide net_intiialize() into net_setup() and net_initialize() to solve
	  a chicken-and-egg problem.  net_setup() must be called before
	  up_initialize() is called so that networking data structures are ready
	  to register new network devices.  net_initialize() now does only timer
	  related operations and is called AFTER up_initialize() where the timers
	  are configured.  Problem note by Max Neklyudov (2015-02-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/time.h and sys/time.h: Move struct timeval from include/time.h
	  to include/sys/time.h where it belongs (2015-02-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_rtcc.c, stm32_rtc.h, and Kconfig: Extend the
	  RTC interface to support reading subseconds.  From Jussi Kivilinna
	  (2015-02-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/efm32/efm32_usbdev.c: EFM32 USB Device is now basically
	  functional with this change.  From Pierre-noel Bouteville (2015-02-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/net/ip.h:  Move macros and common logic for IPv4-mapped
	  IPv6 addresses from files in net/ to include/nuttx/ip.h.  These are
	  currently only used for UDP, but will need to be be used in many places
	  in the future (2015-02-17).
	* includes/nuttx/compiler.h:  Add support for the restrict keyword
	  (2015-02-17).
	* include/netdb.h:  Add a mostly-commented-out version of the standard
	  netdb.h header file (2015-02-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/:  Updated files to allow for ADC triggering by the
	  timer. I’ve cleaned up some parts of the ADC code, too, and fleshed
	  out the PWM triggering ioctl.  From Calvin Maguranis (2015-02-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/tm4c123g-launchpad: Add ADC support.  From Calvin Maguranis
Gregory Nutt's avatar
Gregory Nutt committed
	  (2015-02-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fat/fs_mkfatfs.c:  Use DMA memory for mkfatfs when needed. This makes
	  mkfatfs use fat_dma_alloc() when CONFIG_FAT_DMAMEMORY is set. This is
	  needed to ensure mkfatfs operates with boards that use DMA for microSD.
	  From Andrew Tridgell via the PX4/NuttX repository (2015-02-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/rtc.h, fs/fs.h, drivers/ramdisk.c, pipes/, and
	  timers/rtc.c: The inode unlink method should not be support if
	  operations on the root pseudo-filesystem are disabled (2015-02-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/sched timing functions:  Fix some nanosecond comparisons.
	  Comparisons should be greate than OR EQUAL TO 1000000000 for maximum
Gregory Nutt's avatar
Gregory Nutt committed
	  value of nanoseconds in struct tm.  From Juha Niskanen (2015-02-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* tm4c123g-launchpad: Add board button interrupt logic.  From Calvin
	  Maguranis (2015-02-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* "Tiva: Move GPIO prototypes out of arch/arm/include/tiva/irq.h to
Gregory Nutt's avatar
Gregory Nutt committed
	  arch/arm/tiva/tiva_gpio.h where they belong (2015-02-20).
	* arch/arm/src/tiva: Tiva GPIO clean-up by Calvin Maguranis (2015-02-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_pwr.c, stm32_pwr.h, and stm32_rtcc.c: Changes
	  to support fully write protecting the backup domain. N.B.
	  stm32_pwr_enablebkp did not account for the delay from enable to the
	  domain being writable. The KISS solution is a up_udelay. A more
	  complex solution would be a negated write test with restore.  From
	  David Sidrane (2015-02-21).
	* arch/arm/src/stm32/stm32_bbsram.c, stm32_bbsram.h, Kconfig, and
	  Make.defs: Adds the ability to use the STM32F2 and STM32F4 Battery
	  Backedup SRAM in the file system. With an option to Save Panic
	  context to one of the files. From David Sidrane (2015-02-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/pic32mx-starterkit:  Rename from pic32-starterkit to make
	  room on the namespace for a pic3mz-starterkit.  Update src/ directory
Gregory Nutt's avatar
Gregory Nutt committed
	  file naming to match current standard.  Refresh configurations.  Move
Gregory Nutt's avatar
Gregory Nutt committed
	  linker scripts to a new scripts/directory.  Make sure that it builds
	  using the Pinquino toolchain (2015-02-21).
	* arch/mips/src/mips32/Toolchain.mk: Current Pinguino toolchain uses
	  the prefix p32- instead of mips- (2015-02-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/pic32mz-starterkit: Add basic board support for the PIC32MZ
	  (can't build yet of course because there is not yet any PIC32MZ
	  support) (2015-02-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/mips/src/pic32mz and include/pic32mz:  Add some PIC32MZ header
	  file definitions and just enough logic in the source directory so
	  that we can run 'make menuconfig'.  Still a very long way from being
	  complete (2015-02-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib/lib_sfrtime.c:  Missing implementation of %C in
	  sfrtime() C (was being treated as %y).  From Freddie Chopin
	  (2015-02-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/can.c: In the can_open function: this line
	  'dev->cd_ocount = tmp;' needs to be moved a few lines down otherwise
	  the open count will only be incremented from 0 to 1. This causes
	  problems when trying to open the can bus from two different tasks.
	  SourceForge Patch #46 from Anonymous (2015-02-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* Tiva TM4c1294: Updates from Frank Sautter (2015-02-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/aio: correct some backward tests in aio_read() and aio_write():
Gregory Nutt's avatar
Gregory Nutt committed
	  Socket descriptors have higher numbers than file descriptors.  In
	  aio_contain(),  Copy u.ptr (void *) when initializing aioc and not
	  the case specific u.aioc_filep.  From Michal Ulianko (2015-02-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/pthread.h: Fix PTHREAD_COND_INITIALIZER (2015-02-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/clock/clock_systimespec.c:  When an RTC is used clock_systimespec()
	  must subtract the basetime from the returned time.  It needs to
	  return the time since power up, no the current time.  Issue noted
	  by Max Neklyudov (2015-02-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/fs_select.c and sched/semaphore/sem_timedwait.c: Fix places
	  where the errno value was being overwritten by subsequent actions so
	  that the returned errno value was incorrect.  From Max Neklyudov
	  (2015-02-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/sys/select.h: Extend the fd_set type definition so that it
	  can handle more than 32 descriptors (if so configured).  From Max
	  Neklyudov (2015-02-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/netdev/netdev_unregister.c:  Fix a list handling error in
	  netdev_unregister().  From Max Neklyudov (2015-02-27).
	* net/netdev/netdev_register.c: Improve the network device registration
	  logic.  When multiple link types are used, modify how each interface
	  number is assigned to the device name by incrementing the device
	  number individually for each interface link type.  From Max Neklyudov
	  (2015-02-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/board.h:  Remove common board function prototypes from
	  other files and consolidate them in this new header file (2015-02-27).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/mips/src/pic32mz/: Implement support IO port interrupts
	  (2015-03-01).
	* configs/pic32mz-starterkit/src: Add support for on-board buttons
	  (2015-03-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/spi/spi.h:  Add an SPIDEV_USER so that there can be
	  board-specific definitions of SPI devices (2015-03-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32 and arch/arm/src/stm32: Adds architecture support
	  for the STM32F372 and F373 (no board support yet). Only tested on
	  STM32F373CC, but should work on the rest.  Contributed by  Marten
	  Svanfeldt (2015-03-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/mips/src/pic32mz/pic32mz-spi.c and chip/pic32mz-spi.h:  Add
	  support for a basic SPI driver for the PIC32MZ (2015-03-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/i2c.h:  Add a user provided void * argument to the
	  I2C callback method for the I2C slave interface.  Suggested by
	  Nate Weibley (2015-03-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* crypto/, include/nuttx/crypto, and arm/src/common/up_initialize.c:
	  Fix issues when AES support was added for the STM32L1.  From Juha
	  Niskanen (2015-03-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_spi.c and .h: Add missing SPI callback
	  functions to the STM32 SPI driver.  From Freddie Chopin (2015-03-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/*/src/*/*_assert.c, configs/Kconfig, and include/nuttx/board.h:
	  Add support for dumping board-specific information on assertion.
	  From David Sidrane (2015-03-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/spi/Kconfig: Add missing CONFIG_SPI_CALLBACK selection.  Noted
	  by Freddie Chopin (2015-03-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/samv7 and include/samv7:  Add basic build directories
	  and configuration logic for the Atmel SAMV7 family (2015-03-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/Makefile, armv7-m/Toolchain.defs: Make ARM build system
	  Cortex-M7 ready (2015-03-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sam34/sam_start.c:  Leverage start-up logic from STM32
	  to (1) Enable the FPU and (2) perform IDLE stack coloration
	  (2015-03-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-m/up_lazyexception.S, Kconfig and severl other
	  files:  Add support for lazy FPU state saving.  Not yet verified.
	  (2015-03-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/Kconfig, Make.defs, sam_start.c, configs/Kconfig,
	  samv71-xult: Add a bare bones framework that will do nothing more than
	  support configuration for the Atmel SAMV71 Xplained Ultra board.  Very
	  much a work in progress (2015-03-06).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/mqueue/mq_timedsend.c:  Should not check for valid time if
	  there is space in the message queue.  Noted by Freddie Chopin
	  (2015-03-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva/tiva_timerlib.c:  Fix a typo in peripheral wait
	  logic:  gptm, not gpio.  From Bradley Noyes (2015-03-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/net/tun.c, Make.defs, include/nuttx/net/net.h, tun.h, and
	  net/Kconfig: Add TUN device.  From Max Neklyudov (2015-03-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fat/fs_fat32.c: fat_unbind() was accessing 'fs->fs_sem' after
	  freeing the 'fs' struct. From Juha Niskanen (2015-03-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/procfs/fs_procfsproc.c: fs_procfsproc: Fix potential NULL pointer
	  dereference of 'node'.  From Juha Niskanen (2015-03-12).
	* sched/sched/sched_waitpid.c: Do not use uninitialized boolean in
	  waitpid().  From Juha Niskanen (2015-03-12).
	* libc/stdio/lib_ungetc.c:Fix NULL pointer dereference in ungetc().
	  If 'stream' was NULL, 'stream->fs_oflags' was evaluated.  From Juha
	  Niskanen (2015-03-12).
	* arch/arm/src/stm32/stm32_i2c.c: Add missing NULL check.  From Juha
	  Niskanen (2015-03-12).
	* drivers/usbdev/usbmsc_scsi.c: Add NULL pointer check.  From Juha
	  Niskanen (2015-03-12).
	* drivers/bch/bchdev_driver.c: Avoid NULL pointer dereference when
	  bch->refs  == 255.  From Juha Niskanen (2015-03-12).
	* arch/arm/src/armv7-m/mpu.h:  Bad syntax in ARMv7-M MPU logic would
	  cause failure to write the correct value to the MPU_RASR register.
	  From Juha Niskanen (2015-03-12).
	* net/socket/net_dupsd.c: Do not call sockfd_socket() twice.  From
	  Juha Niskanen (2015-03-12).
	* arch/arm/src/stm32/stm32_usbdev.c: Fix stale initialization
	  invalidating later NULL check.  From Juha Niskanen (2015-03-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_serial.c and chip/stm32f10xxx_dma.h: Fix
	  RX DMA setup for UART5.  From  Jussi Kivilinna (2015-03-13).
	* arch/arm/src/stm32/stm32_serial.c: Make input hardware flow-control
	  work with RX DMA.  From Jussi Kivilinna (2015-03-13).
	* drivers/pipes/pipe_common.c: Fix zero-lenth writes to pipes/FIFOs.
	  From Jussi Kivilinna (2015-03-13).
	* drivers/serial/serial.c: Report correct number of bytes free in
	  serial buffer with FIONWRITE.  From Sami Pelkonen via Jussi Kivilinna
	  (2015-03-13).
	* drivers/mmcsd/mmcsd_spi.c: Debugging and manuals (this one
	  https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf
	  and this one https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf)
Gregory Nutt's avatar
Gregory Nutt committed
	  shows that ACMD23 must be preceded with CMD55 command as any other
Gregory Nutt's avatar
Gregory Nutt committed
	  ACMD commands. Also, after the block reading wait loop must be
	  inserted before writing the next block of data to the sd card.  From
	  Dmitry Nikolaev via Jussi Kivilinna (2015-03-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/efm32/efm32_i2c.c:  Add I2C driver.  From Pierre-noel
	  Bouteville (2015-03-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/mount/, include.sys/mount, syscall/:  Add umount2().  umount() is
	  now a macro that just calls umount2() with flags = 0 (2015-03-14).
	* fs/mount/fs_umount2.c, all file systems, include/nuttx/fs/fs.h:  Pass
	  the umount2() flags to every unbind() implementation.  That is where
	  the decision to umount or not will be made (2015-03-14).
	* fs/fat/fs_fat32.c: Fix a bug in the FAT unbind() logic.  There were
	  problems with the way certain internal list handling was implemented.
	  The end result is that newly opened or cloned file structures were
	  never being added to the list of open files.  So when the unmount()