Browse Source

drv_hrt: add user-defined integer literals for time constants

The goal is to improve the readability for expressions like:
if (hrt_elapsed_time(&start_time) > 8000000)

Available since C++11
sbg
Beat Küng 7 years ago committed by Lorenz Meier
parent
commit
e98919cf3c
  1. 30
      src/drivers/drv_hrt.h

30
src/drivers/drv_hrt.h

@ -194,3 +194,33 @@ __EXPORT extern void hrt_stop_delay_delta(hrt_abstime delta); @@ -194,3 +194,33 @@ __EXPORT extern void hrt_stop_delay_delta(hrt_abstime delta);
#endif
__END_DECLS
#ifdef __cplusplus
namespace time_literals
{
// User-defined integer literals for different time units.
// The base unit is hrt_abstime in microseconds
constexpr hrt_abstime operator "" _s(unsigned long long seconds)
{
return hrt_abstime(seconds * 1000000ULL);
}
constexpr hrt_abstime operator "" _ms(unsigned long long seconds)
{
return hrt_abstime(seconds * 1000ULL);
}
constexpr hrt_abstime operator "" _us(unsigned long long seconds)
{
return hrt_abstime(seconds);
}
} /* namespace time_literals */
#endif /* __cplusplus */

Loading…
Cancel
Save