module IMU where cook :: Fractional a => [a] -> [a] -> [a] -> [a] cook bias gain sample = zipWith (/) (zipWith (-) sample bias) gain g :: Fractional a => a g = 9.80665 accel :: Fractional a => [a] -> [a] accel = cook [ 2400.45, 2462.06, 1918.72, 1907.53 ] (map (/g) [ 392.80, 386.90, 77.00, 75.40 ]) gyro :: Fractional a => [a] -> [a] gyro = cook [ 2114.00, 1950.00, 2393.00 ] [ 22.75, 22.75, 22.75 ]