fix board from fuse for S32S3

This commit is contained in:
MichaelDvP
2025-08-30 09:54:07 +02:00
parent 0df21a7843
commit cd3cc09386
2 changed files with 12 additions and 7 deletions

View File

@@ -2084,12 +2084,15 @@ String System::getBBQKeesGatewayDetails(uint8_t detail) {
break; break;
} }
const char * mfg[] = {"unknown", "BBQKees Electronics", "", "", "", "", "", ""}; 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) { switch (detail) {
case FUSE_VALUE::MFG: 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: 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: case FUSE_VALUE::REV:
return String(gw.rev_major) + "." + String(gw.rev_minor); return String(gw.rev_major) + "." + String(gw.rev_minor);
case FUSE_VALUE::BATCH: case FUSE_VALUE::BATCH:
@@ -2100,9 +2103,11 @@ String System::getBBQKeesGatewayDetails(uint8_t detail) {
default: default:
break; break;
} }
return gw.reg ? String(mfg[gw.mfg]) + " " + String(model[gw.model]) + " rev." + String(gw.rev_major) + "." + String(gw.rev_minor) + "/" if (!gw.reg || gw.mfg > 1 || gw.model > 5) {
+ String(2000 + gw.year) + (gw.month < 10 ? "0" : "") + String(gw.month) + String(gw.no) 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 #else
return ""; return "";
#endif #endif

View File

@@ -68,7 +68,7 @@ enum SYSTEM_STATUS : uint8_t {
SYSTEM_STATUS_RESTART_REQUESTED = 5 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 { class System {
public: public: