this.ground_accel = ground_accel;
}
+ public double ground_motor_pressure = AltosLib.MISSING;
+
+ public void set_ground_motor_pressure(double ground_motor_pressure) {
+ if (ground_motor_pressure != AltosLib.MISSING)
+ this.ground_motor_pressure = ground_motor_pressure;
+ }
+
/* Raw acceleration value */
public double accel = AltosLib.MISSING;
return 3.3 * mega_adc(sensor) * (100.0 + 27.0) / 27.0;
}
- static double easy_mini_2_adc(int raw) {
+ static double easy_mini_2_adc(double raw) {
return raw / 4095.0;
}
- static double easy_mini_1_adc(int raw) {
+ static double easy_mini_1_adc(double raw) {
return raw / 32767.0;
}
return (voltage - base) / (max - base) * full_scale_pressure;
}
- static double easy_motor_2_motor_pressure(int sensor) {
+ static double easy_motor_2_motor_pressure(int sensor, double ground_sensor) {
double supply = 3.3;
+ double ground_voltage = easy_mini_2_adc(ground_sensor) * supply * 15.6 / 10.0;
double voltage = easy_mini_2_adc(sensor) * supply * 15.6 / 10.0;
- return motor_pressure(voltage);
+ return motor_pressure(voltage) - motor_pressure(ground_voltage);
}
public static double radio_to_frequency(int freq, int setting, int cal, int channel) {
private int ground_accel_along() { return data16(4); }
private int ground_accel_across() { return data16(6); }
private int ground_accel_through() { return data16(8); }
+ private int ground_motor_pressure() { return data16(10); }
/* AO_LOG_STATE elements */
private int state() { return data16(0); }
listener.set_accel_ground(cal_data.accel_along(ground_accel_along()),
cal_data.accel_across(ground_accel_across()),
cal_data.accel_through(ground_accel_through()));
+ cal_data.set_ground_motor_pressure(ground_motor_pressure());
break;
case AltosLib.AO_LOG_STATE:
listener.set_state(state());
AltosConfigData config_data = eeprom.config_data();
listener.set_battery_voltage(AltosConvert.easy_mini_2_voltage(v_batt()));
- double pa = AltosConvert.easy_motor_2_motor_pressure(motor_pres());
+ double pa = AltosConvert.easy_motor_2_motor_pressure(motor_pres(), cal_data.ground_motor_pressure);
listener.set_motor_pressure(pa);
int accel_along = accel_along();