1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

56 Commits

Author SHA1 Message Date
JulianHolzwarth
1fff551d7c xtimer/xtimer.c: fix timeout is volatile
timeout is modified from interupt context so must be volatile
2019-06-05 14:20:16 +02:00
JulianHolzwarth
301d88c04a xtimer/xtimer.c document mutex_thread_t
comment for mutex_thread_t
2019-06-05 14:16:30 +02:00
069a1f6e8b sys/xtimer: make xtimer_mutex_lock_timeout() actually use us arg 2019-03-12 16:09:04 +01:00
Josarn
672368954e xtimer: timer & target overflow, hang resolved.
1. When the 32 bit target of the xtimer overflowed the timer was not placed in the right list.
2. When the hardware timer overflowed the comparison was wrong for setting next target.

3. Backoff condition
2018-11-01 16:48:20 +01:00
josar
f770d17e12 xtimer_core: uncrustify 2018-09-18 16:13:18 +02:00
7d013eb2b6 sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Martine Lenders
0a0bb86f4a posix: move time functions to their own module 2017-11-12 19:55:57 +01:00
35f329e05c sys/xtimer: add xtimer_set_timeout_flag() 2017-09-01 23:54:28 +02:00
Joakim Nohlgård
8e10e6e3fa xtimer: Use {} for empty while loops 2017-06-10 06:34:24 +02:00
185c7ac11b some (ptr == 0) -> (ptr == NULL) fixes (found by coccinelle) 2017-04-20 23:31:32 +02:00
Oleg Hahm
9a38c1085c Merge pull request #6428 from OTAkeys/fix/xtimer_mutex_infinite_loop
xtimer: fix mutex unlocking in _mutex_timeout
2017-01-20 16:43:38 +01:00
Vincent Dupont
eacffdf490 xtimer: fix mutex unlocking in _mutex_timeout 2017-01-19 18:26:52 +01:00
Oleg Hahm
4f4214235b timex: unambiguous time conversion macros 2017-01-19 13:18:08 +01:00
Martine Lenders
712bd09b2c xtimer: fix for DEBUG 2017-01-18 19:38:05 +01:00
Oleg Hahm
24c205d3a3 xtimer: fix formatter for xtimer_now in DEBUG 2017-01-18 16:20:02 +01:00
Victor Arino
17d6d2a5b5 sys/xtimer: implement mutex lock with timeout 2017-01-12 13:20:26 +01:00
Joakim Nohlgård
63e91151cd xtimer: Add tick conversion 2016-11-28 11:00:42 +01:00
Joakim Nohlgård
4449ba4933 xtimer: Refactor xtimer_usleep_until and rename to xtimer_periodic_wakeup
Rewrote conditions for improved readability, and removed magic number 512
2016-07-29 13:05:02 +02:00
Joakim Nohlgård
da8cd11816 xtimer: Move xtimer_spin_until into xtimer_core.c 2016-07-06 22:23:07 +02:00
Joakim Nohlgård
4fe674f746 xtimer: Add missing space 2016-07-06 22:23:06 +02:00
Joakim Nohlgård
7c70d3bc4f xtimer: Add Eistec copyright and author 2016-07-06 22:23:05 +02:00
Joakim Nohlgård
4d862955c2 xtimer: Rename XTIMER -> XTIMER_DEV 2016-07-06 22:23:04 +02:00
Joakim Nohlgård
2f832117f8 xtimer: prefix _lltimer_now, _lltimer_mask with _xtimer 2016-07-06 22:23:04 +02:00
7718f114cb all: remove pointer casts for msg.content.ptr 2016-06-02 23:13:42 +02:00
Ian Martin
31c6bcc4d8 xtimer: return after xtimer_spin() when within an ISR 2016-05-10 13:30:40 -04:00
DipSwitch
0bb4748a94 core: Fix/refactor function naming in core/incude/irq.h 2016-03-20 16:47:34 +01:00
9e3081849e sys: xtimer: fix some race conditions 2016-03-09 01:51:59 +01:00
Ian Martin
856c5e1539 s/XTIMER_RSHIFT/XTIMER_USEC_TO_TICKS/g
s/XTIMER_LSHIFT/XTIMER_TICKS_TO_USEC/g
2016-03-01 15:18:45 -05:00
Ian Martin
f86c118594 xtimer: define XTIMER_RSHIFT() and XTIMER_LSHIFT() macros to avoid using XTIMER_SHIFT directly. 2016-03-01 15:15:19 -05:00
Hauke Petersen
e9d79a37d6 sys/xtimer: adapted to timer API changes 2016-02-29 14:45:00 +01:00
malo
9b8fe52d5d xtimer: Fixed _add_timer_to_long_list since timer could be added at the wrong position.
Signed-off-by: malo <malo@25cmsquare.io>
2016-02-26 12:32:45 +01:00
malo
93eb56c612 xtimer: Fixed case when _xtimer_set_absolute called with target < now and target has _this_high_period .
Signed-off-by: malo <malo@25cmsquare.io>
2016-02-26 12:27:15 +01:00
Joakim Nohlgård
df416c1b76 sys/xtimer: Update to match timer_init API changes 2016-02-13 21:29:36 +01:00
2d1ad4b31e Merge pull request #4272 from OlegHahm/xtimer_msg_receive_timeout
xtimer: implement missing msg receive timeout
2015-11-29 00:02:08 +01:00
Oleg Hahm
0ddd6ec15e xtimer: implement xtimer_msg_receive_timeout 2015-11-23 20:45:25 +01:00
2640277156 sys: xtimer: add posix sleep/usleep wrapper 2015-11-20 00:44:28 +01:00
Joakim Nohlgård
d1b4e7a70b xtimer: Rename _xtimer_now() -> _lltimer_now()
This matches _lltimer_set() and _lltimer_mask()
2015-10-28 13:54:54 +01:00
Joakim Nohlgård
d432bb42b0 xtimer: rename _mask -> _lltimer_mask 2015-10-28 13:52:25 +01:00
Joakim Nohlgård
fb0322ee1b xtimer: Add spaces for readability 2015-10-28 13:51:23 +01:00
Joakim Nohlgård
e8f33c2ca0 xtimer: Add parentheses to condition 2015-10-28 13:51:23 +01:00
725473d9a6 sys: xtimer: make xtimer use div.h 2015-10-12 23:25:59 +02:00
c2f6417bea sys: xtimer: add another safeguard against setting a timer in the past 2015-10-07 18:56:31 +02:00
Joakim Nohlgård
b365ab45cb sys/xtimer: Avoid race incrementing multiple periods in _timer_callback
On a fast CPU with a slow timer (e.g. XTIMER_SHIFT > 0) it is possible
that now == _xtimer_now() when spinning for the overflow. In the extreme
case When this happens _next_period() will be called more than once
until the timer overflows for real.

