diff --git a/client/client/lib/dr26_analogue/dr26.cpp b/client/client/lib/dr26_analogue/dr26.cpp index b9b4d26930d09f9bbac4e1ad9c425450eeec5098..f4d06efafba6683cdd0c89698f4cbb58e4cb78fe 100644 --- a/client/client/lib/dr26_analogue/dr26.cpp +++ b/client/client/lib/dr26_analogue/dr26.cpp @@ -3,9 +3,14 @@ void ForteDR26 ::setup() { Wire.begin(6, 7); - ads.setGain(GAIN_ONE); - ads.begin() ? Serial.println("ADS initialized") : Serial.println("failed to initialize ADS"); + // ads.setGain(GAIN_ONE); + // ads.begin() ? Serial.println("ADS initialized") : Serial.println("failed to initialize ADS"); + + + ads1.setGain(GAIN_ONE); + ads1.begin() ? Serial.println("ADS initialized") : Serial.println("failed to initialize ADS"); delay(100); + channel=0; } float ForteDR26 ::readData() @@ -16,8 +21,8 @@ float ForteDR26 ::readData() float volt = 0; try { - adc = ads.readADC_SingleEnded(0); - volt = ads.computeVolts(adc); + adc = ads1.readADC_SingleEnded(channel); + volt = ads1.computeVolts(adc); } catch(NoDataAvailableException& e) { @@ -50,6 +55,11 @@ void ForteDR26 ::changeGain(adsGain_t gain) ads.setGain(gain); } +void ForteDR26 ::setChannel(int c) +{ + channel=c; +} + std::list<Message> ForteDR26::buildMessages() { std::list<Message> messages; @@ -62,3 +72,6 @@ SensorInformation ForteDR26::getSensorInformation() const { return sensorInformation; } + + +Adafruit_ADS1115 ForteDR26::ads1=ads1; \ No newline at end of file diff --git a/client/client/lib/dr26_analogue/dr26.hpp b/client/client/lib/dr26_analogue/dr26.hpp index 7d259b8fe8e238e40856fa02dbb676d7e696d9fc..d6927ec0530c108341d2952c343137361dd95c2f 100644 --- a/client/client/lib/dr26_analogue/dr26.hpp +++ b/client/client/lib/dr26_analogue/dr26.hpp @@ -14,12 +14,15 @@ class ForteDR26 : public ForteSensor<float> { void setup() override; float readData() override; void changeGain(adsGain_t gain); + void setChannel(int channel); std::list<Message> buildMessages() override; [[nodiscard]] SensorInformation getSensorInformation() const override; + static Adafruit_ADS1115 ads1; private: Adafruit_ADS1115 ads; const SensorInformation sensorInformation{"DR26", Protocol::Analog}; + int channel; }; #endif \ No newline at end of file diff --git a/client/client/src/main.cpp b/client/client/src/main.cpp index ce27aa4b3e8c7237e5e83f1258c1c88f8cd3eb4e..f449b3c01d15f35028eaae68e6017e30b7fd0e7f 100644 --- a/client/client/src/main.cpp +++ b/client/client/src/main.cpp @@ -11,7 +11,9 @@ static const std::string TAG = "MAIN"; -ForteDR26 dr26; +ForteDR26 dr26_channel0; +ForteDR26 dr26_channel1; + void setup() { Serial.begin(115200); @@ -20,27 +22,27 @@ void setup() DeepSleep::bootCount++; ESP_LOGD(TAG.c_str(), "Boot number: %d", DeepSleep::bootCount); -// drs26.setup(); - dr26.setup(); + + dr26_channel1.setup(); + dr26_channel0.setChannel(0); + dr26_channel1.setChannel(1); + espnow_setup(); // log_e("Setup complete."); } void loop() { - float data= dr26.readData(); - Serial.printf("data circumfrence"); - Serial.printf(String(dr26.readData()).c_str()); - +Serial.println("***********************1-DRS26**********************************"); +Serial.println(dr26_channel0.readData(),5); +Serial.println("***********************2-DRS26**********************************"); +Serial.println(dr26_channel1.readData(),5); + try { - // out_data_drs26 data= dr26.readData(); - // Serial.printf("data circumfrence"); - // Serial.printf(String( data.circumferenceIncrement).c_str()); - //auto messages = drs26.buildMessages(); - auto messages = dr26.buildMessages(); - // auto scdMessages = scd30.buildmessages(); + auto messages = dr26_channel0.buildMessages(); + messages=dr26_channel1.buildMessages(); for (const Message &message : messages) { if(message.send() != ESP_OK){ @@ -56,14 +58,9 @@ void loop() std::cerr << e.what() << '\n'; } - // ESP_LOGE(TAG.c_str(), "Sensor Circumference: "); - // log_e("Temperature: "); - // log_e("Id: "); - Serial.print("This device: "); - -// Serial.println(WiFi.macAddress()); Serial.println("\n"); - delay(10000); + + delay(5000); DeepSleep::deep_sleep(5); }