Skip to content
ChangeLog 543 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 the EMAC
	  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).

7.7 2015-xx-xx 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
	  the Traveler firt person game using the simualtor (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 
	  he stack so that the second call to lib_vsprintf() fails.  This appears
	  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: Drive is code complete but still
	  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.
	  Th problem was fixed by re-initializing the semaphores on the last
	  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 betwen 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
	  of milliseconds.  An alternative is to look the 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 seprate functions tcp_ipv4_input(),
	  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 toi
	  all Ethernet driverss (2015-01-20).
	* arch/ and drivers/net: "Networking:  Modify all Ethernet drivers:
	  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
	  functional when IPv6 is selected.  UDP still requies 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 configruation
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