mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-03-12 21:44:21 +00:00
40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
#include "HwTools.h"
|
|
|
|
double HwTools::getVcc() {
|
|
#if defined(ARDUINO_ESP8266_WEMOS_D1MINI)
|
|
return (((double) ESP.getVcc()) / 900); // This board has a voltage divider on VCC. Yes, 900 is correct
|
|
#elif defined(ESP8266)
|
|
#if defined(ESP_VCC_CALIB_FACTOR)
|
|
return ((double) ESP.getVcc()) / 1024 * ESP_VCC_CALIB_FACTOR;
|
|
#else
|
|
return ((double) ESP.getVcc()) / 1024;
|
|
#endif
|
|
#endif
|
|
return -1;
|
|
}
|
|
|
|
double HwTools::getTemperature() {
|
|
|
|
#if defined TEMP_SENSOR_PIN
|
|
if(!tempSensorInit) {
|
|
tempSensor->begin();
|
|
delay(50);
|
|
tempSensor->requestTemperatures();
|
|
hasTempSensor = tempSensor->getTempCByIndex(0) != DEVICE_DISCONNECTED_C;
|
|
tempSensorInit = true;
|
|
}
|
|
|
|
if(hasTempSensor) {
|
|
tempSensor->requestTemperatures();
|
|
return tempSensor->getTempCByIndex(0);
|
|
} else {
|
|
return DEVICE_DISCONNECTED_C;
|
|
}
|
|
#endif
|
|
return DEVICE_DISCONNECTED_C;
|
|
}
|
|
|
|
int HwTools::getWifiRssi() {
|
|
int rssi = WiFi.RSSI();
|
|
return isnan(rssi) ? -100.0 : rssi;
|
|
} |