luat_drv_ble.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef LUAT_DRV_BLE_H
  2. #define LUAT_DRV_BLE_H
  3. typedef struct luat_drv_ble_msg
  4. {
  5. uint64_t id; // 命令seq序号
  6. uint16_t cmd_id;
  7. uint16_t len;
  8. uint16_t version;
  9. uint16_t reserved;
  10. uint8_t data[0];
  11. }luat_drv_ble_msg_t;
  12. typedef struct luat_drv_ble_result
  13. {
  14. uint64_t last_id;
  15. int32_t result;
  16. }luat_drv_ble_result_t;
  17. // 定义蓝牙cmd id
  18. enum {
  19. LUAT_DRV_BT_CMD_BT_INIT = 0,
  20. LUAT_DRV_BT_CMD_BT_DEINIT,
  21. LUAT_DRV_BT_CMD_BLE_INIT,
  22. LUAT_DRV_BT_CMD_BLE_DEINIT,
  23. LUAT_DRV_BT_CMD_BLE_GATT_CREATE, // 创建GATT
  24. LUAT_DRV_BT_CMD_BLE_SET_NAME, // 设置设备名
  25. LUAT_DRV_BT_CMD_BLE_ADV_CREATE, // 创建广播
  26. LUAT_DRV_BT_CMD_BLE_ADV_START, // 开始广播
  27. LUAT_DRV_BT_CMD_BLE_ADV_STOP, // 停止广播
  28. LUAT_DRV_BT_CMD_BLE_ADV_DELETE, // 删除广播
  29. LUAT_DRV_BT_CMD_BLE_ADV_SET_DATA, // 设置广播数据
  30. LUAT_DRV_BT_CMD_BLE_ADV_SET_SCAN_RSP_DATA, // 设置广播响应数据
  31. LUAT_DRV_BT_CMD_BLE_SCAN_CREATE, // 创建扫描
  32. LUAT_DRV_BT_CMD_BLE_SCAN_START, // 开始扫描
  33. LUAT_DRV_BT_CMD_BLE_SCAN_STOP, // 停止扫描
  34. LUAT_DRV_BT_CMD_BLE_SCAN_DELETE, // 删除扫描
  35. LUAT_DRV_BT_CMD_BLE_WRITE_NOTIFY, // 写入,带通知
  36. LUAT_DRV_BT_CMD_BLE_WRITE_INDICATION, // 写入,带订阅的
  37. LUAT_DRV_BT_CMD_BLE_SEND_READ_RESP, // 发送读响应
  38. LUAT_DRV_BT_CMD_BLE_WRITE_VALUE, // 写入值
  39. LUAT_DRV_BT_CMD_BLE_READ_REQ, // 请求读取值
  40. LUAT_DRV_BT_CMD_BLE_CONNECT, // 读取值
  41. LUAT_DRV_BT_CMD_BLE_DISCONNECT, // 断开连接
  42. LUAT_DRV_BT_CMD_BLE_READ_VALUE, // 读取值, 异步的
  43. LUAT_DRV_BT_CMD_BLE_NOTIFY_ENABLE, // 通知使能
  44. LUAT_DRV_BT_CMD_BLE_EVENT_CB = 128, // 事件回调
  45. LUAT_DRV_BT_CMD_BLE_EXEC_RESULT,
  46. LUAT_DRV_BT_CMD_MAX
  47. };
  48. int luat_drv_bt_task_start(void);
  49. int luat_drv_bt_msg_send(luat_drv_ble_msg_t *msg);
  50. int luat_ble_gatt_pack(luat_ble_gatt_service_t *gatt, uint8_t *data, size_t *len);
  51. int luat_ble_gatt_unpack(luat_ble_gatt_service_t *gatt, uint8_t *data, size_t *len);
  52. #endif