From cd3cc093866ad359deff72ab53c5afdb3742510e Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 30 Aug 2025 09:54:07 +0200 Subject: [PATCH] fix board from fuse for S32S3 --- src/core/system.cpp | 17 +++++++++++------ src/core/system.h | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/core/system.cpp b/src/core/system.cpp index 0685a6ac8..064fd2f7e 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -2084,12 +2084,15 @@ String System::getBBQKeesGatewayDetails(uint8_t detail) { break; } const char * mfg[] = {"unknown", "BBQKees Electronics", "", "", "", "", "", ""}; - const char * model[] = {"unknown", "S3", "E32V2", "E32V2_2", "S32", "E32", "", "", ""}; + const char * model[] = {"unknown", "S3", "E32V2", "E32V2.2", "S32", "E32", "", "", ""}; + const char * board[] = {"CUSTOM", "S32S3", "E32V2", "E32V2_2", "S32", "E32", "", "", ""}; switch (detail) { case FUSE_VALUE::MFG: - return String(mfg[gw.mfg]); + return gw.mfg < 2 ? String(mfg[gw.mfg]) : "unknown"; + case FUSE_VALUE::MODEL: + return gw.model < 6 ? String(model[gw.model]) : "unknown"; case FUSE_VALUE::BOARD: - return gw.model ? String(model[gw.model]) : board_profile_; + return gw.model < 6 ? String(board[gw.model]) : board_profile_; case FUSE_VALUE::REV: return String(gw.rev_major) + "." + String(gw.rev_minor); case FUSE_VALUE::BATCH: @@ -2100,9 +2103,11 @@ String System::getBBQKeesGatewayDetails(uint8_t detail) { default: break; } - return gw.reg ? String(mfg[gw.mfg]) + " " + String(model[gw.model]) + " rev." + String(gw.rev_major) + "." + String(gw.rev_minor) + "/" - + String(2000 + gw.year) + (gw.month < 10 ? "0" : "") + String(gw.month) + String(gw.no) - : ""; + if (!gw.reg || gw.mfg > 1 || gw.model > 5) { + return ""; + } + return String(mfg[gw.mfg]) + " " + String(model[gw.model]) + " rev." + String(gw.rev_major) + "." + String(gw.rev_minor) + "/" + String(2000 + gw.year) + + (gw.month < 10 ? "0" : "") + String(gw.month) + String(gw.no); #else return ""; #endif diff --git a/src/core/system.h b/src/core/system.h index ae1bc18ed..969c23959 100644 --- a/src/core/system.h +++ b/src/core/system.h @@ -68,7 +68,7 @@ enum SYSTEM_STATUS : uint8_t { SYSTEM_STATUS_RESTART_REQUESTED = 5 }; -enum FUSE_VALUE : uint8_t { ALL = 0, MFG = 1, BOARD = 2, REV = 3, BATCH = 4, FUSE = 5 }; +enum FUSE_VALUE : uint8_t { ALL = 0, MFG = 1, MODEL = 2, BOARD = 3, REV = 4, BATCH = 5, FUSE = 6 }; class System { public: