mirror of
https://github.com/flipperdevices/flipperzero-firmware.git
synced 2025-12-12 20:59:50 +04:00
LFRFID: Fix Detection Conflict Between Securakey and Noralsy Format (#4125)
* Securakey added parity check * Format Sources Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -61,17 +61,22 @@ uint8_t* protocol_securakey_get_data(ProtocolSecurakey* protocol) {
|
|||||||
static bool protocol_securakey_can_be_decoded(ProtocolSecurakey* protocol) {
|
static bool protocol_securakey_can_be_decoded(ProtocolSecurakey* protocol) {
|
||||||
// check 19 bits preamble + format flag
|
// check 19 bits preamble + format flag
|
||||||
if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111000000000) {
|
if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111000000000) {
|
||||||
protocol->bit_format = 0;
|
if(bit_lib_test_parity(protocol->RKKT_encoded_data, 2, 54, BitLibParityAlways0, 9)) {
|
||||||
return true;
|
protocol->bit_format = 0;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
} else if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111001011010) {
|
} else if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111001011010) {
|
||||||
protocol->bit_format = 26;
|
if(bit_lib_test_parity(protocol->RKKT_encoded_data, 2, 90, BitLibParityAlways0, 9)) {
|
||||||
return true;
|
protocol->bit_format = 26;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
} else if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111001100000) {
|
} else if(bit_lib_get_bits_32(protocol->RKKT_encoded_data, 0, 19) == 0b0111111111001100000) {
|
||||||
protocol->bit_format = 32;
|
if(bit_lib_test_parity(protocol->RKKT_encoded_data, 2, 90, BitLibParityAlways0, 9)) {
|
||||||
return true;
|
protocol->bit_format = 32;
|
||||||
} else {
|
return true;
|
||||||
return false;
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void protocol_securakey_decode(ProtocolSecurakey* protocol) {
|
static void protocol_securakey_decode(ProtocolSecurakey* protocol) {
|
||||||
|
|||||||
Reference in New Issue
Block a user