void DialModelTime::UpdateTime()
{
-#if 0
+#if 1
struct timeval tv;
gettimeofday(&tv, NULL);
tblock_ = localtime(&tv.tv_sec);
int realMS = tblock_->tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS;
-#endif
+#elif
/*优化为更安全的localtime_r()*/
struct timeval tv;
gettimeofday(&tv, NULL);
struct tm tblock;
localtime_r(&tv.tv_sec, &tblock);
int realMS = tblock.tm_sec * S_MS_US_TRANS + tv.tv_usec / S_MS_US_TRANS;
+#endif
angleH_ = ConvertHandValueToAngle(tblock_->tm_hour, HALF_DAY_IN_HOUR, tblock_->tm_min, ONE_HOUR_IN_MINUTE);
angleM_ = ConvertHandValueToAngle(tblock_->tm_min, ONE_HOUR_IN_MINUTE, tblock_->tm_sec, ONE_MINUTE_IN_SECOND);
bool Gettagstuats{false}; // 训练达标标志位
bool Startstate{false}; // 开始训练标志位
bool Endstate{false}; // 结束训练标志位
- bool Openingway{false}; // 运动开启方式
+ bool Openingway{false}; // 运动开启方式 [0 手表 1 app]
bool MomentumFlag{false}; // 训练量达标标志位
bool Openstate{false}; // 运动是否开始
/*设置运动状态*/
void TraingModel::SetSportState(ExerciseState state)
{
- if (state != ExerciseState::General)
+ /*运动开始并且是app发起的运动*/
+ if (state != ExerciseState::General && Openingway == true)
{
sendtraningstatedata(static_cast<uint8_t>(state), sportdata->duration);
}