Commit Graph

26596 Commits

Author SHA1 Message Date
Gregory Nutt
189d2cf475 Update NSH document, README, and comments in a script file 2016-08-04 12:59:33 -06:00
Gregory Nutt
6be282af96 Add tools/sethost.sh. This is a script that you can use to quickly change the host platform from Linux to Windows/Cygwin. Might save you a lot of headaches. 2016-08-03 16:31:35 -06:00
Gregory Nutt
610afe9cd9 FAT performance improvement. In large files, seeking to a position fromt he beginning of the file can be very time consuming. ftell does lssek(fd, 0, SET_CURR). In that case, that is wasted time since we are going to seek to the same position. This fix short-circutes fat_seek() in all cases where we attempt to seek to curren position. Suggested by Nate Weibley 2016-08-03 13:32:52 -06:00
Gregory Nutt
1f9799b68d I/O Expanders: Interrupt detection logic should not ignore the no-change case. Still need to handle level interrupts even with no change. 2016-08-03 13:10:20 -06:00
Gregory Nutt
803b540e8a Fix various issues with I/O expander and GPIO lower half drivers from testing with simulated I/O expander 2016-08-03 12:46:54 -06:00
Gregory Nutt
e9b604914c config/sim: Add logic to set the simulated I/O expander for testing with apps/examples/gpio 2016-08-03 12:45:16 -06:00
Gregory Nutt
c11473657c SIM I/O Expander: Add logic to simulate inverted pins and to generate toggle values on interrupt input pins 2016-08-03 11:19:16 -06:00
Gregory Nutt
c214aab09f Update README 2016-08-03 10:07:20 -06:00
Gregory Nutt
778a8131bf SIM: Add a simulated I/O Expander driver 2016-08-03 09:44:48 -06:00
Gregory Nutt
7ba445868c KXJT9: In read(), return multiple samples if the user-provided buffer will hold multiple samples. 2016-08-02 17:32:47 -06:00
Gregory Nutt
c7b917f317 Update ChangeLog and README 2016-08-02 14:32:13 -06:00
Gregory Nutt
30229c217b Cosmetic changes 2016-08-02 10:46:19 -06:00
Gregory Nutt
c32d40fd7d KXJT9 Accelerometer driver from the Motorola Moto Z MDK 2016-08-02 10:38:14 -06:00
Gregory Nutt
62bc64bc55 Back out last Makefile.unix change. After puzzling about this for a while, I moved the definitions to apps/Make.defs. Also includes some cosmetic changes to GPIO lower half driver comments. 2016-08-02 08:37:30 -06:00
Sebastien Lorquet
a0b624e554 Export DIRLINK and DIRUNLINK from main Makefile, to be able to use that from apps/Application.mk 2016-08-01 17:35:03 -06:00
Gregory Nutt
b7c1544f0f Sim build: Add sigaddset to nuttx-names.dat 2016-08-01 17:32:55 -06:00
Gregory Nutt
28afd30a4e configs/sim: Add simulator-based test support for apps/examples/gpio 2016-08-01 15:29:01 -06:00
Gregory Nutt
9685fd8c99 GPIO driver: Add an IOCTL to unregister a signal handler 2016-08-01 13:52:27 -06:00
Gregory Nutt
0f9fb09a53 GPIO driver: Add an IOCTL command to get the pin type 2016-08-01 12:09:00 -06:00
Gregory Nutt
d0f6a23a32 Ooops.. forgot to add files before last commit 2016-08-01 11:15:29 -06:00
Gregory Nutt
d47aa75669 Add PCF8574 I/O Expander driver. Some cleanup also of other expander drivers. 2016-08-01 11:10:11 -06:00
Gregory Nutt
e0f3df5d97 Remove another lingering kruft 2016-08-01 10:01:28 -06:00
Gregory Nutt
583dad647c TCA64xx: Remove some unused kruft 2016-08-01 09:59:36 -06:00
Gregory Nutt
9d9ff44736 GPIO lower half: Add conditional logic to handle the case where the I/O expander does not support interrupts. 2016-08-01 09:06:58 -06:00
Gregory Nutt
bf60f11801 Remove some unnecessary header file inclusions 2016-08-01 08:55:13 -06:00
Gregory Nutt
3e79ffc6dd Some updates to the last commit 2016-08-01 08:49:15 -06:00
Gregory Nutt
6090f69bfd Add a GPIO lower-half driver that can be used to register a GPIO character driver for accessing pins on an I/O expander. 2016-08-01 08:43:10 -06:00
Gregory Nutt
91b1006d42 I/O Expander Interface: Add argument to interrupt callback. Add a method to detach the interrupt. 2016-08-01 07:26:04 -06:00
Gregory Nutt
fb84e51d5b Minor improvements/fixes to the TCA64xx driver. 2016-08-01 06:48:05 -06:00
Gregory Nutt
c0b83cb4b4 First (untested) cut at a TCA64XX I/O Expander driver leverages from Project Ara 2016-07-31 19:52:44 -06:00
Gregory Nutt
8fab9fb00f Rethink last commit -- probably going down the wrong path 2016-07-31 18:33:04 -06:00
Gregory Nutt
8a67509b34 I/O Expander: Encode and extend I/O expander options to include interrupt configuration. 2016-07-31 18:19:59 -06:00
Gregory Nutt
9f00d87c07 Another update to the I/O Expander skeleton.c file 2016-07-31 17:03:25 -06:00
Gregory Nutt
bbe7a97685 Remove a duplicated line 2016-07-31 16:41:12 -06:00
Gregory Nutt
b98a966135 Another update to the I/O Expander skeleton.c file 2016-07-31 16:39:44 -06:00
Gregory Nutt
c6d65b0943 Update I/O Expander skeleton.c file 2016-07-31 15:43:36 -06:00
Gregory Nutt
99843fe5fe I/O Expander: Update skelton file 2016-07-31 14:42:30 -06:00
Gregory Nutt
becf7e70c4 Add an I/O Expander skelton driver 2016-07-31 11:52:59 -06:00
Gregory Nutt
5f9ee79298 I/O Expander: Remove hard-coded PCA9555 fields from ioexpander.h definitons. Add support for an attach() method that may be used when any subset of pin interrupts occur.
PCA9555 Driver:  Replace the signalling logic with a simple callback using the new definitons of ioexpander.h.  This repartitioning of functionality is necessary because (1) the I/O expander driver is the lower-lower part of any driver that uses GPIOs (include the GPIO driver itself) and should not be interacting directly with the much higher level application layer.  And (2) in order to be compatible with the GPIO driver (and any arbitrary upper half driver), the PCA9555 should not directly signal, but should call back into the upper half.  The upper half driver that interacts directly with the application is the appropriate place to be generating signal.
2016-07-31 11:09:47 -06:00
Gregory Nutt
4daa553328 lib_asinl.c edited online with Bitbucket. Add missing # on endif. Noted by David Alessio. 2016-07-31 16:47:25 +00:00
David S. Alessio
c145159c6b This commit fixes the following libc/math issues:
1) asin[f l]() use Newton’s method to converge on a solution. But Newton’s method converges very slowly (> 500,000 iterations) for values of x close to 1.0; and, in the case of asinl(), sometimes fails to converge (loops forever). The attached patch uses an trig identity for values of x > sqrt(2). The resultant functions converge in no more than 5 iterations, 6 for asinl().

