diff --git a/lib/subghz/protocols/alutech_at_4n.c b/lib/subghz/protocols/alutech_at_4n.c index d0c410e1ce..71e1aca323 100644 --- a/lib/subghz/protocols/alutech_at_4n.c +++ b/lib/subghz/protocols/alutech_at_4n.c @@ -306,16 +306,22 @@ bool subghz_protocol_alutech_at_4n_create_data( instance->generic.serial = serial; instance->generic.cnt = cnt; instance->generic.data_count_bit = 72; - bool res = subghz_protocol_alutech_at_4n_gen_data(instance, btn); - if(res) { + if(subghz_protocol_alutech_at_4n_gen_data(instance, btn)) { if((subghz_block_generic_serialize(&instance->generic, flipper_format, preset) != - SubGhzProtocolStatusOk) || - !flipper_format_write_uint32(flipper_format, "CRC", &instance->crc, 1)) { + SubGhzProtocolStatusOk)) { + FURI_LOG_E(TAG, "Serialize error"); + return false; + } + if(!flipper_format_rewind(flipper_format)) { + FURI_LOG_E(TAG, "Rewind error"); + return false; + } + if(!flipper_format_insert_or_update_uint32(flipper_format, "CRC", &instance->crc, 1)) { FURI_LOG_E(TAG, "Unable to add CRC"); - res = false; + return false; } } - return res; + return true; } /** @@ -665,8 +671,12 @@ SubGhzProtocolStatus subghz_protocol_decoder_alutech_at_4n_serialize( SubGhzProtocolDecoderAlutech_at_4n* instance = context; SubGhzProtocolStatus res = subghz_block_generic_serialize(&instance->generic, flipper_format, preset); + if(!flipper_format_rewind(flipper_format)) { + FURI_LOG_E(TAG, "Rewind error"); + res = SubGhzProtocolStatusErrorParserOthers; + } if((res == SubGhzProtocolStatusOk) && - !flipper_format_write_uint32(flipper_format, "CRC", &instance->crc, 1)) { + !flipper_format_insert_or_update_uint32(flipper_format, "CRC", &instance->crc, 1)) { FURI_LOG_E(TAG, "Unable to add CRC"); res = SubGhzProtocolStatusErrorParserOthers; } diff --git a/lib/subghz/protocols/keeloq.c b/lib/subghz/protocols/keeloq.c index 60ff2f0f16..12d739dec9 100644 --- a/lib/subghz/protocols/keeloq.c +++ b/lib/subghz/protocols/keeloq.c @@ -355,12 +355,12 @@ bool subghz_protocol_keeloq_create_data( instance->generic.cnt = cnt; instance->manufacture_name = manufacture_name; instance->generic.data_count_bit = 64; - bool res = subghz_protocol_keeloq_gen_data(instance, btn, false); - if(res) { - return SubGhzProtocolStatusOk == - subghz_block_generic_serialize(&instance->generic, flipper_format, preset); + if(subghz_protocol_keeloq_gen_data(instance, btn, false)) { + return ( + subghz_block_generic_serialize(&instance->generic, flipper_format, preset) == + SubGhzProtocolStatusOk); } - return res; + return false; } bool subghz_protocol_keeloq_bft_create_data( @@ -380,13 +380,13 @@ bool subghz_protocol_keeloq_bft_create_data( instance->generic.seed = seed; instance->manufacture_name = manufacture_name; instance->generic.data_count_bit = 64; - // roguuemaster don't steal.!!!! - bool res = subghz_protocol_keeloq_gen_data(instance, btn, false); - if(res) { - return SubGhzProtocolStatusOk == - subghz_block_generic_serialize(&instance->generic, flipper_format, preset); + // hehehehe + if(subghz_protocol_keeloq_gen_data(instance, btn, false)) { + return ( + subghz_block_generic_serialize(&instance->generic, flipper_format, preset) == + SubGhzProtocolStatusOk); } - return res; + return false; } /** diff --git a/lib/subghz/protocols/kinggates_stylo_4k.c b/lib/subghz/protocols/kinggates_stylo_4k.c index 0f7ae06d59..56795d2dd1 100644 --- a/lib/subghz/protocols/kinggates_stylo_4k.c +++ b/lib/subghz/protocols/kinggates_stylo_4k.c @@ -307,7 +307,7 @@ SubGhzProtocolStatus subghz_protocol_encoder_kinggates_stylo_4k_deserialize( key_data[sizeof(uint64_t) - i - 1] = (instance->generic.data_2 >> i * 8) & 0xFF; } if(!flipper_format_update_hex(flipper_format, "Data", key_data, sizeof(uint64_t))) { - FURI_LOG_E(TAG, "Unable to add Key"); + FURI_LOG_E(TAG, "Unable to update Data"); break; } @@ -522,8 +522,13 @@ SubGhzProtocolStatus subghz_protocol_decoder_kinggates_stylo_4k_serialize( key_data[sizeof(uint64_t) - i - 1] = (instance->generic.data_2 >> (i * 8)) & 0xFF; } + if(!flipper_format_rewind(flipper_format)) { + FURI_LOG_E(TAG, "Rewind error"); + ret = SubGhzProtocolStatusErrorParserOthers; + } + if((ret == SubGhzProtocolStatusOk) && - !flipper_format_write_hex(flipper_format, "Data", key_data, sizeof(uint64_t))) { + !flipper_format_insert_or_update_hex(flipper_format, "Data", key_data, sizeof(uint64_t))) { FURI_LOG_E(TAG, "Unable to add Data"); ret = SubGhzProtocolStatusErrorParserOthers; } diff --git a/lib/subghz/protocols/nice_flor_s.c b/lib/subghz/protocols/nice_flor_s.c index 8953e0d9e1..8694ec4c1e 100644 --- a/lib/subghz/protocols/nice_flor_s.c +++ b/lib/subghz/protocols/nice_flor_s.c @@ -267,7 +267,7 @@ SubGhzProtocolStatus key_data[sizeof(uint64_t) - i - 1] = (instance->generic.data >> i * 8) & 0xFF; } if(!flipper_format_update_hex(flipper_format, "Key", key_data, sizeof(uint64_t))) { - FURI_LOG_E(TAG, "Unable to add Key"); + FURI_LOG_E(TAG, "Unable to update Key"); break; } @@ -278,7 +278,7 @@ SubGhzProtocolStatus } uint32_t temp = (instance->generic.data_2 >> 4) & 0xFFFFF; if(!flipper_format_update_uint32(flipper_format, "Data", &temp, 1)) { - FURI_LOG_E(TAG, "Unable to add Data"); + FURI_LOG_E(TAG, "Unable to update Data"); } } @@ -707,8 +707,13 @@ SubGhzProtocolStatus subghz_protocol_decoder_nice_flor_s_serialize( SubGhzProtocolStatus ret = subghz_block_generic_serialize(&instance->generic, flipper_format, preset); if(instance->generic.data_count_bit == NICE_ONE_COUNT_BIT) { + if(!flipper_format_rewind(flipper_format)) { + FURI_LOG_E(TAG, "Rewind error"); + ret = SubGhzProtocolStatusErrorParserOthers; + } if((ret == SubGhzProtocolStatusOk) && - !flipper_format_write_uint32(flipper_format, "Data", (uint32_t*)&instance->data, 1)) { + !flipper_format_insert_or_update_uint32( + flipper_format, "Data", (uint32_t*)&instance->data, 1)) { FURI_LOG_E(TAG, "Unable to add Data"); ret = SubGhzProtocolStatusErrorParserOthers; }