mirror of https://github.com/ArduPilot/ardupilot
32 lines
876 B
C++
32 lines
876 B
C++
|
|
#ifndef __AP_ADC_ANALOG_SOURCE_H__
|
|
#define __AP_ADC_ANALOG_SOURCE_H__
|
|
|
|
#include <AP_ADC/AP_ADC.h>
|
|
#include <AP_HAL/AP_HAL.h>
|
|
|
|
class AP_ADC_AnalogSource : public AP_HAL::AnalogSource
|
|
{
|
|
public:
|
|
AP_ADC_AnalogSource( AP_ADC * adc, uint8_t ch, float prescale = 1.0 ) :
|
|
_adc(adc), _ch(ch), _prescale(prescale)
|
|
{}
|
|
float read_average(void);
|
|
float read_latest(void);
|
|
void set_pin(uint8_t);
|
|
float voltage_average();
|
|
float voltage_latest() { return voltage_average(); }
|
|
float voltage_average_ratiometric() { return voltage_average(); }
|
|
|
|
// stop pins not implemented on ADC yet
|
|
void set_stop_pin(uint8_t p) {}
|
|
void set_settle_time(uint16_t settle_time_ms) {}
|
|
|
|
private:
|
|
AP_ADC * _adc;
|
|
uint8_t _ch;
|
|
float _prescale;
|
|
};
|
|
|
|
#endif // __AP_ADC_ANALOG_SOURCE_H__
|