@@ -8,6 +8,7 @@ enum SubGhzSettingIndex {
88 SubGhzSettingIndexHopping ,
99 SubGhzSettingIndexModulation ,
1010 SubGhzSettingIndexBinRAW ,
11+ SubGhzSettingIndexAutosave ,
1112 SubGhzSettingIndexIgnoreReversRB2 ,
1213 SubGhzSettingIndexIgnoreAlarms ,
1314 SubGhzSettingIndexIgnoreSensors ,
@@ -340,6 +341,15 @@ static void subghz_scene_receiver_config_set_delete_old_signals(VariableItem* it
340341 subghz -> last_settings -> delete_old_signals = index == 1 ;
341342}
342343
344+ static void subghz_scene_receiver_config_set_autosave (VariableItem * item ) {
345+ SubGhz * subghz = variable_item_get_context (item );
346+ uint8_t index = variable_item_get_current_value_index (item );
347+
348+ variable_item_set_current_value_text (item , combobox_text [index ]);
349+
350+ subghz -> last_settings -> autosave = index == 1 ;
351+ }
352+
343353static void subghz_scene_receiver_config_var_list_enter_callback (void * context , uint32_t index ) {
344354 furi_assert (context );
345355 SubGhz * subghz = context ;
@@ -371,6 +381,8 @@ static void subghz_scene_receiver_config_var_list_enter_callback(void* context,
371381 subghz -> last_settings -> filter = subghz -> filter ;
372382 subghz -> last_settings -> delete_old_signals = false;
373383 subghz -> last_settings -> tx_power = subghz -> tx_power = 0 ;
384+ subghz -> last_settings -> autosave = false;
385+
374386 subghz_txrx_speaker_set_state (subghz -> txrx , speaker_value [default_index ]);
375387
376388 subghz_txrx_hopper_set_state (subghz -> txrx , hopping_value [default_index ]);
@@ -452,6 +464,17 @@ void subghz_scene_receiver_config_on_enter(void* context) {
452464 value_index = value_index_uint32 (subghz -> filter , bin_raw_value , COMBO_BOX_COUNT );
453465 variable_item_set_current_value_index (item , value_index );
454466 variable_item_set_current_value_text (item , combobox_text [value_index ]);
467+
468+ item = variable_item_list_add (
469+ subghz -> variable_item_list ,
470+ "Autosave" ,
471+ COMBO_BOX_COUNT ,
472+ subghz_scene_receiver_config_set_autosave ,
473+ subghz );
474+
475+ value_index = subghz -> last_settings -> autosave ;
476+ variable_item_set_current_value_index (item , value_index );
477+ variable_item_set_current_value_text (item , combobox_text [value_index ]);
455478 }
456479
457480 if (scene_manager_get_scene_state (subghz -> scene_manager , SubGhzSceneReadRAW ) !=
0 commit comments