23 explicit ADS1115(uint8_t address = 0x48,
25 TwoWire *wire = &Wire,
26 uint8_t dataRrate = 7)
29 SUPLA_LOG_ERROR(
"Unable to find ADS1115 at address 0x%x", address);
31 ads_.setDataRate(dataRrate);
34 SUPLA_LOG_DEBUG(
"ADS1115 is connected at address: 0x%x, Gain: %d, "
35 "DataRate: %d", address, ads_.getGain(), ads_.getDataRate());
39 void customPinMode(
int channelNumber, uint8_t pin, uint8_t mode)
override {}
41 void customDigitalWrite(
int channelNumber, uint8_t pin,
42 uint8_t val)
override {}
44 int customDigitalRead(
int channelNumber, uint8_t pin)
override {
48 unsigned int customPulseIn(
int channelNumber, uint8_t pin, uint8_t value,
49 uint64_t timeoutMicro)
override {
53 void customAnalogWrite(
int channelNumber, uint8_t pin,
int val)
override {}
55 int customAnalogRead(
int channelNumber, uint8_t pin)
override {
57 SUPLA_LOG_WARNING(
"[ADS1115] invalid pin %d", pin);
60 if (mutex_) mutex_->lock();
61 if (!ads_.isConnected()) {
62 if (mutex_) mutex_->unlock();
66 readValue_[pin] = ads_.readADC(pin);
67 if (mutex_) mutex_->unlock();
68 return readValue_[pin];
71 void setGain(uint8_t value) {
78 int16_t readValue_[4] = {-1, -1, -1, -1};