use crate::types::{Sensor3DData, Sensor3DDataScaled};
pub const GRAVITY: f32 = 9.81;
impl Sensor3DData {
fn to_scaled(&self, scale: f32) -> Sensor3DDataScaled {
let half_scale = scale / 2.0;
Sensor3DDataScaled {
x: Self::lsb_to_scaled(self.x, scale, half_scale),
y: Self::lsb_to_scaled(self.y, scale, half_scale),
z: Self::lsb_to_scaled(self.z, scale, half_scale),
}
}
fn lsb_to_scaled(val: i32, scale: f32, half_scale: f32) -> f32 {
(scale * val as f32) / half_scale
}
pub fn to_ut(&self, scale: f32) -> Sensor3DDataScaled {
self.to_scaled(scale)
}
}