update u8g2lib + working display
This commit is contained in:
42
MilliOhmMeter_FW/src/measure_hall.cpp
Normal file
42
MilliOhmMeter_FW/src/measure_hall.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user