mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Sub-GHz: Move Weather, POCSAG & TPMS to ext apps
This commit is contained in:
15
CHANGELOG.md
15
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
|
||||
|
||||
@@ -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)
|
||||
```
|
||||
|
||||
Submodule applications/external updated: 3c42633d43...ae21e1feee
@@ -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 :)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
|
Reference in New Issue
Block a user