ble对接调试窗口
authorhcj <1224667075@qq.com>
Tue, 8 Oct 2024 07:41:05 +0000 (15:41 +0800)
committerhcj <1224667075@qq.com>
Tue, 8 Oct 2024 07:41:05 +0000 (15:41 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c
code/sdk/application/wearable/service/ble_service/bleservice/bleService.h
code/sdk/application/wearable/service/msg_center/src/notify/debug_output_notification/debug_output_notification.cpp

index f0a03b5..bbb73ee 100644 (file)
@@ -178,7 +178,7 @@ static void clean_phone_info(uint16_t conn_id)//保存手机信息 包含手机m
 }\r
 \r
 \r
-static bool get_ble_connect()//保存手机信息 包含手机mac地址\r
+bool get_ble_connect(void)//保存手机信息 包含手机mac地址\r
 {\r
    for(int i=0;i<ble_add_max_num;i++)\r
    {\r
@@ -222,6 +222,7 @@ void br_adv_start(uint8_t sec)
 \r
     if(!get_br_is_pair())\r
     { \r
+\r
     }\r
 }\r
 \r
@@ -1337,38 +1338,37 @@ void svr_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr,
     uapi_set_br_address(addr);\r
 }\r
 \r
+static bool ble_adv_start=false;\r
+\r
+bool get_ble_adv_status(void)\r
+{\r
+    return ble_adv_start;\r
+}\r
+\r
+static void svr_ble_adv_start_cb(uint8_t adv_id, adv_status_t status)\r
+{\r
+    if (adv_id == BLE_ADV_ID) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"BleAdvStartCallback adv_id: %d, status:%d\n", adv_id, status);\r
+        ble_adv_start=1;\r
+\r
+    }\r
+}\r
+\r
+static void svr_ble_adv_stop_cb(uint8_t adv_id, adv_status_t status)\r
+{\r
+    if (adv_id == BLE_ADV_ID) {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"svr_ble_adv_stop_cb adv_id: %d, status:%d\n", adv_id, status);\r
+        ble_adv_start=0;\r
+\r
+    }\r
+}\r
 \r
 \r
-// void srv_ble_start_scan(void)\r
-// {\r
-//     gap_ble_scan_params_t scan_param = { 0 };\r
-//     scan_param.scan_interval = 0x0050;\r
-//     scan_param.scan_window = 0x0030;\r
-//     scan_param.scan_type = GAP_BLE_SCAN_TYPE_ACTIVE;\r
-//     scan_param.scan_phy = GAP_BLE_PHY_NO_PACKET;\r
-//     scan_param.scan_filter_policy = GAP_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY;\r
-//     errcode_t ret = gap_ble_set_scan_parameters(&scan_param);\r
-//     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap ble set scan parameters ret(errcode_t): %x\n", ret);\r
 \r
-//     errcode_t reT_gap=gap_ble_start_scan();\r
-//     if(reT_gap==ERRCODE_SUCC)\r
-//         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan %d !",reT_gap);\r
-//     else\r
-//         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan fail %d !",reT_gap);\r
-    \r
-// }\r
-\r
-// void srv_ble_stop_scan(void)\r
-// {\r
-//     errcode_t reT_gap=gap_ble_stop_scan();\r
-//     if(reT_gap==ERRCODE_SUCC)\r
-//         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan %d !",reT_gap);\r
-//     else\r
-//         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan fail %d !",reT_gap);\r
-// }\r
 static void srv_BleAdvTerminateCallback(uint8_t advId, adv_status_t status)\r
 {\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "srv_BleAdvTerminateCallback advId: %d, status:%d\n", advId, status);\r
+\r
 }\r
 void srv_ble_server_register_gap_ble_callbacks(void)//ble基础通讯服务注册回调函数\r
 {\r
@@ -1376,6 +1376,8 @@ void srv_ble_server_register_gap_ble_callbacks(void)//ble基础通讯服务注
     g_ble_gapble_cbs.pair_result_cb = svr_pair_result_cbt_cb;\r
     g_ble_gapble_cbs.terminate_adv_cb =  srv_BleAdvTerminateCallback;\r
     g_ble_gapble_cbs.auth_complete_cb = svr_gap_ble_auth_complete_callback;\r
+    g_ble_gapble_cbs.start_adv_cb=svr_ble_adv_start_cb;\r
+    g_ble_gapble_cbs.stop_adv_cb=svr_ble_adv_stop_cb;\r
    \r
 #ifndef SUPPORT_AT_OHOSFWK\r
     gap_ble_register_callbacks(&g_ble_gapble_cbs);\r
@@ -1598,7 +1600,7 @@ void blesrv_service_recv_msg_handler(uint16_t srv_handle, uint8_t * msg_data, ui
     blesrv_mail.service_handle = srv_handle;\r
     blesrv_mail.msg_len = msg_len;\r
     blesrv_mail.msg_data = (uint8_t*)malloc(msg_len);\r
-    \r
+\r
     if(blesrv_mail.msg_data==NULL)\r
     {\r
         return ;\r
index 0f16548..0b3c40c 100644 (file)
@@ -69,6 +69,10 @@ void ble_test_ANCS(void);
 
 void ble_test_ANCS_notify(uint8_t type);
 
+bool get_ble_connect(void);
+
+bool get_ble_adv_status(void);
+
 #ifdef __cplusplus
 }
 #endif
index 71a1fb3..b6ddc8c 100644 (file)
@@ -40,6 +40,7 @@
 #include <string>
 #include <sys/types.h>
 #include <vector>
+#include "bleService.h"
 namespace OHOS
 {
 
@@ -119,7 +120,7 @@ namespace OHOS
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DebugOutputViewEventListener::get_bt_runtime_status_t");
         std::string result = "bt_powerOn:" + std::to_string(uapi_dev_runtime_get_bt_powerstat()) + " ";
-        result += "bt_ble_connectstat:" + std::to_string(uapi_dev_runtime_get_ble_connect_stat()) + " ";
+        result += "bt_ble_connectstat:" + std::to_string(get_ble_connect()) + " ";
         result += "bt_br_connectstat:" + std::to_string(uapi_dev_runtime_get_br_connect_stat()) + " ";
         result += "bt_earphone_connectstat:" + std::to_string(uapi_dev_runtime_get_earphone_connect_stat()) + " ";
         result += "android_app_connected:" + std::to_string(uapi_dev_runtime_get_android_connection_status()) + " ";
@@ -133,7 +134,7 @@ namespace OHOS
         result += "spp_service_handler: ";
         result += "hfp_service_handler: ";
         result += "localAddress:" + (getCurrentWatchMacAddress()) + " ";
-        result += "ble广播状态:" + std::to_string(BluetoothModel::GetInstance()->GetAdvStartState());
+        result += "ble广播状态:" + std::to_string(get_ble_adv_status());
 
         // 蓝牙ble广播开关,基础信息如,地址,广播状态
 
@@ -288,8 +289,10 @@ namespace OHOS
         std::string str;
         if (viewId == DEBUGOUTPUTBLESERVICELABELBUTTON) // 开启ble广播
         {
-            if (BluetoothModel::GetInstance()->GetAdvStartState() == false) // 如果广播是关的就去开启广播
-                BleAdvStart();
+            // if (BluetoothModel::GetInstance()->GetAdvStartState() == false) // 如果广播是关的就去开启广播
+            //     BleAdvStart();
+            
+            svr_ble_adv_start();
             return true;
         }
         else if (viewId == DEBUGOUTPUTLABELBUTTON) // 点击的是刷新按钮