From 9bc639349b4ce7e86b087f2dbf9e4130922fce50 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A2=81=E6=B8=85=E6=A2=A6?= <3449750381@qq.com> Date: Mon, 8 Jul 2024 14:04:39 +0000 Subject: [PATCH] Merge #480 into sdk602patch0626 from refs/changes/480/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 增加转换训练协议Id的接口函数 * refs/changes/480/head: (1 commits squashed) - 增加转换训练协议Id的接口函数 Signed-off-by: Caisking <3449750381@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/480 --- .../nativeui/traing/include/TraingModel.h | 3 + .../nativeui/traing/src/TraingModel.cpp | 68 +++++++++++++++---- 2 files changed, 56 insertions(+), 15 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h index a9b70a9b6..537a2056a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -136,6 +136,7 @@ namespace OHOS // 运动类型 enum class Exercisetype { + // 0:健身类 1:舞蹈类 2:休闲运动 3:球类 4:水上项目 5:冰上项目 6:极限运动 7:其他 FITNESS = 0, DANCE, LEISURE, @@ -299,6 +300,8 @@ namespace OHOS /*打印函数*/ void printf_data(SportData *data); + /*获取协议Id*/ + int GetBleSportId(Exercisetype sporttype, UIResourceTextId id); private: TraingModel(const TraingModel &) = delete; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index a6887356e..bf5c71671 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -125,7 +125,7 @@ extern "C" { return; } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"request %d\r\n", request->msgId); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "request %d\r\n", request->msgId); if (request->msgId == TOPIC_EVENT_ACTIVITY_UPDATE) { #if BLETEST @@ -246,11 +246,49 @@ namespace OHOS LIMIT_IMAGE, OTHER_IMAGE, }; + /*获取训练Id->协议*/ + int TraingModel::GetBleSportId(Exercisetype sporttype, UIResourceTextId id) + { + int offset = 0; + + switch (sporttype) + { + case Exercisetype::FITNESS: // 0~57 + offset = 0; + break; + case Exercisetype::DANCE: // 0~9 + offset = 58; + break; + case Exercisetype::LEISURE: // 0~23 + offset = 58 + 10; + break; + case Exercisetype::BALL: // 0~28 + offset = 58 + 10 + 24; + break; + case Exercisetype::WATER: // 0~23 + offset = 58 + 10 + 24 + 29; + break; + case Exercisetype::ICE: // 0~11 + offset = 58 + 10 + 24 + 29 + 24; + break; + case Exercisetype::EXTREME: // 0~9 + offset = 58 + 10 + 24 + 29 + 24 + 12; + break; + case Exercisetype::OTHER: // 0~8 + offset = 58 + 10 + 24 + 29 + 24 + 12 + 10; + break; + default: + offset = 0; + break; + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " offset %d id %d", offset, id); + return id - offset; + } /*获取运动类型图片*/ std::string TraingModel::GetSportType(Exercisetype sporttype) { int index = static_cast(sporttype); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " GetSportType index %d", index); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " GetSportType index %d", index); return sportImages[index]; } /*获取运动类型icon*/ @@ -354,14 +392,14 @@ namespace OHOS TraingCardView::GetInstance()->SetPopupViewStatus(HeartPopup, true); } // sportdata->duration = cyweeInfo->duration; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"normal sportdata->calories[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->heart); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "normal sportdata->calories[%d],sportdata->heart[%d] \r\n", sportdata->calories, sportdata->heart); switch (type) { case ExerciseClass::OUTDOOR: case ExerciseClass::INDOOR: sportdata->distance = cyweeInfo->distance; sportdata->steps = cyweeInfo->steps; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"indoor sportdata->distance[%d],sportdata->steps[%d] \r\n", sportdata->distance, sportdata->steps); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "indoor sportdata->distance[%d],sportdata->steps[%d] \r\n", sportdata->distance, sportdata->steps); break; case ExerciseClass::FREE_TRAINING: break; @@ -503,7 +541,7 @@ namespace OHOS free(start_date); // 释放内存 return; } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"start_date[%s]\r\n", start_date); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "start_date[%s]\r\n", start_date); sportdata->start_date = std::string(start_date); free(start_date); // 释放内存 @@ -516,7 +554,7 @@ namespace OHOS } sportdata->start_time = std::string(start_time); free(start_time); // 释放内存 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->start_time [%s]\r\n", (sportdata->start_time).c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->start_time [%s]\r\n", (sportdata->start_time).c_str()); Startstate = true; Endstate = false; // 确保"开始"和"结束"状态互斥 @@ -540,7 +578,7 @@ namespace OHOS Openstate = false; // 关闭运动标志位 free(end_time); // 释放内存 - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str()); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str()); #if READTEST if (SaveSportData() == false) { @@ -756,14 +794,14 @@ namespace OHOS Trainingdata data; data.src = Openingway; data.bt = static_cast(sportdata->sportType); - data.ty = static_cast(sportdata->sportId); + data.ty = static_cast(GetBleSportId(sportdata->sportType, sportdata->sportId)); data.st = static_cast(sportdata->starttime); data.sp = static_cast(sportdata->endtime); data.tgt = static_cast(sportdata->sportTagType); data.tg = static_cast(sportdata->tag); data.pg = static_cast(sportdata->goaldegree); data.du = static_cast(sportdata->duration); - data.ca = static_cast(sportdata->calories); + data.ca = static_cast(sportdata->calories * 10); data.di = static_cast(sportdata->distance); data.hr = static_cast(sportdata->avgheart); data.stp = static_cast(sportdata->steps); @@ -871,7 +909,7 @@ namespace OHOS { msg_get_train_data_info_t data; memset(&data, 0, sizeof(msg_get_train_data_info_t)); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"sportdata->starttime %d \r\n", sportdata->starttime); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sportdata->starttime %d \r\n", sportdata->starttime); data.st = sportdata->starttime; data.hr = sportdata->heart; data.ca = sportdata->calories; @@ -901,14 +939,14 @@ namespace OHOS if (ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_AUTO)) { freq = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_FREQ); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"freq is %d\r\n", freq); // 获取实时数据频率 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "freq is %d\r\n", freq); // 获取实时数据频率 if (sportdata->duration % freq == 0) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"SendLiveData is OK\r\n"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SendLiveData is OK\r\n"); SendLiveData(); // 发送实时数据 } } - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes); } int hour = g_motionTimes / NUM_TIME_HOUR; @@ -936,7 +974,7 @@ namespace OHOS return; } gTraingCardPresenter->ModifiesTime(); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"TraingTimerCallback\r\n"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingTimerCallback\r\n"); } /* 开启定时器 */ @@ -984,7 +1022,7 @@ namespace OHOS return; } g_startCounting = NULL; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"g_motionTimes:%d\r\n", sportdata->duration); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "g_motionTimes:%d\r\n", sportdata->duration); g_motionTimes = 0; WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DisableTimer!"); } -- 2.17.1