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.
38 lines
918 B
38 lines
918 B
|
|
#include <AP_HAL.h> |
|
#include "AnalogIn.h" |
|
using namespace AP_HAL_AVR; |
|
|
|
extern const AP_HAL::HAL& hal; |
|
|
|
APM1AnalogIn::APM1AnalogIn () : |
|
_bat_voltage(ADCSource(0)), |
|
_bat_current(ADCSource(1)), |
|
_vdd(ADCSource(AVR_ANALOG_PIN_VCC)), |
|
AVRAnalogIn() |
|
{ } |
|
|
|
void APM1AnalogIn::init(void* machtnichts) { |
|
/* Register AVRAnalogIn::_timer_event with the scheduler. */ |
|
hal.scheduler->register_timer_process(_timer_event); |
|
/* Register each private channel with AVRAnalogIn. */ |
|
_register_channel(&_bat_voltage); |
|
_register_channel(&_bat_current); |
|
_register_channel(&_vdd); |
|
} |
|
|
|
AP_HAL::AnalogSource* APM1AnalogIn::channel(int ch) { |
|
switch(ch) { |
|
case 0: |
|
return &_bat_voltage; |
|
break; |
|
case 1: |
|
return &_bat_current; |
|
break; |
|
case 2: |
|
return &_vdd; |
|
break; |
|
default: |
|
return NULL; |
|
} |
|
}
|
|
|