Browse Source

Posix: Add initial stub for atomic HRT

The actual implementation is not atomic, as the value on the application layer would be limited.
sbg
Lorenz Meier 6 years ago
parent
commit
c6718a5bca
  1. 14
      platforms/posix/src/px4_layer/drv_hrt.cpp

14
platforms/posix/src/px4_layer/drv_hrt.cpp

@ -211,6 +211,20 @@ hrt_abstime hrt_elapsed_time(const volatile hrt_abstime *then) @@ -211,6 +211,20 @@ hrt_abstime hrt_elapsed_time(const volatile hrt_abstime *then)
return delta;
}
/*
* Compute the delta between a timestamp taken in the past
* and now.
*
* This function is safe to use even if the timestamp is updated
* by an interrupt during execution.
*/
hrt_abstime hrt_elapsed_time_atomic(const volatile hrt_abstime *then)
{
// This is not atomic as the value on the application layer of POSIX is limited.
hrt_abstime delta = hrt_absolute_time() - *then;
return delta;
}
/*
* Store the absolute time in an interrupt-safe fashion.
*

Loading…
Cancel
Save