2) The NuttX erf[f l]() functions are based on Chebyshev fitting to a good guess. The problem there’s a bug in the implementation that causes the functions to blow up with x near -3.0. This patch fixes that problem. It should be noted that this method returns the error function erf(x) with fractional error less than 1.2E-07 and that’s fine for the float version erff(), but the same method is used for double and long double version which will yield only slightly better precision. This patch doesn't address the issue of lower precision for erf() and erfl().

3) a faster version of copysignf() for floats is included.
2016-07-30 15:43:56 -06:00
Gregory Nutt
d9314c1034 LPC43xx ADC: board.h should be included last; Also, unreleated, update tools/README.txt 2016-07-30 07:05:10 -06:00
Gregory Nutt
5ddeffdef8 tools/kconfig2html.c: Update to handle absolute paths when sourcing Kconfig files. 2016-07-29 13:11:30 -06:00
Gregory Nutt
486212a750 Extend the dirlinks target. This plugs some wholes open by last chicken-and-egg build fix 2016-07-28 11:59:22 -06:00
Gregory Nutt
f9829db939 toos/refresh.sh: Recent complexities added to apps/ means that configuratino needs corred Make.defs file in place in order to configure properly 2016-07-28 11:58:40 -06:00
Maciej Wójcik
413a7256d7 PR 91: Disable the RTC in the hymini-stm32v/nsh2 configuration. I hesitated to include this change because it masks the unresolved problem of Issue 9. 2016-07-28 10:46:24 -06:00
Gregory Nutt
b27df02b48 Top-Level Makefiles. Fix a chicken-and-egg problem.
In the menuconfig target, the context dependency was executed before kconfig-mconf.  That was necessary because the link at apps/platform/board needed to be set up before creating the apps/Kconfig file.  Otherwise, the platform Kconfig files would not be included.  But this introduces the chicken-and-egg problem in some configurations.

In particular:  (1) An NX graphics configuration is used that requires auto-generation of source files using cpp, (2) the configuration is set for Linux, but (3) we are running under Cygwin with (4) a Windows native toolchain.  In this case, POSIX-style symbolic links are set up but the Windows native toolchain cannot follow them.

The reason we are running 'make menuconfig' is to change from Linux to Cygwin, but the target fails.  During the context phase, NX runs CPP to generate source files but that fails because the Windows native toolchain cannot follow the links.  Checkmate.

This was fixed by changing all of the make menuconfig (and related) targets.  They no long depend on context being run.  Instead, they depend only on the dirlinks target.  The dirlinks target only sets up the directory links but does not try to run all of the context setup; the compiler is never invoked; no code is autogeneraed; and things work.
2016-07-28 10:36:28 -06:00
Gregory Nutt
94d34bba47 Fix a typo in a Make.defs file 2016-07-28 09:46:28 -06:00
Gregory Nutt
e863643239 Update ChangeLog 2016-07-28 09:42:11 -06:00
Gregory Nutt
d36d9d61be Trivial spacing change 2016-07-28 09:34:56 -06:00