Gregory Nutt
4810499d3a
Squashed commit of the following:
...
Replace all calls to sigqueue() in the OS proper with calls to nxsig_queue() to avoid accessing the errno variable.
sched/signal: Add nxsig_queue() which is functionally equivalent to sigqueue() except that it does not modify the errno variable.
2017-10-07 10:57:09 -06:00
Gregory Nutt
936df1bcb5
Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
...
Squashed commit of the following:
Change all calls to usleep() in the OS proper to calls to nxsig_usleep()
sched/signal: Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.
sched/signal: Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Jussi Kivilinna
7fc7cc9f8f
drivers/input/cypress_mbr3108: Add missing variable for nxsem_wait return value
2017-10-06 07:30:04 -06:00
Gregory Nutt
9568600ab1
Squashed commit of the following:
...
This commit backs out most of commit b4747286b1
. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.
In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.
In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.
sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615
Squashed commit of the following:
...
sched/semaphore: Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable. Changed all references to sem_post in the OS to nxsem_post().
sched/semaphore: Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable. Changed all references to sem_destroy() in the OS to nxsem_destroy().
libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable. Changed all references to sem_setprotocol in the OS to nxsem_setprotocol(). sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552
Squashed commit of the following:
...
libc/semaphore: Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable. Changed all references to sem_getvalue in the OS to nxsem_getvalue().
sched/semaphore: Rename all internal private functions from sem_xyz to nxsem_xyz. The sem_ prefix is (will be) reserved only for the application semaphore interfaces.
libc/semaphore: Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable. Changed all references to sem_init in the OS to nxsem_init().
sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.
sched/semaphoate: Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Juha Niskanen
0113b0db95
drivers: handle I2C_TRANSFER return value consistently. Some I2C peripherals transfers return zero on success, others number of completed transfers. Make drivers robust against this.
2017-08-04 07:31:36 -06:00
Jan Pobrislo
7999822189
I've found that the interrupts aren't enabled since nothing updates them after btn_poll() marks the file descriptor structure as being polling. I've managed to make it work with this change.
2017-07-04 14:43:19 -06:00
Juha Niskanen
80cc19d6b0
drivers/input: add Cypress MBR3108 CapSense touch button driver
2017-05-31 06:31:53 -06:00
Jussi Kivilinna
7ae8173449
button_upper: fix interrupt enabling for poll-events
2017-05-24 08:06:13 -06:00
Juha Niskanen
b9a769d65d
drivers: fix some bad NULL checks
2017-05-15 07:20:32 -06:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Gregory Nutt
e9a5477506
Add an instance argument to the SPIDEV definitions.
2017-04-29 12:26:52 -06:00
Gregory Nutt
d5207efb5a
Be consistent... Use Name: consistent in function headers vs Function:
2017-04-21 16:33:14 -06:00
Gregory Nutt
cb70ce7d3c
6loWPAN: Correct some IPv6 addresses and operations on IPv6 addresses.
2017-04-05 12:11:09 -06:00
Jussi Kivilinna
dffb8a67e3
Add entropy pool and strong random number generator
...
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.
Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt
3872055daa
drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha Niskanen in the MaxTouch driver.
2017-03-21 07:20:45 -06:00
Juha Niskanen
c3d9b86662
input/mxt: prevent overriding i2c transfer return value
...
put_reg/get_reg function was overriding i2c transfer error code with i2creset return value, that lead to OK status although actual transfer failed.
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
Reported-by: Harri Luhtala <harri.luhtala@haltian.com>
2017-03-21 07:12:07 -06:00
Gregory Nutt
02b1e1ec1a
Fixes for coding standard: '*' needs to 'snuggle' with following variable name
2017-02-28 18:22:57 -06:00
Gregory Nutt
704df7bd39
IRQ arguments: Fix errors discovered in build testing
2017-02-27 19:28:24 -06:00
Gregory Nutt
67de2e5f66
Add argument to STM32 EXTI interrupt handlers.
2017-02-27 14:21:30 -06:00
Gregory Nutt
a773f9412a
STMPE811 driver needs argument in interrupt handler
2017-02-27 11:41:48 -06:00
Gregory Nutt
f15b566254
Button interrupt handler needs argument parameter.
2017-02-27 07:35:34 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
4fcbe8e410
drivers: Disable priority inheritance on all semaphores used for signaling
2016-11-03 11:00:47 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
3fa41c0f18
Kconfig files: Fix some dependencies that have CONFIG_ in the variable name
2016-06-17 19:30:19 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
eac916c907
Fix some warnings
2016-06-13 11:48:20 -06:00
Gregory Nutt
0665c7e06c
drivers/: Change some nerr() ERRORS to ninfo() and nwarn() WARNINGS.
2016-06-12 09:26:12 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
9c4b604074
Button upper half driver: Add definitions needed for compilation with the poll() interface is not disabled.
2016-06-11 07:22:31 -06:00
Gregory Nutt
2244ed46bc
nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 07:32:58 -06:00
Gregory Nutt
9ce58ad5b7
I2C: up_i2creset should not be a global function; Now it is an I2C interface method
2016-02-02 11:21:48 -06:00
Gregory Nutt
69ce24c70c
I2C: Remove the setfrequency method from the interface
2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b
Add I2C frequency to the i2c_msg_s structure
2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3
I2C: Remove setaddress method
2016-02-01 12:14:31 -06:00
Gregory Nutt
3a781a2d3f
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 08:00:16 -06:00
Gregory Nutt
7edf921c5e
Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law
2016-01-23 18:54:36 -06:00
Gregory Nutt
f6e49caba8
All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features
2016-01-23 16:18:13 -06:00
Gregory Nutt
fc91ded815
Add support for a general user LED lower-half driver
2015-11-01 14:57:22 -06:00
Gregory Nutt
0dea00177e
Add a generic user LED upper half discrete driver
2015-11-01 14:41:40 -06:00
Gregory Nutt
a5f44cd9fc
Buttons lower half: Undefine __KERNEL__ before including board.h to suppress bad included; fix some configuratin issues
2015-10-13 09:29:23 -06:00
Gregory Nutt
f0b40ba96a
Add a a generic lower half button driver
2015-10-13 07:08:11 -06:00
Gregory Nutt
75fcf4e8a1
Trivial fixes to spacing
2015-10-12 14:53:47 -06:00
Gregory Nutt
613798027e
Add a button upper/lower half driver
2015-10-12 14:29:43 -06:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Sebastien Lorquet
c9649b5f04
STMPE811: I found that, in stmpe811_instanciate(), when CONFIG_STMPE811_MULTIPLE is enabled, and the call to stmpe811_checkid() fails, then the linked device list is not restored to its previous state. From Sebastien Lorquet.
2015-07-02 08:19:29 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
a0866c0753
drivers/input/max11802.c: Fix possible unmatched IRQ restore. Noted by Juha Niskanen
2015-04-14 07:22:02 -06:00
Gregory Nutt
e4d2822af8
Make some file section headers more consistent with standard
2015-04-08 07:15:32 -06:00
Gregory Nutt
3cc6bee189
Nucleo-f4x1re: Fix some joystick pin definitions
2014-12-04 12:04:21 -06:00
Gregory Nutt
1f2447502f
SAMA5D3 Xplained: Add support for the Itead Joystick shield
2014-12-03 12:24:23 -06:00
Gregory Nutt
19d31412f7
Update/correct some comments
2014-11-29 07:08:30 -06:00
Gregory Nutt
2b8fe6709b
Add an analog joystick driver. Initial checkin is only a little more of a clone of the discrete joystick driver and is as-of-yet untested
2014-11-28 19:59:27 -06:00
Gregory Nutt
24d4253e1f
Fixes to get the discrete joystick driver and test working
2014-11-28 15:56:18 -06:00
Gregory Nutt
544322edb9
DJoystick: Add a new ioctl to get the support joystick discrete signals
2014-11-28 15:39:57 -06:00
Gregory Nutt
0d04a4e9ba
Fix missing quote in Kconfig
2014-11-28 10:16:58 -06:00
Gregory Nutt
2d9bd07525
Some additional, minor improvements to djoystick interrupt controls
2014-11-27 20:20:10 -06:00
Gregory Nutt
0ec5043a4e
Add an interface definition and upper half driver for a discrete joystick device
2014-11-27 17:42:16 -06:00
Gregory Nutt
2994448d85
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
2014-11-25 13:15:09 -06:00
Gregory Nutt
1a27a4d4c0
Eliminate warnings
2014-10-11 17:02:35 -06:00
Gregory Nutt
c38b81431f
Cosmetic updates to comments
2014-10-11 15:20:21 -06:00
Gregory Nutt
205260d5e2
Reanem kzalloc to kmm_zalloc for consistency
2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59
Rename kfree to kmm_free for consistency with other naming conventions
2014-08-31 17:04:02 -06:00
Gregory Nutt
ad9b3f8ab8
wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide.
2014-08-21 11:16:55 -06:00
Gregory Nutt
c9661ad5a7
Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors
2014-08-07 18:00:38 -06:00
Gregory Nutt
05e82d4f01
Add missing configuration option to select the MAX11802 touchscreen controller
2014-07-22 07:09:48 -06:00
Gregory Nutt
cc09d75180
MXT driver: Fix error in thread test... backward logic
2014-07-16 22:13:41 -06:00
Gregory Nutt
44e6516213
maXTouch: Add thresholding so that MOVE reports are not generated unless there is a significant change in the reported position
2014-07-12 14:00:33 -06:00
Gregory Nutt
4548ea731e
maXTouch: Fix error in state machine
2014-07-12 11:23:07 -06:00
Gregory Nutt
f97113c5ef
SAMA5D4-EK: The maXTouch controller and test is now enabled by default in the NSH configuration
2014-07-10 08:42:25 -06:00
Gregory Nutt
3b0a797216
MXT driver works
2014-07-10 07:16:38 -06:00
Gregory Nutt
22fbcbb852
MXT driver is now at least partially functional
2014-07-09 18:56:53 -06:00
Gregory Nutt
e9362128bd
SAMA5 TWI: Add support for up_i2creset
2014-07-09 09:51:28 -06:00
Gregory Nutt
25f419d487
MXT Driver: Make sure that all return values are checked: Fix worker thread -- it must hold the MXT device semaphore to access I2C
2014-07-08 08:55:43 -06:00
Gregory Nutt
ab8506163a
maXTouch: Fix some issues with interrupt handling
2014-07-07 13:25:20 -06:00
Gregory Nutt
5bbc0a0dd9
maXTouch: Check for successful memory allocation was backward
2014-07-07 09:55:39 -06:00
Gregory Nutt
09d0e2bdd2
maXTouch: Be consistent. Failure return values are not just non-zero, but negative
2014-07-06 09:08:38 -06:00
Gregory Nutt
4afc23d16d
maXTouch: Fix test of I2C_TRANSFER return value
2014-07-06 08:51:38 -06:00
Gregory Nutt
b4d3cebc2f
maXTouch: Fix I2C address, errors when debug enable, reorganize some data
2014-07-06 08:03:34 -06:00
Gregory Nutt
c2fc299332
Forgot to add a file in the last commit
2014-07-05 11:57:03 -06:00
Gregory Nutt
3e9f29ba07
Add very basic support for the Atmel maXTouch touchscreen controller
2014-07-05 11:47:54 -06:00
Gregory Nutt
b732388fcb
TSC2007: Cosmetic updates
2014-07-04 15:03:41 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
91b002a043
Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced
2014-02-10 18:08:49 -06:00
Gregory Nutt
0070815e87
HID mouse can now support some while mice. Problems with Microsoft mice
2014-02-10 11:53:37 -06:00
Gregory Nutt
c95cd438ef
Minor typo fixes
2014-02-09 13:43:43 -06:00
Gregory Nutt
bc46b447dc
Fix all occurrences of "the the" in documentation and comments
2013-08-27 09:40:19 -06:00
Gregory Nutt
8b68ea2f94
Add a general bit-bang SPI upper-half driver
2013-07-01 12:23:26 -06:00
Gregory Nutt
09faaccc02
Created new directories to hold SPI-related files
2013-07-01 08:11:54 -06:00
Gregory Nutt
c9f1d1857c
SAM3U-EK: Correct polarity of the PENIRQ signal
2013-06-16 14:31:18 -06:00
Gregory Nutt
c7fd7a4e27
Re-architected SAM3/4 SPI interface; Change BUSY bit handling in the ADS7843E driver
2013-06-16 10:09:21 -06:00