diff --git a/libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp b/libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp index ab3a07610c..79e4f47517 100644 --- a/libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp +++ b/libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp @@ -22,10 +22,10 @@ float AP_ADC_AnalogSource::read_average() { */ float AP_ADC_AnalogSource::voltage_average() { - float vcc_mV = hal.analogin->channel(ANALOG_INPUT_BOARD_VCC)->read_average(); float fullscale = _adc->Ch(_ch); - // note that the Ch6 ADC on APM1 has a 3.3V range - return fullscale * vcc_mV * (3.3/5.0) * 2.44140625e-7f; // 1.0/(4096*1000) + // note that the Ch6 ADC on APM1 has a 3.3V range, and is against + // an internal reference, not the 5V power supply + return fullscale * 3.3 * 2.44140625e-4f; }