Skip to content
ChangeLog 590 KiB
Newer Older
Gregory Nutt's avatar
Gregory Nutt committed
	  happens, it always looked like there were not open files and a crash
	  could ensue (2015-03-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fat/fs_fat32.c and fs_fat32.h: Add support for umount2(target,
	  MNT_FORCE) in the FAT file system (2015-03-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/mmcsd/mmcsd_sdio.c:  Fix some bad logic when file system debug
	  is turned on:  Arguments to syslog were missing so that garbage was
	  being printed (2015-03-15).
	* arch/arm/src/sama5/sam_hsmci.c:  Fix a bug in SAMA5 HSMCI.  The
	  bitfield mask and shift values were reversed resulting in a trashed
	  value for the number of blocks in the BLOCKR register.  This was
	  sufficient to prevent DMA writes from working (2015-03-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/mtd/at24xx.c, Kconfig, and include/nuttx/fs/ioctl.h:  Add
	  support for (1) the byte-oriented read() method, (2) devices that
	  have extended memory regions, and (3) devices that use 8-bit
	  addressing (2015-03-17).
	* arch/mips/src/mips32/Kconfig, Toolchain.defs, and
Gregory Nutt's avatar
Gregory Nutt committed
	  configs/pic32mz-starterkit/nsh/Make.defs:  Changes that will permit
Gregory Nutt's avatar
Gregory Nutt committed
	  building of the PIC32MZ Start Kit configuration using MPLAB and the
	  XC32 toolchain.  From David Sidrane (2015-03-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_rtc_lowerhalf.c:  Fix some errors in the
	  STM32 RTC lower-half driver that cause compilation failures.  From
	  shilo.xyz (2015-03-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/chip/sam_tc.h: Fix typos in timer/counter header
	  file.  From Bob Doiron (2015-03-20).
	* configs/olimexino-stm32: Board support for the Olimexino STM32 board
	  from David Sidrane (2015-03-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* PIC32MZ:  Incorporated a set of patches that makes the basic NSH
	  configuration on the PIC32MZ Starter Kit.  From Kristopher Tate
	  (2015-03-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/tiva: (1) ADC driver has been re-organized; configuration
	  is now handled in code instead of Kconfig to help reduce bloat and
	  confusion. (2) Timer changed to remove ADC coupling in Kconfig to code
	  and moved configuration up from arch/arm/src/tiva to
	  configs/tm4c123g-launchpad/src. (3) GPIO driver needed small fixes in
	  the configuration routines and discovered false-positive bugs in
	  interrupt testing: interrupts are now verified to actually be working
	  reliably. (4) Attempt to apply some consistency in the tiva arch/
	  level's interface to the config/board/ level driver configuration.
Gregory Nutt's avatar
Gregory Nutt committed
	  From Calvin Maguranis (2015-03-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/mips/src/pic32mz: Various fixes for Ethernet support.  Still
	  not fully functional.  From Kristopher Tate (2015-030-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-m:  Add configuration option and logic to support
	  the D-Cache in write-through mode (2015-03-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/Kconfig, stm32_lse.c, stm32_lsi.c, stm32_rtc.c/.h,
	  stm32_rtcc.c, stm32_rtcounter.c, and stm32f*_rcc.c: The
	  STM32F4Discovery board doesn't come with a Low speed external
	  oscillator so the default LSE source for the RTC doesn't work. In
	  stm32_rtcc.c the up_rtcinitialize() logic doesn't work with the LSI.
	  The check on RTC_MAGIC on the BK0R register lead to rtc_setup() call
	  that rightfully enables the lsi clock; but the next times, when the
	  rtc is already setup, the rtc_resume() call does NOT start the lsi
	  clock! The right place to put LSE/LSI initialisation is inside
	  stm32_stdclockconfig() in stm32fxxxxx_rcc.c.  Doing this I checked
	  the possible uses of the LSI and the LSE sources: the LSI can be used
	  for RTC and/or the IWDG, while the LSE only for the RTC (and to output
	  the MCO1 pin). This change is not verifed for any other platforms.
	  From Leo Aloe3132
Gregory Nutt's avatar
Gregory Nutt committed
	* Rename arch_nshinitialize() to board_app_initialize() (2015-03-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* ./*.mk, configs/.gitignore, Makefile, boardctl.c, include/nuttx/fs/ioctl,
	  include/sys/boardctl.h, syscall.h, and syscall/:  Add a new non-
	  standard OS interface called boardctl().  This is similar to a driver
	  IOCTL call.  But this is an IOCTL call directly on the board logic.
	  This function will eventually replace all of the ad hoc OS interfaces
	  that are current used to perform application specific initialization
	  and application driver test configuration.  It essentially formalizes
	  and institutionalizes these rogue interface in to at least a single
	  crazy call (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/: Modify all configurations:  Make sure that
	  CONFIG_LIB_BOARDCTL=y appears wherever CONFIG_NSH_ARCHINIT=y appears.
	  Remove support for CONFIG_NSH_ARCHMAC.  It is not used and there are
	  better ways to do that operation (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/Kconfig, boardctl.c, all touchscreen driver setup functions,
	  include/board.h, include/sys/boardctl.h, and
	  include/nuttx/input/touchscreen.h: arch_tcinitialize() and
	  arch_tcunitinitialize() renamed to board_tsc_setup() and
	  board_tsc_teardown().  These are not long called directly by
	  applications but only indirectly throught the crappy boardctl() OS
	  interface (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/Kconfig, boardctl.c, include/nuttx/board.h, include/sys/boardctl.h,
	  and several ADC files in configs/<board>/src/:  Rename adc_devinit() to
	  board_adc_setup().  Add support to the boardctl() interface so that it
	  can call board_adc_setup() on behalf of an application.  Make sure that
	  the proper features are enabled in the defconfig files that have
	  CONFIG_EXAMPLES_ADC=y (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/*/defconfig:  Make sure that all defconfig files that require
	  external graphics intiialization also enable the correct boarctl()
	  settings (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/board.h, include/sys/boardctl.h, nuttx/configs/Kconfig and
	  boardctl.c, and board configurations and PWM implementations: Rename
	  pwm_devinit() to board_pwm_setup().  Add CONFIG_BOARDCTL_PWMTEST that
	  will enable calling board_pwm_setup() from boardctl().  In all
	  configurations that enable the apps/examples/pwm test, make sure that
	  boardctl() support is properly enabled (2015-03-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/.
	  (2015-04-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/timer/cs2100-cp.c and include/nuttx/timers/cs2100-cp.h: Add a
	  very basic driver for the CS2100-CP Fractional-N Multipler chip (2015-04-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/, graphics/, include/nuttx:  More renaming: up_lcdinitialize->board_lcd_initialize,
	  up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize
	  (2015-04-04).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/nx, libnx/nx, libnx/nxtk: Add a new 'capped' parameter to
	  nx_drawline(), nxtk_drawlinetoolbar(), and nxtk_drawlinewindow()
	  (2015-04-05).
	* libnx/nx/nx_drawline.c, libnx/nxtk/nxtk_drawlinetoolbar.c and
	  nxtk_drawlinewindow.c: Implement line caps by drawing a file circle at
	  the each endpoint of a line with a radius equal to half of the width
	  of the line (2015-04-05).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/time.h, nuttx/time.h, libc/time/lib_dayofweek.c and
	  lib_gmtimer.c: Implements CONFIG_TIME_EXTENDED as we discussed
	  relative to providing the last 3 members of the tm struct and support
	  for filling them in and even using the wday in the STM32 RTC. From
	  David Sidrane.
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c:  A side-effect
	  of changing serial settings via TERMIOS (such as tcsetattr) is that
	  serial interrupts were being left disabled.  This is not a problem if
	  the serial configuration is changed when there are no open references
	  to the serial device.  In that case, serial interrupts are disabled and
	  will not be enabled enabled until the serial device is first opened.
	  But it is fatal if the serial device is already opened and if there is
	  a task waiting to receive data.  In that case, the side-effect of
	  disabling interrupts is fatal:  That task is then left hanging with
	  interrupts disabled (2015-04-08)
	* arch/arm/src/sama5/sam_serial.c:  Backport support for flowcontrol and
	  termios from SAM3/4 -- UNVERIFIED. (2015-04-08).
	* arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c: The IMR
	  register is read-only.  This means that sam_restoreints() did not
	  actually re-enable UART interrupts (2015-04-08).
Gregory Nutt's avatar
Gregory Nutt committed
	* sigaddset() and sigdelset(): Need to set errno if a bad signal number
	  is received (2015-04-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* sighold(), sigrelse(), sigignore(), sigset() and sigpause():  New
	  signal handling functions (2015-04-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* Fixes to asinh(), atanh(), and sinh():  The 'basic' expansions all
	  exhibited bad cancellation errors near zero (<= 1E-10). This can be
	  easily seen e.g. with x = 1E-30, the results are all zero though they
	  should be extremely close to x. The cutoff values (1E-5, 1E-9) are
	  chosen so that the next term in the Taylor series is negligible (for
	  double). Functions could maybe be optimized to use only first term (x)
	  and a smaller cutoff, just bigger than where the cancellation occurs
	  (2015-04-09).
	* syscall/syscall.csv: Last changes to message queue prototypes did not
	  make it into call gate logic (2015-04-09).
	* syscall/syscall_stublookup.c: Fix some errors that crept in recently
	  (2015-04-09).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib_localtime.c: Inconsistent configuration name:
	  CONFIG_LIBC_TZDIR vs CONFIG_LIBC_TZ_TZDIR.  Former wins (2015-04-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib_calendar2utc.c and lib_mktime.c: Fix an error in time
	  initialization when there is not RTC and the time is initialized from
	  a fixed configured value. The call to clock_calendar2utc() was
	  returning the time in units of seconds.  The initialization logic,
	  however, was expecting to get time in units of days.  This problem
Gregory Nutt's avatar
Gregory Nutt committed
	  has been there forever but obviously has not significant impact to
Gregory Nutt's avatar
Gregory Nutt committed
	  behavior in systems where time is not visible (2015-04-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fat/fs_fat32utils.c:  Fix misthink when CONFIG_ENDIAN_BIG=y.  From
	  Lwazi Dube (2015-04-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/net/netdev.h, net/devif/ipv6_input.c,
	  icmpv6/icmpv6_rsolicit.c and net/icmpv6/icmpv6_solicit.c: Use common
	  macro(s) for calculating link layer header length.  From Brennan
	  Ashton (2015-04-13).
	* apps/netutils/pppd/Kconfig, pppd.c, and ntpv3.h (removed):  Remove
	  ntpclient header file in and NTP client references from the pppd
	  dir.  From Brennan Ashton (2015-04-13).
	* configs/galileo: Remove all references to the Galileo board.  That
	  port is not going to happen (I don't even have the hardware anymore)
	  (2015-04-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/input/max11802.c:  Fix possible unmatched IRQ restore.  Noted
	  by Juha Niskanen (2015-04-14).
	* atexit(): Fix reference to undefined variable in certain
	  configurations.  From Juha Niskanen (2015-04-14).
Gregory Nutt's avatar
Gregory Nutt committed

7.10 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed

	* configs/sim/src/sim.h, sim_zoneinfo.c, Makefile, and sim_boot.c: Add
	  logic to test localtime and TZ database.  See apps/system/README.txt
	  for info (2015-04-15).
	* libc/Kconfig: Fix defaults for timezone limits.  They need to be much
	  larger (2015-04-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* Watchdog files:  Fix repeated typo wachog.h in several watchdog
	  drivers (2015-04-15).
	* configs/boardctl.c and Kconfig:  Add missing causing that caused
	  failures of PWM test (2015-04-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32: Defines a second interface for the dma2d controller.
	  Controlling both LTDC and DMA2D was unpractical from the programmers
	  view because both controllers are to different. LTDC only controls the
	  display visibility but the DMA2D controller changes the content of the
	  frame buffer (buffer of the layer).

	  The main features are:

	  1. DMA2D interface
	     Supports the nuttx pixel formats:
	     - FB_FMT_RGB8
	     - FB_FMT_RGB24
	     - FB_FMT_RGB16_565
	     Dynamic layer allocation during runtime for the supported formats
	     - The number of allocatable layer can be configured.
	     Supported dma2d operation:
	     - blit (Copy content from source to destination layer) also works
	       with selectable area.
	     - blend (Blend two layer and copy the result to a destination layer
	       which canbe a third layer or one of the source layer) also works
	       awith selectablerea.
	     - fillarea (Fill a defined area of the whole layer with a specific
	       color)

	  As a result of that the dma2d controller can't transfer data from the
	  core coupled memory, CCM is disabled but usable by the ccm allocator.
	  Currently the ccm allocator is used for allocating the layer structure
	  only. For the dma memory (layers frame buffer) memory is allocated from
	  heap 2 and 3.

	  2. LTDC interface
	     I have changed the api for the currently non implemented operations:
	     - blit (Copy content from a dma2d layer to an ltdc layer) also works with
	       selectable area.
	     - blend (Blend two dma2d layer and copy the result to a destination ltdc
	       layer) also  works with selectable area.

	       Note! ltdc layer is a layer referenced by the ltdc interface. dma2d layer
	       is a layer referenced by the dma2d interface.

	       One of the most important questions for me was, How can i flexible use an
	       ltdc layer with the dma2d interface, e.g. as source layer for dma2d
	       operations?
	       Get the layer id of the related dma2d layer by a special flag when using
	       getlid() function of the ltdc interface and use the layer id to reference
	       the specific dma2d layer by the dma2d interface.

	       The ltdc coupled dma2d layers are predefined and can't be dynamically
	       allocated of freed. They use the same frame buffer memory and the same
	       color lookup table.

	     Changes:
	     - layer internal format of the clut table
	     - interrupt handling for register reload (vertical vblank) instead using
	       waiting loop
	     - small fixes and refactoring
	  From Marco Krahl (2015-04-16).
	* Add support for the new DMA2D features to the STM32F429i-Disco LTDC
	  configuration.  From Marco Krahl (2015-04-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* stdlib.h:  MAX_RAND should be RAND_MAX (2015-04-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* STM32F429i Disco: (1) Fix a bad return value if the LCD driver is already
	  initialized. (2) The LCD driver initialization is now performed during the
	  early boot sequence.  (3) Increased the size of the message queue from 32
	  to 64 in the lcd configuration.  From Marco, ocram.lhark@yahoo.com
	  (2015-04-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* STM23 RTC: Fix an error introduced into stm32_pwr_enablebkp().  That
	  function must preserve the previous state of backup domain access on
	  return (2015-04-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/usb/hub.h: Add USB hub header file from Kaushal Parikh
	  (2015-04-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/usbhost/usbhost_hub.c: Bring in USB hub-related files from
	  https://github.com/kaushalparikh/nuttx.  This is the work of Kaushal
	  Parikh.  This initial commit is incomplete.  This is quite a bit more
	  hub logic that needs to come in before the port is complete
	  (2015-04-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_rtcounter.c: Now need to enable backup
	  domain write access when setting the time.  From Darcy Gong (2015-04-19).
	* include/nuttx/usb/usbhost.h:  Bring in more logic from
Gregory Nutt's avatar
Gregory Nutt committed
	  https://github.com/kaushalparikh/nuttx (2015-04-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/usbhost/usbhost_enumerate.c: Last of USB hub logic from
	  https://github.com/kaushalparikh/nuttx (2015-04-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/time.h:  Add prototypes for localtime() and localtimer_r()
	  (2015-04-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/assert.h: Wrap definitions of assertion macros in do while.
	  Suggested by orbitalfox (2015-04-22).
	* sched/semaphore/sem_wait.c:  Missing comma on debug statement caused
	  compile error with DEBUG on.  Why hasn't that been noted before?
	  (2015-04-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/lcd and include/nuttx/drivers: RA8875 LCD driver contributed
	  by Marten Svanfeldt (2015-04-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_pwr.c and .h: Adds support for STM32's
	  Programmable Voltage Detector (PVD) feature. Register access is behind
	  CONFIG_STM32_ENERGYLITE as the feature has not been verified for
	  F1/F2/F4 etc. manuals. Tested on STM32L1. PVD interrupt looks generic,
	  at least #defines it needs are in headers for every chip variant.  By
	  Dmitry Nikolaev, submitted by Juha Niskanen (2015-04-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_exti.h, stm32f30xxx_memorymap.h, and
	  stm32f37xxx_memorymap.h:  Added missing EXTI definitions for the STM32
	  F3; Correct an error the port D base address in the STM32 F30x and F37x
	  memory maps.  From Greg Meiste (2015-05-01).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc17xx/lpc176x_gpio.c:  Reorder steps when an output
	  GPIO is configured in order to avoid transient bad values from being
	  output.  From Hal Glenn (2015-05-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_otgfsdev.c and stm32_otghsdev.c: Add
	  protection in the event that out-of-bound enpoint numbers are
	  received.  From David Sidrane (2015-05-02).
Gregory Nutt's avatar
Gregory Nutt committed
	* USB host:  Merged in the USB hub support that has been happening on
	  a separate branch up until this point.  The interfaces are complete
	  and most platforms have been verified (still a little to be done
	  however). (2015-05-02)
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc31xx/lpc31_ehci.c, chip.h, sama5/sam_ehci.c, and
	  chip.h:  Fix cache related problem in LPC31 and SAMA5Dx EHCI drivers.
	  All buffers are now aligned with the cache line size in both starting
	  address and in length.  This cause major problems in unlucky builds
	  where the USB host buffers where unaligned and abbutting other data.
	  The cache flush and invalidate operations could be subverted by
	  accesses to adjacent data or could have unexpected side effects.  This
	  bug has been in the ECHI drivers forever, but was only revealed due to
	  unlucky memory allocations during the integration of the hub feature
	  (2015-05-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/lpc17xx/lpc17_usbhost.c:  Correct some initialization of
	  data structures.  When hub support is enabled, it would overwrite the
	  end of an array and clobber some OS data structures (2015-05-03).
	* configs/olimex-lpc1766stk:  Make stacks usage configurable for USB
	  host waiter. It needs to be a lot deeper when hub support is enabled
	  (2015-05-03).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/fs_poll.c: Fix resource leak and memory corruption on poll
	  failure.  From Jussi Kivilinna (2015-05-04).