diff --git a/applications/main/subghz/scenes/subghz_scene_receiver_config.c b/applications/main/subghz/scenes/subghz_scene_receiver_config.c index aebbc3693..41c962e96 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver_config.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver_config.c @@ -270,7 +270,11 @@ static void subghz_scene_receiver_config_set_auto_alarms(VariableItem* item) { } static void subghz_scene_receiver_config_set_magellan(VariableItem* item) { - subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Magelan); + subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Magellan); +} + +static void subghz_scene_receiver_config_set_princeton(VariableItem* item) { + subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFlag_Princeton); } static void subghz_scene_receiver_config_var_list_enter_callback(void* context, uint32_t index) { @@ -424,7 +428,19 @@ void subghz_scene_receiver_config_on_enter(void* context) { subghz); value_index = subghz_scene_receiver_config_ignore_filter_get_index( - subghz->ignore_filter, SubGhzProtocolFlag_Magelan); + subghz->ignore_filter, SubGhzProtocolFlag_Magellan); + variable_item_set_current_value_index(item, value_index); + variable_item_set_current_value_text(item, combobox_text[value_index]); + + item = variable_item_list_add( + subghz->variable_item_list, + "Ignore Princeton:", + COMBO_BOX_COUNT, + subghz_scene_receiver_config_set_princeton, + subghz); + + value_index = subghz_scene_receiver_config_ignore_filter_get_index( + subghz->ignore_filter, SubGhzProtocolFlag_Princeton); variable_item_set_current_value_index(item, value_index); variable_item_set_current_value_text(item, combobox_text[value_index]); } diff --git a/applications/main/subghz/subghz_last_settings.c b/applications/main/subghz/subghz_last_settings.c index 89a3eac68..2109024ad 100644 --- a/applications/main/subghz/subghz_last_settings.c +++ b/applications/main/subghz/subghz_last_settings.c @@ -320,6 +320,6 @@ void subghz_last_settings_log(SubGhzLastSettings* instance) { subghz_last_settings_log_filter_get_index( instance->ignore_filter, SubGhzProtocolFlag_AutoAlarms), subghz_last_settings_log_filter_get_index( - instance->ignore_filter, SubGhzProtocolFlag_Magelan), + instance->ignore_filter, SubGhzProtocolFlag_Magellan), subghz_last_settings_log_filter_get_index(instance->filter, SubGhzProtocolFlag_BinRAW)); } diff --git a/lib/subghz/protocols/magellan.c b/lib/subghz/protocols/magellan.c index be819ff31..a8c7f6342 100644 --- a/lib/subghz/protocols/magellan.c +++ b/lib/subghz/protocols/magellan.c @@ -65,7 +65,7 @@ const SubGhzProtocol subghz_protocol_magellan = { .type = SubGhzProtocolTypeStatic, .flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send | - SubGhzProtocolFlag_Magelan, + SubGhzProtocolFlag_Magellan, .decoder = &subghz_protocol_magellan_decoder, .encoder = &subghz_protocol_magellan_encoder, diff --git a/lib/subghz/protocols/princeton.c b/lib/subghz/protocols/princeton.c index aa15b8b41..1a7fe53ed 100644 --- a/lib/subghz/protocols/princeton.c +++ b/lib/subghz/protocols/princeton.c @@ -73,7 +73,7 @@ const SubGhzProtocol subghz_protocol_princeton = { .type = SubGhzProtocolTypeStatic, .flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_868 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Load | - SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send, + SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send | SubGhzProtocolFlag_Princeton, .decoder = &subghz_protocol_princeton_decoder, .encoder = &subghz_protocol_princeton_encoder, diff --git a/lib/subghz/types.h b/lib/subghz/types.h index 10c9e5070..8999e1d54 100644 --- a/lib/subghz/types.h +++ b/lib/subghz/types.h @@ -127,7 +127,8 @@ typedef enum { SubGhzProtocolFlag_BinRAW = (1 << 10), SubGhzProtocolFlag_StarLine = (1 << 11), SubGhzProtocolFlag_AutoAlarms = (1 << 12), - SubGhzProtocolFlag_Magelan = (1 << 13), + SubGhzProtocolFlag_Magellan = (1 << 13), + SubGhzProtocolFlag_Princeton = (1 << 14), } SubGhzProtocolFlag; struct SubGhzProtocol {