diff --git a/lib/subghz/protocols/faac_slh.c b/lib/subghz/protocols/faac_slh.c index 726891500..7f2b68ad6 100644 --- a/lib/subghz/protocols/faac_slh.c +++ b/lib/subghz/protocols/faac_slh.c @@ -239,18 +239,19 @@ bool subghz_protocol_encoder_faac_slh_deserialize(void* context, FlipperFormat* FURI_LOG_E(TAG, "Deserialize error"); break; } - if(!flipper_format_read_uint32(flipper_format, "SEED", (uint32_t*)&instance->generic.seed, 4)) { - FURI_LOG_E(TAG, "Missing SEED"); - break; - } subghz_protocol_faac_slh_check_remote_controller( &instance->generic, instance->keystore, &instance->manufacture_name); - + //optional parameter parameter flipper_format_read_uint32( flipper_format, "Repeat", (uint32_t*)&instance->encoder.repeat, 1); + if(!flipper_format_read_uint32(flipper_format, "SEED", (uint32_t*)instance->generic.seed, 4)) { + FURI_LOG_E(TAG, "Missing SEED"); + break; + } + subghz_protocol_encoder_faac_slh_get_upload(instance); if(!flipper_format_rewind(flipper_format)) { @@ -443,9 +444,12 @@ bool subghz_protocol_decoder_faac_slh_serialize( FuriHalSubGhzPreset preset) { furi_assert(context); SubGhzProtocolDecoderFaacSLH* instance = context; + subghz_protocol_faac_slh_check_remote_controller( + &instance->generic, instance->keystore, &instance->manufacture_name); + bool res = subghz_block_generic_serialize(&instance->generic, flipper_format, frequency, preset); - if(res && !flipper_format_write_uint32(flipper_format, "SEED", &instance->generic.seed, 4)) { - FURI_LOG_E(TAG, "Unable to add SEED"); + if(res && !flipper_format_write_string_cstr(flipper_format, "Manufacture", instance->manufacture_name)) { + FURI_LOG_E(TAG, "Unable to add manufacture name"); res = false; } return res; @@ -464,7 +468,7 @@ bool subghz_protocol_decoder_faac_slh_deserialize(void* context, FlipperFormat* FURI_LOG_E(TAG, "Rewind error"); break; } - if(!flipper_format_read_uint32(flipper_format, "SEED", (uint32_t*)&instance->generic.seed, 1)) { + if(!flipper_format_read_uint32(flipper_format, "SEED", (uint32_t*)instance->generic.seed, 4)) { FURI_LOG_E(TAG, "Missing SEED"); break; }