Commit Graph

3088 Commits

Author SHA1 Message Date
Mark Schulte
7bb26d2615 pthreads: Adding rwlock implementation
Adding an implementation for read/write locks into the pthread library.
These locks are writer priority, such that if any writers come in they
are given priority for writing.
2017-04-07 07:03:00 -06:00
Jussi Kivilinna
e3b3e57e56 RTC: add interface for check if RTC time has been set
New interface allows checking if RTC time has been set.  This allows to application to detect if RTC has valid time (after
reset) or should application attempt to get real time by other means (for example, by launching ntpclient or GPS).
2017-04-06 09:53:11 -06:00
Gregory Nutt
d0aa22fb80 6loWPAN: Costmetic changes. 2017-04-05 17:26:12 -06:00
Gregory Nutt
38eed0a847 6loWPAN: Various fixes for building with different configurations; Some minimal testing of HC06 2017-04-04 17:06:17 -06:00
Gregory Nutt
ca2c18c023 6loWPAN: Fix return value and other issues in sixlowpan_frame_process 2017-04-04 16:12:16 -06:00
Juha Niskanen
d64d4e02b4 sensors: lis2dh: fix hardfault when reading from unconfigured sensor 2017-04-04 07:38:49 -06:00
Jussi Kivilinna
73056863ba Fix building without CONFIG_NET_6LOWPAN 2017-04-04 07:38:48 -06:00
Gregory Nutt
7cb34d969d 6loWPAN: More fixes from early debug. 2017-04-03 15:25:36 -06:00
Gregory Nutt
e9d831ac60 wireless/ieee802154: Add initialization logic for loopback driver; configs/sim: Add configuration for testing 6loWPAN; net/sixlowpan: Fix for compilation with debug output enabled. 2017-04-03 09:15:00 -06:00
Juha Niskanen
dfe6a672c1 drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo Voutilainen <time.voutilainen@haltian.com> et al. 2017-04-03 07:28:22 -06:00
Gregory Nutt
1b6630ee75 6loWPAN: Fix compile errors and warnings when building the complete 6loWPAN configuration. 2017-04-02 17:46:22 -06:00
Gregory Nutt
ec3c40d99d 6loWPAN: Finishes port of Contiki HC06 compression logic 2017-04-02 10:06:31 -06:00
Gregory Nutt
d16fc98c74 6loWPAN: Add HC06 decompression logic; Remove outboard compressor hooks. 2017-04-02 08:08:35 -06:00
Gregory Nutt
6464ebbc7f Networking: Fix bad macro logic of recent commit. Macros were not being evaluating in the order and time that I thought. 2017-04-01 18:23:21 -06:00
Gregory Nutt
7a4af75fcf 6lowWPAN: Add frame decompression logic to IEEE802.15.4 input 2017-04-01 12:34:08 -06:00
Gregory Nutt
52ead055fd 6loWPAN: Beginning of IEEE802.15.4 frame input logic. 2017-04-01 09:07:49 -06:00
Gregory Nutt
cccbb6c693 6loWPAN: Clean up some send logic; remove sniffer. 2017-03-31 16:33:21 -06:00
Gregory Nutt
503f3e5477 net/: Struggling with MSS definitions. 2017-03-31 15:54:12 -06:00
Gregory Nutt
732f0855c6 6loWPAN: Fleshes out framwork for IEEE802.15.4 send. But still has some gaping holes. 2017-03-31 15:09:07 -06:00
Gregory Nutt
85e1d15835 6loWPAN: Fix more configuration related issues detected by addition of 6loWPAN 2017-03-31 12:06:21 -06:00
Gregory Nutt
a771ec65d6 6loWPAN: Fix a spelling error in macro name. 2017-03-31 10:47:40 -06:00
Gregory Nutt
44f1326046 6loWPAN: Repartition device-specific vs. global data -- again. 2017-03-31 10:04:29 -06:00
Jussi Kivilinna
cd3c9634c8 Add user-space networking stack API (usrsock)
User-space networking stack API allows user-space daemon to
provide TCP/IP stack implementation for NuttX network.

Main use for this is to allow use and seamless integration of
HW-provided TCP/IP stacks to NuttX.

