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.
* fs/fat/fs_fat32util.c: In fat_systime2fattime(void) should be
clock_gettime() and not clock_gettime(). Also, there is a place where
FAT date is used instead of FAT time. (Thanks to David Sidrane).
* arch/arm/src/stm32 and arch/arm/include/stm32: Add support for the
* configs/stm3240g-eval: Add framework for the STMicro STM3240G-EVAL
board.
* include/sys/types.h: wchar_t is a builtin type in C++ and its
declaration can cause errors with certain C++ compilers.
* sched/sig_timedwait.c: Fix signal handling when the returned info
is NULL. Before this change, it would derefence a NULL pointer
in this case.
* graphics/nxfonts/nxfonts_sans17x22.h and nxfonts_sans20x26.h: Add
some very small sans serif fonts.
* graphics/nxfonts/nxfonts_sans17x23b.h and nxfonts_sans20x27b.h: Add
corresponding sans serif bold fonts.
* drivers/input/ads7843e.c and tsc2007.c: Fix some errors in the poll
setup error checking that was cloned into both drivers.
* sched/mq_notify.c: Set errno appropriately on failures. There are
still several message queue functions that do not set errno!
* arch/arm/src/stm32: Fixes to several STM32F40xxx files (contributed by
Mikhail Bychek).
* configs/stm3210e-eval/src/up_lcd.c: Fix banding problem on the R61580
LCD
* configs/stm3240g-eval/ostest: The basic STM32F40xx bringup is functional
(11/12/06) for the STM3240G-EVAL board and passes the OS test.
* configs/stm3240g-eval/nsh: Adds a NuttShell (NSH) configure for the
STM3240G-EVAL board.
* arch/arm/src/stm32/stm32f40xxx_dma.c: Add DMA support for the STM32 F4
family (untested on initial check-in)
* arch/arm/src/armv7-m/up_fpu.c: Add logic for saving an restoring VFP
floating point registers on context switches (but also disable the FPU
because CodeSourcery doesn't support hard flowing point!)
* arch/arm/src/stm32/chip/stm32_eth.h: Add Ethernet register definitions
for the STM32 F4.
* arch/arm/srcm/stm32/stm32_eth.c: Adds an Ethernet driver for the STM32 F4.
* arch/arm/srcm/stm32/stm32_dac.c and stm32_adc.c: "Skeleton" files for STM32
DAC and ADC drivers. The actual logic will come later.
* arch/arm/srcm/stm32/stm32_eth.c: There may be a few more lurking bugs, but
the STM32 Ethernet driver appears to be fully functional on the STM3240G-EVAL.
* arch/arm/srcm/stm32/stm32_eth.c: Fix an error in clearing abnormal interrupt
events.
* configs/stm3240g-eval/dhcpd: Add a DCHP daemon configuration for the
STM3240G-EVAL board.
* configs/stm3240g-eval/nettest: Add a network test configuration for the
STM3240G-EVAL board.
* arch/arm/srcm/stm32/stm32_rtc.c, stm32f10xxx_rtc.c, and stm32f40xxx_rtc:
Broke out separate drivers to handle the very different RTC implementations
in the STM32 F1 and F4 family.
* arch/arm/srcm/stm32/stm32f10xxx_rtc.c: STM32 F4 RTC is functional (12/14/2011)
* net/uip-arp.c: Fix compilation issue with CONFIG_NET_ARP_IPIN
* include/nuttx/pwm.h and drivers/pwm.c: Add an interface definition and a
"upper half" driver for PWM output.
* arch/arm/src/stm32/stm32_pwm.c: Added a PWM "lower half" driver for the
STM32. The initial check-in is little more than a framework for the driver.
* arch/arm/src/stm32/stm32_usbdev.c: Corrected two CRITICAL errors in the USB
device-side driver: (1) Handling of data overrun condition was wrong. When
there was no further memory to accept further OUT endpoint data, the driver
would hang with infinite interrupts; (2) the logic in setting toggle bits
was not correct. However, this driver has functioned for a long time until
the particular condition that revealed the bug occurred. My impression is
that this latter bugfix also fixes some STM32 USB performance problems.
patacongo
committed
* configs/hymini-stm32v: A configuration for the HY-Mini STM32v board contributed
by Laurent Latil. Theses changes also include support for the STM32F103VCT6.
* arch/configs/stm3240g-eval/src/up_pwm.c: Add hooks needed to use the new
apps/examples/pwm test of the STM32 PWM driver.
* drivers/mtd/mp25x.c: Add ability to use different SPI modes and different
manufacturers codes. Fix a error in the wait for not busy (submitted by
Mohammad Elwakeel.
* arch/arm/src/stm32/stm32_can.c: Add a low-level STM32 CAN driver. (Initial
check is incomplete). Add loopback support to the driver.
* arch/arm/src/stm32/stm32_adc.c: The ADC is now functional. A more complete
driver would require DMA support. I have some questions still about the
accuracy of the timer-driven sampling.
* configs/sure-pic32mx/nsh: The PIC32 port is (finally) functional. Add an
NSH configuration for the Sure PIC32MX board.
* configs/sure-pic32mx/*/defconfig. Calibrated all PIC32 delay loops.
* configs/pcblogic-pic32mx/nsh: Add an NSH configuration for the PCBLogic
* Both PIC32 OS test and NSH configurations have now been verified.
patacongo
committed
* tools/Makefile.export, mkexport.sh, and configure.sh: Changes submitted
by Mike Smith to support configuration and 'make export' on MAC OS.
* arch/arm/src/stm32/stm32_gpio.c: Disabled interrupts while configuring
GPIO pins so that we have exclusive access to the GPIO configuration
registers.
* arch/mips/src/pic32mx/pic32mx_usbdev.c: Add a USB device-side driver
* arch/arm/src/stm32/stm32_gpio.c: Correct an error in some of the GPIO
initialization logic. Fix submitted by Mike Smith.
* configs/olimex-lpc1766stk/src/up_leds.c: Add new interfaces so that is
CONFIG_ARCH_LEDS are not set, the LEDs may be controlled from application
logic.
* configs/olimex-lpc1766stk/src/up_buttons.c: Add support for the buttons
on the Olimex LPC1766-STK board.
patacongo
committed
* Makefile: Added 'apps_clean' and 'apps_distclean' target to simplify
managing the state of the application directory while in the NuttX directory
* Documentation/NuttXGettingStarted.html: Added a "Getting Started" Guide
for NuttX. At present, this is just a stub and it refers to the NuttX
top-level README.txt file which is the only, real "Getting Started" Guide
that exists at the time being.
* arch/arm/src/lpc17xx/lpc17_gpioint.c: Correct an value used as the lower
end of an IRQ number range test.
* arch/arm/src/lpc17xx/lpc17_gpio.c: Fix a integer flow problem in shift.
This error would prevent pins > 15 from being used as interrupt sources.
* arch/arm/src/stm32/stm32_can.c: The CAN driver has been verified in
loopback mode on the STM3240G-EVAL board.
* configs/stm3240g-eval/src/up_adc.c: Complete coding of ADC support for the
potentiometer on board the STM3240G-EVAL.
* arch/arm/src/lpc17_can.c: Several CAN driver improvements. Adds support for
testing in loopback mode. now uses all three transmit buffers for better
performance.
* confgs/olimex-lpc1766stk/nsh: Now supports the CAN loopback test as an
optional "built-in" application.
* sched/irq_attach.c: Fix an issue with disabling interrupts when they are
detached. For the PIC32, this can't be done because there is a 1-to-many
relationship between vector numbers and interrupt numbers or different.
Added a new configuration option CONFIG_ARCH_VECNOTIRQ to at least flag
the architectures that have this issue and to (at least) avoid doing
something too wrong.
* drivers/can.c: Fix a test for buffer full in the generic, "upper half",
can driver.
* arch/arm/src/lm3s: Add support for the LM3S6432S2E (Contributed by Mike Smith)
* configs/lm3s6432-s2: Add support for the TI RDK-S2E (LM3S6432S2E) board
(Contributed by Mike Smith)
* configs/stm3240g-eval/src: Add APIs support to support user access to the
LEDs
* arch/arm/src/lpc17xx/lpc17_can.c: Add logic to change the CAN bit rate based
on the NuttX configuration.
* arch/arm/src/lpc17xx/lpc17_can.c: PCLK divisor is now a configuration
option.
* arch/arm/src/stm32/stm32_serial.c and stm32_lowputc.c: Support for
UART4-5 and USART6 added by Mike Smith. Also includes a more flexible
way of managing UART pin configurations.
* include/nuttx/pwm.h, drivers/pwm.c, arch/arm/src/stm32/stm32_pwm.c: Add
support for pulse count in order to better support stepper motors.
* arch/arm/src/stm32/stm32_dumpgpio.c: Checking wrong register to see if
GPIO is enabled. Also not adding the GPIO base address to several offsets.
* configs/stm32f4discovery: Port to the STMicro STM32F4Discovery board
(Contributed by Mike Smith).
patacongo
committed
* fs/fat/fs_fat32util.c: On a failure to recognize a FAT file system, the
mount logic should return -EINVAL, not -ENODEV.
* arch/arm/src/stm32/stm32_tim.c: Support for STM32 F4 32-bit timers
(Contributed by Mikhail Bychek)
* lib/stdio/lib_vsprintf.c: Add support for fixed-size fields with floating
point numbers (Contributed by Mikhail Bychek)
* arch/arm/src/stm32/stm32_pwm.c: Pulse count was limited to 128; now is
(essentially) unlimited.
* configs/stm3240g-eval/include/board.h: Input frequencies wrong for all but
* arch/mips/src/pic32mx/pic32mx-ethernet.c: The PIC32 Ethernet driver is
code complete, but still untested.
* confgs/sim/*/Make.defs and arch/sim/src/Makefile: Add support for building
a 32-bit executable on a 64-bit Linux target.
* configs/sure-pic32mx/src/up_leds.c: Correct GPIOs used for LEDs. The wrong
pins were being used.
* arch/arm/src/stm32/chip/stm32f10xxx_gpio.h: Correct offset to one AFIO EXICR
register.
* arch/arm/src/lpc17xx/lpc17_can.c: Added "advanced" configuration options
to specify the CAN TSEG1 and TSEG2 clock counts specifically.
* include/nuttx/can.h and drivers/can.c: Add support for extended (29-bit)
CAN IDs.
* arch/arm/src/lpc17xx/lpc17_can.c: Add support for extended (29-bit) CAN IDs.
* arch/arm/src/stm32/stm32_can.c: Add support for extended (29-bit) CAN IDs.
* include/nuttx/power/pm.h: Move include/nuttx/pm.h into a sub-directory named
power.
* drivers/power: Rename the drivers/pm directory to power
* include/power/battery.h and drivers/battery.c: Add the interface definitions
for an upper and lower half battery driver. Add the implementation of the
common upper half battery driver.
* drivers/power/max1704x.c: Add a driver for MAX17040x battery "fuel gauge"
* arch/arm/src/stm32/stm32_i2c.c: Add support for I2C3
* drivers/usbdev/: Lots of name changes: cdc_serial->cdcacm, usbstrg->usbmsc,
usbser->pl2303
* drivers/usbdev/composite: Fleshed out support for a composite USB device.
* drivers/stm3210e-eval/composite and drivers/stm3210e-eval/src/up_composite.c:
Add a configuration test the USB composite device.
* include/nuttx/usb/usb.h, drivers/usbdev/composite_descriptors.c, and
drivers/usbdev/cdcacm_descriptors.c: Add support for the USB Interface
Association Descriptor (IAD)
* arch/arm/src/stm32/stm32_i2c.c: Correct a typo in STM32 I2C3 support
(submitted by Mike Smith)
* arch/*/src/Makefile: Candidate solution for dependency issue in the board
sub-directory: By making libboard.a a "phony" target, libboard.a should
always rebuilt (the end result is worth the small increase in build time)
(submitted by Mike Smith).
* include/net/psock.h: Added a new low level socket interface that allows the
OS to use the socket interface without having a socket descriptor.
* include/net/psock.h: Removed psock.h. The new interfaces are moved into
nuttx/net.h which already has similar logic.
* include/nuttx/usb/usb.h: Can't use 'class' as a field name in USB structures.
This upsets C++ if usb.h is included. 'class' -> 'classid' in this header
file and all places that referenced 'class'
* drivers/usbdev/usbmsc.c: Fixed some backward conditional compilation.
* sched/on_exit.c: Add support for the on_exit() function.,
* sched/exit.c, task_exithook.c, task_delete.c, sched_releasetcb.c: Move
the logic that closes file descriptors sooner in the task shutdown sequence.
When drivers are closed, they may need to do things that require a fully
up-and-running task. Some things cannot be done later when the task is
crippled.
* lib/dirent: Moved readdir_r() and telldir() from lib/misc to this new
directory where they belong.
* lib/termios. Implemented tcsetattr() and tcgetattr().
* lib/stdio/lib_fgets.c: The old fgets includes some terminal related
functionality: It handles VT-100 commands, includes a command line editor
and echo characters back to the terminal. This old, overloaded fgets()
was renamed readline() and moved to apps/system/readline. The version
of fgets() in lib/stdio was them simplified and stripped down so that it
*only* gets a string -- as its description implies.
* arch/arm/src/lpc214x/lpc214x_usbdev.c: Add corrections suggested by
David Hewson many, many months ago.
* configs/mcu123-lpc214x/composite and configs/mcu123-lpc214x/src/up_composite.c:
Add a configuration to test the USB composite device.
* configs/stm3240g-eval/Telnetd: Add a configuration for testing the
* configs/stm3240g-eval/nsh2: This is another NSH configuration. It differs
from the original nsh configuration because it does not have an RS-232
console (only a Telnet console) and SDIO is enabled. This configuration is
required because the STM3240G-EVAL board cannot simultaneously support
RS-232 and SDIO due to pin conflicts.
* lib/string/lib_strcasestr.c: Add strcasestr().
* lib/stdio/lib_avsprintf.c: Add avsprintf().
* include/pthread.h: Correct PTHREAD_MUTEX_INITIALIZER.
* fs/fat/fs_fatfs.c: Fix an error in the FAT statfs() implementation that
was causing some block counts to be reported incorrectly (reported by
* drivers/ramlog.c: Add a character driver that can substitute
for /dev/console and or be used for logging debug output when there
is no serial port available (such as when a Telnet console is used).
* lib/stdio/lib_syslogstream: Add a stream object that will be used to
re-direct all debug output to the RAM log if CONFIG_SYSLOG and
CONFIG_RAMLOG_SYSLOG are defined.
* lib/misc/lib_dbg.c: Add an interface enabled with CONFIG_DEBUG_ENABLE that
can be used to turn debug output on and off.
* drivers/sensors/qencoder.c and include/nuttx/sensors/qencoder.h: Add an
implementation for a quadrature encoder upper half driver.
* arch/arm/src/stm32/stm32_qencoder.c/.h: Add a initial implementation of
a lower-half quadrature encoder driver for the STM32. On initial check-in,
this is little more than a "skeleton" file.
* Various files: CAN ISO-11783 support contributed by Gary Teravskis.
* net/recv.c and net/recvfrom.c: Correct a bug in return value: The the peer
gracefully closes the connections, needs to return zero and not ENOTCONN.
* arch/arm/src/stm32/stm32_eth.c: Fix an error in the STM32 ethernet driver.
The received buffer size must be two bytes larger to account for the two byte
checksum that is appended to the packet. Otherwise, the last two bytes of
real data in the packet will get clobbered.
* arch/arm/src/stm32f40xx_dma.c: The STM32 F4 DMA has (finally) been verified
* arch/arm/src/stm32_sdio.c: STM32 F4 SDIO DMA is now supported
* configs/stm3240g-eval/nsh/defconfig: This configuration now supports SDIO
with DMA (see configs/stm3240g-eval/README.txt for some issues).
patacongo
committed
* arch/arm/src/armv7-m/up_vectors.S and arch/arm/src/armv7-m/up_vectors.S: New,
streamlined Cortex-M exception handling (with FPU supported). Contributed byh
Mike Smith
* net/accept.c, connect.c,and net_monitor.c: Correct an error in the accept
logic. After a new connection is made via accept(), monitoring for losses
of TCP connection must be set up (just as with connect()). The new file
net_monitor.c holds the common TCP connection monitoring logic used by both
the accecpt() and connect() logic. Contributed by Max Nekludov.
* net/recvfrom.c and net/uip/uip_tcpcallback.c: Fix a leak in the TCP
read-ahead logic. This is a *critical* bug fix!
* net/uip/uip_tcpinput.c: Correct an error in the TCP stack. It was
incrementing the received sequence number BEFORE determining if the
incoming data could be handled. If the data was dropped (usually because
there is insufficient buffering space), then no ACK will be sent and the
sequence number will be wrong. The end consequence of the bad sequence
number was that the when the dropped packet was re-transmitted, it was
was ignored because its sequence number looked wrong. Fix was, obviously,
to only increment the recevied sequence number if the TCP data was
accepted.
* configs/stm3240g-eval, configs/stm32f40discovery, and arch/*/src/Makefile:
Add changes to support building with the Atollic "Lite" toolchain.
patacongo
committed
* fs/fs_select.c: Correct select(), in the case of loss of network
connection (POLLHUP), select() must report a read-ready event. This
is how the standard select() interface is supposed to work: In the case
of loss-of-connection, select() reports read-ready. The next time you
read from the socket, you detect the end-of-connection event. Change
submitted by Max Nekludov.
* arch/arm/src/armv7-m/up_fpu.S and arch/arm/src/stm32/stm32_vectors.S: Fix
lazy FPU register saving with CONFIG_ARCH_FPU is set in the configuration.
* arch/arm/src/armv7-m: Lazy saving of floating point registers on context
switches now seems to be functional.
* net/uip/uip_tcpinput.c: Fix a TCP protocol error reported by Max Nekludov.
patacongo
committed
* configs/stm3240g-eval, configs/stm32f40discovery: Add changes to support
building with the Atollic "Pro" toolchain.
* Makefile: Use the more common .hex extension for Intel hex files instead of
more precise .ihx extension. This change has ripple effects to many build-
related scripts and programs and could cause some short-term problems.
* configs/stm3240g-eval/, arch/arm/src/stm32/up_allocateheap.c: Add support
for the 16-mbit SRAM on-board the STM3240G-EVAL board.
* drivers/usbdev/cdcacm.c and include/nuttx/usbdev/cdcacm.h: The CDC/ACM
driver can now be dynamically connected and disconnected from the host
under software control.
* include/nuttx/arch.h, configs/stm3240g-eval/src/up_cxxinitialize.c, and
configs/stm3240g-eval/src/up_cxxinitialize.c: Add support for C++ static
initializers.
* net/setsockopt.c, net/getsockopt.c, net/bind.c, net/socket.c: Add more
low level, thread-independent socket interfaces for use within the OS.
Some of these are currently used by the FTP controlling terminal. More will
be used to support the NFS file system currenly underwork.
* include/nuttx/net/: Major re-organization of networking headerf files.
Moved all non-standard, NuttX-specific header files from include/net and
include/nuttx into include/nuttx/net.
* arch/mips/src/pic32mx/pic32mx_usbdev.c: The PIC32 USB driver now appears to
be fully functional.
* configs/sure-pic32mx/usbnsh and configs/sure-pic32mx/src: Add support for
NSH using only USB serial I/O to support the console. This is useful on
devices that have USB, but no serial port.
* arch/mips/src/pic32mx/pic32mx_spi.c: Add a PIC32 SPI driver. Initial
checkin is primitive, incomplete (lacks interrupt logic), and untested.
* configs/pic32-startkit/nsh: Completed verification of the PIC32 Ethernet
Starter Kit port. Added and verified the NuttShell (NSH) on the PIC32
Ethernet Starter Kit. I can now (finally) claim to have complete the
basic port to this board.
* configs/pic32-startkit/nsh/up_usbdev, up_nsh.c, and up_usbterm.c: Verified
the USB (device) driver on the PIC32 Ethernet Starter Kit.
* arch/mips/src/pic32mx/pic32mx_ethernet.c: Verifed the PIC32 Ethernet
driver on the PIC32 Starter Kit. Status: It is occasionally functional
but no stable enough for use.
* arch/arm/include/stm32, arch/arm/src/stm32: Add general support for
the STM32 F2 family. Contributed by Gary Teravskis,
* configs/stm3220g-eval: Add support for the STMicro STM3220G-EVAL board.
Contributed by Gary Teravskis,
* configs/sure-pic32mx: Add support for the Sure DB-DP11212 PIC32 General
Purpose Demo Board
* arch/arm/src/stm32/stm32_usbhost.c/.h: Add files that will (eventually)
hold an STM32 USB host driver (the initial check-in is the NuttX LPC17
USB host driver with name changes only).
* arch/arm/src/stm32/chip/stm32_otgfs.h: STM32 USB OTG FS register
definitions (not complete on initial check-in).