SubGhz: fix todo (#2984)

* [FL-3501] SubGhz: fix Handle multiple external cc1101 modules
* [FL-3502] SubGhz: fix Protocol not found error message
* [FL-3503] SubGhz: fix Handle rx buffer overflow
* {FL-3520] SubGhz: Handle RX buffer overflow with external cc1101
* [FL-3548] SubGhz: Security+ 2.0 counter start value
* [FL-3552] Sub-GHz: Check saved file
* [FL-3555] [FL-3554] Sub-GHz: RX buffer overflow handling and check that buffer has been properly written
* [FL-3557] Sub-GHz: No optimization required
* [FL-3558] Sub-GHz: Keeloq 0 discriminator
* [FL-3559] Sub-GHz: Keeloq unknown learning
* [FL-3560] Sub-GHz: callback for updating keeloq data on display
* SubGhz: fix RXFIFO_OVERFLOW

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Skorpionm
2023-08-24 04:51:32 +09:00
committed by GitHub
co-authored by Aleksandr Kutuzov
parent 60182aa2cd
commit 940ec36a0b
12 changed files with 83 additions and 74 deletions
-2
View File
@@ -744,7 +744,6 @@ static bool
bin_raw_debug("\r\n\r\n");
#endif
//TODO FL-3557: can be optimized
BinRAW_Markup markup_temp[BIN_RAW_MAX_MARKUP_COUNT];
memcpy(
markup_temp,
@@ -770,7 +769,6 @@ static bool
}
}
}
//TODO FL-3557: can be optimized
if(bin_raw_type == BinRAWTypeGap) {
if(data_temp != 0) { //there are sequences with the same number of bits
+4 -5
View File
@@ -122,7 +122,7 @@ static bool subghz_protocol_keeloq_gen_data(SubGhzProtocolEncoderKeeloq* instanc
uint32_t fix = (uint32_t)btn << 28 | instance->generic.serial;
uint32_t decrypt = (uint32_t)btn << 28 |
(instance->generic.serial & 0x3FF)
<< 16 | //TODO FL-3558: in some protocols the discriminator is 0
<< 16 | // In some protocols the discriminator is 0
instance->generic.cnt;
uint32_t hop = 0;
uint64_t man = 0;
@@ -149,7 +149,8 @@ static bool subghz_protocol_keeloq_gen_data(SubGhzProtocolEncoderKeeloq* instanc
hop = subghz_protocol_keeloq_common_encrypt(decrypt, man);
break;
case KEELOQ_LEARNING_UNKNOWN:
hop = 0; //TODO FL-3559
//Invalid or missing encoding type in keeloq_mfcodes
hop = 0;
break;
}
break;
@@ -199,9 +200,7 @@ static bool
furi_assert(instance);
//gen new key
if(subghz_protocol_keeloq_gen_data(instance, btn)) {
//TODO FL-3560: if you need to add a callback to automatically update the data on the display
} else {
if(!subghz_protocol_keeloq_gen_data(instance, btn)) {
return false;
}
-1
View File
@@ -380,7 +380,6 @@ static void subghz_protocol_secplus_v2_encode(SubGhzProtocolEncoderSecPlus_v2* i
uint8_t roll_2[9] = {0};
instance->generic.cnt++;
//TODO Fl-3548: it is not known what value the counter starts
if(instance->generic.cnt > 0xFFFFFFF) instance->generic.cnt = 0xE500000;
uint32_t rolling = subghz_protocol_blocks_reverse_key(instance->generic.cnt, 28);