fix subghz read issues

This commit is contained in:
MX
2022-09-18 01:48:10 +03:00
parent aa99ac53c7
commit 4e17230290
3 changed files with 12 additions and 1 deletions

View File

@@ -181,7 +181,7 @@ void subghz_scene_decode_raw_on_enter(void* context) {
subghz->txrx->receiver, SUBGHZ_PROTOCOL_RAW_NAME), subghz->txrx->receiver, SUBGHZ_PROTOCOL_RAW_NAME),
false); false);
subghz_receiver_set_filter(subghz->txrx->receiver, SubGhzProtocolFlag_Decodable); subghz_receiver_set_filter(subghz->txrx->receiver, SubGhzProtocolFlag_Decodable);
if(decode_raw_state == SubGhzDecodeRawStateStart) { if(decode_raw_state == SubGhzDecodeRawStateStart) {
//Decode RAW to history //Decode RAW to history
subghz_history_reset(subghz->txrx->history); subghz_history_reset(subghz->txrx->history);
@@ -225,6 +225,8 @@ bool subghz_scene_decode_raw_on_event(void* context, SceneManagerEvent event) {
subghz_file_encoder_worker_free(file_worker_encoder); subghz_file_encoder_worker_free(file_worker_encoder);
subghz->state_notifications = SubGhzNotificationStateIDLE; subghz->state_notifications = SubGhzNotificationStateIDLE;
scene_manager_set_scene_state(
subghz->scene_manager, SubGhzSceneReadRAW, SubGhzCustomEventManagerNoSet);
scene_manager_search_and_switch_to_previous_scene( scene_manager_search_and_switch_to_previous_scene(
subghz->scene_manager, SubGhzSceneMoreRAW); subghz->scene_manager, SubGhzSceneMoreRAW);
consumed = true; consumed = true;

View File

@@ -345,6 +345,7 @@ bool subghz_scene_receiver_config_on_event(void* context, SceneManagerEvent even
void subghz_scene_receiver_config_on_exit(void* context) { void subghz_scene_receiver_config_on_exit(void* context) {
SubGhz* subghz = context; SubGhz* subghz = context;
variable_item_list_set_selected_item(subghz->variable_item_list, 0);
variable_item_list_reset(subghz->variable_item_list); variable_item_list_reset(subghz->variable_item_list);
scene_manager_set_scene_state( scene_manager_set_scene_state(
subghz->scene_manager, SubGhzSceneReadRAW, SubGhzCustomEventManagerNoSet); subghz->scene_manager, SubGhzSceneReadRAW, SubGhzCustomEventManagerNoSet);

View File

@@ -1,5 +1,7 @@
#include "../subghz_i.h" #include "../subghz_i.h"
#include <lib/subghz/protocols/raw.h>
enum SubmenuIndex { enum SubmenuIndex {
SubmenuIndexRead = 10, SubmenuIndexRead = 10,
SubmenuIndexSaved, SubmenuIndexSaved,
@@ -19,6 +21,12 @@ void subghz_scene_start_on_enter(void* context) {
if(subghz->state_notifications == SubGhzNotificationStateStarting) { if(subghz->state_notifications == SubGhzNotificationStateStarting) {
subghz->state_notifications = SubGhzNotificationStateIDLE; subghz->state_notifications = SubGhzNotificationStateIDLE;
} }
subghz_protocol_decoder_raw_set_auto_mode(
subghz_receiver_search_decoder_base_by_name(
subghz->txrx->receiver, SUBGHZ_PROTOCOL_RAW_NAME),
false);
subghz_receiver_set_filter(subghz->txrx->receiver, SubGhzProtocolFlag_Decodable);
submenu_add_item( submenu_add_item(
subghz->submenu, "Read", SubmenuIndexRead, subghz_scene_start_submenu_callback, subghz); subghz->submenu, "Read", SubmenuIndexRead, subghz_scene_start_submenu_callback, subghz);
submenu_add_item( submenu_add_item(