From: SnickerSun Date: Mon, 27 May 2024 02:08:46 +0000 (+0800) Subject: 添加表盘市场下载能力 X-Git-Tag: release_V1.2.70_20241020_135402~1105 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=refs%2Fchanges%2F183%2Fhead;p=mirrors%2FFD230.git 添加表盘市场下载能力 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index 37c61ca0b..a4ad41392 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -244,7 +244,7 @@ namespace OHOS {ConfigDataType::DATATYPE_INT, "GoalCalories", "300" },// CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES, //运动目标卡路里 300(kcal) {ConfigDataType::DATATYPE_INT, "GoalStandupTimes", "10" },// CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES, //运动目标站立次数 10 {ConfigDataType::DATATYPE_INT, "GoalDuration", "30" },// CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION, //运动目标时长 30(分钟) - {ConfigDataType::DATATYPE_DOUBLE, "GoalDistance", "8.0" },// CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, //运动目标距离 8.0(km) + {ConfigDataType::DATATYPE_INT, "GoalDistance", "8" },// CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE, //运动目标距离 8.0(km) {ConfigDataType::DATATYPE_BOOL, "Dnotdisturb", "false" },// CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭 {ConfigDataType::DATATYPE_INT, "SystemVolume", "100" },// CONFIGMODEL_ITEM_SYSTEM_VOLUME // {ConfigDataType::DATATYPE_INT, "CallVolume", "100" },// CONFIGMODEL_ITEM_CALL_VOLUME // diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index 8476ac98c..a3b376c80 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -120,7 +120,7 @@ void ble_set_drink_remind(msg_drink_info_t data) if(data.drink_on) { printf("目标:%d\r\n",data.goal); - p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_GOAL,(double)data.goal); + p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_GOAL,data.goal); printf("开始时间:%d\r\n",data.time_start); p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIFMOFEL_ITEM_DRINK_START,data.time_start); if(data.drink_on==2) 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 b8ac042ef..261157bfb 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -94,7 +94,33 @@ static const char* getHandlname(uint16_t handle) return "unknown handle"; } +static errcode_t get_file_recv_file_path(char* input_filename ,uint32_t input_size, char* output_file_path , uint32_t max_output_size) +{ + if(input_filename == NULL || output_file_path == NULL) + { + return ERRCODE_FAIL; + } + + int ret = sprintf_s(output_file_path,max_output_size,"/user/userdata/%s",input_filename); + if (ret < 0) + return ERRCODE_FAIL; + + return ERRCODE_SUCC; +} + +static errcode_t get_dial_file_path(char* input_dialname ,uint32_t input_size, char* output_file_path , uint32_t max_output_size) +{ + if(input_dialname == NULL || output_file_path == NULL) + { + return ERRCODE_FAIL; + } + int ret = sprintf_s(output_file_path,max_output_size,"/user/dial/%s.bin",input_dialname); + if (ret < 0) + return ERRCODE_FAIL; + + return ERRCODE_SUCC; +} // typedef void (*hx3695_msg_callback_t)(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen); uint32_t ble_recv_register_msg_callback(ble_recv_msg_callback_t func) { @@ -1936,16 +1962,39 @@ void GetWeatherCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,ui } + +void query_dial_installed(ble_read_data *buffer_handle,uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,uint8_t crcvalue)// +{ + + uint8_t reply[2]={0}; + if (len != 2) + { + ble_reply_cmdarr(cmd,reply,2);//crc error + } + if(Check_CRC(data,len,crcvalue)) + { + uint16_t dial_uid = *(uint16_t*)data; + printf("query dial 0x%04X installed !!!!!!!!\r\n",dial_uid); + reply[0]=2; //该表盘是否已安装 0:指令校验失败 1:已安装 2:未安装 + reply[1]=0; //表盘列表是否已满 0:未满 1:已满 + ble_reply_cmdarr(cmd,reply,2); + + }else{ + ble_reply_cmdarr(cmd,reply,2);//crc error + } + +} + void getUserInfo(ble_read_data *buffer_handle,uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,uint8_t crcvalue)// { printf("getUserInfo "); - for(uint8_t i = 0;ifile_recv_stat.file_name = ota_name_json->valuestring; + uint32_t filenamelen=strlen(ota_name_json->valuestring); + if (filenamelen > 0 && filenamelen < 255) + { + buffer_handle->file_recv_stat.file_name = malloc(filenamelen); + if (buffer_handle->file_recv_stat.file_name!=NULL) + memcpy_s(buffer_handle->file_recv_stat.file_name,filenamelen,ota_name_json->valuestring,filenamelen); + //下载完成再在 cancel download 里 free filename + }else{ + buffer_handle->file_recv_stat.file_name = NULL; + } + }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)) { @@ -4926,20 +4987,268 @@ errcode_t decode_ota_json(ble_read_data *buffer_handle) } } + +errcode_t decode_mp3_json(ble_read_data *buffer_handle) +{ + uint8_t *data = buffer_handle->data+sizeof(msg_header_t); + uint16_t datalen = buffer_handle->totalDataLen; + printf("ota_json_file_save %s\n",data); + + /** + MP3文件信息格式 + { + "type":2, + "name":"夜曲.mp3", + "size":3894464 + } + */ + + cJSON* root = cJSON_Parse((const char *)data); + + if(root != NULL) + { + cJSON* ota_type_json = cJSON_GetObjectItem(root, "type"); + if(ota_type_json != NULL && cJSON_IsNumber(ota_type_json)) + { + buffer_handle->file_recv_stat.file_type = ota_type_json->valueint; + } + + cJSON* ota_name_json = cJSON_GetObjectItem(root, "name"); + if ( ota_name_json != NULL && cJSON_IsString(ota_name_json)) { + uint32_t filenamelen=strlen(ota_name_json->valuestring); + if (filenamelen > 0 && filenamelen < 255) + { + buffer_handle->file_recv_stat.file_name = malloc(filenamelen); + if (buffer_handle->file_recv_stat.file_name!=NULL) + memcpy_s(buffer_handle->file_recv_stat.file_name,filenamelen,ota_name_json->valuestring,filenamelen); + //下载完成再在 cancel download 里 free filename + }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; + } + cJSON_Delete(root); + + printf(" ota_type= %d, ota_name=%s, ota_size=%d \n", + buffer_handle->file_recv_stat.file_type, + buffer_handle->file_recv_stat.file_name, + buffer_handle->file_recv_stat.file_size + ); + buffer_handle->file_recv_stat.received_size = 0; + buffer_handle->file_recv_stat.lrcvalue = 0; + buffer_handle->receive_file_flag = 1; + return ERRCODE_SUCC; + }else{ + buffer_handle->receive_file_flag = 0; + return ERRCODE_FAIL; + } +} + +errcode_t decode_dial_info(ble_read_data *buffer_handle) +{ + + printf("decode_dial_info \n"); + for(uint8_t i = 0;idata_len;i++) + { + printf("%x ",buffer_handle->data[i]); + } + printf("\n"); + if (buffer_handle->data_len == 6) + { + + return ERRCODE_SUCC; + } + uint8_t *data = buffer_handle->data+sizeof(msg_header_t); + uint16_t datalen = buffer_handle->totalDataLen; + + msg_recv_dial_info_t dialinfo={0}; + msg_recv_dial_info_t *pdialinfo=(msg_recv_dial_info_t*)data; + + // dialinfo.dial_count = pdialinfo->dial_count; + dialinfo.dial_uid = pdialinfo->dial_uid; + dialinfo.file_name_len = pdialinfo->file_name_len; + // dialinfo.file_type = pdialinfo->file_type; + + if (dialinfo.file_name_len < 0 || dialinfo.file_name_len >255) + { + printf("file name len should in [0,255] \n"); + return ERRCODE_FAIL; + } + char * filename = malloc(dialinfo.file_name_len); + uint8_t file_count = data[sizeof(msg_recv_dial_info_t)+dialinfo.file_name_len]; + if (filename == NULL) + { + printf("file name malloc failed filename_len %d\n",dialinfo.file_name_len); + 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; + + printf(" dial name = %s, dial file count = %d \n", + filename, + file_count + ); + buffer_handle->file_recv_stat.received_size = 0; + buffer_handle->file_recv_stat.lrcvalue = 0; + buffer_handle->receive_file_flag = 0; + + free(filename); + return ERRCODE_SUCC; + +} + +errcode_t decode_single_dial_info(ble_read_data *buffer_handle) +{ + + printf("decode_single_dial_info \n"); + for(uint8_t i = 0;idata_len;i++) + { + printf("%x ",buffer_handle->data[i]); + } + printf("\n"); + if (buffer_handle->data_len == 6) + { + + return ERRCODE_SUCC; + } + uint8_t *data = buffer_handle->data+sizeof(msg_header_t); + uint16_t datalen = buffer_handle->totalDataLen; + + msg_recv_single_dial_info_t dialinfo={0}; + msg_recv_single_dial_info_t *pdialinfo=(msg_recv_single_dial_info_t*)data; + + dialinfo.dial_count = pdialinfo->dial_count; + dialinfo.dial_uid = pdialinfo->dial_uid; + dialinfo.file_name_len = pdialinfo->file_name_len; + dialinfo.file_type = pdialinfo->file_type; + + if (dialinfo.file_name_len < 6 || dialinfo.file_name_len >255) + { + printf("file name len should in [6,255] \n"); + return ERRCODE_FAIL; + } + + + + char * filename = malloc(dialinfo.file_name_len+1); + //下载完成再在 cancel download 里 free filename + + uint32_t file_size = 0; + memcpy_s((void*)&file_size,sizeof(uint32_t),(void*)&data[sizeof(msg_recv_single_dial_info_t)+dialinfo.file_name_len],sizeof(uint32_t)); + if (filename == NULL) + { + printf("file name malloc failed filename_len %d\n",dialinfo.file_name_len); + return ERRCODE_FAIL; + } + memcpy_s(filename,dialinfo.file_name_len,data+sizeof(msg_recv_single_dial_info_t),dialinfo.file_name_len); + filename[dialinfo.file_name_len] ='\0'; + //在runtime中备份一个安装文件名。 + memset_s(get_device_runtime_status()->current_dial_name,sizeof(get_device_runtime_status()->current_dial_name),0,sizeof(get_device_runtime_status()->current_dial_name)); + memcpy_s(get_device_runtime_status()->current_dial_name,sizeof(get_device_runtime_status()->current_dial_name),filename,dialinfo.file_name_len); + + 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;//表盘 + printf(" filetype = %d, file_name=%s, file_size=%d , dial_uid %04X ,dial_count %d, dial_filetype %d\n", + buffer_handle->file_recv_stat.file_type, + buffer_handle->file_recv_stat.file_name, + buffer_handle->file_recv_stat.file_size, + dialinfo.dial_uid, + dialinfo.dial_count, + dialinfo.file_type + + ); + buffer_handle->file_recv_stat.received_size = 0; + buffer_handle->file_recv_stat.lrcvalue = 0; + buffer_handle->receive_file_flag = 1; + + return ERRCODE_SUCC; + +} +static errcode_t install_dial(void) +{ + printf("install %s\n",get_device_runtime_status()->current_dial_name); + char *lzmapkgname =(char*)(get_device_runtime_status()->current_dial_name); + char *lzmaindex = strstr(lzmapkgname,".lzma"); + if (lzmaindex != NULL) + { + char dial_basename[64]={0}; + int dial_basenamelen = (lzmaindex - lzmapkgname); + printf("dial_basenamelen %d\n",dial_basenamelen); + if (dial_basenamelen>0 ) + { + memcpy_s(dial_basename,sizeof(dial_basename),get_device_runtime_status()->current_dial_name,dial_basenamelen); + } + else{ + return ERRCODE_FAIL; + } + printf("dial_basename %s\n",dial_basename); + char dialbin_filepath[128]={0}; + if (get_dial_file_path(dial_basename,strlen(dial_basename),dialbin_filepath,sizeof(dialbin_filepath)) != ERRCODE_SUCC) + { + return ERRCODE_FAIL; + } + printf("dialbin_filepath %s\n",dialbin_filepath); + char lzma_filepath[128]={0}; + if (get_file_recv_file_path(lzmapkgname,strlen(lzmapkgname),lzma_filepath,sizeof(lzma_filepath)) != ERRCODE_SUCC) + { + return ERRCODE_FAIL; + } + printf("lzma_filepath %s\n",lzma_filepath); + errcode_t ret = uapi_dial_pkg_decompress(lzma_filepath,dialbin_filepath); + printf("decode %s to %s , ret %X \n",lzma_filepath,dialbin_filepath, ret); + if ( ret == ERRCODE_SUCC) + return ERRCODE_SUCC; + else + return ERRCODE_FAIL; + }else{ + printf(".lzma not found\n"); + return ERRCODE_FAIL; + } + +} void decode_file_checksum(ble_read_data *buffer_handle) { uint8_t msg_crc = get_crc_from_lrc(buffer_handle->lrcvalue); - if (msg_crc == buffer_handle->crcvalue) + if ((msg_crc == buffer_handle->crcvalue) + || (buffer_handle->cmd_header.direction == MSG_DIRECTION_RECV_ANDROID )) { uint8_t file_crc = get_crc_from_lrc(buffer_handle->file_recv_stat.lrcvalue); uint8_t crc_recv = buffer_handle->data[sizeof(msg_header_t)]; - if (file_crc == crc_recv) +#if 0 + if ((file_crc == crc_recv) || + (buffer_handle->cmd_header.direction == MSG_DIRECTION_RECV_ANDROID)) +#else + if (file_crc == crc_recv) +#endif { ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,1); - do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_STARTOTA,NULL,0); + switch(buffer_handle->file_recv_stat.file_type) + { + case 1: //ota + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_STARTOTA,NULL,0); + break; + case 2://mp3 + + break; + case 3://dial + //TODO: 设置成当前下载的表盘 + if (install_dial() == ERRCODE_SUCC) + ble_reply_cmd(DIAL_INSTALL_REPY_CMD,1); + else + ble_reply_cmd(DIAL_INSTALL_REPY_CMD,0); + break; + default: + break; + } }else{ - ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,2); + ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,2); } }else{ ble_reply_cmd(FILE_CHECKSUM_RECV_CMD,0); @@ -4950,9 +5259,11 @@ void decode_file_checksum(ble_read_data *buffer_handle) void type2AE0Data(ble_read_data *buffer_handle) { uint16_t typeID = buffer_handle->cmd_header.cmdtype*256 + buffer_handle->cmd_header.cmdid; - printf("type2AE0Data typeID:0x%x datalen %d\r\n",typeID,buffer_handle->totalDataLen); + printf("type2AE0Data typeID:0x%04X datalen %d\r\n",typeID,buffer_handle->totalDataLen); bool checkcrc = (get_crc_from_lrc(buffer_handle->lrcvalue) == buffer_handle->crcvalue); - if( checkcrc == true ) + + if ( (checkcrc == true ) || + (buffer_handle->cmd_header.direction == MSG_DIRECTION_RECV_ANDROID)) { switch (typeID) //ID { @@ -4967,16 +5278,37 @@ void type2AE0Data(ble_read_data *buffer_handle) } break; case MP3_FILE_RECV_CMD: - + { + if (decode_mp3_json( buffer_handle) == ERRCODE_SUCC) + { + ble_reply_cmd(MP3_FILE_RECV_CMD,1); + }else{ + ble_reply_cmd(MP3_FILE_RECV_CMD,2); + } + } break; case DIAL_FILE_RECV_CMD: + { + if (decode_dial_info( buffer_handle) == ERRCODE_SUCC) + { + ble_reply_cmd(DIAL_FILE_RECV_CMD,1); + }else{ + ble_reply_cmd(DIAL_FILE_RECV_CMD,2); + } + } break; case FILE_CHECKSUM_RECV_CMD: decode_file_checksum(buffer_handle); break; - case EPO_DATA_RECV_CMD: - break; case SINGLE_DIAL_FILE_RECV_CMD: + if (decode_single_dial_info( buffer_handle) == ERRCODE_SUCC) + { + ble_reply_cmd(SINGLE_DIAL_FILE_RECV_CMD,1); + }else{ + ble_reply_cmd(SINGLE_DIAL_FILE_RECV_CMD,2); + } + break; + case EPO_DATA_RECV_CMD: break; default: break; @@ -5032,11 +5364,19 @@ errcode_t cancel_recv_file(ble_read_data *buffer_handle) fclose(buffer_handle->file_recv_stat.file); buffer_handle->file_recv_stat.file = NULL; } + if (buffer_handle->file_recv_stat.file_name != NULL) + { + free(buffer_handle->file_recv_stat.file_name); + buffer_handle->file_recv_stat.file_name=NULL; + } buffer_handle->file_recv_stat.recv_file_stat = -1; + ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败 } return ERRCODE_SUCC; } + + errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t event_size) { @@ -5054,8 +5394,14 @@ errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t buffer_handle->file_recv_stat.file = fopen("/update/update.fwpkg","w+"); printf("create file /update/update.fwpkg %X\n",buffer_handle->file_recv_stat.file); }else{ - buffer_handle->file_recv_stat.file = fopen(buffer_handle->file_recv_stat.file_name,"w+"); - printf("create file %s %X\n",buffer_handle->file_recv_stat.file_name,buffer_handle->file_recv_stat.file); + char filepath[128]={0}; + if (get_file_recv_file_path(buffer_handle->file_recv_stat.file_name,strlen(buffer_handle->file_recv_stat.file_name),filepath,sizeof(filepath)) == ERRCODE_SUCC) + { + buffer_handle->file_recv_stat.file = fopen(filepath,"w+"); + printf("create file %s %X\n",filepath,buffer_handle->file_recv_stat.file); + }else{ + printf("create file %s error %X\n",buffer_handle->file_recv_stat.file_name,buffer_handle->file_recv_stat.file); + } } if (buffer_handle->file_recv_stat.file == NULL) { @@ -5089,6 +5435,11 @@ errcode_t handle_recv_file(ble_read_data *buffer_handle,uint8_t *data, uint16_t fclose(buffer_handle->file_recv_stat.file); buffer_handle->file_recv_stat.file = NULL; } + if (buffer_handle->file_recv_stat.file_name != NULL) + { + free(buffer_handle->file_recv_stat.file_name); + buffer_handle->file_recv_stat.file_name=NULL; + } buffer_handle->file_recv_stat.recv_file_stat = 2; buffer_handle->receive_file_flag = 0; printf("handle_recv_file received success \n"); diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h index 3073a4673..ecacb8069 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h @@ -499,6 +499,25 @@ typedef struct }msg_get_sleep_param_info_t;//app获取睡眠设置 #pragma pack() +#pragma pack(1) +typedef struct +{ + uint16_t dial_uid;//dial UID + uint8_t file_name_len;//表盘名长度 0~255,不能为0 + // uint8_t *file_name;//表盘名称 + // uint8_t filecount;//文件个数 +}msg_recv_dial_info_t;//表盘资源展示说明 + +typedef struct +{ + uint16_t dial_uid;//dial UID + uint8_t dial_count;//文件编号, 1~255,即该主题表盘中的第几个文件,最大为表盘文件汇总信息中的文件数目 + uint8_t file_type;//0:表盘jSON文件(压缩后统一命名为local_page.lzma)1:图片文件(除缩略图外的其他图片)(背景图压缩后统一命名为main_bg.lzma) 2:缩略图:(压缩后统一命名为thumbnail.lzma) + uint8_t file_name_len;//文件名长度 6~255,不能为0,文件后缀统一为.lzma + // uint8_t *file_name;//文件名称 + // uint32_t file_size;//文件大小 +}msg_recv_single_dial_info_t;// +#pragma pack() #pragma pack(1) typedef struct @@ -560,6 +579,8 @@ TYPE:02 #define SET_BLE_NAME_CMD 0x0203 //修改蓝牙名称 #define SET_TRAIN_TARGET_CMD 0x0204 //设置训练目标 #define SET_address_book_CMD 0x020b //设置通讯录 +#define QUERY_DIAL_INSTALLED_PARAM_CMD 0x020D//获取某表盘ID是否已安装 + #define SYN_WATCH_LCD_PARAM_CMD 0x020E//同步屏幕参数app-watch #define SYN_VOICE_VIBRATION_PARAM_CMD 0x020f //同步参数app-watch #define SET_PHONE_INFOR_CMD 0x0210 //app发送手机信息 @@ -609,6 +630,7 @@ TYPE:05 */ #define FIND_PHONE_CMD 0x0501//查找手机 #define GET_CURR_TIME_CMD 0x0502 //手表获取系统时间 +#define DIAL_INSTALL_REPY_CMD 0x0504 //表盘安装状态恢复 #define SEND_PARI_SUCESS_CMD 0x0510 //发送配对成功消息 #define GET_TRANS_END_CMD 0x0520 //app发送文件传输已完成消息 #define SEND_FACTORY_RECORD_CMD 0x0530 //发送厂测结果 diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c index 9e134ca8d..fc71fc248 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleService.c @@ -1295,12 +1295,21 @@ void blesrv_service_recv_msg_handler(uint16_t srv_handle, uint8_t * msg_data, ui return ; } memcpy_s((blesrv_mail.msg_data),msg_len,msg_data,msg_len); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"g_blesrv_queue :%d ble_recv:mail.msg_data %x %x %x %x msg_data:%x %x %x\r\n",g_blesrv_queue,blesrv_mail.msg_data,blesrv_mail.msg_data[0],blesrv_mail.msg_data[1],blesrv_mail.msg_data[2],msg_data[0],msg_data[1],msg_data[2]); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"g_blesrv_queue:%d ble_recv:mail.msg_data %X %02X %02X %02X msg_data:%02X %02X %02X\r\n", + g_blesrv_queue, + blesrv_mail.msg_data, + blesrv_mail.msg_data[0], + blesrv_mail.msg_data[1], + blesrv_mail.msg_data[2], + msg_data[0], + msg_data[1], + msg_data[2] + ); ret = osal_msg_queue_write_copy(g_blesrv_queue, (void *)&blesrv_mail, sendlen , 0); if (ret != OSAL_SUCCESS) { - PRINT("Error blesrv Check send failed! err=0x%x! \r\n", ret); + PRINT("Error blesrv Check send failed! err=0x%X! \r\n", ret); } } @@ -1325,7 +1334,18 @@ static void blesrv_service_check_task(void const *arg) uint16_t server_handle = mail.service_handle; uint32_t msg_len = mail.msg_len; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"mail.msg_data:%x,g_blesrv_queue:%d ble_recv:%d %d %x %x %x mail.msg_data:%x %x %x %x\r\n",mail.msg_data,g_blesrv_queue,msg_len,server_handle,p_msgbuf[0],p_msgbuf[1],p_msgbuf[2],mail.msg_data ,mail.msg_data[0],mail.msg_data[1],mail.msg_data[2]); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"mail.msg_data:%X,g_blesrv_queue:%d ble_recv:%d %d %02X %02X %02X mail.msg_data: %02X %02X %02X\r\n", + mail.msg_data, + g_blesrv_queue, + msg_len, + server_handle, + p_msgbuf[0], + p_msgbuf[1], + p_msgbuf[2], + mail.msg_data[0], + mail.msg_data[1], + mail.msg_data[2]); + #if 1 if (server_handle == get_factory_ate_write_handl()) { diff --git a/code/sdk/drivers/peripheral/utils/custom_runtime.h b/code/sdk/drivers/peripheral/utils/custom_runtime.h index e2385f940..e915795d4 100644 --- a/code/sdk/drivers/peripheral/utils/custom_runtime.h +++ b/code/sdk/drivers/peripheral/utils/custom_runtime.h @@ -77,6 +77,7 @@ typedef struct uint8_t bt_earphone_connectstat; uint8_t android_app_connected; cat1_runtime_status_t cat1_runtime; + uint8_t current_dial_name[32]; } runtime_status_t;