增加发送手表运动结束状态
authorCaisking <3449750381@qq.com>
Tue, 30 Apr 2024 01:41:09 +0000 (09:41 +0800)
committerCaisking <3449750381@qq.com>
Tue, 30 Apr 2024 01:41:09 +0000 (09:41 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h

index e47768f..3b41e35 100644 (file)
@@ -247,10 +247,21 @@ namespace OHOS
     /*设置运动状态*/
     void TraingModel::SetSportState(ExerciseState state)
     {
-        /*运动开始并且是app发起的运动*/
-        if (state != ExerciseState::General && Openingway == true)
+        if (state != ExerciseState::General)
         {
-            sendtraningstatedata(static_cast<uint8_t>(state), sportdata->duration);
+            /*运动开始并且是app发起的运动*/
+            if (Openingway == true)
+            {
+                sendtraningstatedata(static_cast<uint8_t>(state), sportdata->duration);
+            }
+            else
+            {
+                /*手表发起并且是结束状态*/
+                if (state == ExerciseState::End)
+                {
+                    sendtraningstateend();
+                }
+            }
         }
         sportState_ = state;
     }
@@ -358,6 +369,8 @@ namespace OHOS
                 sportdata->sportTagType = sportTagType_;
                 sportdata->tag = sportTag_;
             }
+            
+            (Openingway == true) ? (printf("app发起运动\n")) : (printf("手表发起运动\n"));
 
             char *start_date = (char *)malloc(9 * sizeof(char)); // 分配内存给start_date
             if (uapi_get_YYMMDD_Time(start_date, '/') != ERRCODE_SUCC)
index ff58c42..ac0ba98 100644 (file)
@@ -330,6 +330,16 @@ void sendtraningstatedata(uint8_t state ,uint16_t time)
     \r
 }\r
 \r
+//发送训练结束状态[手表发起]\r
+void sendtraningstateend(void)\r
+{\r
+    char data[1]={0};\r
+    uint32_t data_len=1;\r
+    data[0]=0;  //[0 结束]\r
+    printf("发送训练状态结束%d\r\n",data[0]);\r
+    send_big_data(0,data,data_len,data_len,1,1,0x51,5);\r
+}\r
+\r
 void sendtraningdata(msg_get_train_data_info_t *data)\r
 {\r
     cJSON* dataJSON=cJSON_CreateObject();\r
index 005c1c8..1e5e622 100644 (file)
@@ -626,6 +626,9 @@ void free_ble_data(void);
 void sendtraningdata(msg_get_train_data_info_t *data);
 
 void sendtraningstatedata(uint8_t state ,uint16_t time);
+
+void sendtraningstateend(void);
+
 #ifdef __cplusplus
 }
 #endif