extract Version from define
Some checks failed
Test compiling project / test (push) Failing after 1m33s
Some checks failed
Test compiling project / test (push) Failing after 1m33s
This commit is contained in:
@@ -25,7 +25,8 @@ jobs:
|
|||||||
run: ls -lah .pio/build/ESP32_INA233/ .pio/build/ESP32_INA226/
|
run: ls -lah .pio/build/ESP32_INA233/ .pio/build/ESP32_INA226/
|
||||||
- name: Upload firmware binary for INA233
|
- name: Upload firmware binary for INA233
|
||||||
run: |
|
run: |
|
||||||
VERSION=$(cat version)
|
VERSION=$(sed -n 's/#define current_version Version{[[:space:]]*\([0-9]\+\),[[:space:]]*\([0-9]\+\),[[:space:]]*\([0-9]\+\)}/\1.\2.\3/p' src/global_data/defines.h)
|
||||||
|
echo "Extracted version: $VERSION"
|
||||||
|
|
||||||
curl -X PUT \
|
curl -X PUT \
|
||||||
-H "Content-Type: application/octet-stream" \
|
-H "Content-Type: application/octet-stream" \
|
||||||
@@ -34,7 +35,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload firmware binary for INA226
|
- name: Upload firmware binary for INA226
|
||||||
run: |
|
run: |
|
||||||
VERSION=$(cat version)
|
VERSION=$(sed -n 's/#define current_version Version{[[:space:]]*\([0-9]\+\),[[:space:]]*\([0-9]\+\),[[:space:]]*\([0-9]\+\)}/\1.\2.\3/p' src/global_data/defines.h)
|
||||||
|
echo "Extracted version: $VERSION"
|
||||||
|
|
||||||
curl -X PUT \
|
curl -X PUT \
|
||||||
-H "Content-Type: application/octet-stream" \
|
-H "Content-Type: application/octet-stream" \
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
#include <HTTPClient.h>
|
#include <HTTPClient.h>
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <ArduinoLog.h>
|
||||||
|
#include <HTTPUpdate.h>
|
||||||
|
|
||||||
|
|
||||||
OTA::OTA(String server_url, String currentVersion, String currentDeviceConfiguration) {
|
OTA::OTA(String server_url, String currentVersion, String currentDeviceConfiguration) {
|
||||||
@@ -71,6 +73,36 @@ Firmware OTA::createErrorResponse(const String& errorMsg) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OTA::run_ota_update(String url) {
|
||||||
|
Log.verbose("Starting OTA upgrade");
|
||||||
|
HTTPUpdate httpUpdate;
|
||||||
|
httpUpdate.onStart(update_started);
|
||||||
|
httpUpdate.onEnd(update_finished);
|
||||||
|
httpUpdate.onProgress(update_progress);
|
||||||
|
httpUpdate.onError(update_error);
|
||||||
|
Serial.println("RUNNING OTA");
|
||||||
|
|
||||||
|
WiFiClientSecure client;
|
||||||
|
client.setInsecure();
|
||||||
|
|
||||||
|
t_httpUpdate_return ret = httpUpdate.update(client, "https://iot.tobiasmaier.me/firmware/waterlevel/INA233/1_1_1.bin");
|
||||||
|
// t_httpUpdate_return ret = httpUpdate.update(client, "https://iot.tobiasmaier.me", 443, "/firmware/waterlevel/INA233/1_0_1.bin");
|
||||||
|
|
||||||
|
switch (ret) {
|
||||||
|
case HTTP_UPDATE_FAILED:
|
||||||
|
Serial.printf("HTTP_UPDATE_FAILED Error (%d): %s\n", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case HTTP_UPDATE_NO_UPDATES:
|
||||||
|
Serial.println("HTTP_UPDATE_NO_UPDATES");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case HTTP_UPDATE_OK:
|
||||||
|
Serial.println("HTTP_UPDATE_OK");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -5,5 +5,6 @@
|
|||||||
#define water_level_min_key "water_level_min"
|
#define water_level_min_key "water_level_min"
|
||||||
#define water_level_max_key "water_level_max"
|
#define water_level_max_key "water_level_max"
|
||||||
#define water_volume_key "water_volume"
|
#define water_volume_key "water_volume"
|
||||||
|
#define current_version Version{0, 0, 2}
|
||||||
|
|
||||||
#define RESISTOR_VALUE 4
|
#define RESISTOR_VALUE 4
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
#include <utils.h>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@@ -38,3 +39,10 @@ struct ActiveErrors {
|
|||||||
bool level_low;
|
bool level_low;
|
||||||
bool level_high;
|
bool level_high;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct OTAStatus {
|
||||||
|
bool update_available;
|
||||||
|
Version current_version;
|
||||||
|
Version latest_version;
|
||||||
|
int update_progress;
|
||||||
|
};
|
||||||
26
src/main.cpp
26
src/main.cpp
@@ -59,33 +59,7 @@ void update_started() {
|
|||||||
Firmware fw = ota.getLatestVersionOnServer();
|
Firmware fw = ota.getLatestVersionOnServer();
|
||||||
Log.verbose("we are done");
|
Log.verbose("we are done");
|
||||||
Serial.printf("Firmware Info: Valid: %d, Version: %d.%d.%d, URL: %s\n", fw.valid, fw.version.major, fw.version.minor, fw.version.patch, fw.url.c_str());
|
Serial.printf("Firmware Info: Valid: %d, Version: %d.%d.%d, URL: %s\n", fw.valid, fw.version.major, fw.version.minor, fw.version.patch, fw.url.c_str());
|
||||||
// Serial.println("RUNNING OTA");
|
|
||||||
// // WiFiClient client;
|
|
||||||
// httpUpdate.onStart(update_started);
|
|
||||||
// httpUpdate.onEnd(update_finished);
|
|
||||||
// httpUpdate.onProgress(update_progress);
|
|
||||||
// httpUpdate.onError(update_error);
|
|
||||||
// Serial.println("RUNNING OTA");
|
|
||||||
|
|
||||||
// WiFiClientSecure client;
|
|
||||||
// client.setInsecure();
|
|
||||||
|
|
||||||
// t_httpUpdate_return ret = httpUpdate.update(client, "https://iot.tobiasmaier.me/firmware/waterlevel/INA233/1_1_1.bin");
|
|
||||||
// // t_httpUpdate_return ret = httpUpdate.update(client, "https://iot.tobiasmaier.me", 443, "/firmware/waterlevel/INA233/1_0_1.bin");
|
|
||||||
|
|
||||||
// switch (ret) {
|
|
||||||
// case HTTP_UPDATE_FAILED:
|
|
||||||
// Serial.printf("HTTP_UPDATE_FAILED Error (%d): %s\n", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case HTTP_UPDATE_NO_UPDATES:
|
|
||||||
// Serial.println("HTTP_UPDATE_NO_UPDATES");
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case HTTP_UPDATE_OK:
|
|
||||||
// Serial.println("HTTP_UPDATE_OK");
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
vTaskDelete(NULL);
|
vTaskDelete(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user