From e49f6a1d76679bf4685af816c0874a71194ae12e Mon Sep 17 00:00:00 2001 From: r3df0xx Date: Mon, 25 Apr 2022 22:22:09 +0300 Subject: [PATCH] seed transmition --- applications/subghz/scenes/subghz_scene_set_seed.c | 4 ++-- lib/subghz/protocols/faac_slh.c | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/applications/subghz/scenes/subghz_scene_set_seed.c b/applications/subghz/scenes/subghz_scene_set_seed.c index 4e8361ef1..ad9aa8982 100644 --- a/applications/subghz/scenes/subghz_scene_set_seed.c +++ b/applications/subghz/scenes/subghz_scene_set_seed.c @@ -53,7 +53,7 @@ bool subghz_scene_set_seed_on_event(void* context, SceneManagerEvent event) { "FAAC_SLH", 868350000, FuriHalSubGhzPresetOok650Async); - FURI_LOG_I(TAG, "SEED (set_type): %8X\n", seed); + FURI_LOG_I(TAG, "SEED (set_seed_on_event): %8X\n", seed); generated_protocol = true; } else { generated_protocol = false; @@ -82,7 +82,7 @@ void subghz_scene_set_seed_on_exit(void* context) { SubGhz* subghz = context; uint32_t seed = subghz->txrx->secure_data->seed[0] << 24 | subghz->txrx->secure_data->seed[1] << 16 | subghz->txrx->secure_data->seed[2] << 8 | subghz->txrx->secure_data->seed[3]; - FURI_LOG_I(TAG, "seed: %8X\n", seed); + FURI_LOG_I(TAG, "SEED (set_seed_on_exit): %8X\n", seed); // Clear view byte_input_set_result_callback(subghz->byte_input, NULL, NULL, NULL, NULL, 0); byte_input_set_header_text(subghz->byte_input, ""); diff --git a/lib/subghz/protocols/faac_slh.c b/lib/subghz/protocols/faac_slh.c index fc846bdcf..f4e10b86b 100644 --- a/lib/subghz/protocols/faac_slh.c +++ b/lib/subghz/protocols/faac_slh.c @@ -87,7 +87,8 @@ const SubGhzProtocol subghz_protocol_faac_slh = { static void subghz_protocol_faac_slh_check_remote_controller (SubGhzBlockGeneric* instance, SubGhzKeystore* keystore, - const char** manufacture_name); + const char** manufacture_name, + uint32_t seed); void* subghz_protocol_encoder_faac_slh_alloc(SubGhzEnvironment* environment) { SubGhzProtocolEncoderFaacSLH* instance = malloc(sizeof(SubGhzProtocolEncoderFaacSLH)); @@ -247,7 +248,7 @@ bool subghz_protocol_encoder_faac_slh_deserialize(void* context, FlipperFormat* } subghz_protocol_faac_slh_check_remote_controller( - &instance->generic, instance->keystore, &instance->manufacture_name); + &instance->generic, instance->keystore, &instance->manufacture_name, instance->generic.seed); //optional parameter parameter flipper_format_read_uint32( @@ -398,9 +399,11 @@ void subghz_protocol_decoder_faac_slh_feed(void* context, bool level, uint32_t d static void subghz_protocol_faac_slh_check_remote_controller (SubGhzBlockGeneric* instance, SubGhzKeystore* keystore, - const char** manufacture_name) { + const char** manufacture_name, + uint32_t seed) { //uint64_t code_found_reverse = //subghz_protocol_blocks_reverse_key(instance->data, instance->data_count_bit); + instance->seed = seed; uint32_t code_fix = instance->data >> 32; uint32_t code_hop = instance->data & 0xFFFFFFFF; instance->serial = code_fix >> 4; @@ -462,7 +465,7 @@ bool subghz_protocol_decoder_faac_slh_deserialize(void* context, FlipperFormat* void subghz_protocol_decoder_faac_slh_get_string(void* context, string_t output) { furi_assert(context); SubGhzProtocolDecoderFaacSLH* instance = context; - subghz_protocol_faac_slh_check_remote_controller(&instance->generic, instance->keystore, &instance->manufacture_name); + subghz_protocol_faac_slh_check_remote_controller(&instance->generic, instance->keystore, &instance->manufacture_name, instance->generic.seed); //uint64_t code_found_reverse = subghz_protocol_blocks_reverse_key( //instance->generic.data, instance->generic.data_count_bit); uint32_t code_fix = instance->generic.data >> 32;