avr-fw-modules/core/src/adc_avr.c

46 lines
861 B
C
Executable File

#include <sys/adc.h>
#if !defined (__SIMPLE_ADC__)
void adc_set_limit_min(uint8_t ch,uint16_t limit) {
if (ch < ADC_CHANNELS) {
adc.params[ch].min = limit;
};
};
void adc_set_limit_max(uint8_t ch,uint16_t limit) {
if (ch < ADC_CHANNELS) {
adc.params[ch].max= limit;
};
};
void adc_set_limit_range(uint8_t ch,uint16_t limit) {
if (ch < ADC_CHANNELS) {
adc.params[ch].max = adc.params[ch].min + limit;
};
};
uint16_t adc_get_limit_min(uint8_t ch) {
if (ch < ADC_CHANNELS) {
return adc.params[ch].min;
};
return 0;
};
uint16_t adc_get_limit_max(uint8_t ch) {
if (ch < ADC_CHANNELS) {
return adc.params[ch].max;
};
return 0;
};
uint16_t adc_get_limit_range(uint8_t ch) {
if (ch < ADC_CHANNELS) {
return adc.params[ch].max - adc.params[ch].min;
};
return 0;
};
void adc_save(void) {
eeprom_save( _adc_bank, &adc.eeprom );
};
#endif