Make psa more strict to avoid false positives
All checks were successful
Build Dev Firmware / build (push) Successful in 7m8s

This commit is contained in:
Andrea Santaniello
2026-03-28 18:31:50 +01:00
parent b318b3e9ff
commit cb1daaa4f1

View File

@@ -743,6 +743,14 @@ void subghz_protocol_decoder_psa_feed(void* context, bool level, uint32_t durati
}
if(end_diff <= 199) {
instance->validation_field = (uint16_t)(instance->decode_data_low & 0xFFFF);
if((instance->validation_field & 0xf) != 0xa) {
instance->decode_data_low = 0;
instance->decode_data_high = 0;
instance->decode_count_bit = 0;
new_state = PSADecoderState0;
instance->state = new_state;
return;
}
instance->key2_low = instance->decode_data_low;
instance->key2_high = instance->decode_data_high;
instance->mode_serialize = 1;
@@ -1026,6 +1034,14 @@ void subghz_protocol_decoder_psa_feed(void* context, bool level, uint32_t durati
}
instance->validation_field = (uint16_t)(instance->decode_data_low & 0xFFFF);
if((instance->validation_field & 0xf) != 0xa) {
instance->decode_data_low = 0;
instance->decode_data_high = 0;
instance->decode_count_bit = 0;
new_state = PSADecoderState0;
instance->state = new_state;
return;
}
instance->key2_low = instance->decode_data_low;
instance->key2_high = instance->decode_data_high;
instance->mode_serialize = 2;