Keeloq ultimate, and some fixes and improvements [ci skip]

- fix repeat values
- fix endless tx missing
- add mode 7 aka counter bypass
- take some ram
- free some ram
- fix comments
This commit is contained in:
MX
2026-02-05 01:06:02 +03:00
parent 1088e342e2
commit 67e191b135
10 changed files with 144 additions and 96 deletions

View File

@@ -80,8 +80,8 @@ void* subghz_protocol_encoder_hormann_alloc(SubGhzEnvironment* environment) {
instance->base.protocol = &subghz_protocol_hormann;
instance->generic.protocol_name = instance->base.protocol->name;
instance->encoder.repeat = 3;
instance->encoder.size_upload = 2048;
instance->encoder.repeat = 1;
instance->encoder.size_upload = 1850; // 1801
instance->encoder.upload = malloc(instance->encoder.size_upload * sizeof(LevelDuration));
instance->encoder.is_running = false;
return instance;
@@ -110,7 +110,6 @@ static bool subghz_protocol_encoder_hormann_get_upload(SubGhzProtocolEncoderHorm
} else {
instance->encoder.size_upload = size_upload;
}
instance->encoder.repeat = 3; //original remote does 10 repeats
for(size_t repeat = 0; repeat < 20; repeat++) {
//Send start bit
@@ -137,6 +136,7 @@ static bool subghz_protocol_encoder_hormann_get_upload(SubGhzProtocolEncoderHorm
}
instance->encoder.upload[index++] =
level_duration_make(true, (uint32_t)subghz_protocol_hormann_const.te_short * 24);
return true;
}