stop manually defining physical constants

This commit is contained in:
Daniel Agar
2018-04-19 07:24:58 +02:00
committed by Lorenz Meier
parent 7538ea44e3
commit d75fd72c02
27 changed files with 66 additions and 84 deletions
+8 -9
View File
@@ -38,6 +38,7 @@
#include <px4_config.h>
#include <px4_defines.h>
#include <ecl/geo/geo.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -206,8 +207,6 @@
#define LSM303D_MAG_DEFAULT_RANGE_GA 2
#define LSM303D_MAG_DEFAULT_RATE 100
#define LSM303D_ONE_G 9.80665f
/*
we set the timer interrupt to run a bit faster than the desired
sample rate and then throw away duplicates using the data ready bit.
@@ -946,7 +945,7 @@ LSM303D::ioctl(struct file *filp, int cmd, unsigned long arg)
case ACCELIOCGRANGE:
/* convert to m/s^2 and return rounded in G */
return (unsigned long)((_accel_range_m_s2) / LSM303D_ONE_G + 0.5f);
return (unsigned long)((_accel_range_m_s2) / CONSTANTS_ONE_G + 0.5f);
case ACCELIOCGSCALE:
/* copy scale out */
@@ -1178,27 +1177,27 @@ LSM303D::accel_set_range(unsigned max_g)
}
if (max_g <= 2) {
_accel_range_m_s2 = 2.0f * LSM303D_ONE_G;
_accel_range_m_s2 = 2.0f * CONSTANTS_ONE_G;
setbits |= REG2_FULL_SCALE_2G_A;
new_scale_g_digit = 0.061e-3f;
} else if (max_g <= 4) {
_accel_range_m_s2 = 4.0f * LSM303D_ONE_G;
_accel_range_m_s2 = 4.0f * CONSTANTS_ONE_G;
setbits |= REG2_FULL_SCALE_4G_A;
new_scale_g_digit = 0.122e-3f;
} else if (max_g <= 6) {
_accel_range_m_s2 = 6.0f * LSM303D_ONE_G;
_accel_range_m_s2 = 6.0f * CONSTANTS_ONE_G;
setbits |= REG2_FULL_SCALE_6G_A;
new_scale_g_digit = 0.183e-3f;
} else if (max_g <= 8) {
_accel_range_m_s2 = 8.0f * LSM303D_ONE_G;
_accel_range_m_s2 = 8.0f * CONSTANTS_ONE_G;
setbits |= REG2_FULL_SCALE_8G_A;
new_scale_g_digit = 0.244e-3f;
} else if (max_g <= 16) {
_accel_range_m_s2 = 16.0f * LSM303D_ONE_G;
_accel_range_m_s2 = 16.0f * CONSTANTS_ONE_G;
setbits |= REG2_FULL_SCALE_16G_A;
new_scale_g_digit = 0.732e-3f;
@@ -1206,7 +1205,7 @@ LSM303D::accel_set_range(unsigned max_g)
return -EINVAL;
}
_accel_range_scale = new_scale_g_digit * LSM303D_ONE_G;
_accel_range_scale = new_scale_g_digit * CONSTANTS_ONE_G;
modify_reg(ADDR_CTRL_REG2, clearbits, setbits);