diff --git a/applications/main/infrared/infrared_app.c b/applications/main/infrared/infrared_app.c index 7abb4e4eb..a764d85d8 100644 --- a/applications/main/infrared/infrared_app.c +++ b/applications/main/infrared/infrared_app.c @@ -158,6 +158,12 @@ static InfraredApp* infrared_alloc() { view_dispatcher_add_view( view_dispatcher, InfraredViewDialogEx, dialog_ex_get_view(infrared->dialog_ex)); + infrared->variable_item_list = variable_item_list_alloc(); + view_dispatcher_add_view( + infrared->view_dispatcher, + InfraredViewVariableItemList, + variable_item_list_get_view(infrared->variable_item_list)); + infrared->button_menu = button_menu_alloc(); view_dispatcher_add_view( view_dispatcher, InfraredViewButtonMenu, button_menu_get_view(infrared->button_menu)); @@ -208,6 +214,9 @@ static void infrared_free(InfraredApp* infrared) { view_dispatcher_remove_view(view_dispatcher, InfraredViewDialogEx); dialog_ex_free(infrared->dialog_ex); + view_dispatcher_remove_view(infrared->view_dispatcher, InfraredViewVariableItemList); + variable_item_list_free(infrared->variable_item_list); + view_dispatcher_remove_view(view_dispatcher, InfraredViewButtonMenu); button_menu_free(infrared->button_menu); diff --git a/applications/main/infrared/infrared_app_i.h b/applications/main/infrared/infrared_app_i.h index c9dfe3ab8..7e3732c61 100644 --- a/applications/main/infrared/infrared_app_i.h +++ b/applications/main/infrared/infrared_app_i.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -111,6 +112,7 @@ struct InfraredApp { DialogEx* dialog_ex; /**< Standard view for displaying dialogs. */ ButtonMenu* button_menu; /**< Custom view for interacting with IR remotes. */ Popup* popup; /**< Standard view for displaying messages. */ + VariableItemList* variable_item_list; ViewStack* view_stack; /**< Standard view for displaying stacked interfaces. */ InfraredDebugView* debug_view; /**< Custom view for displaying debug information. */ @@ -140,6 +142,7 @@ typedef enum { InfraredViewStack, InfraredViewDebugView, InfraredViewMove, + InfraredViewVariableItemList, } InfraredView; /** diff --git a/applications/main/infrared/scenes/infrared_scene_debug_settings.c b/applications/main/infrared/scenes/infrared_scene_debug_settings.c index bef666275..badfd172a 100644 --- a/applications/main/infrared/scenes/infrared_scene_debug_settings.c +++ b/applications/main/infrared/scenes/infrared_scene_debug_settings.c @@ -1,4 +1,4 @@ -#include "../infrared_i.h" +#include "../infrared_app_i.h" #include uint8_t value_index_ir; @@ -10,7 +10,7 @@ const char* const infrared_debug_cfg_variables_text[] = { }; static void infrared_scene_debug_settings_changed(VariableItem* item) { - Infrared* infrared = variable_item_get_context(item); + InfraredApp* infrared = variable_item_get_context(item); value_index_ir = variable_item_get_current_value_index(item); UNUSED(infrared); @@ -35,12 +35,12 @@ static void infrared_scene_debug_settings_power_changed(VariableItem* item) { } static void infrared_debug_settings_start_var_list_enter_callback(void* context, uint32_t index) { - Infrared* infrared = context; + InfraredApp* infrared = context; view_dispatcher_send_custom_event(infrared->view_dispatcher, index); } void infrared_scene_debug_settings_on_enter(void* context) { - Infrared* infrared = context; + InfraredApp* infrared = context; VariableItemList* variable_item_list = infrared->variable_item_list; @@ -72,7 +72,7 @@ void infrared_scene_debug_settings_on_enter(void* context) { } bool infrared_scene_debug_settings_on_event(void* context, SceneManagerEvent event) { - Infrared* infrared = context; + InfraredApp* infrared = context; UNUSED(infrared); UNUSED(event); @@ -80,6 +80,6 @@ bool infrared_scene_debug_settings_on_event(void* context, SceneManagerEvent eve } void infrared_scene_debug_settings_on_exit(void* context) { - Infrared* infrared = context; + InfraredApp* infrared = context; variable_item_list_reset(infrared->variable_item_list); } diff --git a/applications/main/infrared/scenes/infrared_scene_universal_fan.c b/applications/main/infrared/scenes/infrared_scene_universal_fan.c index 1622c5458..9074b5508 100644 --- a/applications/main/infrared/scenes/infrared_scene_universal_fan.c +++ b/applications/main/infrared/scenes/infrared_scene_universal_fan.c @@ -1,11 +1,11 @@ -#include "../infrared_i.h" +#include "../infrared_app_i.h" #include "common/infrared_scene_universal_common.h" void infrared_scene_universal_fan_on_enter(void* context) { infrared_scene_universal_common_on_enter(context); - Infrared* infrared = context; + InfraredApp* infrared = context; ButtonPanel* button_panel = infrared->button_panel; InfraredBruteForce* brute_force = infrared->brute_force; diff --git a/applications/main/subghz/application.fam b/applications/main/subghz/application.fam index eed6a3c32..7494e6fba 100644 --- a/applications/main/subghz/application.fam +++ b/applications/main/subghz/application.fam @@ -17,12 +17,6 @@ App( icon="A_Sub1ghz_14", stack_size=3 * 1024, order=1, - sources=[ - "*.c", - "!subghz_cli.c", - "!helpers/subghz_chat.c", - ], - resources="resources", fap_libs=["assets", "hwdrivers"], fap_icon="icon.png", fap_category="Sub-GHz", @@ -33,7 +27,7 @@ App( targets=["f7"], apptype=FlipperAppType.STARTUP, entry_point="subghz_on_system_start", - sources=["subghz_cli.c", "helpers/subghz_chat.c"], + requires=["subghz"], order=40, ) diff --git a/applications/main/subghz/resources/subghz/assets/alutech_at_4n b/applications/main/subghz/resources/subghz/assets/alutech_at_4n deleted file mode 100644 index 5d7beacec..000000000 --- a/applications/main/subghz/resources/subghz/assets/alutech_at_4n +++ /dev/null @@ -1,6 +0,0 @@ -Filetype: Flipper SubGhz Keystore RAW File -Version: 0 -Encryption: 1 -IV: 88 64 A6 A6 44 47 67 8A D6 32 36 F6 B9 06 57 31 -Encrypt_data: RAW -E811BD4F0955D217AE6677906E799D45D8DAAFD1F7923E1660B5E24574631B60 \ No newline at end of file diff --git a/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes b/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes deleted file mode 100644 index 27ab5aaaf..000000000 --- a/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes +++ /dev/null @@ -1,59 +0,0 @@ -Filetype: Flipper SubGhz Keystore File -Version: 0 -Encryption: 1 -IV: AD 0B A4 A1 51 C0 C0 41 36 78 26 82 17 24 9D 62 -0D18FF475E57A67CC5C0B430664E8EF6E07CB6AF72454995F17DE84E2E876D87 -C9BC55E1E3A9B312E341D7E2663C66C2479D5C51AE2EB83BAE47D8C6C79DB8A0 -776E01A7B4FCB929FA59CFE1F16D2D600F6FD9FD8BE1E9E41667144E61E023E4 -C354F854F14AAC08C6A51606582CD73EECEED54779927DC1E04A0D72C4E6A58E -09BA4DC551CDB0141F4A053133DBF9B7B99CBAA402C7B6B2AC8ADB516CA2FCB29FF9744DD95FB009BED6A09AE3303317 -675777F65042358100A9A2BE142C42E10CC5CF98CA6BFF82284FFD9BF7E7FB11 -4739972DCC08EFF0E8547694A67E116F3EC8638F286E333E7D89F2D61218F65D -FE8D5A0A9ED36545004CEE70D3C1FE477F34212364CF7C9EBA0FDD4F6B8F1D3E -453D5C6FE0EA7FD779B54696E66DE6BD6AEF3B1EE347142A3DB7505609077219 -A52339EE40D046E7DF6C130CEC7F9F686753A73A5F72EF344E01B00C3A3CF5F2 -94029CE386CC0403984F7C9D80B40FF12BE6E50412891FD45B347742340D1E6E679102DEC6F7D36C36863701A2BBDA7B -793633A3D97D704779E2E841A5F616ED0BB0BD50740C0B196D72C6C6453124183CA93ADCAC1A5042EBD579AC238B9DBC -B1C6EBB7320CAE97E28A244228B288BEEA44C9FD262E2C448219DAC6E194CB14 -A6C374B3FB7E8BB6F3052ED9DB67E5BCFA6CCC42F5A0D7F20BEDB7C0B58592A5 -DF4FCBDCA3414B7551797A856048625186B2EC7B836EB35B4B080CEE4A72C39F -4127F58BDEB18D79EA8317B1858F7575CF4B648E3C53338975B4A093FA9730C0 -294659EBD39D7CC01DC4E0E3B0B90A3555704E736D3BE4485BAAACBC58A84652CF3A7DA3C271E3198C72561332F2A141 -9E2CC77756BE7AB3D500C0B4A91271C0A4DED5BCB78484217EA922B7878AA8F5 -BF13D9949C783CF6B2F0E489A6912E56DDD9183D651D7F36FD0342981596A85C -8441C62006E1334FC31F53DAFF5281260C463AF3E92B1E797CB67882C49566846825606804C14C49FFD440F4E05CE692 -BE7E62E9CFA1C703CCB971F2B0C6C0F339C78A951CA8DB287B40C3BA76EA7179E8B62C29EAC8293FD218CF981BB84BEF -DA53C52101FAC8FD8F9545768CF1DB59F3B31C9249A2FC64B66DB259C721ABE1 -C9842AD0A8A8E94FCE94F46BDE89DAA8D11C41F9C83A7F6394D595028829AB92 -904A94542BCD85F72D470640A220FD28EBC337C0673C189C96BFB8CE373B4F84 -EEEE187B03FE77B955F22214707017DB8A60B2E3979D5C2F6BED61D0623D4D50 -CEF91BE6EBD8F331E2422B6B948053E8DA143F3DD907C922E0328D49B0ADA8A6 -A6F0F8A4F03B45062CEA86B291E80EE15906C0B226ABDB77E222EB95B026952D -62280870E48A2E8B8A18AD5DFF0089E927BEACE1F81A8BB1A8A2BE8EB0E92BFD -C9A3DE8165D47D1D41715F00192313755226C1B0A3D04BCD7A121B1CB4999FBD -3CAEEB62FCF601F34D3320E3EACE9EFC5D627BF69FEE965F8B84A258A765B6FE -8D83CC36514CE5CC46B181AE28089BE5BC99CE3096C569751B4E07A7D956AFA3 -0F81DDB18F60E238C7FF751E70431AA5328EFDBBDFF03D5F360A524AA968CEE9 -1F1E498A279E9BA15CB6BB836E90FEE522F2BE16572A4D057DF9C2B104487458 -68C60FF95056BE4D814CE9B8A4175625DB3E365712C2D3E42CEEBA2E0977CDB9 -D95FB21943FCAD5A21F157E629314986D92F568FD3067B65911135E6335FB7E8 -17908EF142C4B6740CBE7DCA43DA3C23C7912739299786473A994E5752E7E9459B23653EE0D7775FCECB7B7608CB0495 -6D17B6BA17DBFFAA4E90953CE6A73AB967076B8FBC14A9361D93A01C0850CC38 -8723740BCC0A5CCEE52B6EF73DD441672FB6728965CC588044C78D495AB0675F -CA548FA44A444C8F45490A11DBC8FB24E6DB38F910EC60520A3890C8B45664FE -591356440344AAFEC21FAA0C85B6A8F354D45074932E37E0972F851E08937469 -DE3A54CAAC8014625EE502F547A93754AFAD0A7EB6028599D03CCB0473BC8D5C -B2C2F6F971034E1591AD374793D6D17A595D6544DF5A9585780C6B2E3505BCFF -54447BE6C626D1CA37FD799B76B35ED266D12757B5DA1AB9277F671BBF7F07B461D0CE26593F1372354979E836972F85 -45FBD88AA7C26B967BC3638F6083A6B83AA82D5B974B37DF1C3F52839DDA020C -33B9890FBE46FDB7AEE404B71C893DC20059F96224CF48F284A66D3A8D91918E -CCEA5BC148BC84DB4825320A2B8D39A30BAB4641FFEE33BD4B8700339F15892D -4BC4E0D1263E9B02DA401C884923778D1A6FACACFFE7F660381ECD64CCA5CCD2 -0284EA911FB1B37F623F92B1662E10D79AEBD0009C107A9C554D417F7553B28E -FE48F26C44FA4C3EB3B2F3497FE99AC30A0A7BF9FF261740E177D7A2A5BD7880 -1EA96FEBB62543A8731D19BBDD1C7FE323CADBAB7242E5A8F4B1D706964B4C32 -4AB7EEF02FD59EA5D16837A50282A6254B93A34F31FE9335DA9FABEF76EA714591029C64967506B99860358E5CBF4EDA -A0F25C5387FE9B871E246F33FE64396A5DC0A9BC9AD9DF9E219F3482ADD6497E -0130F99FA395F4364491E6718B53E9D6983B68E29A70035B158CA7629C31C33E -3CDAEDA88534C2E31D1235C99DEC466221C89F63E1F8F59C9CE224573E39E2D4 -F5ED2863D8B51DA620484CDE23D590F4A208DA6D155E645FCD6BCF5FEB39EE551EAE9C0366F7FFD4CBF1DCA063D154E1 diff --git a/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes_user.example b/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes_user.example deleted file mode 100644 index df1e9ff61..000000000 --- a/applications/main/subghz/resources/subghz/assets/keeloq_mfcodes_user.example +++ /dev/null @@ -1,16 +0,0 @@ -# Rename or Create new file with name keeloq_mfcodes_user and copy contents of that file, remove sample keys and add yours -# keep empty line at the end of that file! -# -# for adding manufacture keys -# AABBCCDDEEFFAABB:X:NAME\r\n -# AABBCCDDEEFFAABB - man 64 bit -# X - encryption method - 1 - Simple Learning, 2 - Normal_Learning, 3 - Secure_Learning, -# 4 - Magic_xor_type1 Learning, 5 - FAAC SLH, -# 6 - Magic Serial typ1, 7 - Magic Serial typ2, 8 - Magic Serial typ3 -# 0 - iterates over both previous and man in direct and reverse byte sequence -# NAME - name (string without spaces) max 64 characters long -Filetype: Flipper SubGhz Keystore File -Version: 0 -Encryption: 0 -AABBCCDDEEFFAABB:1:Test1 -AABBCCDDEEFFAABB:1:Test2 diff --git a/applications/main/subghz/resources/subghz/assets/nice_flor_s b/applications/main/subghz/resources/subghz/assets/nice_flor_s deleted file mode 100644 index 2e4e2fa8c..000000000 --- a/applications/main/subghz/resources/subghz/assets/nice_flor_s +++ /dev/null @@ -1,6 +0,0 @@ -Filetype: Flipper SubGhz Keystore RAW File -Version: 0 -Encryption: 1 -IV: 33 69 62 1D AD 20 1B B8 A1 6C CF 6F 6B 6F D5 18 -Encrypt_data: RAW -9C1D6E6733912B28AC0FF1A191660810BDFF00D19BF7839AFF5B2AAFBBC91A38 \ No newline at end of file diff --git a/applications/main/subghz/resources/subghz/assets/setting_user.example b/applications/main/subghz/resources/subghz/assets/setting_user.example deleted file mode 100644 index 5034659be..000000000 --- a/applications/main/subghz/resources/subghz/assets/setting_user.example +++ /dev/null @@ -1,29 +0,0 @@ -# to use manual settings and prevent them from being deleted on upgrade, rename *_user.example files to *_user -Filetype: Flipper SubGhz Setting File -Version: 1 -# Add Standard frequencies included with firmware and place user frequencies after them -#Add_standard_frequencies: true - -# Default Frequency: used as default for "Read" and "Read Raw" -#Default_frequency: 433920000 - -# Frequencies used for "Read", "Read Raw" and "Frequency Analyzer" -#Frequency: 300000000 -#Frequency: 310000000 -#Frequency: 320000000 - -# Frequencies used for hopping mode (keep this list small or flipper will miss signal) -#Hopper_frequency: 300000000 -#Hopper_frequency: 310000000 -#Hopper_frequency: 310000000 - -# Custom preset -# format for CC1101 "Custom_preset_data:" XX YY XX YY .. 00 00 ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ, where: XX-register, YY - register data, 00 00 - end load register, ZZ - 8 byte Pa table register - -#Custom_preset_name: AM_1 -#Custom_preset_module: CC1101 -#Custom_preset_data: 02 0D 03 07 08 32 0B 06 14 00 13 00 12 30 11 32 10 17 18 18 19 18 1D 91 1C 00 1B 07 20 FB 22 11 21 B6 00 00 00 C0 00 00 00 00 00 00 - -#Custom_preset_name: AM_2 -#Custom_preset_module: CC1101 -#Custom_preset_data: 02 0D 03 07 08 32 0B 06 14 00 13 00 12 30 11 32 10 17 18 18 19 18 1D 91 1C 00 1B 07 20 FB 22 11 21 B6 00 00 00 C0 00 00 00 00 00 00 diff --git a/applications/main/subghz/views/receiver.c b/applications/main/subghz/views/receiver.c index f1d0324fc..010e47062 100644 --- a/applications/main/subghz/views/receiver.c +++ b/applications/main/subghz/views/receiver.c @@ -111,7 +111,7 @@ void subghz_view_receiver_set_lock(SubGhzViewReceiver* subghz_receiver, bool loc SubGhzViewReceiverModel * model, { model->bar_show = SubGhzViewReceiverBarShowLock; }, true); - furi_timer_start(subghz_receiver->timer, 1000); + furi_timer_start(subghz_receiver->timer, pdMS_TO_TICKS(1000)); } else { with_view_model( subghz_receiver->view, @@ -453,7 +453,7 @@ bool subghz_view_receiver_input(InputEvent* event, void* context) { { model->bar_show = SubGhzViewReceiverBarShowToUnlockPress; }, true); if(subghz_receiver->lock_count == 0) { - furi_timer_start(subghz_receiver->timer, 1000); + furi_timer_start(subghz_receiver->timer, pdMS_TO_TICKS(1000)); } if(event->key == InputKeyBack && event->type == InputTypeShort) { subghz_receiver->lock_count++; @@ -467,7 +467,7 @@ bool subghz_view_receiver_input(InputEvent* event, void* context) { { model->bar_show = SubGhzViewReceiverBarShowUnlock; }, true); //subghz_receiver->lock = false; - furi_timer_start(subghz_receiver->timer, 650); + furi_timer_start(subghz_receiver->timer, pdMS_TO_TICKS(650)); } return true;