flipperzero-firmware/applications/bt/bt_service/bt_i.h
gornekich 943fb1bced
[FL-1721] Bluetooth refactoring (#747)
* ble-glue: add on connect \ disconnect, on send \ received callbacks
* bt: rework service with furi-hal-bt and callbacks
* bt: update battery level on connect
* ble-glue: set one callback with parameters
* bt: rework callbacks, remove unused API
* ble-glue: remove dead code
* furi-hal-bt: add documentation
* ble-glue: apply changes for f7 target
* bt: rename RpcInstance -> Rpc
* ble: add disconnection reason
* ble: don't open bt record from GAP
* bt: fix RPC session close
* Assets: separate targets for icons and protobuf

Co-authored-by: あく <alleteam@gmail.com>
2021-10-12 19:41:42 +03:00

46 lines
852 B
C

#pragma once
#include "bt.h"
#include <furi.h>
#include <furi-hal.h>
#include <gui/gui.h>
#include <gui/view_port.h>
#include <gui/view.h>
#include <dialogs/dialogs.h>
#include <power/power_service/power.h>
#include <applications/rpc/rpc.h>
#include "../bt_settings.h"
typedef enum {
BtMessageTypeUpdateStatusbar,
BtMessageTypeUpdateBatteryLevel,
BtMessageTypePinCodeShow,
} BtMessageType;
typedef union {
uint32_t pin_code;
uint8_t battery_level;
} BtMessageData;
typedef struct {
BtMessageType type;
BtMessageData data;
} BtMessage;
struct Bt {
BtSettings bt_settings;
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;
};