ble传输:增加运动状态下不进行传输
authorCaisking <3449750381@qq.com>
Tue, 10 Dec 2024 06:29:02 +0000 (14:29 +0800)
committerCaisking <3449750381@qq.com>
Tue, 10 Dec 2024 06:29:02 +0000 (14:29 +0800)
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c

index 8efdd04..ad5ac22 100644 (file)
@@ -7049,8 +7049,11 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da
 \r
 \r
 \r
-errcode_t decode_ota_json(ble_read_data *buffer_handle)\r
-{\r
+errcode_t decode_ota_json(ble_read_data *buffer_handle) {\r
+\r
+    if (uapi_dev_runtime_get_train_status() == 1) {\r
+       return ERRCODE_FAIL;\r
+    }\r
 \r
     uint8_t *data = buffer_handle->data+sizeof(msg_header_t);\r
     uint16_t datalen = buffer_handle->totalDataLen;\r
@@ -7058,7 +7061,19 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle)
 \r
     cJSON* root = cJSON_Parse((const char *)data);\r
     if(root != NULL)\r
-    {         \r
+    {    \r
+        cJSON* ota_size_json = cJSON_GetObjectItem(root, "size");\r
+        if(ota_size_json != NULL && cJSON_IsNumber(ota_size_json))\r
+        {\r
+            buffer_handle->file_recv_stat.file_size = ota_size_json->valueint;\r
+            if(is_free_ota_update(ota_size_json->valueint)==false)\r
+            {\r
+                TRANSMIT_DATA=TRANS_OTA_FAIL;\r
+                CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
+                return ERRCODE_FAIL;\r
+            }\r
+        }\r
+\r
         cJSON* ota_type_json = cJSON_GetObjectItem(root, "type");\r
         if(ota_type_json != NULL && cJSON_IsNumber(ota_type_json))\r
         {\r
@@ -7080,17 +7095,7 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle)
         }else{\r
             buffer_handle->file_recv_stat.file_name = NULL;\r
         }\r
-        cJSON* ota_size_json = cJSON_GetObjectItem(root, "size");\r
-        if(ota_size_json != NULL && cJSON_IsNumber(ota_size_json))\r
-        {\r
-            buffer_handle->file_recv_stat.file_size = ota_size_json->valueint;\r
-            if(is_free_ota_update(ota_size_json->valueint)==false)\r
-            {\r
-                TRANSMIT_DATA=TRANS_OTA_FAIL;\r
-                CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
-                return ERRCODE_FAIL;\r
-            }\r
-        }\r
+        \r
         cJSON* ota_major_json = cJSON_GetObjectItem(root, "major");\r
         if(ota_major_json != NULL && cJSON_IsNumber(ota_major_json))\r
         {\r
@@ -7140,6 +7145,10 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle)
 \r
 errcode_t decode_mp3_json(ble_read_data *buffer_handle)\r
 {\r
+    if (uapi_dev_runtime_get_train_status() == 1) {\r
+       return ERRCODE_FAIL;\r
+    }\r
+  \r
     uint8_t *data = buffer_handle->data+sizeof(msg_header_t);\r
     uint16_t datalen = buffer_handle->totalDataLen;\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"MP3_file_save %s\n",data);\r
@@ -7160,6 +7169,11 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle)
 \r
             if (filenamelen > 0 && filenamelen < 255)\r
             {\r
+                if(buffer_handle->file_recv_stat.file_name)\r
+                {\r
+                    free(buffer_handle->file_recv_stat.file_name);\r
+                    buffer_handle->file_recv_stat.file_name=NULL;\r
+                }\r
                 buffer_handle->file_recv_stat.file_name = malloc(filenamelen);\r
                 if (buffer_handle->file_recv_stat.file_name!=NULL)\r
                 {\r
@@ -7178,7 +7192,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle)
         {\r
             buffer_handle->file_recv_stat.file_size = ota_size_json->valueint;\r
         }\r
-        cJSON_Delete(root);\r
+            cJSON_Delete(root);\r
 \r
           WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"  MP3_type= %d, MP3_name=%s, MP3_size=%d \n",\r
             buffer_handle->file_recv_stat.file_type,\r
@@ -7193,6 +7207,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle)
         // CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
         if(IS_free_save_Mp3(ota_size_json->valueint)==false)\r
         {\r
+            free(buffer_handle->file_recv_stat.file_name);\r
             TRANSMIT_DATA=TRANS_MP3_MAX_FAIL;\r
             CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
 \r
@@ -7265,7 +7280,9 @@ errcode_t decode_dial_info(ble_read_data *buffer_handle)
               WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"file name len should in [0,255] \n");\r
             return ERRCODE_FAIL;\r
         }\r
+\r
         char * filename = malloc(dialinfo.file_name_len);\r
+\r
         ble_dial_file_count= data[sizeof(msg_recv_dial_info_t)+dialinfo.file_name_len];\r
         if (filename == NULL)\r
         {\r
@@ -7273,16 +7290,17 @@ errcode_t decode_dial_info(ble_read_data *buffer_handle)
             return ERRCODE_FAIL;\r
         }\r
         memcpy_s(filename,dialinfo.file_name_len,data+sizeof(msg_recv_dial_info_t),dialinfo.file_name_len);\r
+\r
         buffer_handle->file_recv_stat.file_name = filename;\r
         \r
-          WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," dial name = %s, dial file count = %d \n",\r
-            filename,\r
-            ble_dial_file_count\r
-        );\r
-        free(filename);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," dial name = %s, dial file count = %d \n",\r
+            filename,ble_dial_file_count);\r
 \r
+        free(filename);\r
+        buffer_handle->file_recv_stat.file_name=NULL;\r
     }\r
-     ble_dial_uid = dialinfo.dial_uid;\r
+\r
+    ble_dial_uid = dialinfo.dial_uid;\r
    \r
     buffer_handle->file_recv_stat.received_size = 0;\r
     buffer_handle->file_recv_stat.lrcvalue = 0;\r
@@ -7295,7 +7313,7 @@ errcode_t decode_dial_info(ble_read_data *buffer_handle)
 errcode_t decode_single_dial_info(ble_read_data *buffer_handle)\r
 {\r
 \r
-      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"decode_single_dial_info \n");\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"decode_single_dial_info \n");\r
     for(uint8_t i = 0;i<buffer_handle->data_len;i++)\r
     {\r
           WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"%x ",buffer_handle->data[i]);\r
@@ -7303,7 +7321,6 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
       WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"\n");\r
     if (buffer_handle->data_len == 6)\r
     {\r
-\r
         return ERRCODE_SUCC;\r
     }\r
     uint8_t *data = buffer_handle->data+sizeof(msg_header_t);\r
@@ -7326,6 +7343,9 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
         return ERRCODE_FAIL;\r
     }\r
 \r
+    if (uapi_dev_runtime_get_train_status() == 1) {\r
+       return ERRCODE_FAIL;\r
+    }\r
     \r
 \r
     char * filename = malloc(dialinfo.file_name_len+1);\r
@@ -7342,9 +7362,11 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
     filename[dialinfo.file_name_len] ='\0';\r
     //在runtime中备份一个安装文件名。\r
     uapi_dev_runtime_set_dialname(filename);\r
-\r
+    \r
     if (check_dial_freespace(dialinfo.dial_uid, file_size) == false)\r
     {\r
+        free(filename);\r
+        filename=NULL;\r
 \r
         TRANSMIT_DATA=TRANS_DIAL_MAX_FAIL;\r
         CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
@@ -7356,7 +7378,12 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
     // if(ble_dial_uid<=4)\r
     // ble_dial_uid++;\r
 \r
-\r
+    if(buffer_handle->file_recv_stat.file_name)\r
+    {\r
+        free(buffer_handle->file_recv_stat.file_name);\r
+        buffer_handle->file_recv_stat.file_name=NULL;\r
+    }\r
+    \r
     buffer_handle->file_recv_stat.file_name = filename;\r
     buffer_handle->file_recv_stat.file_size = file_size;\r
     buffer_handle->file_recv_stat.file_type = 3;//表盘\r