For example, user-space daemon can translate /dev/usrsock
API requests to HW TCP/IP API requests while rest of the
user-space can access standard socket API, with socket
descriptors that can be used with NuttX system calls.
2017-03-31 08:58:14 -06:00
Gregory Nutt
0427d6c726 6loWPAN: Replace frame buffer with a list of IOBs. 2017-03-31 07:54:58 -06:00
Juha Niskanen
9d13a2463f drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C controller.
From Harri Luhtala <harri.luhtala@haltian.com>. Tested with earlier
version of NuttX; with current version checked that it compiles.
2017-03-31 06:35:36 -06:00
Juha Niskanen
b5b148fef8 drivers/sensors: Add driver for ST LPS25H pressure sensor 2017-03-31 05:53:43 -06:00
Gregory Nutt
916bd8a48f HTS221 driver: Modify to use new interrupt parameter passing hooks. 2017-03-31 05:31:35 -06:00
Gregory Nutt
1a12682f23 6loWPAN: Fix some MTU-related craziness. 2017-03-30 17:18:18 -06:00
Gregory Nutt
9aabb44118 6loWPAN: Add some comments, move a function 2017-03-30 16:30:04 -06:00
Gregory Nutt
2aca4d4ebd 6loWPAN: Add a little more send logic. 2017-03-30 15:38:56 -06:00
Juha Niskanen
9e2b3da3e8 drivers/sensors: Add driver for ST HTS221 humidity sensor 2017-03-30 12:17:23 -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
a6148cdb7c 6loWPAN: Adding more socket send-related logic. 2017-03-29 14:28:51 -06:00
Gregory Nutt
5fb222180c 6loWPAN: IEEE802.15.4 MAC driver will need a special form of the network device structure to manage fragmentation of the large packet into frames. 2017-03-29 10:17:34 -06:00
Gregory Nutt
64933246c3 6loWPAN: Tie 6loWPAN send into common socket send logic. 2017-03-28 14:08:54 -06:00
Gregory Nutt
d9e32ee337 6loWPAN: More configurtion settings. 2017-03-28 11:16:28 -06:00
Gregory Nutt
f32fe172d4 6loWPAN: Add HC06 initialization 2017-03-28 10:47:25 -06:00
Jussi Kivilinna
1879f5127b Fix PTHREAD_MUTEX_INITIALIZER which was not updated with last mutex changes. 2017-03-28 09:07:32 -06:00
Gregory Nutt
913daa908a 6loWPAN: Add some more configuration settings that will be needed. 2017-03-28 09:00:25 -06:00
Sebastien Lorquet
45a0af8c03 STM32 L4: More SPI clean-up. Lower case replacements. 2017-03-28 08:52:49 -06:00
Martin Lederhilger
91f96b6ecb drivers/analog: Add driver for the LTC1767L ADC. 2017-03-28 06:34:37 -06:00
Gregory Nutt
65e95b95f2 Add a little more 6loWPAN logic 2017-03-27 18:15:20 -06:00
Gregory Nutt
dab2fb2eb3 Add a comment 2017-03-27 16:19:46 -06:00
Gregory Nutt
a522fc4f34 6loWPAN: Rename net/6lowpan to net/sixlowpan; Add Contike sixlowpan.h to include/nuttx/net 2017-03-27 14:53:52 -06:00
Alan Carvalho de Assis
dbc074edab Include wcstold in C++ cwchar header file 2017-03-27 09:49:44 -06:00
Matias vo1d
5c56d8a411 Fix strange invisible characters in this declaration. 2017-03-27 09:47:02 -06:00
Gregory Nutt
4800d3f545 Add syscall support for pthread_mutex_consistent() 2017-03-27 09:36:03 -06:00
Gregory Nutt
b07d3fc305 Rename CONFIG_MUTEX_TYPES to CONFIG_PTHREAD_MUTEX_TYPES 2017-03-27 09:08:14 -06:00
Gregory Nutt
f2f798cb29 pthread mutexes: Finish logic to support configuration mutex robustness. 2017-03-27 08:50:45 -06:00
Gregory Nutt
666208cf23 pthread mutexes: Add option to support both unsafe and robust mutexes via pthread_mutexattr_get/setrobust(). 2017-03-26 18:37:24 -06:00
Gregory Nutt
8b3c554e45 pthreads: Add a configuration option to disable robust mutexes and revert to the traditional unsafe mutexes. 2017-03-26 17:37:28 -06:00
Gregory Nutt
34c5e1c18f Minor cleanup from recent changes. 2017-03-26 14:04:07 -06:00
Gregory Nutt
6e623ce06f pthreads: Partial implementation of final part of robust mutexes: Keep list of all mutexes held by a thread in a list in the TCB. 2017-03-26 12:46:57 -06:00
Gregory Nutt
363403fb1f pthreads: Add more robustness characteristics: pthread_mutex_lock() and trylock() will now return EOWNERDEAD if the mutex is locked by a thread that no longer exists. Add pthread_mutex_consistent() to recover from this situation. 2017-03-26 10:35:23 -06:00
Gregory Nutt
bacc4e9b93 Update errno values. Add new values; remove obsolete values 2017-03-26 09:22:00 -06:00
raiden00pl
be8207d493 drivers/analog: Add basic COMP driver 2017-03-25 16:50:11 +01:00
Jussi Kivilinna
d0c54039dc Add ffsl(), ffsll(), fls(), flsl(), flsll() and use GCC's __builtin_ctz/__builtin_clz for faster implementation of these 2017-03-24 09:41:31 -06:00
Gregory Nutt
3fb0a00c35 Small changes from review of last PR. Plus spacing and typo fix. 2017-03-22 17:32:52 -06:00
Brian Webb
0a95536b85 Adds driver support for the XBox One controller. Currently only the latest version (XBox One X) controller works. The older XBox One controllers do not enumerate correctly. 2017-03-17 20:48:21 -07:00
Gregory Nutt
f9c22461c4 include/nuttx/fs/ioctl.h: Fix IOCTL numbering 2017-03-15 16:38:09 -06:00
Gregory Nutt
57a1360c84 Add option to enable wireless debug output. 2017-03-15 14:31:01 -06:00
Gregory Nutt
4a93b0dc0c Update comments. 2017-03-14 08:44:56 -06:00
Gregory Nutt
5f5b20ab74 Cosmetic update to some spacing and comments. 2017-03-13 13:15:49 -06:00
Gregory Nutt
888cff30dc Fix some errors in the previous commit 2017-03-13 10:14:38 -06:00
Gregory Nutt
b808084e57 Move wireless IOCTLs from include/nuttx/net/ioctl to include/nuttx/wireless/wireless.h. Add some linux compatible structures to use with the IOCTL commands. 2017-03-13 09:51:31 -06:00
Gregory Nutt
b9bb9ea853 Fix a typo in the last commit. 2017-03-12 12:59:59 -06:00
Gregory Nutt
430b52c977 Networking: Add registration support for integrated ieee80211 wireless drivers. Rename CONFIG_IEEE802154 to CONFIG_WIRELESS_IEEE8021514 following the convention of including the location of the configuration variable as a part of its name. 2017-03-12 12:50:41 -06:00
Simon Piriou
e10ce5ce51 Photon: add basic support for wlan chip 2017-03-12 16:57:59 +01:00
Leif Jakob
5534e0c493 multiple fixes in nrf24l01 driver
- signal POLLIN if there is already data in the FIFO
- send ETIMEDOUT to userspace after 2 seconds if TX IRQ was not received
- handle FIFO overflow
- handle invalid pipes/empty FIFO
- multiple cosmetics (missing static, duplicate define, missing \n)
2017-03-10 23:21:49 +01:00
David Sidrane
60d8606b19 Priority Inversion fixes:Initalization 2017-03-10 06:38:17 -10:00
Gregory Nutt
360539afac Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is only a single, hard-allocated holder structure. This is problem because in sem_wait() the holder is released, but needs to remain in the holder container until sem_restorebaseprio() is called. The call to sem_restorebaseprio() must be one of the last things the sem_wait() does because it can cause the task to be suspended. If in sem_wait(), a new task gets the semaphore count then it will fail to allocate the holder and will not participate in priority inheritance. This fix is to add two hard-allocated holders in the sem_t structure: One of the old holder and one for the new holder. 2017-03-10 09:30:15 -06:00
ahb
e1da80af5b fix as5048b by adding missing frequency parameter 2017-03-09 12:01:01 +01:00
Alan Carvalho de Assis
d43380d543 Add wcstoull function 2017-03-08 13:28:50 -06:00
Alan Carvalho de Assis
d9bfcfc330 Add mbsnrtowcs wcsnrtombs just returning sucess 2017-03-08 13:24:03 -06:00
Alan Carvalho de Assis
2d1ace3ee5 Add wcstof function 2017-03-08 12:47:23 -06:00
Alan Carvalho de Assis
6e0afb2905 C library: Ad wcstol() and wcstold(). 2017-03-08 12:42:20 -06:00
Alan Carvalho de Assis
3ccef07863 C library: Add wcstoll function 2017-03-08 12:26:35 -06:00
Alan Carvalho de Assis
fda095ccda Add mbtowc and wctomb to C++ std namespace 2017-03-08 12:16:56 -06:00
Gregory Nutt
05a288f2e1 C library: Add strerror_r 2017-03-08 12:14:07 -06:00
Gregory Nutt
e2a554d0f5 Update ChangeLog in prep for 7.20 release. 2017-03-08 10:09:48 -06:00
Gregory Nutt
06ce1a2291 Add missing endif 2017-03-03 14:39:35 -06:00
Gregory Nutt
47ebe1e320 Update some comments 2017-03-03 12:48:58 -06:00
Gregory Nutt
fc5fca5145 Add MAX value definitions to go along with irq_t and irq_mapped_t 2017-03-03 11:48:20 -06:00
Gregory Nutt
e1218c4b4b Smaller vector tables: Add irq_mapped_t. 2017-03-03 10:20:40 -06:00
Gregory Nutt
c2b620b4f8 Implements support for smaller interrupt tables as described at http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This is largely the work of Mark Schulte. However, I have made several changes to match with the Wiki document. If you like the change, thanks go to Marc. For any errors you can blame me. 2017-03-03 09:20:25 -06:00
Gregory Nutt
4c82827ab1 board_button_irq: Button IRQ logic no longer returns the xcpt_t oldhandler. There value is useless and dangerous after the recent changes to interrupt argument passing. 2017-03-02 14:37:22 -06:00
Gregory Nutt
f5f9d82d5a arch_phy_irq: Now returns int instead of xcpt_t oldhandler. The oldhandler is useless after the changes to the interrupt argument. Also access an argument for the PHY interrupt. phy_notify.c driver changed to exploit new interrupt argument passing. 2017-03-02 08:43:33 -06:00
Gregory Nutt
91920f6fc3 cc3200-launchpad: Remove unused prototypes for obsolete names of button interface function. 2017-03-02 08:43:31 -06:00
Mark Schulte
28226198a7 memlcd: Mark Schulte <mark@mjs.pw> 2017-03-01 08:52:58 -06:00
Gregory Nutt
ac6e552ff7 Fixes for coding standard: '*' needs to 'snuggle' with following variable name 2017-02-28 18:37:44 -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
67de2e5f66 Add argument to STM32 EXTI interrupt handlers. 2017-02-27 14:21:30 -06:00
Gregory Nutt
6002393b2d Fix some interrupt argument issues associated with NRF21L01 2017-02-27 12:06:15 -06:00
Gregory Nutt
a773f9412a STMPE811 driver needs argument in interrupt handler 2017-02-27 11:41:48 -06:00
Gregory Nutt
cb927e3226 Merge remote-tracking branch 'origin/master' into irqattach 2017-02-27 11:18:58 -06:00
Gregory Nutt
7b89a7789f Correct error in syscall.h 2017-02-27 11:18:31 -06:00
Gregory Nutt
b4ff7391f8 Convert more drivers to use use irq_attach with argument. 2017-02-27 10:44:13 -06:00
Gregory Nutt
4cd31be19d Convert some serial drivers to use use irq_attach. 2017-02-27 08:55:21 -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
2238912507 Fix some backward conditional compilation 2017-02-25 18:32:58 -06:00