Commit Graph

182 Commits

Author SHA1 Message Date
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
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
Boris Astardzhiev
b1eceb838b Extend the RTC framework with an alarm read ioctl (RTC_RD_ALARM). Through it consumer could get configuration settings about previously scheduled hardware alarms (active status, hours, minutes, seconds). 2017-09-03 08:39:02 -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
Juha Niskanen
b9a769d65d drivers: fix some bad NULL checks 2017-05-15 07:20:32 -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
Sebastien Lorquet
5363d0619a Fix warnings 2016-11-18 15:26:08 +01:00
Gregory Nutt
47b52a2633 Fix an error in manually bringing in Sebastien's changes; Update some comments. 2016-11-17 16:15:06 -06:00
Gregory Nutt
9acd57c819 Fix up some naming and update some comments. 2016-11-17 15:50:39 -06:00
Gregory Nutt
19c1c9d78b All timer lower half drivers. Port Sebastien's changes to all all other implementations of the timer lower half. Very many just and untested. Expect some problems. 2016-11-17 15:03:31 -06: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
Gregory Nutt
ab16ad7530 Fix some bugs in the oneshot driver logic 2016-08-12 14:19:11 -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
Wolfgang Reissnegger
d27ebee070 [sam34][timer] Fix ops check in TCIOC_STOP. 2016-06-23 17:12:24 -07: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
b7f0fbc073 Centralize definitions associated with CONFIG_DEBUG_RTC 2016-06-16 07:39:23 -06:00
Gregory Nutt
37b9742189 Centralize definitions associated with CONFIG_DEBUG_TIMER 2016-06-16 07:16:25 -06:00
Gregory Nutt
6b517ed017 Centralize definitions associated with CONFIG_DEBUG_WATCHDOG 2016-06-16 06:28:04 -06:00
Gregory Nutt
efb02f2ef1 drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors. 2016-06-12 08:31:22 -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
Paul A. Patience
f8f7b7582c Silence some warnings 2016-05-26 14:06:13 -04:00
Gregory Nutt
8eb7898a91 RTC driver: A PID of zero should mean to notify the calling task 2016-04-10 09:12:50 -06:00
Gregory Nutt
dc71a47df6 RTC: Fix some configuration issues when RTC_ALARM is disabled 2016-04-04 09:24:27 -06:00
Gregory Nutt
a44b0798e2 RTC driver: Needs to initialize state structure to zero on initalization 2016-04-03 12:40:25 -06:00
Gregory Nutt
ae95f6cdfd RTC: Fix some errors when RTC debug is enabled 2016-04-03 09:52:25 -06:00
Gregory Nutt
1135ce804d RTC: Extend interface by adding a method to set the alarm relative to the current time 2016-04-02 18:18:48 -06:00
Gregory Nutt
0723226bda RTC: Further simplications of the RTC driver interface; Add sample implem. 2016-04-02 13:55:58 -06:00
Gregory Nutt
58d6624f29 RTC: Simplify the RTC driver interface. Way too much stuff in that interface and it is not fully implemented anywhere. 2016-04-02 13:01:02 -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
8c9bddf998 I2C: Eliminate the I2C_WRITE and I2C_READ macros 2016-02-01 08:57:22 -06:00
Gregory Nutt
10000841a8 The I2C_TRANSFER method is no longer optional 2016-01-31 14:16:05 -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
d4a53ee131 I2C: Eliminate the I2C_WRITEREAD method 2016-01-26 10:26:16 -06:00
Gregory Nutt
a2e1ece873 RTC: Handle RTC failures. If mktime is called with garbage, it may crash 2015-12-21 14:39:40 -06:00
Gregory Nutt
a696b807fb PCF65263: Correct readback verification of seconds register 2015-12-21 14:00:25 -06:00
Gregory Nutt
d62a626703 Adds a driver for the PCA9635PW I2C LED driver IC which can be used to control the intensity of up to 16 LEDs. From Alexander Entinger 2015-12-15 08:05:10 -06:00
Gregory Nutt
11afff74dc Kconfig change for improved usability 2015-11-29 12:13:24 -06:00
Gregory Nutt
8914400750 PCF85163: Correct I2C address 2015-11-21 07:14:36 -06:00
Gregory Nutt
294950ea3d PCF85263: Need to clear the 100ths of second register when setting the time 2015-11-20 17:39:41 -06:00
Gregory Nutt
38c9d42e21 drivers/timers/pcf85263.c: Add a driver for the NXP PCF85263 I2C RTC 2015-11-20 17:36:10 -06:00
Gregory Nutt
3cff8a725b Add a missing comment 2015-11-20 16:13:28 -06:00
Gregory Nutt
11c0f5be6f Clear some trailing whitespace 2015-11-20 16:10:01 -06:00
Gregory Nutt
26cbdd8939 Completes PCF85263 RTC register definition header file. 2015-11-20 16:09:23 -06:00
Gregory Nutt
eb4c2f9c41 PCF85263 RTC register definition header file. Incomplete on initial commit 2015-11-20 14:51:43 -06:00
Gregory Nutt
db2fe45666 Update some comments 2015-11-20 09:55:18 -06:00
Gregory Nutt
9af0ee7fdb DS323x: Costmetic cleanup 2015-11-19 19:43:01 -06:00
Gregory Nutt
b951533514 DS3232 not DS3234 2015-11-19 19:31:52 -06:00
Gregory Nutt
9a1ca0d489 Add support for DS1302 and DS3232 RTC chips 2015-11-19 19:26:09 -06:00
Gregory Nutt
367d8020be Add some definitions for future support for the DS3234 SPI RTC 2015-11-19 15:57:36 -06:00
Gregory Nutt
892ba4f26a DS1307: Change year bias to 1968 which is a leap year juse like 2000 2015-11-19 15:12:40 -06:00
Gregory Nutt
c34b5108a7 RTC: Fix system time initialization when using an exernal RTC. Fix some bugs in the DS1307/DS3231 RTC driver 2015-11-19 14:54:30 -06:00
Gregory Nutt
622ea95ab1 drivers/timers/ds3213.c: Extend to include support for the DS1307 RTC 2015-11-18 08:43:19 -06:00
Gregory Nutt
a654f35d98 Fix some stylistic issues found by tools/nxstyle 2015-11-17 17:35:17 -06:00
Gregory Nutt
25c4ff8285 Update some comments 2015-11-17 16:29:34 -06:00
Gregory Nutt
249fa2475b Add logic to detect rollowing while reading or setting the time 2015-11-17 14:39:47 -06:00
Gregory Nutt
45530a77d4 Add support for DS3231 I2C RTC. Untested on initial commit. 2015-11-17 14:07:55 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Gregory Nutt
af086c40ff Remove dangling whitespace 2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -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
2aa80e06f5 Remove executable flag from more .c and .h files 2015-04-09 08:20:57 -06:00
Gregory Nutt
bf7b5746a5 Correct typos in comments 2015-04-03 08:01:39 -06:00
Gregory Nutt
e78e762dd6 Add a very basic driver for the CS2100-CP Fractional-N Multipler chip. 2015-04-02 13:00:10 -06:00
Gregory Nutt
0ec67181c9 Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/. 2015-04-01 12:37:44 -06:00
Gregory Nutt
6cc74fecc8 Refresh configuration 2015-02-25 07:22:58 -06:00
Gregory Nutt
63ab39b274 VFS: The inode unlink method should not be support if operations on the root pseudo-filesystem are disabled. 2015-02-18 09:34:58 -06:00
Gregory Nutt
e2336a07bb The RTC ioctl() method is now a configuration option 2015-02-18 08:23:10 -06:00
Gregory Nutt
f94e601981 Add an IOCTL method to the RTC interface 2015-02-18 08:05:31 -06:00
Gregory Nutt
5cb233f712 RTC: A little more clean-up of the RTC driver 2015-02-15 08:19:23 -06:00
Gregory Nutt
fcadc2d8e4 Add an RTC upper half driver. This is the driver that is documented in include/nutt/rtc.h 2015-02-13 11:49:04 -06:00
Gregory Nutt
c463f9fad6 Move timer-related drivers from drivers/ to drivers/timers. 2015-02-13 10:30:06 -06:00