diff --git a/ArduCopter/sensors.pde b/ArduCopter/sensors.pde index 6f23c8fcdb..e708d0f4a8 100644 --- a/ArduCopter/sensors.pde +++ b/ArduCopter/sensors.pde @@ -78,10 +78,12 @@ static void read_battery(void) if(g.battery_monitoring == 3 || g.battery_monitoring == 4) { static AP_AnalogSource_Arduino batt_volt_pin(g.battery_volt_pin); + batt_volt_pin.set_pin(g.battery_volt_pin); battery_voltage1 = BATTERY_VOLTAGE(batt_volt_pin.read_average()); } if(g.battery_monitoring == 4) { static AP_AnalogSource_Arduino batt_curr_pin(g.battery_curr_pin); + batt_curr_pin.set_pin(g.battery_curr_pin); current_amps1 = CURRENT_AMPS(batt_curr_pin.read_average()); current_total1 += current_amps1 * 0.02778; // called at 100ms on average, .0002778 is 1/3600 (conversion to hours) } diff --git a/ArduPlane/sensors.pde b/ArduPlane/sensors.pde index e584d33b3e..87657da7bb 100644 --- a/ArduPlane/sensors.pde +++ b/ArduPlane/sensors.pde @@ -41,10 +41,14 @@ static void read_battery(void) if(g.battery_monitoring == 3 || g.battery_monitoring == 4) { static AP_AnalogSource_Arduino batt_volt_pin(g.battery_volt_pin); + // this copes with changing the pin at runtime + batt_volt_pin.set_pin(g.battery_volt_pin); battery_voltage1 = BATTERY_VOLTAGE(batt_volt_pin.read_average()); } if(g.battery_monitoring == 4) { static AP_AnalogSource_Arduino batt_curr_pin(g.battery_curr_pin); + // this copes with changing the pin at runtime + batt_curr_pin.set_pin(g.battery_curr_pin); current_amps1 = CURRENT_AMPS(batt_curr_pin.read_average()); current_total1 += current_amps1 * (float)delta_ms_medium_loop * 0.0002778; // .0002778 is 1/3600 (conversion to hours) }