diff --git a/include/drivers/sensor.h b/include/drivers/sensor.h index 9d852bad648..20b2458e8ba 100644 --- a/include/drivers/sensor.h +++ b/include/drivers/sensor.h @@ -648,6 +648,18 @@ static inline double sensor_value_to_double(struct sensor_value *val) return (double)val->val1 + (double)val->val2 / 1000000; } +/** + * @brief Helper function for converting double to struct sensor_value. + * + * @param val A pointer to a sensor_value struct. + * @param inp The converted value. + */ +static inline void sensor_value_from_double(struct sensor_value *val, double inp) +{ + val->val1 = (int32_t) inp; + val->val2 = (int32_t)(inp * 1000000) % 1000000; +} + /** * @} */