Commit Graph

3074 Commits

Author SHA1 Message Date
Gregory Nutt
c4acabaa74 In dlopen(), use the basename of the file as the module name 2017-01-22 16:01:03 -06:00
Gregory Nutt
4574a1ca42 Modules: Extend the module interface so that we can access symbols exported by the module. 2017-01-22 14:26:22 -06:00
Gregory Nutt
d90e66a024 Kernel Modules: Module initializer may now return a symbol table (not yet used for anything) 2017-01-22 11:37:49 -06:00
Gregory Nutt
2a284a95b1 C library: Add framework that may (or may not) eventually support shared libraries. 2017-01-22 09:14:18 -06:00
Gregory Nutt
7578382890 Add dllfcn.h header file (no implementation of shared objects yet in place). 2017-01-21 13:07:40 -06:00
Gregory Nutt
3c4684ef5f Eliminate CONFIG_ARCH_OPTIMIZED_FUNCTIONS. Move options to select architectur-specific C library options from libc/Kconfig to libc/machine/Kconfig and rename. 2017-01-20 09:30:07 -06:00
Gregory Nutt
c07192df7e Update some comments 2017-01-17 15:30:41 -06:00
Aleksandr Vyhovanec
bf528f2071 packed_struct replaced by begin_packed_struct and end_packed_struct 2017-01-09 14:17:49 +03:00
Gregory Nutt
7035d232f8 NX server: Correct message queue names. Should not be at /dev, but rather relative to /var/mqueue. 2017-01-08 09:14:11 -06:00
Gregory Nutt
d7173f2eb5 Font cache: Enforce mutually exclusive access to the font cache 2017-01-06 09:50:30 -06:00
Gregory Nutt
0b52e6f571 Font cache: Replace fixed-size array with variable size link list. 2017-01-06 09:07:25 -06:00
Gregory Nutt
dc05af6436 Graphics: Initial separation of font cache from graphics/nxterm. Now in libnx/nxfronts 2017-01-05 18:36:29 -06:00
Gregory Nutt
d91cf5736e With last changes the Tom Thumb 3x5 font is now 4x6 2017-01-04 10:31:53 -06:00
Alan Carvalho de Assis
6c826bb209 Add support for Tom Thumb small mono-space font 2017-01-03 11:11:47 -06:00
Gregory Nutt
cfb876263a SMP: There were certain conditions that we must avoid by preventing releasing the pending tasks while withn a critical section. But this logic was incomplete; there was no logic to prevent other CPUs from adding new, running tasks while on CPU is in a critical section.
This commit corrects this.  This is matching logic in sched_addreadytorun to avoid starting new tasks within the critical section (unless the CPU is the holder of the lock).  The holder of the IRQ lock must be permitted to do whatever it needs to do.
2016-12-27 08:49:07 -06:00
Lorenz Meier
b0fcf3abd7 termios.h: Fix CRTSCTS define to include input and output flow 2016-12-26 07:41:44 -06:00
Gregory Nutt
9e8b1f32d2 sched note: record ID enumeration now results on constant values; ID values do not change with configuration. This makes writing post-processing software much easier 2016-12-24 15:44:21 -06:00
Gregory Nutt
81697f2285 Xtensa ESP32: Fix APP CPU startup... Can't use semaphores on the IDLE thread. 2016-12-20 11:26:37 -06:00
Gregory Nutt
f063e4c5ac Remove Calypso architecture support and support for Calypso SERCOMM driver. 2016-12-13 18:35:52 -06:00
Gregory Nutt
c83da3c48f Remove minnsh configurations and support logic: up_getc() and lowinstream.
This was an interesting exercise to see just how small you could get NuttX, but otherwise it was not useful:  (1) the NSH code violated the OS interface layer by callup up_getc and up_putc directly, and (2) while waiting for character input, NSH would call up_getc() which would hog all of the CPU.  NOt a reasonably solution other than as a proof of concept.
2016-12-13 18:01:23 -06:00
Gregory Nutt
d648f9c8b4 Add task_testcancel() 2016-12-10 16:34:14 -06:00
Gregory Nutt
f132960789 Add task_setcanceltype() 2016-12-10 16:06:14 -06:00
Gregory Nutt
5fb207eb36 Add task_setcancelstate() 2016-12-10 15:16:46 -06:00
Gregory Nutt
b52e4e5ecd Move cancellation point definitions to their own header file. 2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7 Cancellation points: Close up some logic to eliminte some race conditions. 2016-12-10 08:36:58 -06:00
Pierre-Noel Bouteville
e9d3c3362a Correct some default font IDs 2016-12-10 07:46:54 -06:00
Gregory Nutt
e62b3bccd3 pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled. 2016-12-10 07:40:48 -06:00
Gregory Nutt
18ce5496e4 Fix upper- vs. lower-case typo. 2016-12-10 07:15:33 -06:00
Gregory Nutt
1b2135a90a Add pthread_setcanceltype() and pthread_testcancel() as system calls. 2016-12-10 07:12:11 -06:00
Gregory Nutt
d35e589d56 Flesh basic cancellation point support 2016-12-09 09:44:23 -06:00
Gregory Nutt
82a79b9c1b Add framework for cancellation point support. 2016-12-09 08:13:28 -06:00
Gregory Nutt
acaae12e8b Add pthread_testcancel(), pthread_testcancel(), and definitiions for cancellation types. 2016-12-09 07:23:00 -06:00
Gregory Nutt
ab43681f15 Update TODO and some comments. 2016-12-08 10:24:40 -06:00
Gregory Nutt
a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt
a7b688e87b sched notes: Add additional note to see if/when CPU is started in SMP mode. 2016-12-07 09:08:20 -06:00
Gregory Nutt
35dfe25430 Remove BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the board initialization logic just like every other device driver. 2016-12-06 08:51:37 -06:00
Gregory Nutt
55dd1c87b3 Remove all references to BOARDIOC_ADCSETUP 2016-12-05 15:31:40 -06:00
Gregory Nutt
b999e63c82 Remove some references to BOARDIOC_PWMTEST and board_pwm_setup(). Still lots more. 2016-12-05 13:54:12 -06:00
Gregory Nutt
a431fc77cb Add a forward refeence to elininate a warning. 2016-12-03 16:35:37 -06:00
Gregory Nutt
7467329a98 Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed. 2016-12-03 16:28:19 -06:00
Gregory Nutt
41e35c88bf eZ80 Ethernet now supports CONFIG_NET_NOINTS 2016-12-03 10:43:35 -06:00
Gregory Nutt
553f6d22fc Boardctl: Add a boardctrl() command to start the NX server. Refresh all NX configurations. 2016-12-01 13:52:13 -06:00
Gregory Nutt
6dda185e8a NX: Remove configuration CONFIG_NX_NXSTART. nx_start.c is now built unconditionally in multi-user mode. 2016-12-01 13:30:24 -06:00
Gregory Nutt
ca2d62f86c arp.h: Fix some typos introduce in last big set of commits. 2016-11-29 16:57:19 -06:00
Gregory Nutt
c09ae58e3f include/: Remove all references to CONFIG_NET_MULTIBUFFER. d_buf in struct net_driver_s is now always a pointer vs. an array. 2016-11-29 16:08:36 -06:00
Gregory Nutt
9ee3f3b933 sched_note: Permit spinlock and critical section notes in in-memory buffer iff sched_not_get() interfaces is disabled. 2016-11-28 18:36:26 -06:00
Gregory Nutt
00215fbc98 sched_note: Add spinlock instrumentation; In SMP configurations, select to log only notes from certain CPUs 2016-11-28 10:33:46 -06:00
Gregory Nutt
d65be718c2 sched_note: Extend OS instrumentation to include some SMP events. 2016-11-27 17:14:57 -06:00
Gregory Nutt
e3fe320e08 SMP: Add support for linking spinlocks into a special, non-cached memory region. 2016-11-26 08:47:03 -06:00
Gregory Nutt
7f636f2280 SMP: Add spin_trylock(). Use this in conditions where other CPUs need to stopped but we cannot call enter_critical_section. 2016-11-24 13:33:43 -06:00
Gregory Nutt
bac7153609 SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting for g_cpu_irqlock and CPU0 is waitin for g_cpu_paused 2016-11-22 11:34:16 -06:00
Gregory Nutt
8eec4ab0e8 Eliminate a warning 2016-11-22 06:58:34 -06:00
Gregory Nutt
558784d06f Spinlocks: Added capability to provide architecture-specific memory barriers. This was for i.MX6 but does not help with the SMP problems. It is still a good feature. 2016-11-21 11:55:59 -06:00
Gregory Nutt
337d0f1050 Fix a typo in a spinlock macro 2016-11-21 08:27:51 -06:00
Gregory Nutt
e24f281401 This commit adds a new internal interfaces and fixes a problem with three APIs in the SMP configuration. The new internal interface is sched_cpu_pause(tcb). This function will pause a CPU if the task associated with 'tcb' is running on that CPU. This allows a different CPU to modify that OS data stuctures associated with the CPU. When the other CPU is resumed, those modifications can safely take place.
The three fixes are to handle cases in the SMP configuration where one CPU does need to make modifications to TCB and data structures on a task that could be running running on another CPU.  Those three cases are task_delete(), task_restart(), and execution of signal handles.  In all three cases the solutions is basically the same:  (1) Call sched_cpu_pause(tcb) to pause the CPU on which the task is running, (2) perform the necessary operations, then (3) call up_cpu_resume() to restart the paused CPU.
2016-11-20 07:57:18 -06:00
Gregory Nutt
6a7619b6f0 Update TODO list 2016-11-19 13:23:15 -06:00
Gregory Nutt
a2aba90252 Update some comments 2016-11-19 11:48:08 -06:00
Gregory Nutt
f40fbaa4b9 sched/task: task_restart() test not supported on SMP systems. This is not fully implemented. 2016-11-19 11:41:05 -06:00
Sebastien Lorquet
5363d0619a Fix warnings 2016-11-18 15:26:08 +01:00
Sebastien Lorquet
197cec58d2 timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage. 2016-11-17 14:38:21 -06:00
Gregory Nutt
d4a048c0c6 Timer driver: Add hooks to support signal notification of timer expiration. Commented out because invasive interface changes would also be required to complete the implementation. 2016-11-17 12:41:11 -06:00
Gregory Nutt
ecb2d4cbc1 drivers/timer: Remove the TIOC_SETHANDLER IOCTL call. This calls directly from the timer driver into application code. That is non-standard, non-portable, and cannot be supported 2016-11-17 11:52:42 -06:00
Alan Carvalho de Assis
a6b7730f8c Add Vishay VEML6070 driver and support for STM32F103-Minimum board 2016-11-13 11:44:28 -06:00
Gregory Nutt
796969f6b6 Update TODO. Provide do-nothing stubs for mutex attribute interfaces if features not enabled. pthread_cond includes a signaling semaphore and should call sem_setprotocol. 2016-11-05 11:06:52 -06:00
Gregory Nutt
b0dffdc2ca Fix a number of header files with mismatched 'extern C {' and '}' 2016-11-05 07:25:05 -06:00
Gregory Nutt
4c8ec0d2ca include/nuttx/semaphore.h: Fix broken macros 2016-11-03 12:49:44 -06:00
Gregory Nutt
1da3a5fa61 sched: Disable priority inheritance on all semaphores used for signaling 2016-11-03 12:42:02 -06:00
Gregory Nutt
de30c2e5dd Back out the rest of commit 1e754402b8. Newlib support will not be accepted into the NuttX repository. 2016-11-03 09:41:38 -06:00
Alan Carvalho de Assis
1e754402b8 Add C++ support linking with GNU toolchain newlib/stdlibc++ 2016-11-03 08:50:58 -06:00
Gregory Nutt
97bf82ee05 Semaphores: Provide macros for sem_setprotobol() and sem_getprotocol() if priority inheritance is not enabled. More SEM_PRIO_* definitions to include/nuttx/semaphore.h 2016-11-02 18:21:46 -06:00
Gregory Nutt
d5b4d848d3 Move protoypes for the non-standard include/semaphore.h file to the non-standard include/nuttx/semaphore.h with the other non-standard semaphore interfaces. 2016-11-02 14:43:03 -06:00
Gregory Nutt
6c51544e56 Update some comments 2016-11-02 14:24:16 -06:00
Gregory Nutt
b738a646ad sem_getprotocol() can be in C library 2016-11-02 09:29:16 -06:00
Gregory Nutt
92d3022411 Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore. 2016-11-02 09:05:18 -06:00
Paul A. Patience
912fe06a86 Add architecture-specific inttypes.h 2016-10-27 16:01:38 -04:00
Gregory Nutt
1dabbd8489 Costmetic changes 2016-10-24 16:18:30 -06:00
Gregory Nutt
41137b82fa Add strtold() 2016-10-22 13:02:55 -06:00
Gregory Nutt
aac8634de2 ctype.h: Correct some dangling garbage from the last change 2016-10-22 10:12:10 -06:00
Gregory Nutt
c08cb7ddea Implement ctype.h functions as inline if possible. cctype can then properly select namespace. 2016-10-22 08:18:00 -06:00
Gregory Nutt
30ab01b1d8 strtof: Add strtof() as simply a compy of strtod with types and limits changed 2016-10-20 12:07:12 -06:00
Gregory Nutt
2dbcdd781c Correct STM32 Butterfly2 URL. Correct some comments. 2016-10-20 07:18:23 -06:00
Alan Carvalho de Assis
1cb05d007d Add some less-than-perfect macros to provide some implementation of strtof() and strtold() 2016-10-19 14:26:48 -06:00
Gregory Nutt
8039173c9e Merged in david_s5/nuttx/upstream_local_fix_to_greg (pull request #153)
DO NOT MERGE Until Alan Verifies this -
2016-10-19 17:44:52 +00:00
David Sidrane
b1ed7910f0 Allows c++ code to compile with or without CONFIG_LIBC_LOCALE
and will generate a link error if CONFIG_LIBC_LOCALE is not defined
and setlocale is referneced. With CONFIG_LIBC_LOCALE defined
setlocale will act as if MB string is not supported and return
"C" for POSIX. C and ""
2016-10-19 06:49:19 -10:00
Gregory Nutt
48fb97e7b5 More of the same cloned typo 2016-10-19 10:11:45 -06:00
Gregory Nutt
841e1aa77f Fix a cloned typo 2016-10-19 09:14:21 -06:00
Gregory Nutt
54fd0f0a04 Fix a few more compile issues with the new wide character support 2016-10-19 08:18:46 -06:00
Alan Carvalho de Assis
b852bb3403 Add iswctype, towlower, towupper and wcsftime functions 2016-10-19 07:49:33 -06:00
Alan Carvalho de Assis
53700fc71f Add isblank() macro to ctype.h 2016-10-19 07:22:13 -06:00
Gregory Nutt
c73d3e9c5f Remove comments that no longer apply. clocale should not do anyting if CONFIG_LIBC_LOCALE is not defined. 2016-10-19 07:06:43 -06:00
Gregory Nutt
bbf1627024 sys/time.h: timersub macro modified per recommendations of phreakuencies 2016-10-18 19:47:42 -06:00
Gregory Nutt
890a9eb45d Fix a few wide character build issues 2016-10-18 19:11:09 -06:00
Alan Carvalho de Assis
b37c94bc68 Modify locale.h to add localeconv() and lconv structure 2016-10-18 18:28:17 -06:00
Alan Carvalho de Assis
dfdde741e3 C library: Add wctype.h; Move lib_wctype.c to libc/wctype 2016-10-18 18:24:58 -06:00
Alan Carvalho de Assis
4d39b513b5 Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb, wctype, localeconv, strcoll, strxfrm 2016-10-18 18:15:54 -06:00
Gregory Nutt
626408bc29 C Library: Add clocale header file 2016-10-18 07:52:22 -06:00
Gregory Nutt
84049a19ba C library: Add a dummy setlocale() function to avoid drawing the function from newlib 2016-10-17 09:45:12 -06:00
Alan Carvalho de Assis
df313581db Correct typo in comments 2016-10-11 14:13:28 -06:00
Gregory Nutt
79c9e25a12 include/nuttx/fs/nxffs.h: Needs forward reference to struct mtd_dev_s and needs to include stdbool.h 2016-10-09 14:07:19 -06:00
Gregory Nutt
8669183852 sched/pthread and task: When a pthread is started, there is a small bit of logic that will run on the thread of execution of the new pthread. In the case where the new pthread has a lower priority than the parent thread, then this could cause both the parent thread and the new pthread to be blocked at the priority of the lower priority pthread (assuming that CONFIG_PRIORITY_INHERITANCE is not selected).
This change temporarily boosts the priority of the new pthread to at least the priority of the new pthread to at least the priority of the parent thread.  When that bit of logic has executed on the thread of execution of the new pthread, it will then drop to the correct priority (if necessary) before calling into the new pthread's entry point.
2016-10-01 11:38:22 -06:00
Gregory Nutt
0908a6c6b9 Fix calculations using MSEC_PER_TICK. If USEC_PER_TICK is less than 1000, then MSEC_PER_TICK will be zero. It will be inaccurate in any case. 2016-09-25 08:17:33 -06:00
Marc Rechté
9838cc0cc9 Make DAC structure packed 2016-09-20 08:04:32 -06:00
Alan Carvalho de Assis
61980caee5 drivers/sensors: Adds support for the Sensixs XEN1210 3D-boar. This sensor is used on NANOSATC-BR2 a Brazillian CUBESAT project. 2016-09-16 12:45:53 -06:00
Gregory Nutt
141a111439 Update a comment 2016-09-16 12:31:18 -06:00
Gregory Nutt
de3e35f00a include/nuttx/modem: Move all modem-related IOCTL commands to a common file to assure that they will be unique 2016-09-16 09:39:51 -06:00
Gregory Nutt
8842c2c214 Add a definition and a comment 2016-09-07 09:38:33 -06:00
Gregory Nutt
05aa586aa6 sched/: Move fields related to parent/child task relationship out of TCB into group structure. 2016-09-06 08:28:31 -06:00
Aleksandr Vyhovanec
b0f973d901 MTD: SPI-based driver for Macronix MX25L3233F or MX25L6433F. 2016-09-02 11:00:04 -06:00
Gregory Nutt
0de75e144a Fix some comments in header files 2016-08-31 13:34:52 -06:00
Gregory Nutt
1431dcd8d5 Fix some bad file inclusions in last commit 2016-08-31 12:25:50 -06:00
Gregory Nutt
7ea9632592 Change the way that contactless IOCTL commands are defined. All IOCTL commands must be unique. 2016-08-31 11:30:22 -06:00
Sebastien Lorquet
a17059503e fix pn532 2016-08-31 13:50:03 +02:00
Sebastien Lorquet
1d1affdd2b fix mfrc522 2016-08-31 13:46:27 +02:00
Sebastien Lorquet
d4048f3eeb CL fixes 2016-08-31 13:41:49 +02:00
Sebastien Lorquet
c025ffc3c3 contactless: spi device 2016-08-31 13:22:10 +02:00
Sebastien Lorquet
3654b841bc Move contactless drivers to their own directory 2016-08-31 13:08:58 +02:00
Gregory Nutt
1500a50057 Add missing prototype for btn_lower_initialize() 2016-08-27 11:32:47 -06:00
Gregory Nutt
644335a39c Fix C99 style comment 2016-08-26 08:28:54 -06:00
Gregory Nutt
440d535360 include/cxx: Update some C++ header files due to recent changes to C hader files 2016-08-25 15:06:46 -06:00
Gregory Nutt
55a325bcd4 system() is not available from within the OS 2016-08-25 12:36:38 -06:00
Gregory Nutt
e07a02bf29 Add system() to stdlib.h 2016-08-25 11:28:09 -06:00
Sebastien Lorquet
aed8a602b8 stdio: Add support for remove() 2016-08-25 08:40:34 -06:00
Sebastien Lorquet
51596dc457 Updata difftime. Add a version of difftime for the case where the platform does not support type double 2016-08-25 08:00:50 -06:00
Sebastien Lorquet
a626ba5b70 libc/time: This commit adds the difftime() function. Since the function returns a double, I have isolated it in a CONFIG_LIBC_DIFFTIME option (It also depends on the toolchain-dependent CONFIG_HAVE_DOUBLE so is not available on tiny platforms). 2016-08-24 15:43:57 -06:00
Sebastien Lorquet
c8c4575139 isatty() should be prototypes in unstid.h, not termios.h. 2016-08-24 10:25:09 -06:00
Sebastien Lorquet
7021b143ce Add POSIX type sig_atomic_t 2016-08-24 10:16:41 -06:00
Alexander Entinger
221fcfd8f1 drivers/sensors: Add driver for the Bosch BMG160 3 axis gyroscop. 2016-08-24 09:41:04 -06:00
Alexander Entinger
0044910e33 drivers/sensors: Add driver for the LIS3DSH 3 axis accelerometer. 2016-08-24 08:28:45 -06:00
Gregory Nutt
595f00e271 Add include/sensors/ioctl.h; make sure that all IOCTL values are unique to avoid all misuse. 2016-08-23 13:08:12 -06:00
Entinger Alexander
b29287b022 drivers/sensors: Add driver for the MLX90393 3 axis magnetometer. 2016-08-23 10:48:08 -06:00
Entinger Alexander
338bf8c9e3 drivers/sensors: Add drvier for the LIS3MDL 3 axis magnetometer 2016-08-23 08:22:47 -06:00
Gregory Nutt
60b70f7dbb Make xorshift128 re-entrant so that we do do have to suffer the overhad of serialization controls. 2016-08-21 07:47:53 -06:00
Gregory Nutt
300361539a sched/sched_cpuload_oneshot: Use the oneshot timer with optional entropy to measuer cPU load if so configured. 2016-08-20 12:47:07 -06:00
Gregory Nutt
6f833be9d5 Separate XorShift128 PRNG from /dev/urandom and make it generally available. 2016-08-20 11:36:02 -06:00
Gregory Nutt
a5440fff64 Make all Analog IOCTL command values unique 2016-08-20 09:09:17 -06:00
Alan Carvalho de Assis
8b99dd4cdb drivers/audio: Add Audio Tone Generator for NuttX 2016-08-16 13:20:05 -06:00
Gregory Nutt
f84780f36e Changes from review of PR 114 2016-08-14 13:38:47 -06:00
Gregory Nutt
82b86cdcf3 oneshot interface: max_delay method should return time in a standard struct timespec form. 2016-08-12 11:33:10 -06:00
Gregory Nutt
89135c55e4 drivers/timer: Add an upper-half, oneshot timer character driver. 2016-08-12 10:40:07 -06:00
Gregory Nutt
1bb93021df STM32: Add a experimental oneshot, lower-half driver for STM32 2016-08-11 14:07:43 -06:00
Gregory Nutt
9de2c28656 Add oneshot timer lower half interface 2016-08-11 13:34:49 -06:00
Gregory Nutt
6df28bc74e Make bit-order SPI H/W feature configurable for better error detection 2016-08-08 11:54:13 -06:00
Gregory Nutt
c3cfd37791 Fix cloned variable error in all SPI drivers 2016-08-08 11:04:01 -06:00
Gregory Nutt
7d4cb73bd6 STM32 and EFM32 SPI drivers adopted an incompatible conventions somewhere along the line. The set the number of bits to negative when calling SPI_SETBITS which had the magical side-effect of setting LSB first order of bit transmission. This is not only a hokey way to pass control information but is supported by no other SPI drivers.
This change three things:  (1) It adds HWFEAT_LSBFIRST as a new H/W feature.  (2) It changes the implementations of SPI_SETBITS in the STM32 and EFM32 derivers so that negated bit numbers are simply errors and it adds the SPI_HWFEATURES method that can set the LSB bit order, and (3) It changes all calls with negative number of bits from all drivers: The number of bits is now always positive and SPI_HWFEATUREs is called with HWFEAT_LSBFIRST to set the bit order.
2016-08-08 08:28:13 -06:00
Gregory Nutt
469aff0584 Fix names of pre-processor variables used in header file idempotence 2016-08-06 19:21:42 -06:00
Gregory Nutt
4afe20c83f Fix naming of some enumeration types 2016-08-06 11:08:53 -06:00
Alan Carvalho de Assis
bfac90f720 Add MFRC522 RFID ISO14443 and Mifare transceiver driver 2016-08-06 08:45:52 -06:00
Gregory Nutt
2f7cae6e4a SPI transfer: minor fix to type and comments 2016-08-05 14:18:40 -06:00
Gregory Nutt
50e9a5fa33 Add more options to spi_transfer 2016-08-05 13:22:18 -06:00
Gregory Nutt
5407a673fc Tiva TM4C-1294 Launchpad: tiva_appinit.c is a better home for board_pwm_setup() vs. tiva_bringup.c 2016-08-05 13:05:41 -06:00
Gregory Nutt
7048d08123 drivers/spi: Add an SPI character driver that will permit access to the SPI bus for testing purposes. This driver is a simple wrapper around spi_transfer(). 2016-08-05 11:07:35 -06:00
Gregory Nutt
7da67bc80a drivers/spi: Add a helper function that encapsulates and manages a sequency of SPI transfers. 2016-08-05 10:23:04 -06:00
Gregory Nutt
3d5df2e5af Extend I/O Expander interrupt controls; Add test of level sensitve interrupt to Simulated I/O expander 2016-08-04 16:19:52 -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
c32d40fd7d KXJT9 Accelerometer driver from the Motorola Moto Z MDK 2016-08-02 10:38:14 -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
583dad647c TCA64xx: Remove some unused kruft 2016-08-01 09:59:36 -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
99843fe5fe I/O Expander: Update skelton file 2016-07-31 14:42:30 -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
309480d0f9 Merge branch 'timekeeping' of bitbucket.org:nuttx/nuttx 2016-07-28 09:34:00 -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
Gregory Nutt
fe678cf351 Trivial change to a comment (only committed so that I can merge) 2016-07-24 07:39:46 -06:00
Wolfgang Reissnegger
81f7758848 USBMSC: Fix usbtrace() string. 2016-07-23 20:10:20 -07:00
Gregory Nutt
a932578e76 GPIO driver: Add support for receiving signals from interrupt pins. 2016-07-23 13:53:06 -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
a2a47eb334 Move include/nuttx/float.h to include/nuttx/lib/float.h 2016-07-21 14:03:35 -06:00
Gregory Nutt
779d3f98ed Move include/nuttx/math32.h to include/nuttx/lib/math32.h 2016-07-21 14:00:15 -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
a2035f7efd Move include/nuttx/1wire.h to include/nuttx/drivers/1wire.h 2016-07-21 13:51:28 -06:00
Gregory Nutt
ea589e2d6c Move include/nuttx/stdarg.h to include/nuttx/lib/stdarg.h 2016-07-21 13:48:20 -06:00
Gregory Nutt
72a45c82b7 Move include/nuttx/regex.h to include/nuttx/lib/regex.h 2016-07-21 13:42:18 -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
cf1d0e3222 Grrr.. more errors in same conditional compilation 2016-07-20 15:34:53 -06:00
Gregory Nutt
3218862616 Fix some backward conditional compilation 2016-07-20 15:32:56 -06:00
Gregory Nutt
bfc664af49 Fix pipe2() and mkfifo2() syscall logic 2016-07-20 15:26: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
Gregory Nutt
e73e82a923 Move prototypes of mkfifo2() from sys/stat.h and pipe2() from unistd.h. They are non-standard and should not be in such a public place. They are not in include/nuttx/fs/fs.h (which isn't a great place either). 2016-07-20 11:57:18 -06:00
Gregory Nutt
b28fa8a609 Move pipe() and mkpipe() to nuttx/libc. Change syscalls to pipe2() and mkfifo2() 2016-07-19 14:15:26 -06:00
Gregory Nutt
671d7fae31 Add mkfifo2() and pipe2() which are just like mkfifo() and pipe(), but allow control of the size of the underlying, in-memory circular buffer 2016-07-19 13:51:05 -06:00
Gregory Nutt
d36da2b560 Fix bad dev[u]random_register() function return value. 2016-07-18 12:25:05 -06:00
Gregory Nutt
1660329d06 Rename up_rnginitialize to devrandom_register 2016-07-18 10:55:37 -06:00
Gregory Nutt
fe315f867a Costmetic 2016-07-17 17:01:35 -06:00
Gregory Nutt
006f4a5818 HOSTFS: Fix some errors in first cut at repartitioning 2016-07-17 16:31:14 -06:00
Gregory Nutt
2b28a1f3e5 SIM HOSTFS: First cut at changes to get it working on Cygwin. 2016-07-17 15:59:45 -06:00
Gregory Nutt
07e20479ad /dev/random: Add configuration option to use the congruential PRNG. 2016-07-17 07:56:25 -06:00
David Alessio
6cefbc0c3f This change provides an option to add /dev/urandom to all architectures. The pseudo-random algorithm I choose strikes an arguably-good balance between being "random" and small/fast enough for 8/16 bit MCUs. It’s the well-documented xorshift128 algorithm. It has an internal state of 128 bits that can be [re-]seeded with a write. 2016-07-17 06:42:26 -06:00
Gregory Nutt
ded91e451b PTY: Add TERMIOS support. 2016-07-16 10:43:44 -06:00
Gregory Nutt
6a75f2df89 PTY: Add some encode to reduce the likely of misinterpreting the return value of the file open() method 2016-07-15 17:13:21 -06:00
Gregory Nutt
9ecd558002 Add the correct implementation of the file_poll() function 2016-07-15 11:34:08 -06:00
Gregory Nutt
6e6c04f778 Rename file_poll as fdesc_poll. The file_ namespace is used for other things. 2016-07-15 11:21:11 -06:00
Gregory Nutt
f7f7036db8 Update some comments 2016-07-15 11:15:33 -06:00
Gregory Nutt
95555a0199 PTY: Add ioctls to support locking and unlocking of the slave. LIBC: Add implementation of unlockpt() 2016-07-15 09:39:33 -06:00
Gregory Nutt
6139860c0b PTY: Added PTY IOCTL command definitions. Add support for TIOCGPTN. LIB: Implement ptsname() and ptsname_r() 2016-07-15 08:33:47 -06:00
Gregory Nutt
e50646336b Add PTY header files 2016-07-15 07:19:42 -06:00
Gregory Nutt
beaca7a17f Merge remote-tracking branch 'origin/master' into timekeeping 2016-07-13 10:22:38 -06:00
Max Neklyudov
b18369d772 ADC: add macros to call ADC routines 2016-07-13 10:12:14 -06:00
Gregory Nutt
c8f053de92 Kinetis Ethernet: Add support for the KSZ8081 PHY 2016-07-12 09:59:08 -06:00
David Alessio
261358f1f5 This change should significantly improve the performance of single precision floating point math library functions. The vast majority of changes have to do with preventing the compiler from needlessly promoting floats to doubles, performing the calculation with doubles, only to demote the result to float. These changes only affect the math lib functions that return float. 2016-07-11 07:02:50 -06:00
Gregory Nutt
246773faa7 Rename CONFIG_SCHED_TIMEKEEPING to CONFIG_CLOCK_TIMEKEEPING. That is a better compartmentalized name. 2016-07-11 06:54:02 -06:00
Gregory Nutt
f47b69e1f0 Add support for adjtime system call 2016-07-10 16:55:32 -06:00
Gregory Nutt
c326b6320a Add description of adjtime() from Linux man page 2016-07-10 16:47:06 -06:00
Max Neklyudov
8db29071da timekeeping: initial implementation 2016-07-10 16:14:25 -06:00
Gregory Nutt
2279206f5f Remove carriage returns from header file 2016-07-07 17:11:44 -06:00
Gregory Nutt
88a03ae3ec Break out internal interface psock_ioctl() 2016-07-06 07:30:09 -06:00
Paul A. Patience
0690391d42 ioexpander/gpio: Add missing argument to gpin_read and gpout_read 2016-07-05 15:55:16 -04:00
Gregory Nutt
02b91d9880 Add a SYSLOG character device that can be used to re-direct output to the SYSLOG 2016-07-05 12:58:18 -06:00
Gregory Nutt
a39ce80add SYSLOG logic should use existing file interfaces, not re-invent them. 2016-07-05 12:12:44 -06:00
Gregory Nutt
f1cf6731eb Add raise to std:: namespace in csignal 2016-07-04 12:22:33 -06:00
Gregory Nutt
830af912a1 Add sig_raise() 2016-07-04 09:32:36 -06:00
Gregory Nutt
aa96a1d2ec Move the TZ/Olson zoneinfo data set from apps/system/zoneinfo to libc/zoneinfo 2016-06-30 15:40:37 -06:00
Gregory Nutt
a897fd4ccf Eliminate use of apps/system/usbmonitor. Use drivers/usbmonitor instead. 2016-06-30 13:09:22 -06:00
Gregory Nutt
2a19e16eb0 libc/hex2bin: Move the portable library portion of apps/system/hex2bin to nuttx/libc/hex2bin where it can be shared with the OS internals. 2016-06-27 11:22:38 -06:00
Gregory Nutt
b16fdaf155 Some small improvements to GPIO driver 2016-06-26 11:24:35 -06:00
Gregory Nutt
20708c7c5e GPIO driver: Fix inconsistency in naming; beef up a debug assertion. 2016-06-24 11:32:24 -06:00
Gregory Nutt
ae19ca45e0 drivrs/ioexpander: Add support for a very simple GPIO drivers. It supports only pre-conrigured input and output pins and only basic input and output operations. 2016-06-24 09:43:49 -06:00
Sebastien Lorquet
82d746ec35 STM32L4 CAN: Implementation of loopback IOCTLs 2016-06-22 10:02:20 -06:00
Sebastien Lorquet
16fe8ba342 Add some CAN mode IOCTL calls. These will be useful for device autotest when the application boots. They are redundant with the CONFIG_CAN_LOOPBACK option, which can now just be interpreted as a default setting. 2016-06-22 06:33:04 -06:00
Gregory Nutt
82c890db23 syslog_dev_flush() needs to check if the inode is a mountpoint before calling the flush() method. Noted by David Sidrane. 2016-06-22 05:58:33 -06:00
Gregory Nutt
0150991503 Update some comments 2016-06-21 16:12:05 -06:00
Gregory Nutt
0e1e3bc404 Add a file that I forgot in the last commit; Also update some comments. 2016-06-21 13:33:17 -06:00
Gregory Nutt
e6a1d53869 Extend SYSLOG logic so that we can send SYSLOG output to a file. Not verified on initial commit. 2016-06-21 12:54:47 -06:00
Paul A. Patience
2f76f6e848 can: Add support for poll 2016-06-21 13:02:46 -04:00
Gregory Nutt
5118264e6c Rename CONFIG_SYSLOG_CONSOLE to CONFIG_CONSOLE_SYSLOG 2016-06-21 09:35:51 -06:00
Gregory Nutt
62d8f839c7 SYSLOG: Now a two phase initialization. Some SYSLOG channels cannot be initialized until later in the bringup 2016-06-21 07:52:24 -06:00
Gregory Nutt
951c71041d Merged in paulpatience/nuttx/assert (pull request #66)
assert: Don't define static_assert in C++
2016-06-21 05:59:55 -06:00
Gregory Nutt
7f16548f57 Replaces last three commits. Does the same thing, but does it in a way that does not change the usage model. 2016-06-21 05:26:08 -06:00
Paul A. Patience
983ccf1b0a assert: Don't define static_assert in C++ 2016-06-21 07:17:29 -04:00
Gregory Nutt
b82743612f Even the 'unconditional' _alert() macro should be disabled if all debug features are disabled. 2016-06-20 22:38:54 -06:00
Gregory Nutt
505ca542e8 Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
Gregory Nutt
d1a62f1d24 Add a comment 2016-06-20 14:26:13 -06:00
Gregory Nutt
7ee6668178 Merged in paulpatience/nuttx/assert (pull request #65)
assert: Define static_assert
2016-06-20 14:20:04 -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
d40a473f72 Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn(). 2016-06-20 09:37:08 -06:00
Gregory Nutt
2b445ddccc Remove lowsyslog(). The new syslog() includes all of the functionality of lowsyslog(). No longer any need for two interfaces. 2016-06-20 08:57:08 -06:00