#include "measure_hall.h" TwoWire wire(); Adafruit_ADS1115 ads; /* Use this for the 12-bit version */ uint64_t lastMeasurement = 0; float ADCvolts = 0; void initMeasureHall(void) { log_i("init ADC"); if(!Wire.setPins(ADC_SDA, ADC_SCL)) { log_e("FAILED to set i2c pins"); return; } if (!ads.begin()) { log_e("Failed to initialize ADS."); return; } else { log_i("init ADC OK"); } lastMeasurement = millis(); } void handleMeasureHall(void) { uint64_t currentmillis = millis(); if (currentmillis - lastMeasurement > MEASUREMENTINTERVAL) { ADCvolts = ads.computeVolts(ads.readADC_SingleEnded(MEAS_CHANNEL)); lastMeasurement = currentmillis; } } float getMeasurement(void) { return ADCvolts; }