Commit Graph

1981 Commits

Author SHA1 Message Date
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
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
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
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
79c8bb7ddf Updae more comments 2016-07-27 08:03:09 -06:00
Gregory Nutt
59e0c4411f Correct some comments 2016-07-26 13:39:20 -06:00
Gregory Nutt
0c7f5d62e4 More comments 2016-07-26 12:13:30 -06:00
Gregory Nutt
084d200a66 PTY: Cosmetic, update some comments 2016-07-26 10:09:35 -06:00
Gregory Nutt
eaaa69da0a serial.c: Fix an error in FIONWRITE calculation 2016-07-26 06:47:53 -06:00
Gregory Nutt
e0b4a10dfa drivers/serial/pty.c, serial.c, usbdev/cdcacm.c, include/nuttx/fs/ioctl.h: Fix FIONWRITE and add FIONSPACE. All implementations of FIONWRITE were wrong. FIONWRITE should return the number of bytes waiting in the outgoing send queue, not the free space. Rather, FIONSPACE should return the free space in the send queue. 2016-07-25 14:06:32 -06:00
Gregory Nutt
eb94cc5419 Update some comments 2016-07-24 12:48:37 -06:00
Wolfgang Reissnegger
4f83d58b24 USBMSC: Fix reversed logic on waiting for SCSI thread start.
The scsi thread was waiting for the wrong condition.

However, this was masked by the fact that the code creating the scsi thread
was also holding usbmsc_scsi_lock(priv) while initializing data, hence this
lock synchronized the scsi thread start with init completion.
2016-07-23 20:11:00 -07:00
Wolfgang Reissnegger
2974d2b07e USBMSC: Add locks when removing request from queue. 2016-07-23 20:10:41 -07:00
Wolfgang Reissnegger
81f7758848 USBMSC: Fix usbtrace() string. 2016-07-23 20:10:20 -07:00
Gregory Nutt
2d92bffdcc Trivial change left in editor 2016-07-23 13:53:37 -06:00
Gregory Nutt
a932578e76 GPIO driver: Add support for receiving signals from interrupt pins. 2016-07-23 13:53:06 -06:00
Gregory Nutt
9a8c3572db serial.c: Fix a race condition noted by Stefan Kolb. Between the test if the TX buffer is full and entering a critical section, bytes may be removed from the TX buffer making the wait unnecessary. The unnecessary wait is an inefficiency, but not really a problem. But with USB CDC/ACM it can be a problem because the entire TX buffer may be emptied when we lose the race. If that happens that uart_putxmitchar() can hang waiting for data to be removed from an empty TX buffer. 2016-07-22 07:47:59 -06:00
Gregory Nutt
7370d3171a Move include/nuttx/lib.h to include/nuttx/lib/lib.h 2016-07-21 14:05:44 -06:00
Gregory Nutt
23a876ab9c Move include/nuttx/math.h to include/nuttx/lib/math.h 2016-07-21 13:58:09 -06:00
Gregory Nutt
10fff9011a Move include/nuttx/configdata.h to include/nuttx/mtd/configdata.h 2016-07-21 13:34:54 -06:00
Gregory Nutt
ee9c66186c ramdisk.h moved from include/fs/nuttx/ to include/nuttx/drivers. 2016-07-20 14:02:18 -06:00
Gregory Nutt
46dbbe837e rwbuffer.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:54:38 -06:00
Gregory Nutt
1b9b3a7b47 pwm.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:48:24 -06:00
Gregory Nutt
ddcaa3d425 can.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:38:36 -06:00
Gregory Nutt
4b4dbc79a2 Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h 2016-07-20 13:15:37 -06:00