#pragma once #include "bt.h" #include #include #include #include #include #include #include #include #include "../bt_settings.h" typedef enum { BtStatusOff, BtStatusAdvertising, BtStatusConnected, } BtStatus; typedef enum { BtMessageTypeUpdateStatusbar, BtMessageTypeUpdateBatteryLevel, BtMessageTypePinCodeShow, BtMessageTypeKeysStorageUpdated, } BtMessageType; typedef union { uint32_t pin_code; uint8_t battery_level; } BtMessageData; typedef struct { BtMessageType type; BtMessageData data; } BtMessage; struct Bt { uint8_t* bt_keys_addr_start; uint16_t bt_keys_size; BtSettings bt_settings; BtStatus status; osMessageQueueId_t message_queue; Gui* gui; ViewPort* statusbar_view_port; DialogsApp* dialogs; DialogMessage* dialog_message; Power* power; Rpc* rpc; RpcSession* rpc_session; osSemaphoreId_t rpc_sem; };