Merge commit '484ea661f1032276bf937ceb83fa2311c41ba9f4' into mntm-dev

This commit is contained in:
WillyJL
2026-02-28 19:35:19 +01:00
78 changed files with 1151 additions and 181 deletions

View File

@@ -25,7 +25,6 @@ struct SubGhzProtocolDecoderAlutech_at_4n {
SubGhzBlockDecoder decoder;
SubGhzBlockGeneric generic;
uint64_t data;
uint32_t crc;
uint16_t header_count;
@@ -580,13 +579,12 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
instance->decoder.parser_step = Alutech_at_4nDecoderStepReset;
break;
}
if((instance->header_count > 2) &&
if((instance->header_count > 9) &&
(DURATION_DIFF(duration, subghz_protocol_alutech_at_4n_const.te_short * 10) <
subghz_protocol_alutech_at_4n_const.te_delta * 10)) {
// Found header
instance->decoder.parser_step = Alutech_at_4nDecoderStepSaveDuration;
instance->decoder.decode_data = 0;
instance->data = 0;
instance->decoder.decode_count_bit = 0;
} else {
instance->decoder.parser_step = Alutech_at_4nDecoderStepReset;
@@ -619,8 +617,8 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
instance->decoder.parser_step = Alutech_at_4nDecoderStepReset;
if(instance->decoder.decode_count_bit ==
subghz_protocol_alutech_at_4n_const.min_count_bit_for_found) {
if(instance->generic.data != instance->data) {
instance->generic.data = instance->data;
if(instance->generic.data != instance->generic.data_2) {
instance->generic.data = instance->generic.data_2;
instance->generic.data_count_bit = instance->decoder.decode_count_bit;
instance->crc = instance->decoder.decode_data;
@@ -629,7 +627,6 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
instance->base.callback(&instance->base, instance->base.context);
}
instance->decoder.decode_data = 0;
instance->data = 0;
instance->decoder.decode_count_bit = 0;
instance->header_count = 0;
}
@@ -642,7 +639,7 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
subghz_protocol_alutech_at_4n_const.te_delta * 2)) {
subghz_protocol_blocks_add_bit(&instance->decoder, 1);
if(instance->decoder.decode_count_bit == 64) {
instance->data = instance->decoder.decode_data;
instance->generic.data_2 = instance->decoder.decode_data;
instance->decoder.decode_data = 0;
}
instance->decoder.parser_step = Alutech_at_4nDecoderStepSaveDuration;
@@ -654,7 +651,7 @@ void subghz_protocol_decoder_alutech_at_4n_feed(void* context, bool level, uint3
subghz_protocol_alutech_at_4n_const.te_delta)) {
subghz_protocol_blocks_add_bit(&instance->decoder, 0);
if(instance->decoder.decode_count_bit == 64) {
instance->data = instance->decoder.decode_data;
instance->generic.data_2 = instance->decoder.decode_data;
instance->decoder.decode_data = 0;
}
instance->decoder.parser_step = Alutech_at_4nDecoderStepSaveDuration;