mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-13 05:06:30 +04:00
Fix FAAC counter fix seed being not removed from RAM
This commit is contained in:
@@ -88,7 +88,7 @@ bool subghz_txrx_gen_faac_slh_protocol(
|
|||||||
uint32_t frequency,
|
uint32_t frequency,
|
||||||
uint32_t serial,
|
uint32_t serial,
|
||||||
uint8_t btn,
|
uint8_t btn,
|
||||||
uint16_t cnt,
|
uint32_t cnt,
|
||||||
uint32_t seed,
|
uint32_t seed,
|
||||||
const char* manufacture_name);
|
const char* manufacture_name);
|
||||||
|
|
||||||
|
|||||||
@@ -110,6 +110,11 @@ bool subghz_scene_set_seed_on_event(void* context, SceneManagerEvent event) {
|
|||||||
|
|
||||||
if(generated_protocol) {
|
if(generated_protocol) {
|
||||||
subghz_file_name_clear(subghz);
|
subghz_file_name_clear(subghz);
|
||||||
|
// Reset Seed, Fix, Cnt in secure data on generated_protocol true
|
||||||
|
memset(subghz->secure_data->seed, 0, sizeof(subghz->secure_data->seed));
|
||||||
|
memset(subghz->secure_data->cnt, 0, sizeof(subghz->secure_data->cnt));
|
||||||
|
memset(subghz->secure_data->fix, 0, sizeof(subghz->secure_data->fix));
|
||||||
|
|
||||||
scene_manager_set_scene_state(
|
scene_manager_set_scene_state(
|
||||||
subghz->scene_manager, SubGhzSceneSetType, SubGhzCustomEventManagerSet);
|
subghz->scene_manager, SubGhzSceneSetType, SubGhzCustomEventManagerSet);
|
||||||
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName);
|
scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName);
|
||||||
|
|||||||
@@ -112,6 +112,9 @@ void subghz_protocol_encoder_faac_slh_free(void* context) {
|
|||||||
static bool subghz_protocol_faac_slh_gen_data(SubGhzProtocolEncoderFaacSLH* instance) {
|
static bool subghz_protocol_faac_slh_gen_data(SubGhzProtocolEncoderFaacSLH* instance) {
|
||||||
if(instance->generic.seed != 0x0) {
|
if(instance->generic.seed != 0x0) {
|
||||||
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
|
instance->generic.cnt += furi_hal_subghz_get_rolling_counter_mult();
|
||||||
|
} else {
|
||||||
|
// Do not generate new data, send data from buffer
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
uint32_t fix = instance->generic.serial << 4 | instance->generic.btn;
|
uint32_t fix = instance->generic.serial << 4 | instance->generic.btn;
|
||||||
uint32_t hop = 0;
|
uint32_t hop = 0;
|
||||||
@@ -434,6 +437,9 @@ SubGhzProtocolStatus subghz_protocol_decoder_faac_slh_serialize(
|
|||||||
furi_assert(context);
|
furi_assert(context);
|
||||||
SubGhzProtocolDecoderFaacSLH* instance = context;
|
SubGhzProtocolDecoderFaacSLH* instance = context;
|
||||||
|
|
||||||
|
// Reset seed leftover from previous decoded signal
|
||||||
|
instance->generic.seed = 0x0;
|
||||||
|
|
||||||
SubGhzProtocolStatus res =
|
SubGhzProtocolStatus res =
|
||||||
subghz_block_generic_serialize(&instance->generic, flipper_format, preset);
|
subghz_block_generic_serialize(&instance->generic, flipper_format, preset);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user