Browse Source

AP_ADC_AnalogSource: fixed reference scaling for APM1 Ch6 ADC

it is not referenced to Vcc
master
Andrew Tridgell 12 years ago
parent
commit
bf1944a36d
  1. 6
      libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp

6
libraries/AP_ADC_AnalogSource/AP_ADC_AnalogSource.cpp

@ -22,10 +22,10 @@ float AP_ADC_AnalogSource::read_average() { @@ -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;
}

Loading…
Cancel
Save