/*设置时间*/
void TraingModel::SetTimestamp()
{
- uint64_t time;
- if (uapi_get_timestampe_ms(&time) != ERRCODE_SUCC)
+ uint32_t time;
+ if (uapi_get_timestampe_ss(&time) != ERRCODE_SUCC)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to get timestamp");
return;
sportdata->Reset(); // 重置结构体
/*将Model的成员变量赋值到结构体里面*/
- printf("SetTimestamp::time:%u \r\n", time);
+ printf("SetTimestamp::time:%u \r\n", time);
sportdata->starttime = time;
sportdata->sportType = sportType_; // 训练类型
Gettagstuats = false; // 重置训练达标标志位
data.src = Openingway;
data.bt = static_cast<uint32_t>(sportdata->sportType);
data.ty = static_cast<uint32_t>(sportdata->sportId);
- data.st = static_cast<uint32_t>((sportdata->starttime) / 1000);
- data.sp = static_cast<uint32_t>((sportdata->endtime) / 1000);
+ data.st = static_cast<uint32_t>(sportdata->starttime);
+ data.sp = static_cast<uint32_t>(sportdata->endtime);
data.tgt = static_cast<uint32_t>(sportdata->sportTagType);
data.tg = static_cast<uint32_t>(sportdata->tag);
data.pg = static_cast<uint32_t>(sportdata->goaldegree);
msg_get_train_data_info_t data;
memset(&data, 0, sizeof(msg_get_train_data_info_t));
PRINT("sportdata->starttime %d \r\n", sportdata->starttime);
- data.st = (uint32)(sportdata->starttime / 1000);
+ data.st = sportdata->starttime;
data.hr = sportdata->heart;
data.ca = sportdata->calories;
data.stp = sportdata->steps;
return ERRCODE_SUCC;
}
+/*获取秒级时间戳*/
+errcode_t uapi_get_timestampe_ss(uint32_t *tm)
+{
+ if (tm == NULL) {
+ return ERRCODE_FAIL;
+ }
+ struct timeval tv = { 0 };
+
+ if (gettimeofday(&tv, NULL)) {
+ return ERRCODE_FAIL;
+ }
+ *tm = (uint32_t)(tv.tv_sec);
+ printf("[timestamp:%u]\n", (uint32_t)(tv.tv_sec));
+ return ERRCODE_SUCC;
+}
+
#define BITS_PER_BYTE 8
#define HEXADECIMAL 16
#define DECIMAL 10