diff --git a/bin/calibration.min.htm b/bin/calibration.min.htm index 094932b..a8e3579 100644 --- a/bin/calibration.min.htm +++ b/bin/calibration.min.htm @@ -1,4 +1,4 @@ -Beer Gravity Monitor

Here you can create your gravity formula by entering angles/tilt and the corresponding gravity (SG). These values will be saved for future use. Angles with 0 (zero) will be skipped. The values below will be used to check the formula and if the deviation is more than 1.5 SG then the forumla will be rejected. On the bottom of the page you can see a graph over the entered values + values calcualated by the formula.



Here you can create your gravity formula by entering angles/tilt and the corresponding gravity. These values will be saved for future use. Angles with 0 (zero) will be skipped. The values below will be used to check the formula and if the deviation is more than 1.5SG / 0.38P on any of the provided points then the forumla will be rejected. On the bottom of the page you can see a graph over the entered values + values calcualated by the formula.


(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file + var myChart = 0;
(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file diff --git a/bin/config.min.htm b/bin/config.min.htm index 39418a1..5063a45 100644 --- a/bin/config.min.htm +++ b/bin/config.min.htm @@ -1 +1 @@ -Beer Gravity Monitor

Temperature Format:





(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file +Beer Gravity Monitor

Temperature Format:




Gravity Format:


(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file diff --git a/bin/firmware.bin b/bin/firmware.bin index a4adf5c..bb5e7df 100644 Binary files a/bin/firmware.bin and b/bin/firmware.bin differ diff --git a/bin/index.min.htm b/bin/index.min.htm index 1822cec..9104210 100644 --- a/bin/index.min.htm +++ b/bin/index.min.htm @@ -1 +1 @@ -Beer Gravity Monitor

Gravity:
Loading...
Temperature:
Loading...
Angle/Tilt:
Loading...
Battery:
Loading...

(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file +Beer Gravity Monitor

Gravity:
Loading...
Temperature:
Loading...
Angle/Tilt:
Loading...
Battery:
Loading...

(C) Copyright 2021-22 Magnus Persson
\ No newline at end of file diff --git a/bin/version.json b/bin/version.json index fc7d765..a60d711 100644 --- a/bin/version.json +++ b/bin/version.json @@ -1 +1 @@ -{ "project":"gravmon", "version":"0.6.0", "html": [ "index.min.htm", "device.min.htm", "config.min.htm", "calibration.min.htm", "about.min.htm" ] } \ No newline at end of file +{ "project":"gravmon", "version":"0.6.1", "html": [ "index.min.htm", "device.min.htm", "config.min.htm", "calibration.min.htm", "about.min.htm" ] } \ No newline at end of file diff --git a/src/calc.cpp b/src/calc.cpp index 15118a6..48ee0ed 100644 --- a/src/calc.cpp +++ b/src/calc.cpp @@ -98,7 +98,7 @@ int createFormula(RawFormulaData &fd, char *formulaBuffer, // If the deviation is more than 2 degress we mark it as failed. if (dev * 1000 > FORMULA_MAX_DEVIATION) { #if LOG_LEVEL == 6 && !defined(CALC_DISABLE_LOGGING) - char s[10]; + char s[20]; snprintf(&s[0], sizeof(s), "%.8f", dev); Log.verbose(F("CALC: Deviation is: %s" CR), &s[0]); #endif @@ -154,7 +154,7 @@ double calculateGravity(double angle, double temp, const char *tempFormula) { te_free(expr); #if LOG_LEVEL == 6 && !defined(CALC_DISABLE_LOGGING) - char s[10]; + char s[20]; snprintf(&s[0], sizeof(s), "%.8f", g); Log.verbose(F("CALC: Calculated gravity is %s." CR), &s[0]); #endif diff --git a/src/config.cpp b/src/config.cpp index 545d8c3..eea679a 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -35,13 +35,13 @@ Config::Config() { // Assiging default values char buf[30]; snprintf(&buf[0], sizeof(buf), "%6x", (unsigned int)ESP.getChipId()); - id = String(&buf[0]); + _id = String(&buf[0]); snprintf(&buf[0], sizeof(buf), "" WIFI_MDNS "%s", getID()); - mDNS = String(&buf[0]); + _mDNS = String(&buf[0]); #if LOG_LEVEL == 6 && !defined(CFG_DISABLE_LOGGING) - Log.verbose(F("CFG : Created config for %s (%s)." CR), id.c_str(), - mDNS.c_str()); + Log.verbose(F("CFG : Created config for %s (%s)." CR), _id.c_str(), + _mDNS.c_str()); #endif setTempFormat('C'); @@ -50,10 +50,10 @@ Config::Config() { setVoltageFactor(1.59); // Conversion factor for battery setTempSensorAdjC(0.0); setGravityTempAdj(false); - gyroCalibration = {0, 0, 0, 0, 0, 0}; - formulaData = {{0, 0, 0, 0, 0}, {1, 1, 1, 1, 1}}; - gyroTemp = false; - saveNeeded = false; + _gyroCalibration = {0, 0, 0, 0, 0, 0}; + _formulaData = {{0, 0, 0, 0, 0}, {1, 1, 1, 1, 1}}; + _gyroTemp = false; + _saveNeeded = false; } // @@ -87,32 +87,32 @@ void Config::createJson(DynamicJsonDocument& doc) { doc[CFG_PARAM_GYRO_TEMP] = isGyroTemp(); JsonObject cal = doc.createNestedObject(CFG_PARAM_GYRO_CALIBRATION); - cal["ax"] = gyroCalibration.ax; - cal["ay"] = gyroCalibration.ay; - cal["az"] = gyroCalibration.az; - cal["gx"] = gyroCalibration.gx; - cal["gy"] = gyroCalibration.gy; - cal["gz"] = gyroCalibration.gz; + cal["ax"] = _gyroCalibration.ax; + cal["ay"] = _gyroCalibration.ay; + cal["az"] = _gyroCalibration.az; + cal["gx"] = _gyroCalibration.gx; + cal["gy"] = _gyroCalibration.gy; + cal["gz"] = _gyroCalibration.gz; JsonObject cal2 = doc.createNestedObject(CFG_PARAM_FORMULA_DATA); - cal2["a1"] = reduceFloatPrecision(formulaData.a[0], 2); - cal2["a2"] = reduceFloatPrecision(formulaData.a[1], 2); - cal2["a3"] = reduceFloatPrecision(formulaData.a[2], 2); - cal2["a4"] = reduceFloatPrecision(formulaData.a[3], 2); - cal2["a5"] = reduceFloatPrecision(formulaData.a[4], 2); + cal2["a1"] = reduceFloatPrecision(_formulaData.a[0], 2); + cal2["a2"] = reduceFloatPrecision(_formulaData.a[1], 2); + cal2["a3"] = reduceFloatPrecision(_formulaData.a[2], 2); + cal2["a4"] = reduceFloatPrecision(_formulaData.a[3], 2); + cal2["a5"] = reduceFloatPrecision(_formulaData.a[4], 2); - cal2["g1"] = reduceFloatPrecision(formulaData.g[0], 4); - cal2["g2"] = reduceFloatPrecision(formulaData.g[1], 4); - cal2["g3"] = reduceFloatPrecision(formulaData.g[2], 4); - cal2["g4"] = reduceFloatPrecision(formulaData.g[3], 4); - cal2["g5"] = reduceFloatPrecision(formulaData.g[4], 4); + cal2["g1"] = reduceFloatPrecision(_formulaData.g[0], 4); + cal2["g2"] = reduceFloatPrecision(_formulaData.g[1], 4); + cal2["g3"] = reduceFloatPrecision(_formulaData.g[2], 4); + cal2["g4"] = reduceFloatPrecision(_formulaData.g[3], 4); + cal2["g5"] = reduceFloatPrecision(_formulaData.g[4], 4); } // // Save json document to file // bool Config::saveFile() { - if (!saveNeeded) { + if (!_saveNeeded) { #if LOG_LEVEL == 6 && !defined(CFG_DISABLE_LOGGING) Log.verbose(F("CFG : Skipping save, not needed." CR)); #endif @@ -142,7 +142,7 @@ bool Config::saveFile() { configFile.flush(); configFile.close(); - saveNeeded = false; + _saveNeeded = false; myConfig.debug(); Log.notice(F("CFG : Configuration saved to " CFG_FILENAME "." CR)); return true; @@ -242,42 +242,42 @@ bool Config::loadFile() { setTempSensorAdjC(doc[CFG_PARAM_TEMP_ADJ].as()); if (!doc[CFG_PARAM_GYRO_CALIBRATION]["ax"].isNull()) - gyroCalibration.ax = doc[CFG_PARAM_GYRO_CALIBRATION]["ax"]; + _gyroCalibration.ax = doc[CFG_PARAM_GYRO_CALIBRATION]["ax"]; if (!doc[CFG_PARAM_GYRO_CALIBRATION]["ay"].isNull()) - gyroCalibration.ay = doc[CFG_PARAM_GYRO_CALIBRATION]["ay"]; + _gyroCalibration.ay = doc[CFG_PARAM_GYRO_CALIBRATION]["ay"]; if (!doc[CFG_PARAM_GYRO_CALIBRATION]["az"].isNull()) - gyroCalibration.az = doc[CFG_PARAM_GYRO_CALIBRATION]["az"]; + _gyroCalibration.az = doc[CFG_PARAM_GYRO_CALIBRATION]["az"]; if (!doc[CFG_PARAM_GYRO_CALIBRATION]["gx"].isNull()) - gyroCalibration.gx = doc[CFG_PARAM_GYRO_CALIBRATION]["gx"]; + _gyroCalibration.gx = doc[CFG_PARAM_GYRO_CALIBRATION]["gx"]; if (!doc[CFG_PARAM_GYRO_CALIBRATION]["gy"].isNull()) - gyroCalibration.gy = doc[CFG_PARAM_GYRO_CALIBRATION]["gy"]; + _gyroCalibration.gy = doc[CFG_PARAM_GYRO_CALIBRATION]["gy"]; if (!doc[CFG_PARAM_GYRO_CALIBRATION]["gz"].isNull()) - gyroCalibration.gz = doc[CFG_PARAM_GYRO_CALIBRATION]["gz"]; + _gyroCalibration.gz = doc[CFG_PARAM_GYRO_CALIBRATION]["gz"]; if (!doc[CFG_PARAM_FORMULA_DATA]["a1"].isNull()) - formulaData.a[0] = doc[CFG_PARAM_FORMULA_DATA]["a1"].as(); + _formulaData.a[0] = doc[CFG_PARAM_FORMULA_DATA]["a1"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["a2"].isNull()) - formulaData.a[1] = doc[CFG_PARAM_FORMULA_DATA]["a2"].as(); + _formulaData.a[1] = doc[CFG_PARAM_FORMULA_DATA]["a2"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["a3"].isNull()) - formulaData.a[2] = doc[CFG_PARAM_FORMULA_DATA]["a3"].as(); + _formulaData.a[2] = doc[CFG_PARAM_FORMULA_DATA]["a3"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["a4"].isNull()) - formulaData.a[3] = doc[CFG_PARAM_FORMULA_DATA]["a4"].as(); + _formulaData.a[3] = doc[CFG_PARAM_FORMULA_DATA]["a4"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["a5"].isNull()) - formulaData.a[4] = doc[CFG_PARAM_FORMULA_DATA]["a5"].as(); + _formulaData.a[4] = doc[CFG_PARAM_FORMULA_DATA]["a5"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["g1"].isNull()) - formulaData.g[0] = doc[CFG_PARAM_FORMULA_DATA]["g1"].as(); + _formulaData.g[0] = doc[CFG_PARAM_FORMULA_DATA]["g1"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["g2"].isNull()) - formulaData.g[1] = doc[CFG_PARAM_FORMULA_DATA]["g2"].as(); + _formulaData.g[1] = doc[CFG_PARAM_FORMULA_DATA]["g2"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["g3"].isNull()) - formulaData.g[2] = doc[CFG_PARAM_FORMULA_DATA]["g3"].as(); + _formulaData.g[2] = doc[CFG_PARAM_FORMULA_DATA]["g3"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["g4"].isNull()) - formulaData.g[3] = doc[CFG_PARAM_FORMULA_DATA]["g4"].as(); + _formulaData.g[3] = doc[CFG_PARAM_FORMULA_DATA]["g4"].as(); if (!doc[CFG_PARAM_FORMULA_DATA]["g5"].isNull()) - formulaData.g[4] = doc[CFG_PARAM_FORMULA_DATA]["g5"].as(); + _formulaData.g[4] = doc[CFG_PARAM_FORMULA_DATA]["g5"].as(); myConfig.debug(); - saveNeeded = false; // Reset save flag + _saveNeeded = false; // Reset save flag Log.notice(F("CFG : Configuration file " CFG_FILENAME " loaded." CR)); return true; } diff --git a/src/config.hpp b/src/config.hpp index a00d90d..d7c6c71 100644 --- a/src/config.hpp +++ b/src/config.hpp @@ -113,230 +113,230 @@ struct RawFormulaData { // Main configuration class class Config { private: - bool saveNeeded; + bool _saveNeeded; // Device configuration - String id; - String mDNS; - String otaURL; - char tempFormat; - float voltageFactor; - float tempSensorAdjC; - int sleepInterval; - bool gyroTemp; + String _id; + String _mDNS; + String _otaURL; + char _tempFormat; + float _voltageFactor; + float _tempSensorAdjC; + int _sleepInterval; + bool _gyroTemp; // Wifi Config - String wifiSSID; - String wifiPASS; + String _wifiSSID; + String _wifiPASS; // Push target settings - String brewfatherPushUrl; + String _brewfatherPushUrl; - String httpPushUrl; - String httpPushUrl2; + String _httpPushUrl; + String _httpPushUrl2; - String influxDb2Url; - String influxDb2Org; - String influxDb2Bucket; - String influxDb2Token; + String _influxDb2Url; + String _influxDb2Org; + String _influxDb2Bucket; + String _influxDb2Token; - String mqttUrl; - String mqttTopic; - String mqttUser; - String mqttPass; + String _mqttUrl; + String _mqttTopic; + String _mqttUser; + String _mqttPass; // Gravity and temperature calculations - String gravityFormula; - bool gravityTempAdj; - char gravityFormat; + String _gravityFormula; + bool _gravityTempAdj; + char _gravityFormat; // Gyro calibration and formula calculation data - RawGyroData gyroCalibration; - RawFormulaData formulaData; + RawGyroData _gyroCalibration; + RawFormulaData _formulaData; void debug(); void formatFileSystem(); public: Config(); - const char* getID() { return id.c_str(); } + const char* getID() { return _id.c_str(); } - const char* getMDNS() { return mDNS.c_str(); } + const char* getMDNS() { return _mDNS.c_str(); } void setMDNS(String s) { - mDNS = s; - saveNeeded = true; + _mDNS = s; + _saveNeeded = true; } - const bool isGyroTemp() { return gyroTemp; } + const bool isGyroTemp() { return _gyroTemp; } void setGyroTemp(bool b) { - gyroTemp = b; - saveNeeded = true; + _gyroTemp = b; + _saveNeeded = true; } - const char* getOtaURL() { return otaURL.c_str(); } + const char* getOtaURL() { return _otaURL.c_str(); } void setOtaURL(String s) { - otaURL = s; - saveNeeded = true; + _otaURL = s; + _saveNeeded = true; } - bool isOtaActive() { return otaURL.length() ? true : false; } + bool isOtaActive() { return _otaURL.length() ? true : false; } - const char* getWifiSSID() { return wifiSSID.c_str(); } + const char* getWifiSSID() { return _wifiSSID.c_str(); } void setWifiSSID(String s) { - wifiSSID = s; - saveNeeded = true; + _wifiSSID = s; + _saveNeeded = true; } - const char* getWifiPass() { return wifiPASS.c_str(); } + const char* getWifiPass() { return _wifiPASS.c_str(); } void setWifiPass(String s) { - wifiPASS = s; - saveNeeded = true; + _wifiPASS = s; + _saveNeeded = true; } // Brewfather - const char* getBrewfatherPushUrl() { return brewfatherPushUrl.c_str(); } + const char* getBrewfatherPushUrl() { return _brewfatherPushUrl.c_str(); } void setBrewfatherPushUrl(String s) { - brewfatherPushUrl = s; - saveNeeded = true; + _brewfatherPushUrl = s; + _saveNeeded = true; } bool isBrewfatherActive() { - return brewfatherPushUrl.length() ? true : false; + return _brewfatherPushUrl.length() ? true : false; } // Standard HTTP - const char* getHttpPushUrl() { return httpPushUrl.c_str(); } + const char* getHttpPushUrl() { return _httpPushUrl.c_str(); } void setHttpPushUrl(String s) { - httpPushUrl = s; - saveNeeded = true; + _httpPushUrl = s; + _saveNeeded = true; } - bool isHttpActive() { return httpPushUrl.length() ? true : false; } - const char* getHttpPushUrl2() { return httpPushUrl2.c_str(); } + bool isHttpActive() { return _httpPushUrl.length() ? true : false; } + const char* getHttpPushUrl2() { return _httpPushUrl2.c_str(); } void setHttpPushUrl2(String s) { - httpPushUrl2 = s; - saveNeeded = true; + _httpPushUrl2 = s; + _saveNeeded = true; } - bool isHttpActive2() { return httpPushUrl2.length() ? true : false; } + bool isHttpActive2() { return _httpPushUrl2.length() ? true : false; } // InfluxDB2 - const char* getInfluxDb2PushUrl() { return influxDb2Url.c_str(); } + const char* getInfluxDb2PushUrl() { return _influxDb2Url.c_str(); } void setInfluxDb2PushUrl(String s) { - influxDb2Url = s; - saveNeeded = true; + _influxDb2Url = s; + _saveNeeded = true; } - bool isInfluxDb2Active() { return influxDb2Url.length() ? true : false; } - const char* getInfluxDb2PushOrg() { return influxDb2Org.c_str(); } + bool isInfluxDb2Active() { return _influxDb2Url.length() ? true : false; } + const char* getInfluxDb2PushOrg() { return _influxDb2Org.c_str(); } void setInfluxDb2PushOrg(String s) { - influxDb2Org = s; - saveNeeded = true; + _influxDb2Org = s; + _saveNeeded = true; } - const char* getInfluxDb2PushBucket() { return influxDb2Bucket.c_str(); } + const char* getInfluxDb2PushBucket() { return _influxDb2Bucket.c_str(); } void setInfluxDb2PushBucket(String s) { - influxDb2Bucket = s; - saveNeeded = true; + _influxDb2Bucket = s; + _saveNeeded = true; } - const char* getInfluxDb2PushToken() { return influxDb2Token.c_str(); } + const char* getInfluxDb2PushToken() { return _influxDb2Token.c_str(); } void setInfluxDb2PushToken(String s) { - influxDb2Token = s; - saveNeeded = true; + _influxDb2Token = s; + _saveNeeded = true; } // MQTT - bool isMqttActive() { return mqttUrl.length() ? true : false; } - const char* getMqttUrl() { return mqttUrl.c_str(); } + bool isMqttActive() { return _mqttUrl.length() ? true : false; } + const char* getMqttUrl() { return _mqttUrl.c_str(); } void setMqttUrl(String s) { - mqttUrl = s; - saveNeeded = true; + _mqttUrl = s; + _saveNeeded = true; } - const char* getMqttTopic() { return mqttTopic.c_str(); } + const char* getMqttTopic() { return _mqttTopic.c_str(); } void setMqttTopic(String s) { - mqttTopic = s; - saveNeeded = true; + _mqttTopic = s; + _saveNeeded = true; } - const char* getMqttUser() { return mqttUser.c_str(); } + const char* getMqttUser() { return _mqttUser.c_str(); } void setMqttUser(String s) { - mqttUser = s; - saveNeeded = true; + _mqttUser = s; + _saveNeeded = true; } - const char* getMqttPass() { return mqttPass.c_str(); } + const char* getMqttPass() { return _mqttPass.c_str(); } void setMqttPass(String s) { - mqttPass = s; - saveNeeded = true; + _mqttPass = s; + _saveNeeded = true; } - int getSleepInterval() { return sleepInterval; } + int getSleepInterval() { return _sleepInterval; } void setSleepInterval(int v) { - sleepInterval = v; - saveNeeded = true; + _sleepInterval = v; + _saveNeeded = true; } void setSleepInterval(String s) { - sleepInterval = s.toInt(); - saveNeeded = true; + _sleepInterval = s.toInt(); + _saveNeeded = true; } - char getTempFormat() { return tempFormat; } + char getTempFormat() { return _tempFormat; } void setTempFormat(char c) { if (c == 'C' || c == 'F') { - tempFormat = c; - saveNeeded = true; + _tempFormat = c; + _saveNeeded = true; } } - bool isTempC() { return tempFormat == 'C'; } - bool isTempF() { return tempFormat == 'F'; } + bool isTempC() { return _tempFormat == 'C'; } + bool isTempF() { return _tempFormat == 'F'; } - float getVoltageFactor() { return voltageFactor; } + float getVoltageFactor() { return _voltageFactor; } void setVoltageFactor(float f) { - voltageFactor = f; - saveNeeded = true; + _voltageFactor = f; + _saveNeeded = true; } void setVoltageFactor(String s) { - voltageFactor = s.toFloat(); - saveNeeded = true; + _voltageFactor = s.toFloat(); + _saveNeeded = true; } - float getTempSensorAdjC() { return tempSensorAdjC; } + float getTempSensorAdjC() { return _tempSensorAdjC; } void setTempSensorAdjC(float f) { - tempSensorAdjC = f; - saveNeeded = true; + _tempSensorAdjC = f; + _saveNeeded = true; } void setTempSensorAdjC(String s) { - tempSensorAdjC = s.toFloat(); - saveNeeded = true; + _tempSensorAdjC = s.toFloat(); + _saveNeeded = true; } void setTempSensorAdjF(String s) { - tempSensorAdjC = convertFtoC(s.toFloat()); - saveNeeded = true; + _tempSensorAdjC = convertFtoC(s.toFloat()); + _saveNeeded = true; } - const char* getGravityFormula() { return gravityFormula.c_str(); } + const char* getGravityFormula() { return _gravityFormula.c_str(); } void setGravityFormula(String s) { - gravityFormula = s; - saveNeeded = true; + _gravityFormula = s; + _saveNeeded = true; } - bool isGravityTempAdj() { return gravityTempAdj; } + bool isGravityTempAdj() { return _gravityTempAdj; } void setGravityTempAdj(bool b) { - gravityTempAdj = b; - saveNeeded = true; + _gravityTempAdj = b; + _saveNeeded = true; } - char getGravityFormat() { return gravityFormat; } + char getGravityFormat() { return _gravityFormat; } void setGravityFormat(char c) { if (c == 'G' || c == 'P') { - gravityFormat = c; - saveNeeded = true; + _gravityFormat = c; + _saveNeeded = true; } } - bool isGravitySG() { return gravityFormat == 'G'; } - bool isGravityPlato() { return gravityFormat == 'P'; } + bool isGravitySG() { return _gravityFormat == 'G'; } + bool isGravityPlato() { return _gravityFormat == 'P'; } - const RawGyroData& getGyroCalibration() { return gyroCalibration; } + const RawGyroData& getGyroCalibration() { return _gyroCalibration; } void setGyroCalibration(const RawGyroData& r) { - gyroCalibration = r; - saveNeeded = true; + _gyroCalibration = r; + _saveNeeded = true; } - const RawFormulaData& getFormulaData() { return formulaData; } + const RawFormulaData& getFormulaData() { return _formulaData; } void setFormulaData(const RawFormulaData& r) { - formulaData = r; - saveNeeded = true; + _formulaData = r; + _saveNeeded = true; } // IO functions @@ -344,8 +344,8 @@ class Config { bool saveFile(); bool loadFile(); void checkFileSystem(); - bool isSaveNeeded() { return saveNeeded; } - void setSaveNeeded() { saveNeeded = true; } + bool isSaveNeeded() { return _saveNeeded; } + void setSaveNeeded() { _saveNeeded = true; } }; // Global instance created diff --git a/src/gyro.cpp b/src/gyro.cpp index 31ef43d..41a10f4 100644 --- a/src/gyro.cpp +++ b/src/gyro.cpp @@ -49,13 +49,13 @@ bool GyroSensor::setup() { if (!accelgyro.testConnection()) { Log.error(F("GYRO: Failed to connect to MPU6050 (gyro)." CR)); - sensorConnected = false; + _sensorConnected = false; } else { #if !defined(GYRO_DISABLE_LOGGING) Log.notice(F("GYRO: Connected to MPU6050 (gyro)." CR)); #endif accelgyro.initialize(); - sensorConnected = true; + _sensorConnected = true; // Configure the sensor accelgyro.setTempSensorEnabled(true); @@ -77,10 +77,10 @@ bool GyroSensor::setup() { // Once we have calibration values stored we just apply them from the // config. - calibrationOffset = myConfig.getGyroCalibration(); + _calibrationOffset = myConfig.getGyroCalibration(); applyCalibration(); } - return sensorConnected; + return _sensorConnected; } // @@ -234,35 +234,35 @@ bool GyroSensor::read() { Log.verbose(F("GYRO: Getting new gyro position." CR)); #endif - if (!sensorConnected) return false; + if (!_sensorConnected) return false; - readSensor(lastGyroData, SENSOR_READ_COUNT, + readSensor(_lastGyroData, SENSOR_READ_COUNT, SENSOR_READ_DELAY); // Last param is unused if GYRO_USE_INTERRUPT // is defined. // If the sensor is unstable we return false to signal we dont have valid // value - if (isSensorMoving(lastGyroData)) { + if (isSensorMoving(_lastGyroData)) { #if !defined(GYRO_DISABLE_LOGGING) Log.notice(F("GYRO: Sensor is moving." CR)); #endif - validValue = false; + _validValue = false; } else { - validValue = true; - angle = calculateAngle(lastGyroData); + _validValue = true; + _angle = calculateAngle(_lastGyroData); #if !defined(GYRO_DISABLE_LOGGING) - Log.notice(F("GYRO: Sensor values %d,%d,%d\t%F" CR), lastGyroData.ax, - lastGyroData.ay, lastGyroData.az, angle); + Log.notice(F("GYRO: Sensor values %d,%d,%d\t%F" CR), _lastGyroData.ax, + _lastGyroData.ay, _lastGyroData.az, _angle); #endif } - sensorTemp = (static_cast(lastGyroData.temp)) / 340 + 36.53; + _sensorTemp = (static_cast(_lastGyroData.temp)) / 340 + 36.53; // The first read value is close to the DS18 value according to my tests, if // more reads are done then the gyro temp will increase to much - if (initialSensorTemp == INVALID_TEMPERATURE) initialSensorTemp = sensorTemp; + if (_initialSensorTemp == INVALID_TEMPERATURE) _initialSensorTemp = _sensorTemp; - return validValue; + return _validValue; } // @@ -270,10 +270,10 @@ bool GyroSensor::read() { // void GyroSensor::dumpCalibration() { #if LOG_LEVEL == 6 && !defined(GYRO_DISABLE_LOGGING) - Log.verbose(F("GYRO: Accel offset\t%d\t%d\t%d" CR), calibrationOffset.ax, - calibrationOffset.ay, calibrationOffset.az); - Log.verbose(F("GYRO: Gyro offset \t%d\t%d\t%d" CR), calibrationOffset.gx, - calibrationOffset.gy, calibrationOffset.gz); + Log.verbose(F("GYRO: Accel offset\t%d\t%d\t%d" CR), _calibrationOffset.ax, + _calibrationOffset.ay, _calibrationOffset.az); + Log.verbose(F("GYRO: Gyro offset \t%d\t%d\t%d" CR), _calibrationOffset.gx, + _calibrationOffset.gy, _calibrationOffset.gz); #endif } @@ -285,19 +285,19 @@ void GyroSensor::applyCalibration() { Log.verbose(F("GYRO: Applying calibration offsets to sensor." CR)); #endif - if ((calibrationOffset.ax + calibrationOffset.ay + calibrationOffset.az + - calibrationOffset.gx + calibrationOffset.gy + calibrationOffset.gz) == + if ((_calibrationOffset.ax + _calibrationOffset.ay + _calibrationOffset.az + + _calibrationOffset.gx + _calibrationOffset.gy + _calibrationOffset.gz) == 0) { Log.error(F("GYRO: No valid calibraion values exist, aborting." CR)); return; } - accelgyro.setXAccelOffset(calibrationOffset.ax); - accelgyro.setYAccelOffset(calibrationOffset.ay); - accelgyro.setZAccelOffset(calibrationOffset.az); - accelgyro.setXGyroOffset(calibrationOffset.gx); - accelgyro.setYGyroOffset(calibrationOffset.gy); - accelgyro.setZGyroOffset(calibrationOffset.gz); + accelgyro.setXAccelOffset(_calibrationOffset.ax); + accelgyro.setYAccelOffset(_calibrationOffset.ay); + accelgyro.setZAccelOffset(_calibrationOffset.az); + accelgyro.setXGyroOffset(_calibrationOffset.gx); + accelgyro.setYGyroOffset(_calibrationOffset.gy); + accelgyro.setZGyroOffset(_calibrationOffset.gz); } // @@ -317,15 +317,15 @@ void GyroSensor::calibrateSensor() { accelgyro.PrintActiveOffsets(); Serial.print(CR); - calibrationOffset.ax = accelgyro.getXAccelOffset(); - calibrationOffset.ay = accelgyro.getYAccelOffset(); - calibrationOffset.az = accelgyro.getZAccelOffset(); - calibrationOffset.gx = accelgyro.getXGyroOffset(); - calibrationOffset.gy = accelgyro.getYGyroOffset(); - calibrationOffset.gz = accelgyro.getZGyroOffset(); + _calibrationOffset.ax = accelgyro.getXAccelOffset(); + _calibrationOffset.ay = accelgyro.getYAccelOffset(); + _calibrationOffset.az = accelgyro.getZAccelOffset(); + _calibrationOffset.gx = accelgyro.getXGyroOffset(); + _calibrationOffset.gy = accelgyro.getYGyroOffset(); + _calibrationOffset.gz = accelgyro.getZGyroOffset(); // Save the calibrated values - myConfig.setGyroCalibration(calibrationOffset); + myConfig.setGyroCalibration(_calibrationOffset); myConfig.saveFile(); } @@ -380,17 +380,17 @@ void GyroSensor::debug() { } Log.verbose(F("GYRO: Debug - Acc OffX %d\t%d." CR), - accelgyro.getXAccelOffset(), calibrationOffset.az); + accelgyro.getXAccelOffset(), _calibrationOffset.az); Log.verbose(F("GYRO: Debug - Acc OffY %d\t%d." CR), - accelgyro.getYAccelOffset(), calibrationOffset.ay); + accelgyro.getYAccelOffset(), _calibrationOffset.ay); Log.verbose(F("GYRO: Debug - Acc OffZ %d\t%d." CR), - accelgyro.getZAccelOffset(), calibrationOffset.az); + accelgyro.getZAccelOffset(), _calibrationOffset.az); Log.verbose(F("GYRO: Debug - Gyr OffX %d\t%d." CR), - accelgyro.getXGyroOffset(), calibrationOffset.gx); + accelgyro.getXGyroOffset(), _calibrationOffset.gx); Log.verbose(F("GYRO: Debug - Gyr OffY %d\t%d." CR), - accelgyro.getYGyroOffset(), calibrationOffset.gy); + accelgyro.getYGyroOffset(), _calibrationOffset.gy); Log.verbose(F("GYRO: Debug - Gyr OffZ %d\t%d." CR), - accelgyro.getZGyroOffset(), calibrationOffset.gz); + accelgyro.getZGyroOffset(), _calibrationOffset.gz); #endif } diff --git a/src/gyro.hpp b/src/gyro.hpp index e04d1ee..287ce37 100644 --- a/src/gyro.hpp +++ b/src/gyro.hpp @@ -50,13 +50,13 @@ struct RawGyroDataL { // Used for average multiple readings class GyroSensor { private: - bool sensorConnected = false; - bool validValue = false; - float angle = 0; - float sensorTemp = 0; - float initialSensorTemp = INVALID_TEMPERATURE; - RawGyroData calibrationOffset; - RawGyroData lastGyroData; + bool _sensorConnected = false; + bool _validValue = false; + float _angle = 0; + float _sensorTemp = 0; + float _initialSensorTemp = INVALID_TEMPERATURE; + RawGyroData _calibrationOffset; + RawGyroData _lastGyroData; void debug(); void applyCalibration(); @@ -71,12 +71,12 @@ class GyroSensor { bool read(); void calibrateSensor(); - const RawGyroData &getLastGyroData() { return lastGyroData; } - float getAngle() { return angle; } - float getSensorTempC() { return sensorTemp; } - float getInitialSensorTempC() { return initialSensorTemp; } - bool isConnected() { return sensorConnected; } - bool hasValue() { return validValue; } + const RawGyroData &getLastGyroData() { return _lastGyroData; } + float getAngle() { return _angle; } + float getSensorTempC() { return _sensorTemp; } + float getInitialSensorTempC() { return _initialSensorTemp; } + bool isConnected() { return _sensorConnected; } + bool hasValue() { return _validValue; } void enterSleep(); }; diff --git a/src/helper.cpp b/src/helper.cpp index 75654b5..b64efa2 100644 --- a/src/helper.cpp +++ b/src/helper.cpp @@ -125,11 +125,11 @@ void BatteryVoltage::read() { // the voltage (from max 5V) float factor = myConfig.getVoltageFactor(); // Default value is 1.63 int v = analogRead(A0); - batteryLevel = ((3.3 / 1023) * v) * factor; + _batteryLevel = ((3.3 / 1023) * v) * factor; #if LOG_LEVEL == 6 && !defined(HELPER_DISABLE_LOGGING) Log.verbose( F("BATT: Reading voltage level. Factor=%F Value=%d, Voltage=%F." CR), - factor, v, batteryLevel); + factor, v, _batteryLevel); #endif } diff --git a/src/helper.hpp b/src/helper.hpp index 755f484..aa88cdb 100644 --- a/src/helper.hpp +++ b/src/helper.hpp @@ -57,11 +57,11 @@ class SerialDebug { class BatteryVoltage { private: - float batteryLevel; + float _batteryLevel; public: void read(); - float getVoltage() { return batteryLevel; } + float getVoltage() { return _batteryLevel; } }; #if defined(COLLECT_PERFDATA) diff --git a/src/pushtarget.cpp b/src/pushtarget.cpp index 2baa505..b6f97b7 100644 --- a/src/pushtarget.cpp +++ b/src/pushtarget.cpp @@ -36,7 +36,7 @@ PushTarget myPushTarget; // void PushTarget::send(float angle, float gravity, float corrGravity, float tempC, float runTime, bool force) { - uint32_t timePassed = abs((int32_t)(millis() - ms)); + uint32_t timePassed = abs((int32_t)(millis() - _ms)); uint32_t interval = myConfig.getSleepInterval() * 1000; if ((timePassed < interval) && !force) { @@ -47,7 +47,7 @@ void PushTarget::send(float angle, float gravity, float corrGravity, return; } - ms = millis(); + _ms = millis(); if (myConfig.isBrewfatherActive()) { LOG_PERF_START("push-brewfather"); diff --git a/src/pushtarget.hpp b/src/pushtarget.hpp index 56c5389..df2b302 100644 --- a/src/pushtarget.hpp +++ b/src/pushtarget.hpp @@ -33,7 +33,7 @@ SOFTWARE. // Classes class PushTarget { private: - uint32_t ms; // Used to check that we do not post to often + uint32_t _ms; // Used to check that we do not post to often void sendBrewfather(float angle, float gravity, float corrGravity, float tempC); @@ -48,7 +48,7 @@ class PushTarget { float runTime); public: - PushTarget() { ms = millis(); } + PushTarget() { _ms = millis(); } void send(float angle, float gravity, float corrGravity, float temp, float runTime, bool force = false); }; diff --git a/src/tempsensor.cpp b/src/tempsensor.cpp index 54af5b7..5a5a191 100644 --- a/src/tempsensor.cpp +++ b/src/tempsensor.cpp @@ -59,11 +59,11 @@ void TempSensor::setup() { } // Set the temp sensor adjustment values - tempSensorAdjC = myConfig.getTempSensorAdjC(); + _tempSensorAdjC = myConfig.getTempSensorAdjC(); #if LOG_LEVEL == 6 && !defined(TSEN_DISABLE_LOGGING) Log.verbose(F("TSEN: Adjustment values for temp sensor %F C." CR), - tempSensorAdjC); + _tempSensorAdjC); #endif } @@ -82,7 +82,7 @@ float TempSensor::getValue(bool useGyro) { #if LOG_LEVEL == 6 && !defined(TSEN_DISABLE_LOGGING) Log.verbose(F("TSEN: Reciving temp value for gyro sensor %F C." CR), c); #endif - hasSensor = true; + _hasSensor = true; return c; } @@ -105,7 +105,7 @@ float TempSensor::getValue(bool useGyro) { #if LOG_LEVEL == 6 && !defined(TSEN_DISABLE_LOGGING) Log.verbose(F("TSEN: Reciving temp value for DS18B20 sensor %F C." CR), c); #endif - hasSensor = true; + _hasSensor = true; } return c; } diff --git a/src/tempsensor.hpp b/src/tempsensor.hpp index 16ccc23..968a615 100644 --- a/src/tempsensor.hpp +++ b/src/tempsensor.hpp @@ -29,15 +29,15 @@ SOFTWARE. // classes class TempSensor { private: - bool hasSensor = false; - float tempSensorAdjC = 0; + bool _hasSensor = false; + float _tempSensorAdjC = 0; float getValue(bool useGyro); public: void setup(); - bool isSensorAttached() { return hasSensor; } + bool isSensorAttached() { return _hasSensor; } float getTempC(bool useGyro = false) { - return getValue(useGyro) + tempSensorAdjC; + return getValue(useGyro) + _tempSensorAdjC; } }; diff --git a/src/webserver.cpp b/src/webserver.cpp index d5f8171..2a368f1 100644 --- a/src/webserver.cpp +++ b/src/webserver.cpp @@ -55,7 +55,7 @@ void WebServer::webHandleDevice() { #endif String out; serializeJson(doc, out); - server->send(200, "application/json", out.c_str()); + _server->send(200, "application/json", out.c_str()); LOG_PERF_STOP("webserver-api-device"); } @@ -98,7 +98,7 @@ void WebServer::webHandleConfig() { String out; serializeJson(doc, out); - server->send(200, "application/json", out.c_str()); + _server->send(200, "application/json", out.c_str()); LOG_PERF_STOP("webserver-api-config"); } @@ -123,7 +123,7 @@ void WebServer::webHandleUpload() { String out; serializeJson(doc, out); - server->send(200, "application/json", out.c_str()); + _server->send(200, "application/json", out.c_str()); LOG_PERF_STOP("webserver-api-upload"); } @@ -133,7 +133,7 @@ void WebServer::webHandleUpload() { void WebServer::webHandleUploadFile() { LOG_PERF_START("webserver-api-upload-file"); Log.notice(F("WEB : webServer callback for /api/upload/file." CR)); - HTTPUpload& upload = server->upload(); + HTTPUpload& upload = _server->upload(); String f = upload.filename; bool validFilename = false; @@ -153,23 +153,23 @@ void WebServer::webHandleUploadFile() { if (upload.status == UPLOAD_FILE_START) { Log.notice(F("WEB : Start upload." CR)); - if (validFilename) uploadFile = LittleFS.open(f, "w"); + if (validFilename) _uploadFile = LittleFS.open(f, "w"); } else if (upload.status == UPLOAD_FILE_WRITE) { Log.notice(F("WEB : Writing upload." CR)); - if (uploadFile) - uploadFile.write( + if (_uploadFile) + _uploadFile.write( upload.buf, upload.currentSize); // Write the received bytes to the file } else if (upload.status == UPLOAD_FILE_END) { Log.notice(F("WEB : Finish upload." CR)); - if (uploadFile) { - uploadFile.close(); + if (_uploadFile) { + _uploadFile.close(); Log.notice(F("WEB : File uploaded %d bytes." CR), upload.totalSize); } - server->sendHeader("Location", "/"); - server->send(303); + _server->sendHeader("Location", "/"); + _server->send(303); } else { - server->send(500, "text/plain", "Couldn't create file."); + _server->send(500, "text/plain", "Couldn't create file."); } LOG_PERF_STOP("webserver-api-upload-file"); } @@ -179,18 +179,18 @@ void WebServer::webHandleUploadFile() { // void WebServer::webHandleCalibrate() { LOG_PERF_START("webserver-api-calibrate"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/calibrate." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-calibrate"); return; } myGyro.calibrateSensor(); - server->send(200, "text/plain", "Device calibrated"); + _server->send(200, "text/plain", "Device calibrated"); LOG_PERF_STOP("webserver-api-calibrate"); } @@ -198,17 +198,17 @@ void WebServer::webHandleCalibrate() { // Callback from webServer when / has been accessed. // void WebServer::webHandleFactoryReset() { - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/factory." CR)); if (!id.compareTo(myConfig.getID())) { - server->send(200, "text/plain", "Doing reset..."); + _server->send(200, "text/plain", "Doing reset..."); LittleFS.remove(CFG_FILENAME); LittleFS.end(); delay(500); ESP.reset(); } else { - server->send(400, "text/plain", "Unknown ID."); + _server->send(400, "text/plain", "Unknown ID."); } } @@ -250,7 +250,7 @@ void WebServer::webHandleStatus() { String out; serializeJson(doc, out); - server->send(200, "application/json", out.c_str()); + _server->send(200, "application/json", out.c_str()); LOG_PERF_STOP("webserver-api-status"); } @@ -258,17 +258,17 @@ void WebServer::webHandleStatus() { // Callback from webServer when / has been accessed. // void WebServer::webHandleClearWIFI() { - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/clearwifi." CR)); if (!id.compareTo(myConfig.getID())) { - server->send(200, "text/plain", + _server->send(200, "text/plain", "Clearing WIFI credentials and doing reset..."); delay(1000); WiFi.disconnect(); // Clear credentials ESP.reset(); } else { - server->send(400, "text/plain", "Unknown ID."); + _server->send(400, "text/plain", "Unknown ID."); } } @@ -277,13 +277,13 @@ void WebServer::webHandleClearWIFI() { // void WebServer::webHandleStatusSleepmode() { LOG_PERF_START("webserver-api-sleepmode"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/status/sleepmode." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-sleepmode"); return; } @@ -292,11 +292,11 @@ void WebServer::webHandleStatusSleepmode() { Log.verbose(F("WEB : %s." CR), getRequestArguments().c_str()); #endif - if (server->arg(CFG_PARAM_SLEEP_MODE).equalsIgnoreCase("true")) + if (_server->arg(CFG_PARAM_SLEEP_MODE).equalsIgnoreCase("true")) sleepModeAlwaysSkip = true; else sleepModeAlwaysSkip = false; - server->send(200, "text/plain", "Sleep mode updated"); + _server->send(200, "text/plain", "Sleep mode updated"); LOG_PERF_STOP("webserver-api-sleepmode"); } @@ -305,13 +305,13 @@ void WebServer::webHandleStatusSleepmode() { // void WebServer::webHandleConfigDevice() { LOG_PERF_START("webserver-api-config-device"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/config/device." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-config-device"); return; } @@ -320,12 +320,12 @@ void WebServer::webHandleConfigDevice() { Log.verbose(F("WEB : %s." CR), getRequestArguments().c_str()); #endif - myConfig.setMDNS(server->arg(CFG_PARAM_MDNS).c_str()); - myConfig.setTempFormat(server->arg(CFG_PARAM_TEMPFORMAT).charAt(0)); - myConfig.setSleepInterval(server->arg(CFG_PARAM_SLEEP_INTERVAL).c_str()); + myConfig.setMDNS(_server->arg(CFG_PARAM_MDNS).c_str()); + myConfig.setTempFormat(_server->arg(CFG_PARAM_TEMPFORMAT).charAt(0)); + myConfig.setSleepInterval(_server->arg(CFG_PARAM_SLEEP_INTERVAL).c_str()); myConfig.saveFile(); - server->sendHeader("Location", "/config.htm#collapseOne", true); - server->send(302, "text/plain", "Device config updated"); + _server->sendHeader("Location", "/config.htm#collapseOne", true); + _server->send(302, "text/plain", "Device config updated"); LOG_PERF_STOP("webserver-api-config-device"); } @@ -334,13 +334,13 @@ void WebServer::webHandleConfigDevice() { // void WebServer::webHandleConfigPush() { LOG_PERF_START("webserver-api-config-push"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/config/push." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-config-push"); return; } @@ -348,23 +348,23 @@ void WebServer::webHandleConfigPush() { Log.verbose(F("WEB : %s." CR), getRequestArguments().c_str()); #endif - myConfig.setHttpPushUrl(server->arg(CFG_PARAM_PUSH_HTTP).c_str()); - myConfig.setHttpPushUrl2(server->arg(CFG_PARAM_PUSH_HTTP2).c_str()); - myConfig.setBrewfatherPushUrl(server->arg(CFG_PARAM_PUSH_BREWFATHER).c_str()); - myConfig.setInfluxDb2PushUrl(server->arg(CFG_PARAM_PUSH_INFLUXDB2).c_str()); + myConfig.setHttpPushUrl(_server->arg(CFG_PARAM_PUSH_HTTP).c_str()); + myConfig.setHttpPushUrl2(_server->arg(CFG_PARAM_PUSH_HTTP2).c_str()); + myConfig.setBrewfatherPushUrl(_server->arg(CFG_PARAM_PUSH_BREWFATHER).c_str()); + myConfig.setInfluxDb2PushUrl(_server->arg(CFG_PARAM_PUSH_INFLUXDB2).c_str()); myConfig.setInfluxDb2PushOrg( - server->arg(CFG_PARAM_PUSH_INFLUXDB2_ORG).c_str()); + _server->arg(CFG_PARAM_PUSH_INFLUXDB2_ORG).c_str()); myConfig.setInfluxDb2PushBucket( - server->arg(CFG_PARAM_PUSH_INFLUXDB2_BUCKET).c_str()); + _server->arg(CFG_PARAM_PUSH_INFLUXDB2_BUCKET).c_str()); myConfig.setInfluxDb2PushToken( - server->arg(CFG_PARAM_PUSH_INFLUXDB2_AUTH).c_str()); - myConfig.setMqttUrl(server->arg(CFG_PARAM_PUSH_MQTT).c_str()); - myConfig.setMqttTopic(server->arg(CFG_PARAM_PUSH_MQTT_TOPIC).c_str()); - myConfig.setMqttUser(server->arg(CFG_PARAM_PUSH_MQTT_USER).c_str()); - myConfig.setMqttPass(server->arg(CFG_PARAM_PUSH_MQTT_PASS).c_str()); + _server->arg(CFG_PARAM_PUSH_INFLUXDB2_AUTH).c_str()); + myConfig.setMqttUrl(_server->arg(CFG_PARAM_PUSH_MQTT).c_str()); + myConfig.setMqttTopic(_server->arg(CFG_PARAM_PUSH_MQTT_TOPIC).c_str()); + myConfig.setMqttUser(_server->arg(CFG_PARAM_PUSH_MQTT_USER).c_str()); + myConfig.setMqttPass(_server->arg(CFG_PARAM_PUSH_MQTT_PASS).c_str()); myConfig.saveFile(); - server->sendHeader("Location", "/config.htm#collapseTwo", true); - server->send(302, "text/plain", "Push config updated"); + _server->sendHeader("Location", "/config.htm#collapseTwo", true); + _server->send(302, "text/plain", "Push config updated"); LOG_PERF_STOP("webserver-api-config-push"); } @@ -374,14 +374,14 @@ void WebServer::webHandleConfigPush() { String WebServer::getRequestArguments() { String debug; - for (int i = 0; i < server->args(); i++) { - if (!server->argName(i).equals( + for (int i = 0; i < _server->args(); i++) { + if (!_server->argName(i).equals( "plain")) { // this contains all the arguments, we dont need that. if (debug.length()) debug += ", "; - debug += server->argName(i); + debug += _server->argName(i); debug += "="; - debug += server->arg(i); + debug += _server->arg(i); } } return debug; @@ -392,13 +392,13 @@ String WebServer::getRequestArguments() { // void WebServer::webHandleConfigGravity() { LOG_PERF_START("webserver-api-config-gravity"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/config/gravity." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-config-gravity"); return; } @@ -407,14 +407,14 @@ void WebServer::webHandleConfigGravity() { Log.verbose(F("WEB : %s." CR), getRequestArguments().c_str()); #endif - myConfig.setGravityFormat(server->arg(CFG_PARAM_GRAVITY_FORMAT).charAt(0)); - myConfig.setGravityFormula(server->arg(CFG_PARAM_GRAVITY_FORMULA).c_str()); + myConfig.setGravityFormat(_server->arg(CFG_PARAM_GRAVITY_FORMAT).charAt(0)); + myConfig.setGravityFormula(_server->arg(CFG_PARAM_GRAVITY_FORMULA).c_str()); myConfig.setGravityTempAdj( - server->arg(CFG_PARAM_GRAVITY_TEMP_ADJ).equalsIgnoreCase("on") ? true + _server->arg(CFG_PARAM_GRAVITY_TEMP_ADJ).equalsIgnoreCase("on") ? true : false); myConfig.saveFile(); - server->sendHeader("Location", "/config.htm#collapseThree", true); - server->send(302, "text/plain", "Gravity config updated"); + _server->sendHeader("Location", "/config.htm#collapseThree", true); + _server->send(302, "text/plain", "Gravity config updated"); LOG_PERF_STOP("webserver-api-config-gravity"); } @@ -423,13 +423,13 @@ void WebServer::webHandleConfigGravity() { // void WebServer::webHandleConfigHardware() { LOG_PERF_START("webserver-api-config-hardware"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/config/hardware." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-config-hardware"); return; } @@ -438,18 +438,18 @@ void WebServer::webHandleConfigHardware() { Log.verbose(F("WEB : %s." CR), getRequestArguments().c_str()); #endif - myConfig.setVoltageFactor(server->arg(CFG_PARAM_VOLTAGEFACTOR).toFloat()); + myConfig.setVoltageFactor(_server->arg(CFG_PARAM_VOLTAGEFACTOR).toFloat()); if (myConfig.isTempC()) { - myConfig.setTempSensorAdjC(server->arg(CFG_PARAM_TEMP_ADJ)); + myConfig.setTempSensorAdjC(_server->arg(CFG_PARAM_TEMP_ADJ)); } else { - myConfig.setTempSensorAdjF(server->arg(CFG_PARAM_TEMP_ADJ)); + myConfig.setTempSensorAdjF(_server->arg(CFG_PARAM_TEMP_ADJ)); } - myConfig.setOtaURL(server->arg(CFG_PARAM_OTA).c_str()); + myConfig.setOtaURL(_server->arg(CFG_PARAM_OTA).c_str()); myConfig.setGyroTemp( - server->arg(CFG_PARAM_GYRO_TEMP).equalsIgnoreCase("on") ? true : false); + _server->arg(CFG_PARAM_GYRO_TEMP).equalsIgnoreCase("on") ? true : false); myConfig.saveFile(); - server->sendHeader("Location", "/config.htm#collapseFour", true); - server->send(302, "text/plain", "Hardware config updated"); + _server->sendHeader("Location", "/config.htm#collapseFour", true); + _server->send(302, "text/plain", "Hardware config updated"); LOG_PERF_STOP("webserver-api-config-hardware"); } @@ -473,7 +473,7 @@ void WebServer::webHandleFormulaRead() { doc[CFG_PARAM_GRAVITY_FORMULA] = ""; doc[CFG_PARAM_ERROR] = ""; - switch (lastFormulaCreateError) { + switch (_lastFormulaCreateError) { case ERR_FORMULA_INTERNAL: doc[CFG_PARAM_ERROR] = "Internal error creating formula."; break; @@ -516,7 +516,7 @@ void WebServer::webHandleFormulaRead() { String out; serializeJson(doc, out); - server->send(200, "application/json", out.c_str()); + _server->send(200, "application/json", out.c_str()); LOG_PERF_STOP("webserver-api-formula-read"); } @@ -525,13 +525,13 @@ void WebServer::webHandleFormulaRead() { // void WebServer::webHandleFormulaWrite() { LOG_PERF_START("webserver-api-formula-write"); - String id = server->arg(CFG_PARAM_ID); + String id = _server->arg(CFG_PARAM_ID); Log.notice(F("WEB : webServer callback for /api/formula/post." CR)); if (!id.equalsIgnoreCase(myConfig.getID())) { Log.error(F("WEB : Wrong ID received %s, expected %s" CR), id.c_str(), myConfig.getID()); - server->send(400, "text/plain", "Invalid ID."); + _server->send(400, "text/plain", "Invalid ID."); LOG_PERF_STOP("webserver-api-formula-write"); return; } @@ -541,24 +541,24 @@ void WebServer::webHandleFormulaWrite() { #endif RawFormulaData fd; - fd.a[0] = server->arg("a1").toDouble(); - fd.a[1] = server->arg("a2").toDouble(); - fd.a[2] = server->arg("a3").toDouble(); - fd.a[3] = server->arg("a4").toDouble(); - fd.a[4] = server->arg("a5").toDouble(); + fd.a[0] = _server->arg("a1").toDouble(); + fd.a[1] = _server->arg("a2").toDouble(); + fd.a[2] = _server->arg("a3").toDouble(); + fd.a[3] = _server->arg("a4").toDouble(); + fd.a[4] = _server->arg("a5").toDouble(); if (myConfig.isGravityPlato()) { - fd.g[0] = convertToSG(server->arg("g1").toDouble()); - fd.g[1] = convertToSG(server->arg("g2").toDouble()); - fd.g[2] = convertToSG(server->arg("g3").toDouble()); - fd.g[3] = convertToSG(server->arg("g4").toDouble()); - fd.g[4] = convertToSG(server->arg("g5").toDouble()); + fd.g[0] = convertToSG(_server->arg("g1").toDouble()); + fd.g[1] = convertToSG(_server->arg("g2").toDouble()); + fd.g[2] = convertToSG(_server->arg("g3").toDouble()); + fd.g[3] = convertToSG(_server->arg("g4").toDouble()); + fd.g[4] = convertToSG(_server->arg("g5").toDouble()); } else { - fd.g[0] = server->arg("g1").toDouble(); - fd.g[1] = server->arg("g2").toDouble(); - fd.g[2] = server->arg("g3").toDouble(); - fd.g[3] = server->arg("g4").toDouble(); - fd.g[4] = server->arg("g5").toDouble(); + fd.g[0] = _server->arg("g1").toDouble(); + fd.g[1] = _server->arg("g2").toDouble(); + fd.g[2] = _server->arg("g3").toDouble(); + fd.g[3] = _server->arg("g4").toDouble(); + fd.g[4] = _server->arg("g5").toDouble(); } myConfig.setFormulaData(fd); @@ -585,17 +585,17 @@ void WebServer::webHandleFormulaWrite() { Log.error( F("WEB : Unable to find formula based on provided values err=%d." CR), e); - lastFormulaCreateError = e; + _lastFormulaCreateError = e; } else { // Save the formula as succesful Log.info(F("WEB : Found valid formula: '%s'" CR), &buf[0]); myConfig.setGravityFormula(buf); - lastFormulaCreateError = 0; + _lastFormulaCreateError = 0; } myConfig.saveFile(); - server->sendHeader("Location", "/calibration.htm", true); - server->send(302, "text/plain", "Formula updated"); + _server->sendHeader("Location", "/calibration.htm", true); + _server->send(302, "text/plain", "Formula updated"); LOG_PERF_STOP("webserver-api-formula-write"); } @@ -641,8 +641,8 @@ bool WebServer::checkHtmlFile(HtmlFile item) { // Handler for page not found // void WebServer::webHandlePageNotFound() { - Log.error(F("WEB : URL not found %s received." CR), server->uri().c_str()); - server->send(404, "text/plain", F("URL not found")); + Log.error(F("WEB : URL not found %s received." CR), _server->uri().c_str()); + _server->send(404, "text/plain", F("URL not found")); } // @@ -651,20 +651,20 @@ void WebServer::webHandlePageNotFound() { bool WebServer::setupWebServer() { Log.notice(F("WEB : Configuring web server." CR)); - server = new ESP8266WebServer(); + _server = new ESP8266WebServer(); MDNS.begin(myConfig.getMDNS()); MDNS.addService("http", "tcp", 80); // Static content #if defined(EMBED_HTML) - server->on("/", std::bind(&WebServer::webReturnIndexHtm, this)); - server->on("/index.htm", std::bind(&WebServer::webReturnIndexHtm, this)); - server->on("/device.htm", std::bind(&WebServer::webReturnDeviceHtm, this)); - server->on("/config.htm", std::bind(&WebServer::webReturnConfigHtm, this)); - server->on("/calibration.htm", + _server->on("/", std::bind(&WebServer::webReturnIndexHtm, this)); + _server->on("/index.htm", std::bind(&WebServer::webReturnIndexHtm, this)); + _server->on("/device.htm", std::bind(&WebServer::webReturnDeviceHtm, this)); + _server->on("/config.htm", std::bind(&WebServer::webReturnConfigHtm, this)); + _server->on("/calibration.htm", std::bind(&WebServer::webReturnCalibrationHtm, this)); - server->on("/about.htm", std::bind(&WebServer::webReturnAboutHtm, this)); + _server->on("/about.htm", std::bind(&WebServer::webReturnAboutHtm, this)); #else // Show files in the filessytem at startup @@ -685,69 +685,69 @@ bool WebServer::setupWebServer() { checkHtmlFile(HTML_ABOUT)) { Log.notice(F("WEB : All html files exist, starting in normal mode." CR)); - server->serveStatic("/", LittleFS, "/index.min.htm"); - server->serveStatic("/index.htm", LittleFS, "/index.min.htm"); - server->serveStatic("/device.htm", LittleFS, "/device.min.htm"); - server->serveStatic("/config.htm", LittleFS, "/config.min.htm"); - server->serveStatic("/about.htm", LittleFS, "/about.min.htm"); - server->serveStatic("/calibration.htm", LittleFS, "/calibration.min.htm"); + _server->serveStatic("/", LittleFS, "/index.min.htm"); + _server->serveStatic("/index.htm", LittleFS, "/index.min.htm"); + _server->serveStatic("/device.htm", LittleFS, "/device.min.htm"); + _server->serveStatic("/config.htm", LittleFS, "/config.min.htm"); + _server->serveStatic("/about.htm", LittleFS, "/about.min.htm"); + _server->serveStatic("/calibration.htm", LittleFS, "/calibration.min.htm"); // Also add the static upload view in case we we have issues that needs to // be fixed. - server->on("/upload.htm", std::bind(&WebServer::webReturnUploadHtm, this)); + _server->on("/upload.htm", std::bind(&WebServer::webReturnUploadHtm, this)); } else { Log.error(F("WEB : Missing html files, starting with upload UI." CR)); - server->on("/", std::bind(&WebServer::webReturnUploadHtm, this)); + _server->on("/", std::bind(&WebServer::webReturnUploadHtm, this)); } #endif // Dynamic content - server->on("/api/config", HTTP_GET, + _server->on("/api/config", HTTP_GET, std::bind(&WebServer::webHandleConfig, this)); // Get config.json - server->on("/api/device", HTTP_GET, + _server->on("/api/device", HTTP_GET, std::bind(&WebServer::webHandleDevice, this)); // Get device.json - server->on("/api/formula", HTTP_GET, + _server->on("/api/formula", HTTP_GET, std::bind(&WebServer::webHandleFormulaRead, this)); // Get formula.json (calibration page) - server->on("/api/formula", HTTP_POST, + _server->on("/api/formula", HTTP_POST, std::bind(&WebServer::webHandleFormulaWrite, this)); // Get formula.json (calibration page) - server->on("/api/calibrate", HTTP_POST, + _server->on("/api/calibrate", HTTP_POST, std::bind(&WebServer::webHandleCalibrate, this)); // Run calibration routine (param id) - server->on( + _server->on( "/api/factory", HTTP_GET, std::bind(&WebServer::webHandleFactoryReset, this)); // Reset the device - server->on( + _server->on( "/api/status", HTTP_GET, std::bind(&WebServer::webHandleStatus, this)); // Get the status.json - server->on( + _server->on( "/api/clearwifi", HTTP_GET, std::bind(&WebServer::webHandleClearWIFI, this)); // Clear wifi settings - server->on("/api/upload", HTTP_GET, + _server->on("/api/upload", HTTP_GET, std::bind(&WebServer::webHandleUpload, this)); // Get upload.json - server->on( + _server->on( "/api/upload", HTTP_POST, std::bind(&WebServer::webReturnOK, this), std::bind(&WebServer::webHandleUploadFile, this)); // File upload data - server->on("/api/status/sleepmode", HTTP_POST, + _server->on("/api/status/sleepmode", HTTP_POST, std::bind(&WebServer::webHandleStatusSleepmode, this)); // Change sleep mode - server->on("/api/config/device", HTTP_POST, + _server->on("/api/config/device", HTTP_POST, std::bind(&WebServer::webHandleConfigDevice, this)); // Change device settings - server->on("/api/config/push", HTTP_POST, + _server->on("/api/config/push", HTTP_POST, std::bind(&WebServer::webHandleConfigPush, this)); // Change push settings - server->on("/api/config/gravity", HTTP_POST, + _server->on("/api/config/gravity", HTTP_POST, std::bind(&WebServer::webHandleConfigGravity, this)); // Change gravity settings - server->on("/api/config/hardware", HTTP_POST, + _server->on("/api/config/hardware", HTTP_POST, std::bind(&WebServer::webHandleConfigHardware, this)); // Change hardware settings - server->onNotFound(std::bind(&WebServer::webHandlePageNotFound, this)); - server->begin(); + _server->onNotFound(std::bind(&WebServer::webHandlePageNotFound, this)); + _server->begin(); Log.notice(F("WEB : Web server started." CR)); return true; } @@ -757,7 +757,7 @@ bool WebServer::setupWebServer() { // void WebServer::loop() { MDNS.update(); - server->handleClient(); + _server->handleClient(); } // EOF diff --git a/src/webserver.hpp b/src/webserver.hpp index d8a9d6c..4208aa6 100644 --- a/src/webserver.hpp +++ b/src/webserver.hpp @@ -44,9 +44,9 @@ INCBIN_EXTERN(UploadHtm); // classes class WebServer { private: - ESP8266WebServer* server = 0; - File uploadFile; - int lastFormulaCreateError = 0; + ESP8266WebServer* _server = 0; + File _uploadFile; + int _lastFormulaCreateError = 0; void webHandleConfig(); void webHandleFormulaWrite(); @@ -68,29 +68,29 @@ class WebServer { String getRequestArguments(); // Inline functions. - void webReturnOK() { server->send(200); } + void webReturnOK() { _server->send(200); } #if defined(EMBED_HTML) void webReturnIndexHtm() { - server->send_P(200, "text/html", (const char*)gIndexHtmData, gIndexHtmSize); + _server->send_P(200, "text/html", (const char*)gIndexHtmData, gIndexHtmSize); } void webReturnDeviceHtm() { - server->send_P(200, "text/html", (const char*)gDeviceHtmData, + _server->send_P(200, "text/html", (const char*)gDeviceHtmData, gDeviceHtmSize); } void webReturnConfigHtm() { - server->send_P(200, "text/html", (const char*)gConfigHtmData, + _server->send_P(200, "text/html", (const char*)gConfigHtmData, gConfigHtmSize); } void webReturnCalibrationHtm() { - server->send_P(200, "text/html", (const char*)gCalibrationHtmData, + _server->send_P(200, "text/html", (const char*)gCalibrationHtmData, gCalibrationHtmSize); } void webReturnAboutHtm() { - server->send_P(200, "text/html", (const char*)gAboutHtmData, gAboutHtmSize); + _server->send_P(200, "text/html", (const char*)gAboutHtmData, gAboutHtmSize); } #else void webReturnUploadHtm() { - server->send_P(200, "text/html", (const char*)gUploadHtmData, + _server->send_P(200, "text/html", (const char*)gUploadHtmData, gUploadHtmSize); } #endif diff --git a/src/wifi.cpp b/src/wifi.cpp index ddf4de4..5d238d2 100644 --- a/src/wifi.cpp +++ b/src/wifi.cpp @@ -224,7 +224,7 @@ bool WifiConnection::disconnect() { // // bool WifiConnection::updateFirmware() { - if (!newFirmware) { + if (!_newFirmware) { Log.notice(F("WIFI: No newer version exist, skipping update." CR)); return false; } @@ -345,19 +345,19 @@ bool WifiConnection::checkFirmwareVersion() { curVer[2]); #endif // Compare major version - if (newVer[0] > curVer[0]) newFirmware = true; + if (newVer[0] > curVer[0]) _newFirmware = true; // Compare minor version if (newVer[0] == curVer[0] && newVer[1] > curVer[1]) - newFirmware = true; + _newFirmware = true; // Compare patch version if (newVer[0] == curVer[0] && newVer[1] == curVer[1] && newVer[2] > curVer[2]) - newFirmware = true; + _newFirmware = true; } } // Download new html files to filesystem if they are present. - if (!ver["html"].isNull() && newFirmware) { + if (!ver["html"].isNull() && _newFirmware) { Log.notice(F("WIFI: OTA downloading new html files." CR)); JsonArray htmlFiles = ver["html"].as(); for (JsonVariant v : htmlFiles) { @@ -377,9 +377,9 @@ bool WifiConnection::checkFirmwareVersion() { myWifi.closeWifiClient(); #if LOG_LEVEL == 6 Log.verbose(F("WIFI: OTA found new version %s." CR), - newFirmware ? "true" : "false"); + _newFirmware ? "true" : "false"); #endif - return newFirmware; + return _newFirmware; } // diff --git a/src/wifi.hpp b/src/wifi.hpp index fa9c2f3..8a893fe 100644 --- a/src/wifi.hpp +++ b/src/wifi.hpp @@ -41,7 +41,7 @@ class WifiConnection { WiFiClientSecure _secureClient; // OTA - bool newFirmware = false; + bool _newFirmware = false; bool parseFirmwareVersionString(int (&num)[3], const char* version); void downloadFile(const char* fname); void connectAsync();