ADC  8.0
Analog to Digital Conversor library for the Teensy 4 microprocessor
settings_defines.h File Reference
#include <Arduino.h>

Go to the source code of this file.

Namespaces

 ADC_Error
 Handle ADC errors.
 

Enumerations

enum  ADC_REFERENCE : uint8_t { ADC_REFERENCE::REF_3V3 = static_cast<uint8_t>(ADC_REF_SOURCE::REF_DEFAULT) }
 
enum  ADC_INTERNAL_SOURCE : uint8_t { ADC_INTERNAL_SOURCE::VREFSH = 25 }
 
enum  ADC_CONVERSION_SPEED : uint8_t { ,
  ADC_CONVERSION_SPEED::LOW_SPEED = VERY_LOW_SPEED, ADC_CONVERSION_SPEED::MED_SPEED, ADC_CONVERSION_SPEED::HIGH_SPEED , ADC_CONVERSION_SPEED::ADACK_10,
  ADC_CONVERSION_SPEED::ADACK_20
}
 
enum  ADC_SAMPLING_SPEED : uint8_t {
  ADC_SAMPLING_SPEED::VERY_LOW_SPEED, ADC_SAMPLING_SPEED::LOW_SPEED, ADC_SAMPLING_SPEED::LOW_MED_SPEED, ADC_SAMPLING_SPEED::MED_SPEED,
  ADC_SAMPLING_SPEED::MED_HIGH_SPEED, ADC_SAMPLING_SPEED::HIGH_SPEED, ADC_SAMPLING_SPEED::HIGH_VERY_HIGH_SPEED, ADC_SAMPLING_SPEED::VERY_HIGH_SPEED
}
 
enum  ADC_Error::ADC_ERROR : uint16_t {
  ADC_Error::ADC_ERROR::OTHER = 1<<0, ADC_Error::ADC_ERROR::CALIB = 1<<1, ADC_Error::ADC_ERROR::WRONG_PIN = 1<<2, ADC_Error::ADC_ERROR::ANALOG_READ = 1<<3,
  ADC_Error::ADC_ERROR::ANALOG_DIFF_READ = 1<<4, ADC_Error::ADC_ERROR::CONT = 1<<5, ADC_Error::ADC_ERROR::CONT_DIFF = 1<<6, ADC_Error::ADC_ERROR::COMPARISON = 1<<7,
  ADC_Error::ADC_ERROR::WRONG_ADC = 1<<8, ADC_Error::ADC_ERROR::SYNCH = 1<<9, ADC_Error::ADC_ERROR::CLEAR = 0
}
 ADC errors. More...
 

Enumeration Type Documentation

◆ ADC_CONVERSION_SPEED

enum ADC_CONVERSION_SPEED : uint8_t
strong

ADC conversion speed. Common set of options to select the ADC clock speed F_ADCK, which depends on ADC_F_BUS, except for the ADACK_X_Y options that are independent. This selection affects the sampling speed too. Note: the F_ADCK speed is not equal to the conversion speed; any measurement takes several F_ADCK cycles to complete including the sampling and conversion steps.

Enumerator
LOW_SPEED 

is guaranteed to be the lowest possible speed within specs for all resolutions.

MED_SPEED 

is always >= LOW_SPEED and <= HIGH_SPEED.

HIGH_SPEED 

is guaranteed to be the highest possible speed within specs for resolutions

ADACK_10 

10 MHz asynchronous ADC clock (independent of the global clocks F_CPU or F_BUS)

ADACK_20 

20 MHz asynchronous ADC clock (independent of the global clocks F_CPU or F_BUS)

◆ ADC_INTERNAL_SOURCE

enum ADC_INTERNAL_SOURCE : uint8_t
strong

Other ADC sources to measure, such as the temperature sensor.

Enumerator
VREFSH 

internal channel, for ADC self-test, hard connected to VRH internally

◆ ADC_REFERENCE

enum ADC_REFERENCE : uint8_t
strong

Reference for the ADC

Enumerator
REF_3V3 

3.3 volts

◆ ADC_SAMPLING_SPEED

enum ADC_SAMPLING_SPEED : uint8_t
strong

ADC sampling speed. It selects how many ADCK clock cycles to add.

Enumerator
VERY_LOW_SPEED 

is the lowest possible sampling speed (+22 ADCK, 24 in total).

LOW_SPEED 

adds +18 ADCK, 20 in total.

LOW_MED_SPEED 

adds +14, 16 in total.

MED_SPEED 

adds +10, 12 in total.

MED_HIGH_SPEED 

adds +6 ADCK, 8 in total.

HIGH_SPEED 

adds +4 ADCK, 6 in total.

HIGH_VERY_HIGH_SPEED 

+2 ADCK, 4 in total

VERY_HIGH_SPEED 

is the highest possible sampling speed (0 ADCK added, 2 in total).