From: Caisking <3449750381@qq.com> Date: Wed, 24 Apr 2024 08:15:24 +0000 (+0800) Subject: 训练实时数据发送 X-Git-Tag: release_V1.2.70_20241020_135402~1135 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=refs%2Fchanges%2F77%2F1;p=mirrors%2FFD230.git 训练实时数据发送 --- 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 ae192abd2..dcb2d9cfb 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -287,6 +287,8 @@ namespace OHOS bool GetSportOpenState(); /*获取训练量是否达标*/ bool GetMomentum(); + /*发送实时数据*/ + void SendLiveData(); std::string GetStartTiemStr(); std::string GetEndTiemStr(); @@ -307,6 +309,8 @@ namespace OHOS int sportTag_ = 0; // 训练目标 int totalHeartRate = 0; int countHeartRate = 0; + int freq = 0; // 训练频率 + bool Gettagstuats{false}; // 训练达标标志位 bool Startstate{false}; // 开始训练标志位 bool Endstate{false}; // 结束训练标志位 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 12ecdda02..7d1f01adf 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -27,6 +27,7 @@ #include "vibrator_service.h" #include #include +#include "bleEvent.h" #define TIMER 1 #define BLETEST 0 @@ -167,6 +168,7 @@ namespace OHOS TraingModel ::TraingModel() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::TraingModel()"); + freq = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_FREQ); // sportdata->Initialize(); // 初始化结构体 } TraingModel ::~TraingModel() @@ -621,8 +623,8 @@ namespace OHOS // PRINT("end_time [%s]\r\n", end_time); sportdata->end_time = std::string(end_time); Openstate = false; // 关闭运动标志位 - - free(end_time); // 释放内存 + + free(end_time); // 释放内存 PRINT("sportdata->end_time [%s]\r\n", (sportdata->end_time).c_str()); /*存储正常数据[运动量达标]*/ @@ -811,12 +813,12 @@ namespace OHOS data.src = Openingway; data.bt = static_cast(sportdata->sportType); data.ty = static_cast(sportdata->sportId); - data.st = static_cast((sportdata->starttime) * 1000); - data.sp = static_cast((sportdata->endtime) * 1000); + data.st = static_cast((sportdata->starttime) / 1000); + data.sp = static_cast((sportdata->endtime) / 1000); data.tgt = static_cast(sportdata->sportTagType); data.tg = static_cast(sportdata->tag); data.pg = static_cast(sportdata->goaldegree); - data.du = static_cast((sportdata->duration) * 60); + data.du = static_cast((sportdata->duration) / 60); data.ca = static_cast(sportdata->calories); data.di = static_cast(sportdata->distance); data.hr = static_cast(sportdata->avgheart); @@ -867,6 +869,19 @@ namespace OHOS } return MomentumFlag; } + /*发送实时数据*/ + void TraingModel::SendLiveData() + { + msg_get_train_data_info_t data; + data.st = sportdata->starttime / 1000; + data.hr = sportdata->heart; + data.ca = sportdata->calories; + data.stp = sportdata->steps; + data.ti = sportdata->intensity; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SendLiveData Begin!"); + sendtraningdata(&data); // 发送数据函数 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SendLiveData Stop!"); + } /* -------------------------------------------------------------------------- */ #if TIMER /* 时间显示 */ @@ -881,6 +896,10 @@ namespace OHOS if (g_motionTimes != 0) { sportdata->duration = g_motionTimes; // 训练时长 + if (sportdata->duration % freq == 0) + { + SendLiveData(); // 发送实时数据 + } PRINT("duration:[%d] g_motionTimes[%d]\r\n", sportdata->duration, g_motionTimes); } 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 7bbb6270e..d28b2d4c1 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h @@ -610,7 +610,7 @@ void senfindphoneSend(uint8_t flag); void readDevDataBle(uint8_t *crcnum,uint16_t len,uint8_t crcvalue); void free_ble_data(void); -void sendtraningdata(msg_get_train_data_info_t *data); +void sendtraningdata(msg_get_train_data_info_t *data);//发送实时数据 #ifdef __cplusplus } #endif