#pragma once #include "helpers/subrem_types.h" #include "helpers/subrem_presets.h" #include #include "views/remote.h" #include "scenes/subrem_scene.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SUBREM_APP_FOLDER EXT_PATH("subghz_remote") #define SUBREM_MAX_LEN_NAME 64 typedef struct { SubRemSubFilePreset* subs_preset[SubRemSubKeyNameMaxCount]; } SubRemMapPreset; typedef struct { Gui* gui; ViewDispatcher* view_dispatcher; SceneManager* scene_manager; NotificationApp* notifications; DialogsApp* dialogs; Submenu* submenu; FuriString* file_path; // char file_name_tmp[SUBREM_MAX_LEN_NAME]; SubRemViewRemote* subrem_remote_view; SubRemMapPreset* map_preset; SubGhzSetting* setting; SubGhzEnvironment* environment; SubGhzReceiver* receiver; SubGhzTransmitter* transmitter; bool tx_running; uint8_t chusen_sub; } SubGhzRemoteApp; SubRemLoadMapState subrem_load_from_file(SubGhzRemoteApp* app); bool subrem_tx_start_sub( SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset, SubGhzProtocolEncoderRAWCallbackEnd callback); bool subrem_tx_stop_sub(SubGhzRemoteApp* app, bool forced);