Newer
Older
happens, it always looked like there were not open files and a crash
could ensue (2015-03-14).
* fs/fat/fs_fat32.c and fs_fat32.h: Add support for umount2(target,
MNT_FORCE) in the FAT file system (2015-03-15).
* 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).
* 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
configs/pic32mz-starterkit/nsh/Make.defs: Changes that will permit
building of the PIC32MZ Start Kit configuration using MPLAB and the
XC32 toolchain. From David Sidrane (2015-03-17).
* 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).
* 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).
* PIC32MZ: Incorporated a set of patches that makes the basic NSH
configuration on the PIC32MZ Starter Kit. From Kristopher Tate
(2015-03-22).
* 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.
* arch/mips/src/pic32mz: Various fixes for Ethernet support. Still
not fully functional. From Kristopher Tate (2015-030-29).
* arch/arm/src/armv7-m: Add configuration option and logic to support
the D-Cache in write-through mode (2015-03-29).
* 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
* Rename arch_nshinitialize() to board_app_initialize() (2015-03-30).
* ./*.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).
* 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).
* 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).
* 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).
* configs/*/defconfig: Make sure that all defconfig files that require
external graphics intiialization also enable the correct boarctl()
settings (2015-03-31).
* 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).
* Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/.
(2015-04-01).
* 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).
* configs/, graphics/, include/nuttx: More renaming: up_lcdinitialize->board_lcd_initialize,
up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize
(2015-04-04).
* 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).
* 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.
* 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).
* sigaddset() and sigdelset(): Need to set errno if a bad signal number
is received (2015-04-09).
* sighold(), sigrelse(), sigignore(), sigset() and sigpause(): New
signal handling functions (2015-04-09).
* 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).
* libc/time/lib_localtime.c: Inconsistent configuration name:
CONFIG_LIBC_TZDIR vs CONFIG_LIBC_TZ_TZDIR. Former wins (2015-04-11).
* 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
has been there forever but obviously has not significant impact to
behavior in systems where time is not visible (2015-04-12).
* fs/fat/fs_fat32utils.c: Fix misthink when CONFIG_ENDIAN_BIG=y. From
Lwazi Dube (2015-04-12).
* 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).
Gregory Nutt
committed
* 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).
* 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).
7.10 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
* 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).
* 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).
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
* 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).
* stdlib.h: MAX_RAND should be RAND_MAX (2015-04-16).
* 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).
* 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).
* include/nuttx/usb/hub.h: Add USB hub header file from Kaushal Parikh
(2015-04-18).
* 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/time.h: Add prototypes for localtime() and localtimer_r()
(2015-04-21).
* include/assert.h: Wrap definitions of assertion macros in do while.
Suggested by orbitalfox (2015-04-22).
Gregory Nutt
committed
* 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).
* drivers/lcd and include/nuttx/drivers: RA8875 LCD driver contributed
by Marten Svanfeldt (2015-04-24).
* 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).
* 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).
* 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).