ads1115  0.2.0
parameters.hpp
Go to the documentation of this file.
1 #ifndef ADS1115_PARAMETERS_HPP_
2 #define ADS1115_PARAMETERS_HPP_
3 
4 // stl
5 #include <cstdint>
6 #include <unordered_map>
7 
8 namespace ADS1115
9 {
11  constexpr std::uint8_t conv_reg_addr = 0x00;
13  constexpr std::uint8_t conf_reg_addr = 0x01;
15  constexpr std::uint8_t lo_thresh_reg_addr = 0x02;
17  constexpr std::uint8_t hi_thresh_reg_addr = 0x03;
18 
20  enum class ADDR : std::uint8_t {
21  GND = 0x48,
22  VDD = 0x49,
23  SDA = 0x4a,
24  SCL = 0x4b,
25  };
26 
33  enum class OS : std::uint16_t {
35  NON = 0x0000,
37  SINGLE_CONV = 0x8000,
38  };
39 
43  enum class MUX : std::uint16_t {
44  AIN0_AIN1 = 0x0000,
45  AIN0_AIN3 = 0x1000,
46  AIN1_AIN3 = 0x2000,
47  AIN2_AIN3 = 0x3000,
48  AIN0_GND = 0x4000,
49  AIN1_GND = 0x5000,
50  AIN2_GND = 0x6000,
51  AIN3_GND = 0x7000,
52  };
53 
58  enum class PGA : std::uint16_t {
60  FS_6_144 = 0x0000,
62  FS_4_096 = 0x0200,
64  FS_2_048 = 0x0400,
66  FS_1_024 = 0x0600,
68  FS_0_512 = 0x0800,
70  FS_0_256 = 0x0a00,
71  };
72 
75  enum class MODE : std::uint16_t {
77  CONT_CONV = 0x0000,
79  SINGLE_CONV = 0x0100,
80  };
81 
84  enum class DR : std::uint16_t {
86  SPS_8 = 0x0000,
88  SPS_16 = 0x0020,
90  SPS_32 = 0x0040,
92  SPS_64 = 0x0060,
94  SPS_128 = 0x0080,
96  SPS_250 = 0x00a0,
98  SPS_475 = 0x00c0,
100  SPS_860 = 0x00e0,
101  };
102 
105  enum class COMP_MODE : std::uint16_t {
107  TRAD_COMP = 0x0000,
109  WINDOW_COMP = 0x0010,
110  };
111 
116  enum class COMP_POL : std::uint16_t {
117  LOW = 0x0000,
118  HIGH = 0x0008,
119  };
120 
129  enum class COMP_LAT : std::uint16_t {
130  NON_LATCHING = 0x0000,
131  LATCHING = 0x0004,
132  };
133 
140  enum class COMP_QUE : std::uint16_t {
141  ONE_CONV = 0x0000,
142  TWO_CONV = 0x0001,
143  FOUR_CONV = 0x0002,
144  DISABLE_COMP = 0x0003,
145  };
146 
147  const static std::unordered_map<PGA, double> pga_voltage_map {
148  { PGA::FS_6_144, 6.144 }, { PGA::FS_4_096, 4.096 }, { PGA::FS_2_048, 2.048 },
149  { PGA::FS_1_024, 1.024 }, { PGA::FS_0_512, 0.512 }, { PGA::FS_0_256, 0.256 },
150  };
151 } // namespace ADS1115
152 
153 #endif // ADS1115_PARAMETERS_HPP_
ADS1115::conv_reg_addr
constexpr std::uint8_t conv_reg_addr
Address of the conversion register.
Definition: parameters.hpp:11
ADS1115
Definition: ads1115.hpp:16
ADS1115::COMP_QUE::DISABLE_COMP
@ DISABLE_COMP
ADS1115::COMP_LAT::NON_LATCHING
@ NON_LATCHING
ADS1115::PGA::FS_0_512
@ FS_0_512
FS = 0.512V.
ADS1115::PGA::FS_4_096
@ FS_4_096
FS = 4.096V.
ADS1115::COMP_MODE::WINDOW_COMP
@ WINDOW_COMP
Window comparator.
ADS1115::DR::SPS_475
@ SPS_475
DR = 475 SPS.
ADS1115::MUX::AIN0_AIN3
@ AIN0_AIN3
ADS1115::conf_reg_addr
constexpr std::uint8_t conf_reg_addr
Address of the config register.
Definition: parameters.hpp:13
ADS1115::MUX::AIN3_GND
@ AIN3_GND
ADS1115::PGA::FS_2_048
@ FS_2_048
FS = 2.048V.
ADS1115::COMP_QUE::ONE_CONV
@ ONE_CONV
ADS1115::ADDR::VDD
@ VDD
ADS1115::hi_thresh_reg_addr
constexpr std::uint8_t hi_thresh_reg_addr
Address of the high threshold register.
Definition: parameters.hpp:17
ADS1115::PGA
PGA
Definition: parameters.hpp:58
ADS1115::COMP_LAT::LATCHING
@ LATCHING
ADS1115::MUX::AIN0_AIN1
@ AIN0_AIN1
ADS1115::COMP_MODE
COMP_MODE
Definition: parameters.hpp:105
ADS1115::DR::SPS_128
@ SPS_128
DR = 128 SPS.
ADS1115::MODE::SINGLE_CONV
@ SINGLE_CONV
Sets the ADS1115 to power-down single-shot mode.
ADS1115::PGA::FS_0_256
@ FS_0_256
FS = 0.256V.
ADS1115::MUX::AIN1_GND
@ AIN1_GND
ADS1115::DR::SPS_250
@ SPS_250
DR = 250 SPS.
ADS1115::MUX::AIN0_GND
@ AIN0_GND
ADS1115::MUX
MUX
Definition: parameters.hpp:43
ADS1115::MODE
MODE
Definition: parameters.hpp:75
ADS1115::COMP_QUE
COMP_QUE
Definition: parameters.hpp:140
ADS1115::PGA::FS_1_024
@ FS_1_024
FS = 1.024V.
ADS1115::lo_thresh_reg_addr
constexpr std::uint8_t lo_thresh_reg_addr
Address of the low threshold register.
Definition: parameters.hpp:15
ADS1115::COMP_POL
COMP_POL
Definition: parameters.hpp:116
ADS1115::DR::SPS_8
@ SPS_8
DR = 8 SPS.
ADS1115::OS::SINGLE_CONV
@ SINGLE_CONV
Starts a new conversion when the conversion register is writen.
ADS1115::DR::SPS_860
@ SPS_860
DR = 860 SPS.
ADS1115::COMP_QUE::TWO_CONV
@ TWO_CONV
ADS1115::ADDR::SDA
@ SDA
ADS1115::DR
DR
Definition: parameters.hpp:84
ADS1115::MUX::AIN1_AIN3
@ AIN1_AIN3
ADS1115::MUX::AIN2_AIN3
@ AIN2_AIN3
ADS1115::DR::SPS_64
@ SPS_64
DR = 64 SPS.
ADS1115::ADDR::SCL
@ SCL
ADS1115::OS::NON
@ NON
No effect when the config register is writen.
ADS1115::pga_voltage_map
const static std::unordered_map< PGA, double > pga_voltage_map
Definition: parameters.hpp:147
ADS1115::COMP_MODE::TRAD_COMP
@ TRAD_COMP
Traditional comparator with hysteresis.
ADS1115::COMP_LAT
COMP_LAT
Definition: parameters.hpp:129
ADS1115::ADDR
ADDR
This Enum describes the possible i2c bus addresses of a ADS1115.
Definition: parameters.hpp:20
ADS1115::PGA::FS_6_144
@ FS_6_144
FS = 6.144V.
ADS1115::COMP_POL::LOW
@ LOW
ADS1115::DR::SPS_16
@ SPS_16
DR = 16 SPS.
ADS1115::ADDR::GND
@ GND
ADS1115::MODE::CONT_CONV
@ CONT_CONV
Sets the ADS1115 to continuous conversion mode.
ADS1115::DR::SPS_32
@ SPS_32
DR = 32 SPS.
ADS1115::MUX::AIN2_GND
@ AIN2_GND
ADS1115::COMP_POL::HIGH
@ HIGH
ADS1115::COMP_QUE::FOUR_CONV
@ FOUR_CONV
ADS1115::OS
OS
Definition: parameters.hpp:33