update firmware meta data
Signed-off-by: Peter Siegmund <peter@rdkr.com>
This commit is contained in:
@@ -34,6 +34,8 @@ public class Firmware {
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public static class FirmwareMeta {
|
public static class FirmwareMeta {
|
||||||
|
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
private int flashSize;
|
private int flashSize;
|
||||||
|
|
||||||
private String espIdf;
|
private String espIdf;
|
||||||
|
@@ -39,16 +39,19 @@ public class StorageServiceImpl implements StorageService {
|
|||||||
val name = file.getName();
|
val name = file.getName();
|
||||||
if (name.endsWith(".bin")) {
|
if (name.endsWith(".bin")) {
|
||||||
val bytes = file.getContent();
|
val bytes = file.getContent();
|
||||||
val flashSizeCode = bytes[3] >> 4;
|
val version = extract(bytes, 48, 30).split("\\.");
|
||||||
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("\\.");
|
|
||||||
if (version.length == 3) {
|
if (version.length == 3) {
|
||||||
int major = Integer.parseInt(version[0]);
|
int major = Integer.parseInt(version[0]);
|
||||||
int minor = Integer.parseInt(version[1]);
|
int minor = Integer.parseInt(version[1]);
|
||||||
int patch = Integer.parseInt(version[2]);
|
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(
|
result.add(
|
||||||
new Firmware(major, minor, patch, "/files/" + major + "." + minor + "." + patch + "/firmware.bin", file.getEtag(), file.getUpdateTimeOffsetDateTime(), meta));
|
new Firmware(major, minor, patch, "/files/" + major + "." + minor + "." + patch + "/firmware.bin", file.getEtag(), file.getUpdateTimeOffsetDateTime(), meta));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user