14constexpr uint8_t
addr = 0x48;
16#define ADS1015_CONV (0)
17#define ADS1015_CONFIG (1)
18#define ADS1015_LO_THRESH (2)
19#define ADS1015_HI_THRESH (3)
27 uint16_t loThresh =
readReg(ADS1015_LO_THRESH);
29 if (loThresh != 0x8000) {
38 for (
size_t i = 0; i < 4; i++) {
50 while ((
readReg(ADS1015_CONFIG) & 0x8000) == 0) ;
53 int16_t result =
readReg(ADS1015_CONV);
58 constexpr float ratio = 6.144f / 2048;
59 return result * ratio;
66 packet[1] = data >> 8;
67 packet[2] = data & 0xFF;
void readChannels(float(&result)[4])
uint16_t readReg(uint8_t reg)
float readChannel(uint8_t ch)
void writeReg(uint8_t reg, uint16_t data)
bool init(brain_pin_e scl, brain_pin_e sda)
void read(uint8_t addr, uint8_t *data, size_t size)
void write(uint8_t addr, const uint8_t *data, size_t size)
bool init(brain_pin_e scl, brain_pin_e sda)
uint16_t SWAP_UINT16(uint16_t x)