ai录音发送修改增加延时,及重发 500/1
authorhcj <1224667075@qq.com>
Thu, 11 Jul 2024 03:42:20 +0000 (11:42 +0800)
committerhcj <1224667075@qq.com>
Thu, 11 Jul 2024 03:42:20 +0000 (11:42 +0800)
code/sdk/application/wearable/fd230app/nativeui/goal/src/goalmodel.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index a8776dc..8d3f95a 100644 (file)
@@ -90,7 +90,7 @@ namespace OHOS
       float distancedata = (float)get_distance_data() / 1000.0;
 
       memset((void *)distancenewstr, 0, 20);
-      sprintf_s(distancenewstr, 20, "%f", distancedata);
+      sprintf_s(distancenewstr, 20, "%0.1f", distancedata);
       return distancenewstr;
    }
 
index ddf095f..48fc3c9 100644 (file)
@@ -290,7 +290,7 @@ void sendDataNow(uint8_t *buf,uint16_t len)
     }\r
 }\r
 \r
-void send_big_data(uint8_t flag, char *data, int datalen, int total, uint32_t Packet_id, uint32_t packet_total, uint8_t type_id, uint8_t type)\r
+void send_big_data(uint8_t flag, char *data, uint16_t datalen, uint32_t total, uint32_t Packet_id, uint32_t packet_total, uint8_t type_id, uint8_t type)\r
 {\r
     // 动态分配内存空间,防止堆栈溢出\r
     uint8_t *buf = ym_malloc(17 + datalen + 1); \r
@@ -2034,7 +2034,8 @@ uint8_t binCheck_AI(uint8_t *buf,uint8_t *check,uint16_t len)//json 格式解析
        }\r
        else if(buf[offset]==0)\r
        {\r
-          offset++;\r
+            printf("AI 解析失败\r\n");\r
+            offset++;\r
        }\r
     }\r
    \r
@@ -3902,11 +3903,19 @@ static void GetPasswordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota
     }\r
 }\r
 \r
-#define AI_RECORD_PATH "/user/userdata/AiRecording/AIAudio.pcm"\r
+#ifdef AI_USE_PCM\r
+#define AI_RECORD_PCM_PATH "/user/userdata/AiRecording/AIAudio.pcm"\r
+#else\r
+#define AI_RECORD_SBC_PATH "/user/userdata/AiRecording/AIAudio.sbc"\r
+#endif\r
 \r
 bool get_AI_PATH_and_size(char *path,uint32_t *size)\r
 {\r
-    memcpy((void*)path,AI_RECORD_PATH,strlen(AI_RECORD_PATH));\r
+    #ifdef AI_USE_PCM\r
+    memcpy((void*)path,AI_RECORD_PCM_PATH,strlen(AI_RECORD_PCM_PATH));\r
+    #else\r
+    #define AI_RECORD_SBC_PATH "/user/userdata/AiRecording/AIAudio.sbc"\r
+    #endif\r
     FILE *fp= fopen(path,"r+");\r
     if(fp)\r
     {\r
@@ -3922,7 +3931,7 @@ bool get_AI_PATH_and_size(char *path,uint32_t *size)
         return false;\r
     }\r
 }\r
-#define SEND_AIVOICE_SPEED 10\r
+#define SEND_AIVOICE_SPEED 30\r
 //APP获取录音文件,录音文件上传\r
 static void GetAiRecordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
 {\r
@@ -3944,7 +3953,6 @@ static void GetAiRecordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota
     {\r
         int num=(ble_nus_max_data_len-18); \r
         if(num>482)num=482;\r
-        sendbigDataBufState = true;//分包同步数据不允许打断\r
 \r
         char *data= (char *)malloc(num+1);\r
         \r
@@ -3959,7 +3967,6 @@ static void GetAiRecordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota
             printf("fopen fail %s\r\n",file_name);\r
             goto GetAiRecordFail;\r
         }\r
-\r
         do\r
         {\r
             memset_s(data,num+1,0,num+1);\r
@@ -3972,9 +3979,6 @@ static void GetAiRecordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota
         } while (read_size==num);\r
         free(data);\r
         fclose(fp);\r
-        sendbigDataBufState = false;\r
-   \r
-       \r
     }else\r
     {\r
         GetAiRecordFail:\r
@@ -3982,7 +3986,6 @@ static void GetAiRecordCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota
         value[18] = Calculate_CRC(value,18);\r
         sendBleData(value,19);\r
     }\r
-    sendbigDataBufState = false;\r
 }\r
 \r
 \r
index b59c0c3..160458b 100644 (file)
@@ -306,8 +306,14 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
         set_phone_info(addr);\r
 \r
         //扫描ios的ANCS服务,扫描到服务后会自动建立连接,并订阅服务\r
-        // if(get_notify_switch())\r
-        // ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
+        if(get_notify_switch())\r
+        ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
+\r
+        //int ret= a2dp_snk_connect(addr);\r
+        // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x%02x%02x%02x playing_state: %x\n",\r
+        // g_bd_addr.addr[3], g_bd_addr.addr[2], g_bd_addr.addr[1], g_bd_addr.addr[0], g_bd_addr.type); /* 3 2 1 0 idx */\r
+\r
+        //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %x\n", ret);\r
         \r
         Bleconnect = GAP_BLE_STATE_CONNECTED;//蓝牙已连接\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_CONNECTED!!! 0x%x\r\n",pair_state);\r
@@ -938,7 +944,8 @@ errcode_t svr_ble_bt_gatts_noyify(uint8_t *data, uint16_t data_len)//这里是
     errcode_t ret = gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
     if(ret!=ERRCODE_SUCC)\r
     {\r
-        gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
+        msleep(50);\r
+        ret=gatts_notify_indicate(g_ble_server_id, g_ble_conn_id, &data_info);\r
     }\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gatts_notify_indicate ret:0x%x. serverid:%u,conn_id:%u,handle:%u.data_len:%d", ret, g_ble_server_id,\r
         g_ble_conn_id, g_ble_server_handle,data_len);\r
@@ -996,7 +1003,7 @@ errcode_t svr_ble_read_data_value_updata_noyify(void)//2ae2
     return ret;  \r
 }\r
 \r
-//static uint8_t flag=1;\r
+static uint8_t flag=1;\r
 static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para,\r
     errcode_t status)\r
 {\r
@@ -1009,7 +1016,7 @@ static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, ga
     // if(flag==0)\r
     // ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
     // else if(flag==1)\r
-    // ble_ancs_client_subscribe_notify(g_ble_conn_id,1);\r
+    // a2dp_snk_connect(&disconect_addr);//ble_ancs_client_subscribe_notify(g_ble_conn_id,1);\r
     // else if(flag==2)\r
     // ble_ancs_client_subscribe_data(g_ble_conn_id,1);\r
     // else if (flag==3)\r