You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
910 B
34 lines
910 B
|
|
#include "AP_ADC_AnalogSource.h" |
|
|
|
/* Unfortunately we don't have a valid implementaton for read_latest - we |
|
* only have access to the average from the ADC driver. Not really a big deal |
|
* in our application currently. */ |
|
|
|
extern const AP_HAL::HAL& hal; |
|
|
|
float AP_ADC_AnalogSource::read_latest() { |
|
return read_average(); |
|
} |
|
|
|
float AP_ADC_AnalogSource::read_average() { |
|
float fullscale = _adc->Ch(_ch); |
|
float scaled = _prescale * fullscale; |
|
return scaled; |
|
} |
|
|
|
/* |
|
return voltage in Volts |
|
*/ |
|
float AP_ADC_AnalogSource::voltage_average() |
|
{ |
|
float fullscale = _adc->Ch(_ch); |
|
// 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.3f * 2.44140625e-4f; |
|
} |
|
|
|
void AP_ADC_AnalogSource::set_pin(uint8_t machtnichts) { |
|
/* it would be an error to call this |
|
* but for now we'll leave it a no-op. */ |
|
}
|
|
|