66 const uint8_t num_ADCs = ADC_NUM_ADCS;
209 void enableCompare(int16_t compValue,
bool greaterThan, int8_t adc_num = -1);
223 void enableCompareRange(int16_t lowerLimit, int16_t upperLimit,
bool insideRange,
bool inclusive, int8_t adc_num = -1);
238 void enablePGA(uint8_t gain, int8_t adc_num = -1);
245 uint8_t
getPGA(int8_t adc_num = -1);
300 int analogRead(uint8_t pin, int8_t adc_num = -1);
315 return analogRead(static_cast<uint8_t>(pin), adc_num);
406 int32_t result_adc0, result_adc1;
519 for(
int i=0; i< ADC_NUM_ADCS; i++) {
526 for(
int i=0; i< ADC_NUM_ADCS; i++) {
void disableCompare(int8_t adc_num=-1)
Disable the compare function.
Definition: ADC.cpp:455
void disableDMA(int8_t adc_num=-1)
Disable ADC DMA request.
Definition: ADC.cpp:401
Sync_result readSynchronizedContinuous()
Returns the values of both ADCs.
Definition: ADC.cpp:1299
bool isDifferential(int8_t adc_num=-1)
Is the ADC in differential mode?
Definition: ADC.cpp:549
Dictionary with the differential pins as keys and the SC1A number as values.
Definition: ADC_Module.h:483
ADC_Module *const adc1
Object to control the ADC1.
Definition: ADC.h:81
uint8_t getResolution(int8_t adc_num=-1)
Returns the resolution of the ADC_Module.
Definition: ADC.cpp:260
void stopSynchronizedContinuous()
Stops synchronous continuous conversion.
Definition: ADC.cpp:1309
int analogReadDifferential(uint8_t pinP, uint8_t pinN, int8_t adc_num=-1)
Reads the differential analog value of two pins (pinP - pinN).
Definition: ADC.cpp:636
ADC()
Definition: ADC.cpp:198
bool isConverting(int8_t adc_num=-1)
Is the ADC converting at the moment?
Definition: ADC.cpp:518
ADC_Module *const adc0
Object to control the ADC0.
Definition: ADC.h:78
Struct for synchronous measurements.
Definition: ADC.h:405
void stopContinuous(int8_t adc_num=-1)
Stops continuous conversion.
Definition: ADC.cpp:919
bool startContinuous(uint8_t pin, int8_t adc_num=-1)
Starts continuous conversion on the pin.
Definition: ADC.cpp:805
static const uint8_t channel2sc1aADC0[ADC_MAX_PIN+1]
Translate pin number to SC1A nomenclature.
Definition: ADC.h:534
ADC_SAMPLING_SPEED
Definition: ADC_Module.h:387
int readSingle(int8_t adc_num=-1)
Reads the analog value of a single conversion.
Definition: ADC.cpp:789
void setConversionSpeed(ADC_CONVERSION_SPEED speed, int8_t adc_num=-1)
Sets the conversion speed (changes the ADC clock, ADCK)
Definition: ADC.cpp:293
bool startSingleDifferential(uint8_t pinP, uint8_t pinN, int8_t adc_num=-1)
Start a differential conversion between two pins (pinP - pinN) and enables interrupts.
Definition: ADC.cpp:741
bool isComplete(int8_t adc_num=-1)
Is an ADC conversion ready?
Definition: ADC.cpp:536
bool startContinuousDifferential(uint8_t pinP, uint8_t pinN, int8_t adc_num=-1)
Starts continuous conversion between the pins (pinP-pinN).
Definition: ADC.cpp:856
int analogRead(uint8_t pin, int8_t adc_num=-1)
Returns the analog value of the pin.
Definition: ADC.cpp:582
Definition: ADC_Module.h:476
bool startSynchronizedSingleDifferential(uint8_t pin0P, uint8_t pin0N, uint8_t pin1P, uint8_t pin1N)
Start a differential conversion between two pins (pin0P - pin0N) and (pin1P - pin1N) ...
Definition: ADC.cpp:1174
void enableInterrupts(int8_t adc_num=-1)
Enable interrupts.
Definition: ADC.cpp:355
ADC_INTERNAL_SOURCE
Definition: ADC_Module.h:190
void resetError()
Resets all errors from the ADC, if any.
Definition: ADC_Module.h:978
Sync_result analogSynchronizedReadDifferential(uint8_t pin0P, uint8_t pin0N, uint8_t pin1P, uint8_t pin1N)
Returns the differential analog values of both sets of pins, measured at the same time by the two ADC...
Definition: ADC.cpp:1030
bool startSingleRead(uint8_t pin, int8_t adc_num=-1)
Starts an analog measurement on the pin and enables interrupts.
Definition: ADC.cpp:688
static const ADC_Module::ADC_NLIST diff_table_ADC0[ADC_DIFF_PAIRS]
Translate differential pin number to SC1A nomenclature.
Definition: ADC.h:549
static const uint8_t sc1a2channelADC1[ADC_MAX_PIN+1]
Translate pin number to SC1A nomenclature for differential pins.
Definition: ADC.h:544
ADC_CONVERSION_SPEED
Definition: ADC_Module.h:370
void enableCompareRange(int16_t lowerLimit, int16_t upperLimit, bool insideRange, bool inclusive, int8_t adc_num=-1)
Enable the compare function to a range.
Definition: ADC.cpp:441
bool startSynchronizedContinuousDifferential(uint8_t pin0P, uint8_t pin0N, uint8_t pin1P, uint8_t pin1N)
Starts a continuous differential conversion in both ADCs simultaneously.
Definition: ADC.cpp:1269
void setResolution(uint8_t bits, int8_t adc_num=-1)
Change the resolution of the measurement.
Definition: ADC.cpp:246
Sync_result readSynchronizedSingle()
Reads the analog value of a single conversion.
Definition: ADC.cpp:1221
void enablePGA(uint8_t gain, int8_t adc_num=-1)
Enable and set PGA.
Definition: ADC.cpp:475
bool startSynchronizedSingleRead(uint8_t pin0, uint8_t pin1)
Starts an analog measurement at the same time on the two ADC modules.
Definition: ADC.cpp:1123
void disablePGA(int8_t adc_num=-1)
Disable PGA.
Definition: ADC.cpp:504
bool startSynchronizedContinuous(uint8_t pin0, uint8_t pin1)
Starts a continuous conversion in both ADCs simultaneously.
Definition: ADC.cpp:1237
void setAveraging(uint8_t num, int8_t adc_num=-1)
Set the number of averages.
Definition: ADC.cpp:337
void setSamplingSpeed(ADC_SAMPLING_SPEED speed, int8_t adc_num=-1)
Sets the sampling speed.
Definition: ADC.cpp:318
static const ADC_Module::ADC_NLIST diff_table_ADC1[ADC_DIFF_PAIRS]
Translate differential pin number to SC1A nomenclature.
Definition: ADC.h:552
uint8_t getPGA(int8_t adc_num=-1)
Returns the PGA level.
Definition: ADC.cpp:491
uint32_t getMaxValue(int8_t adc_num=-1)
Returns the maximum value for a measurement: 2^res-1.
Definition: ADC.cpp:274
void disableInterrupts(int8_t adc_num=-1)
Disable interrupts.
Definition: ADC.cpp:369
int analogReadContinuous(int8_t adc_num=-1)
Reads the analog value of a continuous conversion.
Definition: ADC.cpp:906
void enableCompare(int16_t compValue, bool greaterThan, int8_t adc_num=-1)
Enable the compare function to a single value.
Definition: ADC.cpp:421
Sync_result analogSynchronizedRead(uint8_t pin0, uint8_t pin1)
Returns the analog values of both pins, measured at the same time by the two ADC modules.
Definition: ADC.cpp:945
void enableDMA(int8_t adc_num=-1)
Enable DMA request.
Definition: ADC.cpp:387
static const uint8_t channel2sc1aADC1[ADC_MAX_PIN+1]
Translate pin number to SC1A nomenclature.
Definition: ADC.h:537
static const uint8_t sc1a2channelADC0[ADC_MAX_PIN+1]
Translate pin number to SC1A nomenclature for differential pins.
Definition: ADC.h:541
bool isContinuous(int8_t adc_num=-1)
Is the ADC in continuous mode?
Definition: ADC.cpp:562
void resetError()
Resets all errors from all ADCs, if any.
Definition: ADC.h:525
int analogRead(ADC_INTERNAL_SOURCE pin, int8_t adc_num=-1)
Returns the analog value of the special internal source, such as the temperature sensor.
Definition: ADC.h:314
ADC_REFERENCE
Definition: ADC_Module.h:129
void printError()
Definition: ADC.h:518
Sync_result analogSyncReadDifferential(uint8_t pin0P, uint8_t pin0N, uint8_t pin1P, uint8_t pin1N)
Same as analogSynchronizedReadDifferential.
Definition: ADC.h:451
void setReference(ADC_REFERENCE type, int8_t adc_num=-1)
Set the voltage reference you prefer, default is vcc.
Definition: ADC.cpp:221
Sync_result analogSyncRead(uint8_t pin0, uint8_t pin1)
Same as analogSynchronizedRead.
Definition: ADC.h:428
void printError()
Prints the human-readable error, if any.
Definition: ADC_Module.h:935