Merge branch 'xts_origin' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into... 148/1 148/head
authorDXY <1731678236@qq.com>
Wed, 8 May 2024 11:12:10 +0000 (19:12 +0800)
committerDXY <1731678236@qq.com>
Wed, 8 May 2024 11:12:10 +0000 (19:12 +0800)
1  2 
code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.h
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.h

@@@ -81,8 -81,19 +81,21 @@@ namespace OHO
  
              CONFIFMOFEL_ITEM_NOTIFY,//消息通知开关
  
 +            CONFIFMOFEL_ITEM_QUICK_AUXILIARY_PARAMETERS,//快捷辅助功能参数
 +
+             //喝水提醒相关
+             CONFIFMOFEL_ITEM_DRINK,//开关 0 关闭 1开始 2间隔提醒
+             CONFIFMOFEL_ITEM_DRINK_GOAL,//目标。ml
+             CONFIFMOFEL_ITEM_DRINK_START,//提醒开始时间 int类型 前16位小时,后16位分钟
+             CONFIFMOFEL_ITEM_DRINK_END,//提醒结束时间 int类型 前16位小时,后16位分钟
+             CONFIGMODEL_ITEM_DRINK_FREQ,//提醒频率 0:30分钟1:1小时2:2小时 3:3小时
+ 
+             //睡眠提醒相关
+             CONFIFMOFEL_ITEM_SLEEP, //开关
+             CONFIFMOFEL_ITEM_SLEEP_BEDTIME,//就寝时间
+             CONFIFMOFEL_ITEM_SLEEP_GET_UP,//起床时间
+             CONFIFMOFEL_ITEM_SLEEP_REMIND,//提前20分钟提醒开关
+ 
              CONFIGMODEL_ITEM_MAX,
          } ;
  
              {ConfigDataType::DATATYPE_INT,      "HeartRateDetected",        "0"     },// CONFIFMOFEL_ITEM_HEARTRATE_DETECTED//心率周期检测频率
              {ConfigDataType::DATATYPE_INT,      "HeartRateMax",             "0"     },// CONFIFMOFEL_ITEM_HEARTRATE_MAX//最大心率
              {ConfigDataType::DATATYPE_INT,      "HeartRateMin",             "0"     },// CONFIFMOFEL_ITEM_HEARTRATE_MIN//最小心率
 -
 -
 +            {ConfigDataType::DATATYPE_BOOL,      "Notify",             "0"     },// CONFIFMOFEL_ITEM_NOTIFY//消息通知开关
 +            {ConfigDataType::DATATYPE_INT,      "QuickAuxilParameter",             "0"     },// CONFIFMOFEL_ITEM_QUICK_AUXILIARY_PARAMETERS//快捷辅助功能参数
++
+ 
+             {ConfigDataType::DATATYPE_BOOL,     "NOTIFY",             "false"     },// CONFIFMOFEL_ITEM_HEARTRATE_MIN//最小心率
+ 
+             {ConfigDataType::DATATYPE_INT,     "drink",              "0" },// CONFIFMOFEL_ITEM_DRINK,//开关 0 关闭 1开始 2间隔提醒
+             {ConfigDataType::DATATYPE_INT,     "drinkgoal",              "0" },// CONFIFMOFEL_ITEM_DRINK_GOAL,//目标。ml
+             {ConfigDataType::DATATYPE_INT,     "drinkstart",              "0" }, // CONFIFMOFEL_ITEM_DRINK_START,//提醒开始时间 int类型 前16位小时,后16位分钟
+             {ConfigDataType::DATATYPE_INT,     "drinkend",              "0" }, // CONFIFMOFEL_ITEM_DRINK_END,//提醒结束时间 int类型 前16位小时,后16位分钟
+             {ConfigDataType::DATATYPE_INT,     "drinkfreq",              "0" }, // CONFIGMODEL_ITEM_DRINK_FREQ,//提醒频率
          };
          ConfigModel();                                        // 私有构造函数,确保无法在外部实例化
          ConfigModel(const ConfigModel &) = delete;            // 禁止拷贝构造
@@@ -159,9 -169,14 +169,18 @@@ void ble_SetAlarmInfo(uint32_t time_hou
  
  void ble_delet_all_AlarmInfo(void);
  
 +void set_quick_auxiliary_paramters(uint8_t id);//设置快捷辅助功能参数id
 +int get_quick_auxiliary_paramters(void);//获取快捷辅助功能参数id
 +
+ void ble_set_drink_remind(msg_drink_info_t);
+ 
+ void ble_get_drink_remind(msg_drink_info_t *data);
+ 
+ 
+ void ble_get_sleep_remind(msg_get_sleep_param_info_t *data);
+ 
+ void ble_set_sleep_remind(msg_get_sleep_param_info_t data);
++
  #ifdef __cplusplus
  #if __cplusplus
  }
@@@ -341,23 -340,40 +341,41 @@@ void sendtraningstateend(void
  \r
  void sendtraningdata(msg_get_train_data_info_t *data)\r
  {\r
-     cJSON* dataJSON=cJSON_CreateObject();\r
+     cJSON* dataJSON = cJSON_CreateObject();\r
+     \r
+     if (dataJSON == NULL) {\r
+         printf("Error creating JSON object\n");\r
+         return;\r
+     }\r
      \r
 -    cJSON_AddNumberToObject(dataJSON, "st", data->st);\r
 -    cJSON_AddNumberToObject(dataJSON, "hr", data->hr);\r
 -    cJSON_AddNumberToObject(dataJSON, "ca", data->ca);\r
 -    cJSON_AddNumberToObject(dataJSON, "di", data->di);\r
 -    cJSON_AddNumberToObject(dataJSON, "stp", data->stp);\r
 -    cJSON_AddNumberToObject(dataJSON, "ti", data->ti);\r
 +    cJSON_AddNumberToObject(dataJSON,"st",data->st);\r
 +    cJSON_AddNumberToObject(dataJSON,"hr",data->hr);\r
 +    cJSON_AddNumberToObject(dataJSON,"ca",data->ca);\r
 +    cJSON_AddNumberToObject(dataJSON,"di",data->di);\r
 +    cJSON_AddNumberToObject(dataJSON,"stp",data->stp);\r
 +    cJSON_AddNumberToObject(dataJSON,"ti",data->ti);\r
 +    cJSON_AddNumberToObject(dataJSON,"pc",data->pc);\r
+ \r
      char *jsonString = cJSON_PrintUnformatted(dataJSON);\r
      \r
-     uint32_t data_len=strlen(jsonString);\r
+     if (jsonString == NULL) {\r
+         printf("Error printing JSON to string\n");\r
+         cJSON_Delete(dataJSON);\r
+         return;\r
+     }\r
+     \r
+     uint32_t data_len = strlen(jsonString);\r
      cJSON_Delete(dataJSON);\r
-     printf("发送训练实时数据%d %s\r\n",data_len,jsonString);\r
-     send_big_data(0,jsonString,data_len,data_len,1,1,0x0f,1);\r
-     cJSON_free(jsonString);\r
      \r
+     if (data_len == 0) {\r
+         printf("Error: JSON string length is 0\n");\r
+         return;\r
+     }\r
+     \r
+     printf("发送训练实时数据 %d %s\n", data_len, jsonString);\r
+     send_big_data(0, jsonString, data_len, data_len, 1, 1, 0x0f, 1);\r
+     \r
+     cJSON_free(jsonString);\r
  }\r
  //发送ble数据\r
  uint8_t phone_mac[6];//手机下发的mac地址 第一次连接为空 \r