Fault observed in real life when running on a 32.768 kHz timer on a
~96 MHz clocked mulle (Kinetis K60, Cortex-M4). _next_period() was
called 9 times during the same ISR call before the 32 kHz timer
overflowed.
2015-09-30 10:21:33 +02:00
Joakim Nohlgård
983b299745 sys/xtimer: xtimer_set: Reduce scope on target variable 2015-09-28 14:23:23 +02:00
Joakim Nohlgård
7f254c6d12 sys/xtimer: rename _ms_to_sec -> _us_to_sec to reflect actual functionality
The function divides the argument by 1000000, (microsecond to seconds)
2015-09-28 14:23:16 +02:00
Joakim Nohlgård
75d0281ef3 xtimer-core: Use xtimer_now as reference time instead of future timer target 2015-09-25 16:12:06 +02:00
Oleg Hahm
38148c2d48 xtimer: initialize struct members
The xtimer_t struct members target and long_target are used in _is_set() function in xtimer_remove(), but will be uninitialized.
2015-09-20 02:00:55 +02:00
a719e7d61f sys: xtimer: some updates
- more robust underflow protection in xtimer_usleep_until()
- use relative target in xtimer_spin()
- honour reference in isr when spinning until timer target
- add XTIMER_BACKOFF to xtimer_spin_until() target when backing off in
  _timer_set_absolute()
- doxygen updates
2015-09-16 12:34:31 +02:00
40812e722e sys: xtimer: use relative spin in absolute set functions 2015-09-16 11:13:42 +02:00
48611c0572 sys: xtimer: avoid setting timers multiple times from within ISR 2015-09-16 11:13:41 +02:00