增加cat1使用蓝牙耳机 1605/1 1605/head
authorhcj <1224667075@qq.com>
Wed, 8 Jan 2025 03:55:13 +0000 (11:55 +0800)
committerhcj <1224667075@qq.com>
Wed, 8 Jan 2025 03:55:13 +0000 (11:55 +0800)
bin/bt.bin
code/sdk/application/wearable/fd230app/nativeui/phoneservice/include/PhoneAGService.h
code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneAGService.cpp
code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/build/config/target_config/brandy/config.py
code/sdk/tools/pkg/bin/brandy/bt.bin

index 0bfb6d9..5564865 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:305a4bc884af94627fc343d17304e44534b0c7b8b6ed917a4c1c2c3b9a69e628
-size 424360
+oid sha256:c6faa308a3591ba1d1743e2fd4ebe9334778acf2fa7fdd7eb8ac434e252ad25f
+size 424848
index 12f0b3c..8bb3cc1 100644 (file)
@@ -15,6 +15,8 @@
 #define SAMPLE_HFP_PROF_VOL_LEVEL 15
 #define SAMPLE_HFP_MEDIA_VOL_LEVEL 100
 
+#define SUPPORT_CAT1_HFP_AG_SERV
+
 #ifdef SUPPORT_CAT1_HFP_AG_SERV
 
 void hfp_ag_reg_callback(void);
index 442f1a8..ebf31e7 100644 (file)
@@ -115,12 +115,11 @@ static int32_t audio_stream_init(void)
     audio_manager_set_device_connection_state(IN_MODEM_HEADSET, AUDIO_DEVICE_CONNECTED);
     audio_manager_set_device_connection_state(OUT_MODEM_HEADSET, AUDIO_DEVICE_CONNECTED);
 
-    g_hdl_up_sco = audio_stream_in_init(AUDIO_UP_LINK, PCM);
-    g_hdl_up_modem = audio_stream_out_init(AUDIO_UP_LINK, PCM);
-
-    g_hdl_dn_sco = audio_stream_out_init(AUDIO_DOWN_LINK, mSBC);
-    g_hdl_dn_modem = audio_stream_in_init(AUDIO_DOWN_LINK, mSBC);
-
+    g_hdl_up_sco = audio_stream_in_init(AUDIO_UP_LINK, g_hfp_codec);
+    g_hdl_up_modem = audio_stream_out_init(AUDIO_UP_LINK, g_hfp_codec);
+    g_hdl_dn_sco = audio_stream_out_init(AUDIO_DOWN_LINK, g_hfp_codec);
+    g_hdl_dn_modem = audio_stream_in_init(AUDIO_DOWN_LINK, g_hfp_codec);
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"%d",g_hfp_codec);
     return 0;
 }
 
@@ -169,9 +168,6 @@ static int32_t abrogation_audio_stream_pipeline(void)
 
 static int32_t sample_audio_init_start_task_body(const void *data)
 {
-    // Sample_audio_init();
-
-    // return 0;
 
     unused(data);
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sample_audio_init_start enter\n");
@@ -265,6 +261,9 @@ void cat1_start_SCO_audio_(void)
     uapi_cat1_start_SCO_volte_voice();
 }
 
+
+
+
 static void sample_hfp_ag_sco_conn_state_changed_callback(const bd_addr_t *bd_addr, hfp_sco_connect_state_t state)
 {
     sample_hfp_ag_print_addr(bd_addr);
@@ -281,9 +280,9 @@ static void sample_hfp_ag_sco_conn_state_changed_callback(const bd_addr_t *bd_ad
             }
             else
             {
-                 do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_STOP, nullptr, 0);
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_STOP, nullptr, 0);
 
-                 do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_AUDIO_START, nullptr, 0);
             }
             Call_headset_state_updata(1);
 
@@ -293,7 +292,7 @@ static void sample_hfp_ag_sco_conn_state_changed_callback(const bd_addr_t *bd_ad
         case HFP_SCO_STATE_DISCONNECTING:
             break;
         case HFP_SCO_STATE_DISCONNECTED:
-    
+            
             if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1
             && OHOS::NotificationManager::GetInstance()->GetWatchCallStatus())
             {
@@ -314,12 +313,22 @@ static void sample_hfp_ag_sco_conn_state_changed_callback(const bd_addr_t *bd_ad
             break;
         }
     }
-}
+    }
 
 static void sample_hfp_ag_codec_changed_callback(const bd_addr_t *bd_addr, hfp_ag_codec_id_t codec)
 {
     sample_hfp_ag_print_addr(bd_addr);
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"codec : %d\n", codec);
+        if (codec == HFP_AG_CODEC_ID_CVSD) {
+
+        g_hfp_codec = PCM;
+
+    } else if (codec == HFP_AG_CODEC_ID_MSBC) {
+
+        g_hfp_codec = mSBC;
+    }
+
+
 
 }
 
