- Aug 03, 2016
-
-
Gregory Nutt authored
I/O Expanders: Interrupt detection logic should not ignore the no-change case. Still need to handle level interrupts even with no change.
-
Gregory Nutt authored
Fix various issues with I/O expander and GPIO lower half drivers from testing with simulated I/O expander
-
Gregory Nutt authored
-
Gregory Nutt authored
SIM I/O Expander: Add logic to simulate inverted pins and to generate toggle values on interrupt input pins
-
Gregory Nutt authored
-
Gregory Nutt authored
-
- Aug 02, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
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.
-
- Aug 01, 2016
-
-
Sebastien Lorquet authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
GPIO lower half: Add conditional logic to handle the case where the I/O expander does not support interrupts.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
Add a GPIO lower-half driver that can be used to register a GPIO character driver for accessing pins on an I/O expander.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
- Jul 31, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
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.
-
Gregory Nutt authored
-
- Jul 30, 2016
-
-
David S. Alessio authored
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.
-
Gregory Nutt authored
-
- Jul 29, 2016
-
-
Gregory Nutt authored
-