diff --git a/data/igate_conf.json b/data/igate_conf.json index 6148480..65c5f3e 100644 --- a/data/igate_conf.json +++ b/data/igate_conf.json @@ -61,11 +61,12 @@ "monitorInternalVoltage": false, "internalSleepVoltage": 2.9, "sendExternalVoltage": false, - "externalVoltagePin": 34, "monitorExternalVoltage": false, "externalSleepVoltage": 10.9, + "useExternalI2CSensor": false, "voltageDividerR1": 100.0, "voltageDividerR2": 27.0, + "externalVoltagePin": 34, "sendVoltageAsTelemetry": false }, "wxsensor": { diff --git a/data_embed/index.html b/data_embed/index.html index 6b287ac..ca75c85 100644 --- a/data_embed/index.html +++ b/data_embed/index.html @@ -1196,7 +1196,20 @@ >Send External Voltage -
+
+ + +
+
diff --git a/data_embed/script.js b/data_embed/script.js index 285d7a7..d3272c4 100644 --- a/data_embed/script.js +++ b/data_embed/script.js @@ -168,13 +168,16 @@ function loadSettings(settings) { MonitorInternalSleepVoltage.disabled = !MonitorInternalVoltageCheckbox.checked; document.getElementById("battery.sendExternalVoltage").checked = settings.battery.sendExternalVoltage; + document.getElementById("battery.useExternalI2CSensor").checked = settings.battery.useExternalI2CSensor; document.getElementById("battery.externalVoltagePin").value = settings.battery.externalVoltagePin; document.getElementById("battery.voltageDividerR1").value = settings.battery.voltageDividerR1.toFixed(1); document.getElementById("battery.voltageDividerR2").value = settings.battery.voltageDividerR2.toFixed(1); SendExternalVoltageCheckbox.checked = settings.battery.sendExternalVoltage; - ExternalVoltagePin.disabled = !SendExternalVoltageCheckbox.checked; - ExternalVoltageDividerR1.disabled = !SendExternalVoltageCheckbox.checked; - ExternalVoltageDividerR2.disabled = !SendExternalVoltageCheckbox.checked; + UseExternalI2CSensorCheckbox.disabled = !SendExternalVoltageCheckbox.checked; + ExternalVoltagePin.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked; + ExternalVoltageDividerR1.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked; + ExternalVoltageDividerR2.disabled = !SendExternalVoltageCheckbox.checked || UseExternalI2CSensorCheckbox.checked; + document.getElementById("battery.monitorExternalVoltage").checked = settings.battery.monitorExternalVoltage; document.getElementById("battery.externalSleepVoltage").value = settings.battery.externalSleepVoltage.toFixed(1); @@ -218,12 +221,12 @@ function loadSettings(settings) { document.getElementById("mqtt.port").value = settings.mqtt.port; document.getElementById("mqtt.beaconOverMqtt").checked = settings.mqtt.beaconOverMqtt; MqttCheckbox.checked = settings.mqtt.active; - MqttServer.disabled = !MqttCheckbox.check; - MqttTopic.disabled = !MqttCheckbox.check; - MqttUsername.disabled = !MqttCheckbox.check; - MqttPassword.disabled = !MqttCheckbox.check; - MqttPort.disabled = !MqttCheckbox.check; - MqttBeaconOverMqtt.disabled = !MqttCheckbox.check; + MqttServer.disabled = !MqttCheckbox.checked; + MqttTopic.disabled = !MqttCheckbox.checked; + MqttUsername.disabled = !MqttCheckbox.checked; + MqttPassword.disabled = !MqttCheckbox.checked; + MqttPort.disabled = !MqttCheckbox.checked; + MqttBeaconOverMqtt.disabled = !MqttCheckbox.checked; // Reboot document.getElementById("other.rebootMode").checked = settings.other.rebootMode; @@ -360,13 +363,21 @@ MonitorExternalVoltageCheckbox.addEventListener("change", function () { MonitorExternalSleepVoltage.disabled = !this.checked; }); const SendExternalVoltageCheckbox = document.querySelector('input[name="battery.sendExternalVoltage"]'); +const UseExternalI2CSensorCheckbox = document.querySelector('input[name="battery.useExternalI2CSensor"]'); const ExternalVoltagePin = document.querySelector('input[name="battery.externalVoltagePin"]'); const ExternalVoltageDividerR1 = document.querySelector('input[name="battery.voltageDividerR1"]'); const ExternalVoltageDividerR2 = document.querySelector('input[name="battery.voltageDividerR2"]'); SendExternalVoltageCheckbox.addEventListener("change", function () { - ExternalVoltagePin.disabled = !this.checked; - ExternalVoltageDividerR1.disabled = !this.checked; - ExternalVoltageDividerR2.disabled = !this.checked; + UseExternalI2CSensorCheckbox.disabled = !this.checked; + ExternalVoltagePin.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked; + ExternalVoltageDividerR1.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked; + ExternalVoltageDividerR2.disabled = !this.checked || UseExternalI2CSensorCheckbox.checked; +}); + +UseExternalI2CSensorCheckbox.addEventListener("change", function () { + ExternalVoltagePin.disabled = this.checked; + ExternalVoltageDividerR1.disabled = this.checked; + ExternalVoltageDividerR2.disabled = this.checked; }); // Telemetry Switches diff --git a/src/battery_utils.cpp b/src/battery_utils.cpp index 1c4b6e1..8fb35b5 100644 --- a/src/battery_utils.cpp +++ b/src/battery_utils.cpp @@ -37,9 +37,8 @@ float multiplyCorrection = 0.035; float voltageDividerTransformation = 0.0; -//bool externalI2CSensorFound = false; uint8_t externalI2CSensorAddress = 0x00; -int externalI2CSensorType = 0; // 0 = None | 1 = INA219 | 2 = INA226 | 3 = INA3221 +int externalI2CSensorType = 0; // 0 = None | 1 = INA219 Adafruit_INA219 ina219; diff --git a/src/wifi_utils.cpp b/src/wifi_utils.cpp index a5b8889..33d2e94 100644 --- a/src/wifi_utils.cpp +++ b/src/wifi_utils.cpp @@ -132,7 +132,7 @@ namespace WIFI_Utils { digitalWrite(INTERNAL_LED_PIN,LOW); #endif if (WiFi.status() == WL_CONNECTED) { - Serial.print("Connected as "); + Serial.print("\nConnected as "); Serial.print(WiFi.localIP()); Serial.print(" / MAC Address: "); Serial.println(WiFi.macAddress());