index 2949853..a4fbe86 100644 (file)
@@ -669,7 +669,7 @@ static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t st
                     return;
                 }
             #endif
-            uapi_pbap_cmd_start_client();
+            // uapi_pbap_cmd_start_client();
             break;
         case PROFILE_STATE_CONNECTED: // 蓝牙连接成功
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connected");
@@ -689,7 +689,7 @@ static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t st
             BtConnectedPro(bdAddr);
             SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);
             
-            uapi_pbap_cmd_start_client();
+            // uapi_pbap_cmd_start_client();
             uapi_save_runtime_log(RUNTIME_LOG_BR_CONNECT_HFP);
             //SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);
             break;
@@ -1583,9 +1583,15 @@ static void stop_ring(void)
 }
 
 
+static uint8_t find_phone_count=0;
 
-
-
+static void find_address_book(std::string number,uint8_t len)
+{
+    find_phone_count++;
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "find_address_book %d", find_phone_count);
+    // uapi_pbap_cmd_pull_vcard_listing((unsigned char *)number.c_str(),len);
+    
+}
 
 // 通话状态变化上报回调
 static void CallStateChanged(const bd_addr_t *bdAddr, const hfp_hf_calls_info_t *call)
@@ -1595,7 +1601,7 @@ static void CallStateChanged(const bd_addr_t *bdAddr, const hfp_hf_calls_info_t
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "call is null or BT disconnected connStatus: 0x%X", g_btConnState);
         return;
     }
-
+   
     if(OHOS::CallerLogModel::GetInstance()->GetCallDial() == OHOS::CallerLogModel::HFP_PHONE_DIAL)
     {
         if(call->state==HFP_HF_CALL_STATE_DIALING||call->state==HFP_HF_CALL_STATE_ALERTING)
@@ -1630,8 +1636,10 @@ static void CallStateChanged(const bd_addr_t *bdAddr, const hfp_hf_calls_info_t
 
     if(call->state==HFP_HF_CALL_STATE_INCOMING || call->state==HFP_HF_CALL_STATE_DIALING 
     || call->state==HFP_HF_CALL_STATE_ALERTING)
-    uapi_pbap_cmd_pull_vcard_listing((unsigned char *)call->number,(uint8_t )call->number_len);
-
+    {
+        GraphicService::GetInstance()->PostGraphicEvent(std::bind(find_address_book,call->number,call->number_len));
+    }
+   
     if(HFP_HF_CALL_STATE_INCOMING!=call->state)
     {
         PostGraphicEvent(stop_ring);
index 9ef0c5b..1102867 100644 (file)
@@ -2886,7 +2886,7 @@ uint8_t parse_jsonCheck_weather(uint8_t *buf,uint8_t *check)//json 格式解析
     }\r
 \r
     if( uapi_dev_runtime_get_bt_powerstat() && cm_get_HFP_switch())\r
-    uapi_pbap_cmd_start_client();\r
+    // uapi_pbap_cmd_start_client();\r
 \r
     bd_addr_t bdaddr={0};\r
     uapi_get_br_address(&bdaddr);\r
@@ -6935,7 +6935,7 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da
                     create_mp3_name(filepath,musicpath,buffer_handle->file_recv_stat.file_name);\r
 \r
                     buffer_handle->file_recv_stat.file = fopen(filepath,"w+");\r
-                      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"filepath %s\r\n",filepath);\r
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"filepath %s\r\n",filepath);\r
                 }\r
                 else\r
                 {\r
@@ -6995,6 +6995,19 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da
                     BR_TRANSFER_timer = NULL;\r
                     return ERRCODE_FAIL;\r
                 }\r
+\r
+                {\r
+                    if(buffer_handle->file_recv_stat.file_type==3)\r
+                    TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
+                    \r
+                    if(buffer_handle->file_recv_stat.file_type==1)\r
+                    TRANSMIT_DATA=TRANS_OTA_TRANSMITTING;\r
+                \r
+                    if(buffer_handle->file_recv_stat.file_type==2)\r
+                    TRANSMIT_DATA=TRANS_MP3_TRANSMITTING;\r
+                    \r
+                    CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+                }\r
             }\r
             ///////////////////////////////////////////////////////////\r
         }\r
@@ -7014,10 +7027,9 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da
 \r
                 buffer_handle->file_recv_stat.lrcvalue = calculate_lrc(data_,datalen,buffer_handle->file_recv_stat.lrcvalue);\r
                         buffer_handle->file_recv_stat.received_size += datalen;\r
-                  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"handle_recv_file received_size %d\n",buffer_handle->file_recv_stat.received_size);\r
-\r
                 OTA_FILE_value= ((float) buffer_handle->file_recv_stat.received_size / (float)buffer_handle->file_recv_stat.file_size) *100;\r
