diff --git a/CHANGELOG.md b/CHANGELOG.md index 86caef760..1e9938930 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ +### Breaking Changes: +- Sub-GHz: Removed Weather Station, POCSAG and TPMS protocols from main app, now found in external apps (by @WillyJL) + - Momentum previously supported these external app's protocols in the main Sub-GHz app + - However, with more protocols added over time to the main app, they are now too many + - The Flipper CPU cannot keep up with all the data received with this number of protocols + - This caused some signals to not be received when they should, and in some cases could freeze the device + - Since Weather Station, POCSAG and TPMS are available as external apps, they're now removed from the main Sub-GHz app + - You can now find this functionality in `Apps > Sub-GHz`, where there are dedicated apps for these 3 functions + ### Added: - Apps: - Sub-GHz: Sub-GHz Playlist Creator (by @coolerUA) + - Sub-GHz: Weather Station (by @Skorpionm) + - Sub-GHz: POCSAG Pager (by @xMasterX) + - Sub-GHz: TPMS Reader (by @wosk) - NFC: Ventra ULEV1 parser (by @hazardousvoltage) - Infrared: "Decode only" mode to ignore RAW signals, make buttons in learn scene more intuitive (by @WillyJL) - UL: Sub-GHz: Add keeloq ironlogic aka il100 smart clone cloners support (by @xMasterX & Vitaly) @@ -50,4 +62,5 @@ - UL: Fix Rename scene bug, that was replacing file name with random name when Rename is opened then closed then opened again (by @xMasterX) ### Removed: -- Nothing +- Sub-GHz: Removed Weather Station, POCSAG and TPMS protocols from main app, now found in external apps (by @WillyJL) + - See breaking changes notice above diff --git a/ReadMe.md b/ReadMe.md index b6212c8d2..1887b2e2d 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -122,7 +122,6 @@ Note that this repo is always updated with the great work from our friends at [U - Advanced and optimized Level System (Up to 30 levels) - Desktop Keybind system for full key and press/hold remapping - Storage backend with instant rename and virtual mounting for disk images -- Weather Station, POCSAG, TPMS protocols and more integrated into Sub-GHz - Expanded Sub-GHz App (Duplicate detection & Ignore, Autosave, History improvements) - Improved Error Messages (Showing source file paths) ``` diff --git a/applications/external b/applications/external index 3c42633d4..ae21e1fee 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit 3c42633d437d011314c20d04ad6421f507b3cc35 +Subproject commit ae21e1feee4121fd7935167b991e588e18343e4c diff --git a/applications/main/subghz/scenes/subghz_scene_receiver_config.c b/applications/main/subghz/scenes/subghz_scene_receiver_config.c index b444d1581..478c1d931 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver_config.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver_config.c @@ -19,8 +19,8 @@ enum SubGhzSettingIndex { SubGhzSettingIndexIgnoreMagellan, SubGhzSettingIndexIgnorePrinceton, SubGhzSettingIndexIgnoreNiceFlorS, - SubGhzSettingIndexIgnoreWeather, - SubGhzSettingIndexIgnoreTPMS, + // SubGhzSettingIndexIgnoreWeather, + // SubGhzSettingIndexIgnoreTPMS, SubGhzSettingIndexSound, SubGhzSettingIndexResetToDefault, SubGhzSettingIndexLock, @@ -431,12 +431,13 @@ static void subghz_scene_receiver_config_set_niceflors(VariableItem* item) { subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFilter_NiceFlorS); } -static void subghz_scene_receiver_config_set_weather(VariableItem* item) { - subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFilter_Weather); -} -static void subghz_scene_receiver_config_set_tpms(VariableItem* item) { - subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFilter_TPMS); -} +// static void subghz_scene_receiver_config_set_weather(VariableItem* item) { +// subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFilter_Weather); +// } + +// static void subghz_scene_receiver_config_set_tpms(VariableItem* item) { +// subghz_scene_receiver_config_set_ignore_filter(item, SubGhzProtocolFilter_TPMS); +// } static void subghz_scene_receiver_config_var_list_enter_callback(void* context, uint32_t index) { furi_assert(context); @@ -664,29 +665,29 @@ void subghz_scene_receiver_config_on_enter(void* context) { 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 Weather", - COMBO_BOX_COUNT, - subghz_scene_receiver_config_set_weather, - subghz); + // item = variable_item_list_add( + // subghz->variable_item_list, + // "Ignore Weather", + // COMBO_BOX_COUNT, + // subghz_scene_receiver_config_set_weather, + // subghz); - value_index = subghz_scene_receiver_config_ignore_filter_get_index( - subghz->ignore_filter, SubGhzProtocolFilter_Weather); - variable_item_set_current_value_index(item, value_index); - variable_item_set_current_value_text(item, combobox_text[value_index]); + // value_index = subghz_scene_receiver_config_ignore_filter_get_index( + // subghz->ignore_filter, SubGhzProtocolFilter_Weather); + // 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 TPMS", - COMBO_BOX_COUNT, - subghz_scene_receiver_config_set_tpms, - subghz); + // item = variable_item_list_add( + // subghz->variable_item_list, + // "Ignore TPMS", + // COMBO_BOX_COUNT, + // subghz_scene_receiver_config_set_tpms, + // subghz); - value_index = subghz_scene_receiver_config_ignore_filter_get_index( - subghz->ignore_filter, SubGhzProtocolFilter_TPMS); - variable_item_set_current_value_index(item, value_index); - variable_item_set_current_value_text(item, combobox_text[value_index]); + // value_index = subghz_scene_receiver_config_ignore_filter_get_index( + // subghz->ignore_filter, SubGhzProtocolFilter_TPMS); + // variable_item_set_current_value_index(item, value_index); + // variable_item_set_current_value_text(item, combobox_text[value_index]); } // Enable speaker, will send all incoming noises and signals to speaker so you can listen how your remote sounds like :) diff --git a/applications/main/subghz/subghz_history.c b/applications/main/subghz/subghz_history.c index eefa798ed..44ac74fce 100644 --- a/applications/main/subghz/subghz_history.c +++ b/applications/main/subghz/subghz_history.c @@ -266,11 +266,11 @@ bool subghz_history_add_to_history( SubGhzHistoryItem* item = SubGhzHistoryItemArray_push_raw(instance->history->data); item->preset = malloc(sizeof(SubGhzRadioPreset)); item->type = decoder_base->protocol->type; - if(decoder_base->protocol->filter & SubGhzProtocolFilter_Weather) { - // Other code uses protocol type to check if signal is usable - // so we can't change the actual protocol type, we fake it here - item->type = SubGhzProtocolWeatherStation; - } + // if(decoder_base->protocol->filter & SubGhzProtocolFilter_Weather) { + // // Other code uses protocol type to check if signal is usable + // // so we can't change the actual protocol type, we fake it here + // item->type = SubGhzProtocolWeatherStation; + // } item->preset->frequency = preset->frequency; item->preset->name = furi_string_alloc(); furi_string_set(item->preset->name, preset->name); diff --git a/applications/main/subghz/views/receiver.c b/applications/main/subghz/views/receiver.c index af4a68f1d..a122e1f17 100644 --- a/applications/main/subghz/views/receiver.c +++ b/applications/main/subghz/views/receiver.c @@ -38,7 +38,7 @@ static const Icon* ReceiverItemIcons[] = { [SubGhzProtocolTypeUnknown] = &I_Quest_7x8, [SubGhzProtocolTypeStatic] = &I_Static_9x7, [SubGhzProtocolTypeDynamic] = &I_Dynamic_9x7, - [SubGhzProtocolWeatherStation] = &I_Weather_7x8, + // [SubGhzProtocolWeatherStation] = &I_Weather_7x8, [SubGhzProtocolTypeBinRAW] = &I_Raw_9x7, }; diff --git a/lib/subghz/protocols/protocol_items.c b/lib/subghz/protocols/protocol_items.c index 9f0f7307e..fc52f3aa6 100644 --- a/lib/subghz/protocols/protocol_items.c +++ b/lib/subghz/protocols/protocol_items.c @@ -43,33 +43,33 @@ const SubGhzProtocol* const subghz_protocol_registry_items[] = { &subghz_protocol_dooya, &subghz_protocol_alutech_at_4n, &subghz_protocol_kinggates_stylo_4k, - &ws_protocol_infactory, - &ws_protocol_thermopro_tx4, - &ws_protocol_nexus_th, - &ws_protocol_gt_wt_02, - &ws_protocol_gt_wt_03, - &ws_protocol_acurite_606tx, - &ws_protocol_acurite_609txc, - &ws_protocol_acurite_986, - &ws_protocol_bresser_3ch, // Should be before lacrosse - &ws_protocol_lacrosse_tx, - &ws_protocol_lacrosse_tx141thbv2, - &ws_protocol_oregon2, - &ws_protocol_oregon3, - &ws_protocol_acurite_592txr, - &ws_protocol_ambient_weather, - &ws_protocol_solight_te44, // Should be before auriol - &ws_protocol_auriol_th, - &ws_protocol_oregon_v1, - &ws_protocol_tx_8300, - &ws_protocol_wendox_w6726, - &ws_protocol_auriol_ahfl, - &ws_protocol_kedsum_th, - &ws_protocol_emose601x, - &ws_protocol_acurite_5n1, - &ws_protocol_vauno_en8822c, - &subghz_protocol_pocsag, - &tpms_protocol_schrader_gg4, + // &ws_protocol_infactory, + // &ws_protocol_thermopro_tx4, + // &ws_protocol_nexus_th, + // &ws_protocol_gt_wt_02, + // &ws_protocol_gt_wt_03, + // &ws_protocol_acurite_606tx, + // &ws_protocol_acurite_609txc, + // &ws_protocol_acurite_986, + // &ws_protocol_bresser_3ch, // Should be before lacrosse + // &ws_protocol_lacrosse_tx, + // &ws_protocol_lacrosse_tx141thbv2, + // &ws_protocol_oregon2, + // &ws_protocol_oregon3, + // &ws_protocol_acurite_592txr, + // &ws_protocol_ambient_weather, + // &ws_protocol_solight_te44, // Should be before auriol + // &ws_protocol_auriol_th, + // &ws_protocol_oregon_v1, + // &ws_protocol_tx_8300, + // &ws_protocol_wendox_w6726, + // &ws_protocol_auriol_ahfl, + // &ws_protocol_kedsum_th, + // &ws_protocol_emose601x, + // &ws_protocol_acurite_5n1, + // &ws_protocol_vauno_en8822c, + // &subghz_protocol_pocsag, + // &tpms_protocol_schrader_gg4, &subghz_protocol_bin_raw, &subghz_protocol_mastercode, &subghz_protocol_x10, diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index df0b83a92..e34aead96 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -4105,7 +4105,7 @@ Variable,+,I_Volup_8x6,const Icon, Variable,+,I_WarningDolphinFlip_45x42,const Icon, Variable,+,I_WarningDolphin_45x42,const Icon, Variable,-,I_Warning_30x23,const Icon, -Variable,+,I_Weather_7x8,const Icon, +Variable,-,I_Weather_7x8,const Icon, Variable,+,I_arrow_nano_down,const Icon, Variable,+,I_arrow_nano_up,const Icon, Variable,+,I_back_10px,const Icon,