mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-05-12 10:11:15 +00:00
Added debugging steps to firmware
This commit is contained in:
@@ -61,6 +61,8 @@ public:
|
||||
bool isUpgradeInformationChanged();
|
||||
void ackUpgradeInformationChanged();
|
||||
|
||||
int getLastHttpStatus() const { return lastHttpStatus; }
|
||||
|
||||
bool startFirmwareUpload(uint32_t size, const char* version);
|
||||
bool addFirmwareUploadChunk(uint8_t* buf, size_t length);
|
||||
bool completeFirmwareUpload(uint32_t size);
|
||||
@@ -126,6 +128,7 @@ private:
|
||||
|
||||
uint8_t* buf = NULL;
|
||||
uint16_t bufPos = 0;
|
||||
int lastHttpStatus = 0;
|
||||
|
||||
#if defined(ESP32)
|
||||
bool readPartition(uint8_t num, const esp_partition_info_t* info);
|
||||
|
||||
@@ -340,9 +340,11 @@ bool AmsFirmwareUpdater::fetchVersionDetails() {
|
||||
bool AmsFirmwareUpdater::fetchFirmwareChunk(HTTPClient& http) {
|
||||
#if FIRMWARE_UPDATE_USE_MANIFEST
|
||||
if(!loadManifest(false)) {
|
||||
lastHttpStatus = -200;
|
||||
return false;
|
||||
}
|
||||
if(manifestInfo.downloadUrl.isEmpty()) {
|
||||
lastHttpStatus = -201;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -368,6 +370,7 @@ bool AmsFirmwareUpdater::fetchFirmwareChunk(HTTPClient& http) {
|
||||
http.addHeader(F("x-AMS-version"), FirmwareVersion::VersionString);
|
||||
http.addHeader(F("Range"), range);
|
||||
int status = http.GET();
|
||||
lastHttpStatus = status;
|
||||
if(status == HTTP_CODE_PARTIAL_CONTENT || status == HTTP_CODE_OK) {
|
||||
if(md5.equals(F("unknown")) && manifestInfo.md5.length() > 0) {
|
||||
md5 = manifestInfo.md5;
|
||||
@@ -375,6 +378,9 @@ bool AmsFirmwareUpdater::fetchFirmwareChunk(HTTPClient& http) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(lastHttpStatus == 0) {
|
||||
lastHttpStatus = -202;
|
||||
}
|
||||
return false;
|
||||
#else
|
||||
const char * headerkeys[] = { "x-MD5" };
|
||||
@@ -387,6 +393,7 @@ bool AmsFirmwareUpdater::fetchFirmwareChunk(HTTPClient& http) {
|
||||
|
||||
const char* firmwareVariant = FIRMWARE_UPDATE_CHANNEL;
|
||||
|
||||
lastHttpStatus = status;
|
||||
char url[256];
|
||||
snprintf(url, sizeof(url), "%s/firmware/%s/%s/%s/chunk", FIRMWARE_UPDATE_BASE_URL, chipType, firmwareVariant, updateStatus.toVersion);
|
||||
#if defined(ESP8266)
|
||||
@@ -394,6 +401,9 @@ bool AmsFirmwareUpdater::fetchFirmwareChunk(HTTPClient& http) {
|
||||
client.setTimeout(5000);
|
||||
if(http.begin(client, url)) {
|
||||
#elif defined(ESP32)
|
||||
if(lastHttpStatus == 0) {
|
||||
lastHttpStatus = -202;
|
||||
}
|
||||
if(http.begin(url)) {
|
||||
#endif
|
||||
http.useHTTP10(true);
|
||||
|
||||
@@ -220,6 +220,13 @@
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{#if sysinfo.upgrade?.x !== undefined && sysinfo.upgrade.x !== -1}
|
||||
<div class="my-2">
|
||||
<div class="bd-gray text-xs">
|
||||
Last HTTP status: {sysinfo.upgrade.x}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{#if sysinfo.upgrade.n}
|
||||
<div class="my-2 flex">
|
||||
{translations.status?.firmware?.latest ?? "Latest"}:
|
||||
|
||||
@@ -518,6 +518,7 @@ void AmsWebServer::sysinfoJson() {
|
||||
upinfo.toVersion,
|
||||
updater->getNextVersion(),
|
||||
updater->getProgress(),
|
||||
updater->getLastHttpStatus(),
|
||||
ea->getUseLastMonth(),
|
||||
ea->getCostLastMonth(),
|
||||
ea->getProducedLastMonth(),
|
||||
|
||||
Reference in New Issue
Block a user