Просмотр исходного кода

component/bt: Fix Gatt table read_req bug and advertising channel 39 not available bug

Island 9 лет назад
Родитель
Сommit
c6bb239f0c

+ 1 - 1
components/bt/bluedroid/api/include/esp_gap_ble_api.h

@@ -95,7 +95,7 @@ typedef enum {
 typedef enum {
 typedef enum {
     ADV_CHNL_37     = 0x01,
     ADV_CHNL_37     = 0x01,
     ADV_CHNL_38     = 0x02,
     ADV_CHNL_38     = 0x02,
-    ADV_CHNL_39     = 0x03,
+    ADV_CHNL_39     = 0x04,
     ADV_CHNL_ALL    = 0x07,
     ADV_CHNL_ALL    = 0x07,
 } esp_ble_adv_channel_t;
 } esp_ble_adv_channel_t;
 
 

+ 7 - 1
components/bt/bluedroid/stack/gatt/gatt_db.c

@@ -1332,7 +1332,13 @@ static tGATT_STATUS gatts_send_app_read_request(tGATT_TCB *p_tcb, UINT8 op_code,
 
 
         gatt_sr_send_req_callback(conn_id,
         gatt_sr_send_req_callback(conn_id,
                                   trans_id, GATTS_REQ_TYPE_READ, &sr_data);
                                   trans_id, GATTS_REQ_TYPE_READ, &sr_data);
-        return (tGATT_STATUS) GATT_PENDING;
+        
+        if (need_rsp) {
+            return (tGATT_STATUS) GATT_PENDING;
+        }
+        else{
+            return (tGATT_STATUS) GATT_STACK_RSP;
+        }
     } else {
     } else {
         return (tGATT_STATUS) GATT_BUSY;    /* max pending command, application error */
         return (tGATT_STATUS) GATT_BUSY;    /* max pending command, application error */
     }
     }