mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
SubGHz: Added 9 new protocols, fixes to existing protocols (#4255)
* Fix Typos * Tune decoders * Better parsing, show more data in existing protocols * Add new protocols * Update keeloqs * Add unit tests & raws * Add honeywell unittest * Comment until better solution is found Adding GAPs to be sent first to make signal better suitable for decoder (decoding from only one signal sample) does nothing, needs something else TODO: Fix encoders? * suppressed missing issue warning * subghz: re-enabled failing encoder tests * Fix two? 3 left * properly do gangqi and marantec for unit test and real use * fix unit tests now * fix possible memory leak * reset decoder step too * subghz: extra encoder safety; report random signal test results on failure * unit_tests: subghz: renamed test file for consistency * subghz: more explicit buffer position resets * Fix gangqi samples --------- Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: hedger <hedger@nanode.su>
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
#define NICE_FLOR_S_DIR_NAME EXT_PATH("subghz/assets/nice_flor_s")
|
||||
#define ALUTECH_AT_4N_DIR_NAME EXT_PATH("subghz/assets/alutech_at_4n")
|
||||
#define TEST_RANDOM_DIR_NAME EXT_PATH("unit_tests/subghz/test_random_raw.sub")
|
||||
#define TEST_RANDOM_COUNT_PARSE 331
|
||||
#define TEST_RANDOM_COUNT_PARSE 328
|
||||
#define TEST_TIMEOUT 10000
|
||||
|
||||
static SubGhzEnvironment* environment_handler;
|
||||
@@ -672,6 +672,62 @@ MU_TEST(subghz_decoder_dickert_test) {
|
||||
"Test decoder " SUBGHZ_PROTOCOL_DICKERT_MAHS_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_legrand_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/legrand_raw.sub"), SUBGHZ_PROTOCOL_LEGRAND_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_LEGRAND_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_marantec24_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/marantec24_raw.sub"), SUBGHZ_PROTOCOL_MARANTEC24_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_MARANTEC24_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_roger_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/roger_raw.sub"), SUBGHZ_PROTOCOL_ROGER_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_ROGER_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_feron_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/feron_raw.sub"), SUBGHZ_PROTOCOL_FERON_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_FERON_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_gangqi_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/gangqi_raw.sub"), SUBGHZ_PROTOCOL_GANGQI_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_GANGQI_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_hollarm_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/hollarm_raw.sub"), SUBGHZ_PROTOCOL_HOLLARM_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_HOLLARM_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_reversrb2_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/revers_rb2_raw.sub"), SUBGHZ_PROTOCOL_REVERSRB2_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_REVERSRB2_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_decoder_hay21_test) {
|
||||
mu_assert(
|
||||
subghz_decoder_test(
|
||||
EXT_PATH("unit_tests/subghz/hay21_raw.sub"), SUBGHZ_PROTOCOL_HAY21_NAME),
|
||||
"Test decoder " SUBGHZ_PROTOCOL_HAY21_NAME " error\r\n");
|
||||
}
|
||||
|
||||
//test encoders
|
||||
MU_TEST(subghz_encoder_princeton_test) {
|
||||
mu_assert(
|
||||
@@ -835,6 +891,48 @@ MU_TEST(subghz_encoder_dickert_test) {
|
||||
"Test encoder " SUBGHZ_PROTOCOL_DICKERT_MAHS_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_legrand_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/legrand.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_LEGRAND_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_feron_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/feron.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_FERON_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_gangqi_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/gangqi.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_GANGQI_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_hollarm_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/hollarm.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_HOLLARM_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_reversrb2_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/revers_rb2.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_REVERSRB2_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_roger_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/roger.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_ROGER_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_encoder_marantec24_test) {
|
||||
mu_assert(
|
||||
subghz_encoder_test(EXT_PATH("unit_tests/subghz/marantec24.sub")),
|
||||
"Test encoder " SUBGHZ_PROTOCOL_MARANTEC24_NAME " error\r\n");
|
||||
}
|
||||
|
||||
MU_TEST(subghz_random_test) {
|
||||
mu_assert(subghz_decode_random_test(TEST_RANDOM_DIR_NAME), "Random test error\r\n");
|
||||
}
|
||||
@@ -887,6 +985,14 @@ MU_TEST_SUITE(subghz) {
|
||||
MU_RUN_TEST(subghz_decoder_kinggates_stylo4k_test);
|
||||
MU_RUN_TEST(subghz_decoder_mastercode_test);
|
||||
MU_RUN_TEST(subghz_decoder_dickert_test);
|
||||
MU_RUN_TEST(subghz_decoder_roger_test);
|
||||
MU_RUN_TEST(subghz_decoder_hollarm_test);
|
||||
MU_RUN_TEST(subghz_decoder_reversrb2_test);
|
||||
MU_RUN_TEST(subghz_decoder_gangqi_test);
|
||||
MU_RUN_TEST(subghz_decoder_hay21_test);
|
||||
MU_RUN_TEST(subghz_decoder_feron_test);
|
||||
MU_RUN_TEST(subghz_decoder_legrand_test);
|
||||
MU_RUN_TEST(subghz_decoder_marantec24_test);
|
||||
|
||||
MU_RUN_TEST(subghz_encoder_princeton_test);
|
||||
MU_RUN_TEST(subghz_encoder_came_test);
|
||||
@@ -915,6 +1021,13 @@ MU_TEST_SUITE(subghz) {
|
||||
MU_RUN_TEST(subghz_encoder_dooya_test);
|
||||
MU_RUN_TEST(subghz_encoder_mastercode_test);
|
||||
MU_RUN_TEST(subghz_encoder_dickert_test);
|
||||
MU_RUN_TEST(subghz_encoder_feron_test);
|
||||
MU_RUN_TEST(subghz_encoder_roger_test);
|
||||
MU_RUN_TEST(subghz_encoder_gangqi_test);
|
||||
MU_RUN_TEST(subghz_encoder_marantec24_test);
|
||||
MU_RUN_TEST(subghz_encoder_hollarm_test);
|
||||
MU_RUN_TEST(subghz_encoder_reversrb2_test);
|
||||
MU_RUN_TEST(subghz_encoder_legrand_test);
|
||||
|
||||
MU_RUN_TEST(subghz_random_test);
|
||||
subghz_test_deinit();
|
||||
|
||||
Reference in New Issue
Block a user