From fa978aaeeccded511f8abd372ec951765853f31c Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Thu, 6 Jun 2024 10:32:53 +0200 Subject: [PATCH] update firmware meta data Signed-off-by: Peter Siegmund --- .../rdkr/tide_display/backend/gcp/Firmware.java | 2 ++ .../backend/gcp/service/StorageServiceImpl.java | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/com/rdkr/tide_display/backend/gcp/Firmware.java b/backend/src/main/java/com/rdkr/tide_display/backend/gcp/Firmware.java index f13c942..7f5375d 100644 --- a/backend/src/main/java/com/rdkr/tide_display/backend/gcp/Firmware.java +++ b/backend/src/main/java/com/rdkr/tide_display/backend/gcp/Firmware.java @@ -34,6 +34,8 @@ public class Firmware { @AllArgsConstructor public static class FirmwareMeta { + private String projectName; + private int flashSize; private String espIdf; diff --git a/backend/src/main/java/com/rdkr/tide_display/backend/gcp/service/StorageServiceImpl.java b/backend/src/main/java/com/rdkr/tide_display/backend/gcp/service/StorageServiceImpl.java index 31ff74e..5330063 100644 --- a/backend/src/main/java/com/rdkr/tide_display/backend/gcp/service/StorageServiceImpl.java +++ b/backend/src/main/java/com/rdkr/tide_display/backend/gcp/service/StorageServiceImpl.java @@ -39,16 +39,19 @@ public class StorageServiceImpl implements StorageService { val name = file.getName(); if (name.endsWith(".bin")) { val bytes = file.getContent(); - val flashSizeCode = bytes[3] >> 4; - val flashSize = (int) Math.pow(2, flashSizeCode); - val espIdf = extract(bytes, 144, 30); - val compiled = extract(bytes, 128, 15) + " " + extract(bytes, 112, 15); - val version = directory.getName().replace("firmware/", "").replace("/", "").split("\\."); + val version = extract(bytes, 48, 30).split("\\."); if (version.length == 3) { int major = Integer.parseInt(version[0]); int minor = Integer.parseInt(version[1]); int patch = Integer.parseInt(version[2]); - val meta = new Firmware.FirmwareMeta(flashSize, espIdf, compiled); + + val projectName = extract(bytes, 80, 30); + val flashSizeCode = bytes[3] >> 4; + val flashSize = (int) Math.pow(2, flashSizeCode); + val espIdf = extract(bytes, 144, 30); + val compiled = extract(bytes, 128, 15) + " " + extract(bytes, 112, 15); + val meta = new Firmware.FirmwareMeta(projectName, flashSize, espIdf, compiled); + result.add( new Firmware(major, minor, patch, "/files/" + major + "." + minor + "." + patch + "/firmware.bin", file.getEtag(), file.getUpdateTimeOffsetDateTime(), meta)); }