27 int lis3dh_adcMap(
int valueToMap,
int fromLow,
int fromHigh,
int toLow,
int toHigh) {
29 return ((valueToMap - fromLow) * (toHigh - toLow) / (fromHigh - fromLow) + toLow);
46 *ad1 = lis3dh_adcMap(a1, 87, -128, 0, 7800);
47 *ad2 = lis3dh_adcMap(a2, 127, -128, 900, 1700);
48 *ad3 = lis3dh_adcMap(a3, 127, -128, 900, 1700);
50 }
else if (res == 10) {
52 *ad1 = lis3dh_adcMap(a1, 350, -508, 0, 7800);
53 *ad2 = lis3dh_adcMap(a2, 508, -508, 900, 1700);
54 *ad3 = lis3dh_adcMap(a3, 508, -508, 900, 1700);
59 *ad1 = lis3dh_adcMap(a1, 1400, -2032, 0, 7800);
60 *ad2 = lis3dh_adcMap(a2, 2032, -2032, 900, 1700);
61 *ad3 = lis3dh_adcMap(a3, 2032, -2032, 900, 1700);
68 if ((device->adccal_m1000 != 0) || (device->adccal_b1000 != 0)) {
70 *ad1 = ((*ad1 * device->adccal_m1000) + device->adccal_b1000) / 1000;
100 if (mV_L == 0 & mV_H == 0 & value_L == 0 & value_H == 0) {
102 device->adccal_m1000 = 0;
103 device->adccal_b1000 = 0;
107 device->adccal_m1000 = (1000 * mV_H) / (value_H + (value_L * -1));
108 device->adccal_b1000 = (device->adccal_m1000 * value_L) * -1;