Skip to content

Commit 75dd2c3

Browse files
committed
SubGhz: add Honeywell5834 unit tests and encoder frame-end tail
1 parent 16467ce commit 75dd2c3

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Filetype: Flipper SubGhz Key File
2+
Version: 1
3+
Frequency: 345000000
4+
Preset: FuriHalSubGhzPresetOok650Async
5+
Protocol: Honeywell5834
6+
Bit: 48
7+
Key: 00 00 AB CD E0 00 04 00

applications/debug/unit_tests/tests/subghz/subghz_test.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,14 @@ MU_TEST(subghz_decoder_honeywell_wdb_test) {
585585
"Test decoder " SUBGHZ_PROTOCOL_HONEYWELL_WDB_NAME " error\r\n");
586586
}
587587

588+
MU_TEST(subghz_decoder_honeywell_5834_test) {
589+
mu_assert(
590+
subghz_decoder_test(
591+
EXT_PATH("unit_tests/subghz/honeywell_5834_raw.sub"),
592+
SUBGHZ_PROTOCOL_HONEYWELL_5834_NAME),
593+
"Test decoder " SUBGHZ_PROTOCOL_HONEYWELL_5834_NAME " error\r\n");
594+
}
595+
588596
MU_TEST(subghz_decoder_magellan_test) {
589597
mu_assert(
590598
subghz_decoder_test(
@@ -837,6 +845,12 @@ MU_TEST(subghz_encoder_honeywell_wdb_test) {
837845
"Test encoder " SUBGHZ_PROTOCOL_HONEYWELL_WDB_NAME " error\r\n");
838846
}
839847

848+
MU_TEST(subghz_encoder_honeywell_5834_test) {
849+
mu_assert(
850+
subghz_encoder_test(EXT_PATH("unit_tests/subghz/honeywell_5834.sub")),
851+
"Test encoder " SUBGHZ_PROTOCOL_HONEYWELL_5834_NAME " error\r\n");
852+
}
853+
840854
MU_TEST(subghz_encoder_magellan_test) {
841855
mu_assert(
842856
subghz_encoder_test(EXT_PATH("unit_tests/subghz/magellan.sub")),
@@ -973,6 +987,7 @@ MU_TEST_SUITE(subghz) {
973987
MU_RUN_TEST(subghz_decoder_doitrand_test);
974988
MU_RUN_TEST(subghz_decoder_phoenix_v2_test);
975989
MU_RUN_TEST(subghz_decoder_honeywell_wdb_test);
990+
MU_RUN_TEST(subghz_decoder_honeywell_5834_test);
976991
MU_RUN_TEST(subghz_decoder_magellan_test);
977992
MU_RUN_TEST(subghz_decoder_intertechno_v3_test);
978993
MU_RUN_TEST(subghz_decoder_clemsa_test);
@@ -1012,6 +1027,7 @@ MU_TEST_SUITE(subghz) {
10121027
MU_RUN_TEST(subghz_encoder_doitrand_test);
10131028
MU_RUN_TEST(subghz_encoder_phoenix_v2_test);
10141029
MU_RUN_TEST(subghz_encoder_honeywell_wdb_test);
1030+
MU_RUN_TEST(subghz_encoder_honeywell_5834_test);
10151031
MU_RUN_TEST(subghz_encoder_magellan_test);
10161032
MU_RUN_TEST(subghz_encoder_intertechno_v3_test);
10171033
MU_RUN_TEST(subghz_encoder_clemsa_test);

lib/subghz/protocols/honeywell_5834.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ static bool subghz_protocol_encoder_honeywell_5834_get_upload(
153153
/* inter-bit gap */
154154
instance->encoder.upload[index++] = level_duration_make(false, (uint32_t)H5834_GAP);
155155
}
156+
/* Replace last inter-bit gap with inter-frame tail for decoder frame-end detection */
157+
instance->encoder.upload[index - 1] = level_duration_make(false, 15000);
156158
return true;
157159
}
158160

0 commit comments

Comments
 (0)