93 lines
2.2 KiB
C
93 lines
2.2 KiB
C
#ifndef QL_WIFI_BLE_H
|
|
#define QL_WIFI_BLE_H
|
|
|
|
#include "ql_type.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef void (*ql_ble_gatt_data_cb)(void *ctx);
|
|
typedef void (*ql_ble_gatt_link_cb)(void *ctx);
|
|
|
|
typedef enum
|
|
{
|
|
QL_WIFI_BLE_SUCCESS = 0,
|
|
QL_WIFI_BLE_EXECUTE_ERR = 1 ,
|
|
QL_WIFI_BLE_INVALID_PARAM_ERR,
|
|
QL_WIFI_BLE_INVALID_PARAM_LEN_ERR,
|
|
QL_WIFI_BLE_NO_MEM_ERR,
|
|
QL_WIFI_BLE_MEM_ADDR_NULL_ERR = 5,
|
|
} ql_wifi_ble_errcode_e;
|
|
|
|
typedef enum
|
|
{
|
|
QL_WIFI_BLE_MSG_CONNECTED = 0x01,
|
|
QL_WIFI_BLE_MSG_DISCONNECTED = 0x02,
|
|
QL_WIFI_BLE_MSG_MTU_UPDATED = 0x03,
|
|
QL_WIFI_BLE_MSG_DATA_RECEIVED = 0x04,
|
|
} ql_wifi_ble_msg_e;
|
|
#pragma pack(1)
|
|
|
|
typedef struct
|
|
{
|
|
ql_wifi_ble_msg_e msg;
|
|
uint8_t value[];
|
|
} ql_wifi_ble_gatt_link_ctx_s;
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t uuid_len;
|
|
uint8_t uuid[16];
|
|
uint16_t data_len;
|
|
uint8_t *data;
|
|
} ql_wifi_ble_recv_data_info_s;
|
|
|
|
typedef ql_wifi_ble_recv_data_info_s ql_wifi_ble_send_data_info_s;
|
|
|
|
typedef struct
|
|
{
|
|
uint8_t uuid_len;
|
|
uint8_t uuid[16];
|
|
} ql_wifi_ble_service_info_s;
|
|
|
|
typedef struct
|
|
{
|
|
uint16_t data_len;
|
|
uint8_t data[20];
|
|
} ql_wifi_ble_data_info_s;
|
|
|
|
#pragma pack()
|
|
/*========================================================================
|
|
* function Definition
|
|
*========================================================================*/
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_init(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_deinit(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_set_characteristic(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_register_gatt_data_cb(ql_ble_gatt_data_cb cb);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_register_gatt_link_cb(ql_ble_gatt_link_cb cb);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_adv_start(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_adv_stop(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_sent_gatt_data(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_set_adv_data(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_set_name(void *argv);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_get_addr(char *addr, uint8_t inlen ,uint8_t *outlen);
|
|
|
|
ql_wifi_ble_errcode_e ql_wifi_ble_disconnect(void *argv);
|
|
|
|
#ifdef __cplusplus
|
|
} /*"C" */
|
|
#endif
|
|
|
|
#endif |