Improved battery voltage init, removed bogus printf() from debugging

This commit is contained in:
Lorenz Meier 2013-01-12 22:41:32 +01:00
parent 6c1b00e22f
commit 15b61d4c15
1 changed files with 5 additions and 1 deletions

View File

@ -994,6 +994,11 @@ Sensors::adc_poll(struct sensor_combined_s &raw)
if (voltage > VOLTAGE_BATTERY_IGNORE_THRESHOLD_VOLTS) { if (voltage > VOLTAGE_BATTERY_IGNORE_THRESHOLD_VOLTS) {
/* one-time initialization of low-pass value to avoid long init delays */
if (_battery_status.voltage_v < 3.0f) {
_battery_status.voltage_v = voltage;
}
_battery_status.timestamp = hrt_absolute_time(); _battery_status.timestamp = hrt_absolute_time();
_battery_status.voltage_v = (BAT_VOL_LOWPASS_1 * (_battery_status.voltage_v + BAT_VOL_LOWPASS_2 * voltage));; _battery_status.voltage_v = (BAT_VOL_LOWPASS_1 * (_battery_status.voltage_v + BAT_VOL_LOWPASS_2 * voltage));;
/* current and discharge are unknown */ /* current and discharge are unknown */
@ -1003,7 +1008,6 @@ Sensors::adc_poll(struct sensor_combined_s &raw)
/* announce the battery voltage if needed, just publish else */ /* announce the battery voltage if needed, just publish else */
if (_battery_pub > 0) { if (_battery_pub > 0) {
orb_publish(ORB_ID(battery_status), _battery_pub, &_battery_status); orb_publish(ORB_ID(battery_status), _battery_pub, &_battery_status);
printf("DBG: ADC PUB: %d, val: %d\n", ret, (int)(buf_adc[0].am_data));
} else { } else {
_battery_pub = orb_advertise(ORB_ID(battery_status), &_battery_status); _battery_pub = orb_advertise(ORB_ID(battery_status), &_battery_status);