-\r
+                  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"handle_recv_file received_size %d %0.3lf\n",buffer_handle->file_recv_stat.received_size\r
+                  ,(float) buffer_handle->file_recv_stat.received_size / (float)buffer_handle->file_recv_stat.file_size);\r
 \r
             }else{\r
                   WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"handle_recv_file write file failed! ret %d != %d\n",writtensize,datalen);\r
@@ -7064,10 +7076,13 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"0xffffffff 包重复\r\n");\r
                 //ble_reply_msgarr(6,4,&replydata,4);\r
             }\r
-            else if (last_package_id!=package_id)\r
+            else if (last_package_id!=package_id )\r
             {\r
                 uint32_t replydata= last_package_id+1;\r
-                ble_reply_msgarr(6,4,&replydata,4);\r
+                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"包错漏\r\n");\r
+                \r
+\r
+                ble_reply_msgarr(0x06,0x04,&replydata,4);\r
             }\r
             return ERRCODE_SUCC;\r
         }\r
@@ -7165,8 +7180,8 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle) {
         buffer_handle->receive_file_flag = 1;\r
         uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH);\r
         //进入特殊UI\r
-        TRANSMIT_DATA=TRANS_OTA_TRANSMITTING;\r
-        CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+        // TRANSMIT_DATA=TRANS_OTA_TRANSMITTING;\r
+        // CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
 \r
         return ERRCODE_SUCC;\r
     }else{\r
@@ -7227,7 +7242,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle)
         }\r
             cJSON_Delete(root);\r
 \r
-          WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"  MP3_type= %d, MP3_name=%s, MP3_size=%d \n",\r
+          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"  MP3_type= %d, MP3_name=%s, MP3_size=%d \n",\r
             buffer_handle->file_recv_stat.file_type,\r
             buffer_handle->file_recv_stat.file_name,\r
             buffer_handle->file_recv_stat.file_size\r
@@ -7252,8 +7267,8 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle)
             buffer_handle->file_recv_stat.lrcvalue = 0;\r
             buffer_handle->receive_file_flag = 1;\r
             uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH);\r
-            TRANSMIT_DATA=TRANS_MP3_TRANSMITTING;\r
-            CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+            // TRANSMIT_DATA=TRANS_MP3_TRANSMITTING;\r
+            // CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
 \r
             return ERRCODE_SUCC;\r
         }\r
@@ -7434,8 +7449,8 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
     buffer_handle->receive_file_flag = 1;\r
     uapi_ble_connect_param_update(BLE_CONNECT_INTERVAL_HIGH);\r
 \r
-    TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
-    CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+    // TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
+    // CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
     return ERRCODE_SUCC;\r
     \r
 \r
@@ -7955,7 +7970,7 @@ void type2AE6Data(ble_read_data *buffer_handle,uint8_t *cmd_buf ,uint8_t *data,u
      #ifdef BLE_LOG\r
     \r
     #endif\r
-      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"typeHexOneData:0x%04X\r\n",cmd);\r
+      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"typeHexOneData:0x%04X\r\n",cmd);\r
     // uint8_t typeID = cmd_buf[2];\r
     switch (cmd)\r
     {\r
@@ -8301,8 +8316,23 @@ errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t
             BR_TRANSFER_timer = NULL;\r
             return ERRCODE_FAIL;\r
         }\r
+        //  if(buffer_handle->file_recv_stat.received_size==0)\r
+    {\r
+        if(buffer_handle->file_recv_stat.file_type==3)\r
+        TRANSMIT_DATA=TRANS_DIAL_TRANSMITTING;\r
+        \r
+        if(buffer_handle->file_recv_stat.file_type==1)\r
+        TRANSMIT_DATA=TRANS_OTA_TRANSMITTING;\r
+    \r
+        if(buffer_handle->file_recv_stat.file_type==2)\r
+        TRANSMIT_DATA=TRANS_MP3_TRANSMITTING;\r
+\r
+        CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+    }\r
+    \r
         ///////////////////////////////////////////////////////////\r
     }\r
+   \r
     if (buffer_handle->file_recv_stat.file == NULL)\r
     {\r
           WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"6194 buffer_handle->file_recv_stat.file  \n");\r
index a9a2dfa..c386774 100755 (executable)
@@ -140,6 +140,7 @@ target = {
                     'SUPPORT_AT_CUSTOMUTILS',
                     'SUPPORT_BLE_SERVICE',
                     'FD230',
+                    'SUPPORT_CAT1_HFP_AG_SERV'
                     'SUPPORT_AUTO_OTA_SERVER',
                     'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1',
                     #"MEM_CHECK",
index 6f450c1..5564865 100755 (executable)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:8e8536a8ef09062636e9523134560b0975a8b82600fdaaf7692c15ebfee2379a
-size 424976
+oid sha256:c6faa308a3591ba1d1743e2fd4ebe9334778acf2fa7fdd7eb8ac434e252ad25f
+size 424848