update firmware meta data

Signed-off-by: Peter Siegmund <peter@rdkr.com>
This commit is contained in:
Peter Siegmund
2024-06-06 10:32:53 +02:00
parent 41492c07c9
commit fa978aaeec
2 changed files with 11 additions and 6 deletions

View File

@@ -34,6 +34,8 @@ public class Firmware {
@AllArgsConstructor
public static class FirmwareMeta {
private String projectName;
private int flashSize;
private String espIdf;

View File

@@ -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));
}