1#ifndef __TAL_BLUETOOTH_DEF_H__
2#define __TAL_BLUETOOTH_DEF_H__
4#include "tuya_cloud_types.h"
5#include "tuya_error_code.h"
9#define TAL_BLE_CMD_SERVICE_UUID_V1 (0x1910)
11#define TAL_BLE_CMD_WRITE_CHAR_UUID_V1 (0x2B11)
13#define TAL_BLE_CMD_NOTIFY_CHAR_UUID_V1 (0x2B10)
16#define TAL_BLE_BULK_SERVICE_UUID_V1 (0x1920)
18#define TAL_BLE_BULK_WRITE_CHAR_UUID_V1 (0x2B23)
20#define TAL_BLE_BULK_NOTIFY_CHAR_UUID_V1 (0x2B24)
23#define TAL_BLE_CMD_SERVICE_UUID_V2 (0xFD50)
25#define TAL_BLE_CMD_WRITE_CHAR_UUID_V2 (0x0001)
26#define TAL_BLE_CMD_WRITE_CHAR_UUID128_V2 {0xD0, 0x07, 0x9B, 0x5F, 0x80, 0x00, 0x01, 0x80, 0x01, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}
28#define TAL_BLE_CMD_NOTIFY_CHAR_UUID_V2 (0x0002)
29#define TAL_BLE_CMD_NOTIFY_CHAR_UUID128_V2 {0xD0, 0x07, 0x9B, 0x5F, 0x80, 0x00, 0x01, 0x80, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00}
31#define TAL_BLE_CMD_READ_CHAR_UUID_V2 (0x0003)
32#define TAL_BLE_CMD_READ_CHAR_UUID128_V2 {0xD0, 0x07, 0x9B, 0x5F, 0x80, 0x00, 0x01, 0x80, 0x01, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00}
35#define TAL_BLE_SVC_SCAN_UUID_V1 (0xA201)
36#define TAL_BLE_SVC_SCAN_UUID_V2 (0xA300)
37#define TAL_BLE_SVC_SCAN_UUID_V3 (0xFD50)
40#define TAL_COMMON_WRITE_CHAR_INDEX (0)
41#define TAL_COMMON_NOTIFY_CHAR_INDEX (1)
42#define TAL_COMMON_READ_CHAR_INDEX (2)
44#define DEFAULT_ADV_PARAMS(min, max) \
46 .adv_interval_min = min, \
47 .adv_interval_max = max, \
48 .adv_type = TAL_BLE_ADV_TYPE_CS_UNDIR, \
50#define TUYAOS_BLE_DEFAULT_ADV_PARAM ((TAL_BLE_ADV_PARAMS_T *) (&(TAL_BLE_ADV_PARAMS_T) DEFAULT_ADV_PARAMS(30, 60)))
52#define DEFAULT_SCAN_PARAMS(interval, window) \
54 .type = TAL_BLE_SCAN_TYPE_ACTIVE, \
55 .scan_interval = interval, \
56 .scan_window = window, \
60#define TUYAOS_BLE_DEFAULT_SCAN_PARAM ((TAL_BLE_SCAN_PARAMS_T *) (&(TAL_BLE_SCAN_PARAMS_T) DEFAULT_SCAN_PARAMS(30, 30)))
62#define DEFAULT_CONN_PARAMS(min, max) \
64 .min_conn_interval = min, \
65 .max_conn_interval = max, \
67 .conn_sup_timeout = 0x100, \
68 .connection_timeout = 5, \
70#define TUYAOS_BLE_DEFAULT_CONN_PARAM ((TAL_BLE_CONN_PARAMS_T *) (&(TAL_BLE_CONN_PARAMS_T) DEFAULT_CONN_PARAMS(30, 60)))
74 TAL_BLE_ADDR_TYPE_PUBLIC = 0x00,
75 TAL_BLE_ADDR_TYPE_RANDOM = 0x01,
82} TAL_BLE_ADV_DATA_TYPE_E;
85 TAL_BLE_ADV_TYPE_CS_UNDIR = 0x01,
86 TAL_BLE_ADV_TYPE_CNS_DIR_HIGH_DUTY = 0x02,
87 TAL_BLE_ADV_TYPE_CNS_DIR = 0x03,
88 TAL_BLE_ADV_TYPE_NCS_UNDIR = 0x04,
89 TAL_BLE_ADV_TYPE_NCNS_UNDIR = 0x05,
120 TAL_BLE_SCAN_TYPE_ACTIVE,
121 TAL_BLE_SCAN_TYPE_PASSIVE,
122} TAL_BLE_SCAN_TYPE_E;
125 TAL_BLE_SCAN_TYPE_E type;
135 USHORT_T conn_handle;
136 USHORT_T char_handle[6];
193 TAL_BLE_ROLE_PERIPERAL = 0x0001,
194 TAL_BLE_ROLE_CENTRAL = 0x0002,
195 TAL_BLE_ROLE_BEACON = 0x0004,
197 TAL_MESH_ROLE_ADV_PROVISIONER = 0x0100,
198 TAL_MESH_ROLE_GATT_PROVISIONER = 0x0200,
199 TAL_MESH_ROLE_NODE = 0x0400,
203 TAL_BLE_STACK_INIT = 0x01,
205 TAL_BLE_STACK_DEINIT,
207 TAL_BLE_EVT_PERIPHERAL_CONNECT,
209 TAL_BLE_EVT_CENTRAL_CONNECT_DISCOVERY,
211 TAL_BLE_EVT_DISCONNECT,
213 TAL_BLE_EVT_ADV_REPORT,
215 TAL_BLE_EVT_CONN_PARAM_REQ,
217 TAL_BLE_EVT_CONN_PARAM_UPDATE,
219 TAL_BLE_EVT_CONN_RSSI,
221 TAL_BLE_EVT_MTU_REQUEST,
225 TAL_BLE_EVT_NOTIFY_TX,
227 TAL_BLE_EVT_WRITE_REQ,
229 TAL_BLE_EVT_NOTIFY_RX,
233 TAL_BLE_EVT_SUBSCRIBE,
235 TAL_BLE_EVT_READ_CHAR,
239 USHORT_T conn_handle;
243 UCHAR_T cur_notify : 1;
249 USHORT_T conn_handle;
255 TAL_BLE_EVT_TYPE_E type;
Definition: tal_bluetooth_def.h:92
TAL_BLE_ADDR_TYPE_E type
Definition: tal_bluetooth_def.h:93
Definition: tal_bluetooth_def.h:97
USHORT_T adv_interval_max
Definition: tal_bluetooth_def.h:99
USHORT_T adv_interval_min
Definition: tal_bluetooth_def.h:98
TAL_BLE_ADV_TYPE_E adv_type
Definition: tal_bluetooth_def.h:100
TAL_BLE_ADDR_T direct_addr
Definition: tal_bluetooth_def.h:101
Definition: tal_bluetooth_def.h:104
CHAR_T rssi
Definition: tal_bluetooth_def.h:108
UCHAR_T data_len
Definition: tal_bluetooth_def.h:110
UCHAR_T * p_data
Definition: tal_bluetooth_def.h:109
TAL_BLE_ADDR_T peer_addr
Definition: tal_bluetooth_def.h:105
TAL_BLE_ADV_DATA_TYPE_E adv_type
Definition: tal_bluetooth_def.h:106
Definition: tal_bluetooth_def.h:156
TAL_BLE_CONN_PARAMS_T conn_param
Definition: tal_bluetooth_def.h:159
INT_T result
Definition: tal_bluetooth_def.h:160
TAL_BLE_PEER_INFO_T peer
Definition: tal_bluetooth_def.h:157
Definition: tal_bluetooth_def.h:147
USHORT_T conn_sup_timeout
Definition: tal_bluetooth_def.h:151
USHORT_T connection_timeout
Definition: tal_bluetooth_def.h:153
USHORT_T min_conn_interval
Definition: tal_bluetooth_def.h:148
USHORT_T max_conn_interval
Definition: tal_bluetooth_def.h:149
USHORT_T latency
Definition: tal_bluetooth_def.h:150
Definition: tal_bluetooth_def.h:185
USHORT_T conn_handle
Definition: tal_bluetooth_def.h:186
TAL_BLE_CONN_PARAMS_T conn
Definition: tal_bluetooth_def.h:187
Definition: tal_bluetooth_def.h:142
TAL_BLE_DATA_T report
Definition: tal_bluetooth_def.h:144
TAL_BLE_PEER_INFO_T peer
Definition: tal_bluetooth_def.h:143
Definition: tal_bluetooth_def.h:113
USHORT_T len
Definition: tal_bluetooth_def.h:114
UCHAR_T * p_data
Definition: tal_bluetooth_def.h:115
Definition: tal_bluetooth_def.h:163
TAL_BLE_PEER_INFO_T peer
Definition: tal_bluetooth_def.h:164
UCHAR_T reason
Definition: tal_bluetooth_def.h:165
Definition: tal_bluetooth_def.h:254
TAL_BLE_ADV_REPORT_T adv_report
Definition: tal_bluetooth_def.h:261
TAL_BLE_DATA_REPORT_T data_read
Definition: tal_bluetooth_def.h:268
TAL_BLE_DATA_REPORT_T data_report
Definition: tal_bluetooth_def.h:267
TAL_BLE_EXCHANGE_MTU_EVT_T exchange_mtu
Definition: tal_bluetooth_def.h:263
TAL_BLE_DATA_REPORT_T write_report
Definition: tal_bluetooth_def.h:266
UCHAR_T init
Definition: tal_bluetooth_def.h:258
TAL_BLE_SUBSCRBE_EVT_T subscribe
Definition: tal_bluetooth_def.h:269
TAL_BLE_READ_CHAR_EVT_T char_read
Definition: tal_bluetooth_def.h:270
TAL_BLE_CONN_PARAM_EVT_T conn_param
Definition: tal_bluetooth_def.h:262
TAL_BLE_CONN_RSSI_EVT_T link_rssi
Definition: tal_bluetooth_def.h:264
TAL_BLE_CONNECT_EVT_T connect
Definition: tal_bluetooth_def.h:259
TAL_BLE_DISCONNECT_EVT_T disconnect
Definition: tal_bluetooth_def.h:260
TAL_BLE_NOTIFY_TX_EVT_T notify_result
Definition: tal_bluetooth_def.h:265
Definition: tal_bluetooth_def.h:180
USHORT_T mtu
Definition: tal_bluetooth_def.h:182
USHORT_T conn_handle
Definition: tal_bluetooth_def.h:181
Definition: tal_bluetooth_def.h:168
INT_T result
Definition: tal_bluetooth_def.h:172
USHORT_T char_handle
Definition: tal_bluetooth_def.h:170
USHORT_T conn_handle
Definition: tal_bluetooth_def.h:169
Definition: tal_bluetooth_def.h:134
TAL_BLE_ADDR_T peer_addr
Definition: tal_bluetooth_def.h:138
Definition: tal_bluetooth_def.h:248
USHORT_T char_handle
Definition: tal_bluetooth_def.h:250
USHORT_T offset
Definition: tal_bluetooth_def.h:251
Definition: tal_bluetooth_def.h:124
USHORT_T scan_window
Definition: tal_bluetooth_def.h:128
USHORT_T scan_interval
Definition: tal_bluetooth_def.h:127
USHORT_T timeout
Definition: tal_bluetooth_def.h:129
UCHAR_T filter_dup
Definition: tal_bluetooth_def.h:130
Definition: tal_bluetooth_def.h:238
USHORT_T char_handle
Definition: tal_bluetooth_def.h:240
UCHAR_T prev_indicate
Definition: tal_bluetooth_def.h:244
UCHAR_T cur_indicate
Definition: tal_bluetooth_def.h:245
UCHAR_T prev_notify
Definition: tal_bluetooth_def.h:242