Parse LoadingRate field

This commit is contained in:
Alexey Starikovskiy 2023-09-15 13:03:06 +03:00 committed by Gwenhael Goavec-Merou
parent 0c89ac9a44
commit 6a0de15bff
1 changed files with 14 additions and 5 deletions

View File

@ -76,13 +76,22 @@ int FsParser::parseHeader()
case 0x0B: /* only present when bit_security is set */
_hdr["SecurityBit"] = "ON";
break;
case 0x10:
/* unknown conversion */
_hdr["loading_rate"] = to_string(0xff & (val >> 16));
_compressed = 0x01 & (val >> 13);
case 0x10: {
unsigned rate = (val >> 16) & 0xff;
if (rate) {
rate &= 0x7f;
rate ^= 0x44;
rate = (rate >> 2) + 1;
rate = 125000000/rate;
} else {
rate = 2500000; // default
}
_hdr["LoadingRate"] = to_string(rate);
_compressed = (val >> 13) & 1;
_hdr["Compress"] = (_compressed) ? "ON" : "OFF";
_hdr["ProgramDoneBypass"] = (0x01 & (val >> 12))?"ON":"OFF";
_hdr["ProgramDoneBypass"] = ((val >> 12) & 1) ? "ON" : "OFF";
break;
}
case 0x12: /* unknown */
break;
case 0x51: