From: Caisking <3449750381@qq.com> Date: Tue, 10 Dec 2024 06:29:02 +0000 (+0800) Subject: ble传输:增加运动状态下不进行传输 X-Git-Tag: v1.3.113-repair_tp~141^2~21 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=74f20bd36fcc22ded84a8f0c4279d1959ed55570;p=mirrors%2FFD230.git ble传输:增加运动状态下不进行传输 --- diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c index 8efdd04f8..ad5ac220b 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -7049,8 +7049,11 @@ errcode_t decode_ota_data(ble_read_data *buffer_handle,uint8_t *data,uint16_t da -errcode_t decode_ota_json(ble_read_data *buffer_handle) -{ +errcode_t decode_ota_json(ble_read_data *buffer_handle) { + + if (uapi_dev_runtime_get_train_status() == 1) { + return ERRCODE_FAIL; + } uint8_t *data = buffer_handle->data+sizeof(msg_header_t); uint16_t datalen = buffer_handle->totalDataLen; @@ -7058,7 +7061,19 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle) cJSON* root = cJSON_Parse((const char *)data); if(root != NULL) - { + { + cJSON* ota_size_json = cJSON_GetObjectItem(root, "size"); + if(ota_size_json != NULL && cJSON_IsNumber(ota_size_json)) + { + buffer_handle->file_recv_stat.file_size = ota_size_json->valueint; + if(is_free_ota_update(ota_size_json->valueint)==false) + { + TRANSMIT_DATA=TRANS_OTA_FAIL; + CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); + return ERRCODE_FAIL; + } + } + cJSON* ota_type_json = cJSON_GetObjectItem(root, "type"); if(ota_type_json != NULL && cJSON_IsNumber(ota_type_json)) { @@ -7080,17 +7095,7 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle) }else{ buffer_handle->file_recv_stat.file_name = NULL; } - cJSON* ota_size_json = cJSON_GetObjectItem(root, "size"); - if(ota_size_json != NULL && cJSON_IsNumber(ota_size_json)) - { - buffer_handle->file_recv_stat.file_size = ota_size_json->valueint; - if(is_free_ota_update(ota_size_json->valueint)==false) - { - TRANSMIT_DATA=TRANS_OTA_FAIL; - CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); - return ERRCODE_FAIL; - } - } + cJSON* ota_major_json = cJSON_GetObjectItem(root, "major"); if(ota_major_json != NULL && cJSON_IsNumber(ota_major_json)) { @@ -7140,6 +7145,10 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle) errcode_t decode_mp3_json(ble_read_data *buffer_handle) { + if (uapi_dev_runtime_get_train_status() == 1) { + return ERRCODE_FAIL; + } + uint8_t *data = buffer_handle->data+sizeof(msg_header_t); uint16_t datalen = buffer_handle->totalDataLen; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"MP3_file_save %s\n",data); @@ -7160,6 +7169,11 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle) if (filenamelen > 0 && filenamelen < 255) { + if(buffer_handle->file_recv_stat.file_name) + { + free(buffer_handle->file_recv_stat.file_name); + buffer_handle->file_recv_stat.file_name=NULL; + } buffer_handle->file_recv_stat.file_name = malloc(filenamelen); if (buffer_handle->file_recv_stat.file_name!=NULL) { @@ -7178,7 +7192,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle) { buffer_handle->file_recv_stat.file_size = ota_size_json->valueint; } - cJSON_Delete(root); + cJSON_Delete(root); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP," MP3_type= %d, MP3_name=%s, MP3_size=%d \n", buffer_handle->file_recv_stat.file_type, @@ -7193,6 +7207,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle) // CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); if(IS_free_save_Mp3(ota_size_json->valueint)==false) { + free(buffer_handle->file_recv_stat.file_name); TRANSMIT_DATA=TRANS_MP3_MAX_FAIL; CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); @@ -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"); return ERRCODE_FAIL; } + char * filename = malloc(dialinfo.file_name_len); + ble_dial_file_count= data[sizeof(msg_recv_dial_info_t)+dialinfo.file_name_len]; if (filename == NULL) { @@ -7273,16 +7290,17 @@ errcode_t decode_dial_info(ble_read_data *buffer_handle) return ERRCODE_FAIL; } memcpy_s(filename,dialinfo.file_name_len,data+sizeof(msg_recv_dial_info_t),dialinfo.file_name_len); + buffer_handle->file_recv_stat.file_name = filename; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," dial name = %s, dial file count = %d \n", - filename, - ble_dial_file_count - ); - free(filename); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," dial name = %s, dial file count = %d \n", + filename,ble_dial_file_count); + free(filename); + buffer_handle->file_recv_stat.file_name=NULL; } - ble_dial_uid = dialinfo.dial_uid; + + ble_dial_uid = dialinfo.dial_uid; buffer_handle->file_recv_stat.received_size = 0; buffer_handle->file_recv_stat.lrcvalue = 0; @@ -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) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"decode_single_dial_info \n"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"decode_single_dial_info \n"); for(uint8_t i = 0;idata_len;i++) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"%x ",buffer_handle->data[i]); @@ -7303,7 +7321,6 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle) WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"\n"); if (buffer_handle->data_len == 6) { - return ERRCODE_SUCC; } uint8_t *data = buffer_handle->data+sizeof(msg_header_t); @@ -7326,6 +7343,9 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle) return ERRCODE_FAIL; } + if (uapi_dev_runtime_get_train_status() == 1) { + return ERRCODE_FAIL; + } char * filename = malloc(dialinfo.file_name_len+1); @@ -7342,9 +7362,11 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle) filename[dialinfo.file_name_len] ='\0'; //在runtime中备份一个安装文件名。 uapi_dev_runtime_set_dialname(filename); - + if (check_dial_freespace(dialinfo.dial_uid, file_size) == false) { + free(filename); + filename=NULL; TRANSMIT_DATA=TRANS_DIAL_MAX_FAIL; CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); @@ -7356,7 +7378,12 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle) // if(ble_dial_uid<=4) // ble_dial_uid++; - + if(buffer_handle->file_recv_stat.file_name) + { + free(buffer_handle->file_recv_stat.file_name); + buffer_handle->file_recv_stat.file_name=NULL; + } + buffer_handle->file_recv_stat.file_name = filename; buffer_handle->file_recv_stat.file_size = file_size; buffer_handle->file_recv_stat.file_type = 3;//表盘