Newer
Older
* arch/arm/src/kinetis: Added header files defining all Kinetis registers
and bit fields within all Kinetis registers.
* configs/twr-k60n512: Add support for the Kinetis K60 Tower board
(TWR-K60N512).
* drivers/can.c: Fixed a semaphore overflow problem in the CAN driver
(reported by Li Zhouy (Lzzy)).
* 8/18/2011: The basic port to the FreeScale Kinetics TWR-K60N512 board is
now functional.
* confgs/twr-k60n512: Add Kinetics TWR-K60N512 NSH configuration.
* drivers/analog and include/nuttx/analog: Add ADC driver infrastructure
and TI ADS1255 driver developed and submitted by Li Zhouy (Lzzy)).
* arch/arm/stm32/stm32_sdio.h and drivers/mmcsd/mmcsd.c: Add logic to
multiplex usage of the GPIO pins (contributed by Uros Platise).
* configs/twr-k60n512/nsh: Added and verified a NuttShell (NSH)
configuration for the Freescale, Kinetis TWR-K60N512 board.
* arch/arm/src/kinetis/kinetis_sdhc.c: SDHC driver for Kinetis parts.
Initially check-in is just a crude port of the STM32 SDIO driver.
* graphics/, include/nuttx/nx: Add new NX interfaces for drawing
circles -- both circular outlines and filled circles.
* graphic/nxglib/nxglib_spitline.c: Add a "fudge factor" that eliminates
some problems for rendering nearly horizontal, wide lines. Hmm...
but I suspect this fudge factor also leads to new problems rendering
very thin, nearly horizontal lines. More tuning is needed.
* drivers/analog, include/nuttx/analog, arch/arch/src/lpcxx: (1) Add
updates to the ADS1255 driver, (2) fix errors from my last merge (sorry),
(3) Add DAC infrastructure, (4) add AD5410 DAC driver, and (5) add
LPC17xx ADC and DAC drivers. All contributed by Li Zhuoyi (Lzyy).
* tools/mkexport.sh: Extended the script that implements the top-level
'make export' logic. The script now also finds and bundles up all of
the architecture-specific header files as well.
* drivers/arch/arm/src/stm32/stm32_i2c.c: Add a reset to the I2C
initialization logic to prevent spurious interrupts when the I2C
interrupts are enabled (submitted by Uros Platise).
* Scripts/makefiles/documents. Several adjustments, corrections and
typo fixes so that NuttX will build correctly on FreeBSD using the
ASH shell (submitted by Kurt Lidl).
* drivers/mtd/flash_eraseall.c: Add a callable function that accepts
the path to a block driver and then erases the underlying FLASH memory
(assuming that the block driver is an MTD driver wrapped in the FTL
layer). Hmmm... this is probably not the best long term solution;
flash_eraseall() should be a user-callable function that operates
one driver interfaces; not an internal, OS function that operates
on directly on block drivers.
* drivers/bch: Fixed some important bugs in the BCH driver (noted by
Li Zhuoyi (Lzyy)). This would have effected any large reads or writes
(larger than the hardware sector size).
* arch/*/src/Makefile: Use of -print-libgcc-file-name to get path to
libgcc.a may select the wrong libgcc.a if a multilib toolchain (like
CodeSourcery) is used. This can be a serious problem and can cause
crashes on Cortex-M3 if the ARM libgcc is used, for example. The fix
is to include ARCHCPUFLAGS on the gcc command line when asking it to
-print-libgcc-file-name.
* lib/time/lib_gmtimer.c: Correct several calculations that could lead
to errors in dates.
* drivers/pm: Add the beginnings of a NuttX power management sub-system.
* arch/arm/src/stm32/stm32_irq.c: Fix a error introduced in 6.8.
Timeout calculation uses clock_settime() instead of clock_gettime().
Pretty gross error, but actually it works with the side effect of setting
a bad time.
* drivers/mtd/at24xx.c: Driver for I2C-based at24cxx EEPROM submitted by
Li Zhuoyi (Lzyy).
* arch/arm/src/lpc17xx/lpc17_i2c.c: I2C driver for the NXP LPC17xx family
submitted by Li Zhuoyi (Lzyy)
* arch/arm/src/stm32_i2c.c: Correct two issues with the STM32 I2C driver:
(1) Clocking needs to be based on PCLK1, not HCLK and fast speed settings
need some additional bits; and (2) Correct a hang that will occur on
I2C1 if FSMC is also enabled.
* drivers/sensors/lm75.c and include/nuttx/sensors/lm75.h: Add an LM-75
temperature sensor driver.
* configs/stm3210e-eval/src/up_lm75.c: Add support for the LM-75 on the
STMicro STM3210E-EVAL board.
* sched/clock_gettime.c: Correct an error in the tv_nsec calculation
that happens only config CONFIG_RTC is enabled.
* arch/arm/src/stm32/stm32_i2c.c: Correct some bugs related to waiting
* lib/stdio/lib_fopen.c: Fix an error in fopen(); the file pointer was not
being positioned at the end of the file when the "a" and "a+" modes are
used. There are other issues with the "a+" modes (see the top-level TODO
list).
* drivers/usbdev/cdc_serial.c and include/nuttx/usb/cdc.h and cdc_serial.h:
Add support for the CDC ACM serial device class.
* fs/fat/fs_fat32.c: Fix a critical bug in the write logic: It a tiny write
cross a sector boundary, then two sector writes will occur. The first part
in the first sector may be written to the wrong sector number.
* fs/fat/fs_fat32util.c: Fix a stray write into the FAT (always sector 964 on
FAT32). This bug will cause some lost chains. I'm sure this bug could
corrupt files but at present, the only thing I have seen is that before
fixing this bug, the Windows chkdsk utility would report these lost chains.
patacongo
committed
* arch/arm/src/stm32/stm32_i2c.c: Driver can now operate in a faster polled
mode (at the expense of using more cpu cycles).
patacongo
committed
* arch/arm/src/stm32/stm32_i2c.c: Add trace debug capability. Enabled with
CONFIG_I2C_TRACE.
* arch/arm/src/stm32/stm32_i2c.c: Fix another bug where I2C conflicts with FSMC
being enabled. That time at the tail end of the transaction where there is
an unfinished stop condition.
* sched/mq_timedreceive.c and sched/mq_timedsend.c: The count of threads
waiting on the message queues was not being decremented after a timeout.
This would cause the accounting logic to become out of sync and the, perhaps,
an assertion to be triggered. This is an important bug and fixes a
potential crash when using mq_timedreceived() and mq_timedsend().
* sched/mq_sndinternal.c: Related to the above, the send logic was incrementing
the wrong counter when it waited as part of the mq_timedsend.c logic.
* fs/fat: Fix an error in the long file name logic: If the long file name
is an even multiple of 13 bytes in length, then it should not include a
NULL terminating character. Fix contributed by Kaushal Parikh.
* configs/sim/nx11: Created a separate configuration to build the NX
example using the a simulated framebuffer driver on an X11 window. This
example has been verified on Ubuntu 9.09 (it does not work on Cygwin).
* arch/sim/src/up_touchscreen.c and up_x11eventloop.c: Adds support for a
simulated NuttX touchscreen device using mouse/pointer feedback from an
x11 window.
* configs/sim/touchscreen: Adds a configuration to verify the simulated
touchscreen driver (Does not work on Cygwin).
* configs/sam3u/touchscreen: This is the configuration that I plan to use
to verify the SAM3U-EK touchscreen driver. However, as of this writing,
there is no touchscreen driver for the board.
* CONFIG_RTC_HIRES: Add an option to support either a high-resolution RTC
that completely replaces the system timer tick but may overflow and lose
time when the MCU is off and also for a low-resolution (1 sec/tick) RTC
that can run until 2106 with no overflow. But in this latter case, higher
resolution time must come from the system timer.
* CONFIG_SYSTEM_UTC: Removed support for the UTC system timer. It just
doesn't do enough to be worth the CPU cycles or the complexity.
* CONFIG_SYSTEM_TIME16: Added support for an optional 64-bit system timer.
* fs/fat/fs_fat32util.c: Add support for FAT date/time stamps; Enabled via
CONFIG_FS_FATTIME.
* arch/arm/src/sam3u/sam3u_spi.c: Add an SPI driver for the AT91SAM3U.
* drivers/input/ads7843e.c and include/nuttx/input/ads7843e.h: Add a
driver for the TI ADS7843E touchscreen controller.
* fs/nxffs/nxffs_open.c: Fix an error when a file is open for writing; since
the file will get deleted it is already exists, there must be a check if
there are other open references to the file.
* arch/arm/src/stm32/stm32_sdio.c: Fixed an error where during SDHC
initialization interrupts were not being re-enabled. Caused more subtle
errors than you would think.
* arch/arm/src/stm32/stm32_i2c.c: Fixed an error where I2C timeouts appeared
to be successful transfers.
* configs/sim/nsh2: Add another simulated NSH configuration. This one
supports X11 graphics, C++, and exercises graphic functions as built-in
commands.
patacongo
committed
* arch/arm/stm32/Make.defs: Don't build stm32_rtc.c if CONFIG_RTC is not
selected. Doing so will cause errors if other configuration dependencies
patacongo
committed
* configs/stm3210e-eval/src/up_lcd.c: Color corrections for SPFD5408B LCD
do not work with R61580 LCD.
* configs/pic32-starterkit: Beginning of a configuration for the Microchip
PIC32 Ethernet Starter Kit. Hmmm.. I don't have a clue how to test this
with no serial port?!
* lib/stdio/lib_fclose.c: fclose() always returns an error (EOF) when it
closes a read-only file. This is because it calls flush() which will
fail on read-only files. No harm is done other that a bad value is
returned.
* arch/sim/src/Makefile: Correct build issue for sim/nsh2 target. Old
libboard.a was not being cleaned.
* arch/mips/src/pic32mx/pic32mx-gpio*.c: Add GPIO support for the PIC32MX.
* configs/sure-pic32mx/src/up_leds.c and up_buttons.c: Add button and LED
support for the Sure Electronics PIC32MX board.
* configs/ea3152: Add a configuration for the Embedded Artists LPC3152
daughter board (with the same base-board used with configs/ea3131)
* graphics/nxmu/nx_getrectangle.c, graphics/nxsu/nx_getrectangle.c,
graphics/mxtk/nx_getwindow.c, graphics/nxmu/nx_gettoobar.c: New
interfaces to read from graphics memory
* graphics/nxbe/nxbe_bitmap.c: Fix an error in the error handling that
can cause valid bitmaps to fail to render.
patacongo
committed
* include/nuttx/rgbcolors.h: Fix errors in some 16- and 8-bit color
conversion macros.
* tools/incdir.sh: Fix issues when g++ is used as the compiler. It was
not being recognized and handled properly.
* graphics/nxsu/nx_releasebkgd.c: Fix a bad cast that was causing
problems with the background window was released.
* fs/nxffs/nxffs_pack.c: Correct a critical bug in the NXFFS file system:
When repacking the filesystem, there was a missing check to see if an
inode structure would fit at the end of a block. This is a rare case
if the block size is large, but can be common for tiny block sizes
and results in a crash and file system corruption.
* fs/nxffs/nxffs_initialize.c: Fix an initialize error. If the FLASH
is full on power-up, NXFFS will fail to initialize correctly.
* fs/nxffs/nxffs_write.c and nxffs_pack.c: Fix an error that can occur
when attempt to write to FLASH volume that is completely full but
has no value inodes on it.
* drivers/mtd/at24xx.c: Now supports a configurable block size that
supports using "clusters" of AT24 pages as blocks. This allows bigger
block sizes and more efficient use of EEPROM when the AT24 is used to
support a file system (such as NXFFS). (Contributed by Hal Glenn).
* include/nuttx/rgbcolors.h: More fixes to RGB color conversion
macros.
* arch/arm/src/common/up_createstack.c and up_usestack.c: For ARM EABI
the stack must be aligned to 8-byte boundaries. This is necessary for
passing aligned floating point values under EABI. Fix contributed by
David Sidrane.
* Numerous changes and fixes to the PIC32 interrupt handing logic. The
PIC32 port is almost complete but still not ready for prime time.
* fs/fat/fs_fat32util.c and fs_fat32.h: Logic extended to look in up to
four partitions for a valid FAT file system.
* drivers/input/tsc2007.c: Add support for 8-bit conversions; make sure
that A/D converters are active before requesting conversions.
* drivers/mmcsd0/mmcsd_sdio.c: Increase capacity variable from size_t
to uin64_t (if available) so that SD cards with capacities greater
than 4Gb can be supported.
patacongo
committed
* fs/fat/fs_fat32dirent.c: The root directory structure is different
from other directories. When formatted by Windows, it is not initialized
at all. Some additional special handling is required to initialize the
root directory entry to interoperate correctly with windows.