subghz: sommer add backwards comp. fix for older files

This commit is contained in:
MX
2026-01-11 06:25:22 +03:00
parent 4df12a5d12
commit c407fd2d1a
2 changed files with 31 additions and 1 deletions

View File

@@ -13,7 +13,7 @@
* Archive: Allow folders to be pinned (by @WillyJL)
* Apps: Build tag (**9jan2026p2**) - **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev)
## Other changes
* SubGHz: Rename Sommer(fsk476) to Sommer (Sommer keeloq works better with FM12K)
* SubGHz: Rename Sommer(fsk476) to Sommer (Sommer keeloq works better with FM12K) + added backwards compatibility with older saved files
* Docs: Add full list of supported SubGHz protocols and their frequencies/modulations that can be used for reading remotes - [Docs Link](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/SubGHzSupportedSystems.md)
* Desktop: Show debug status (D) if clock is enabled and debug flag is on (PR #942 | by @Dmitry422)
* NFC: Fix some typos in Type4Tag protocol (by @WillyJL)

View File

@@ -624,6 +624,21 @@ SubGhzProtocolStatus
flipper_format, "Manufacture", instance->manufacture_from_file)) {
instance->manufacture_name = furi_string_get_cstr(instance->manufacture_from_file);
instance->keystore->mfname = instance->manufacture_name;
// Compatibility fixes for old names in user files
if(strcmp(instance->manufacture_name, "Sommer(fsk476)") == 0) {
instance->manufacture_name = "Sommer";
instance->keystore->mfname = instance->manufacture_name;
if(!flipper_format_rewind(flipper_format)) {
FURI_LOG_E(TAG, "Rewind error");
break;
}
if(!flipper_format_update_string_cstr(
flipper_format, "Manufacture", instance->manufacture_name)) {
FURI_LOG_E(TAG, "DECODER: Unable to fix Sommer manufacture name");
ret = SubGhzProtocolStatusError;
break;
}
}
} else {
FURI_LOG_D(TAG, "ENCODER: Missing Manufacture");
}
@@ -1275,6 +1290,21 @@ SubGhzProtocolStatus
flipper_format, "Manufacture", instance->manufacture_from_file)) {
instance->manufacture_name = furi_string_get_cstr(instance->manufacture_from_file);
instance->keystore->mfname = instance->manufacture_name;
// Compatibility fixes for old names in user files
if(strcmp(instance->manufacture_name, "Sommer(fsk476)") == 0) {
instance->manufacture_name = "Sommer";
instance->keystore->mfname = instance->manufacture_name;
if(!flipper_format_rewind(flipper_format)) {
FURI_LOG_E(TAG, "Rewind error");
break;
}
if(!flipper_format_update_string_cstr(
flipper_format, "Manufacture", instance->manufacture_name)) {
FURI_LOG_E(TAG, "DECODER: Unable to fix Sommer manufacture name");
res = SubGhzProtocolStatusError;
break;
}
}
} else {
FURI_LOG_D(TAG, "DECODER: Missing Manufacture");
}