Skip to content
ChangeLog 556 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).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/procfs/fs_procfs.c:  Add procfs write support.  From Ken Petit
	  (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
	  is intended only to suppport testing of the Tiva I2C driver
	  (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.

7.8 2015-xx-xx 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
	  logic to dispose of the drvier and RAM buffer when the RAM disk has
	  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
	  network locked, the network stays logcked while we wait which is not
	  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
	  an option to use the syslog'ing device as the system consolution.  This
	  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_NOTINTS in
	  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 
	  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).