增加runtime记录项:心率底层记录,电池电压变化 1549/1
authorpenglei <1624952103@qq.com>
Sat, 21 Dec 2024 08:01:12 +0000 (16:01 +0800)
committerpenglei <1624952103@qq.com>
Sat, 21 Dec 2024 08:01:12 +0000 (16:01 +0800)
code/sdk/application/battery/service/battery_driver.cpp
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp
code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp
code/sdk/drivers/peripheral/ppg/service/ppg_service.h
code/sdk/drivers/peripheral/utils/custom_save_runtime.h

index 7125b66..80e0ff3 100644 (file)
@@ -620,6 +620,17 @@ static bool adc_get_sample_result(float *voltage, uint8_t channel)
     {
         *voltage = adc_trans_systick_to_battery_voltage(stick);
         get_avg_voltage(voltage);
+        int IntPart = (int)(*voltage);
+        int DecimalPart = (int)((*voltage - IntPart) * 1000);
+
+        int DecimalPart_1 = (int)(DecimalPart / 100);
+        int DecimalPart_2 = (int)((DecimalPart % 100) / 10);
+        int DecimalPart_3 = (int)(DecimalPart % 10);
+        // PRINT("*voltage : %.3f \n",*voltage);
+        // PRINT("DecimalPart_1 : %d , DecimalPart_2 : %d DecimalPart_3 : %d \n",DecimalPart_1,DecimalPart_2,DecimalPart_3);
+        uint16_t value = DecimalPart_1 << 8 | DecimalPart_2 << 4 | DecimalPart_3 << 0;
+        uapi_save_runtime_log(RUNTIME_LOG_BAT_VOL | value);
+        // PRINT("RUNTIME_LOG_BAT_VOL | value : %x \n",RUNTIME_LOG_BAT_VOL | value);
         if(percernt_installized)
         {
              //历史电量不为0 则开机第一个电量为历史电量
index c4cc3ab..b5ad6df 100644 (file)
@@ -415,7 +415,11 @@ void HeartModel::Heart_Control(HeartState state, HeartCheck check) {
     display_counter_ = 0;\r
     displayheart = 0;\r
     uint8_t md = PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST;\r
-    send_ppg_cmd_msg(md);\r
+    errcode_t ret = send_ppg_cmd_msg(md);\r
+    if(ret != ERRCODE_SUCC)\r
+    {\r
+        send_ppg_cmd_msg(md);\r
+    }\r
     heartstate = false;\r
     if (checkstate == HeartCheck::CARDCHECK) {\r
       //重置传感器状态\r
index 2c801e8..10bf174 100644 (file)
@@ -235,11 +235,11 @@ uint32_t ppg_resume(void)
 }
 
 
-void send_ppg_cmd_msg(int cmd)
+errcode_t send_ppg_cmd_msg(int cmd)
 {
-    int ret;
+    errcode_t ret;
     if (ppg_sensor_exist == false)
-        return ;
+        return OSAL_FAILURE;
 
     PPG_CMD_TYPE_T mail = 0;
     mail = cmd;
@@ -248,7 +248,7 @@ void send_ppg_cmd_msg(int cmd)
     if (ret != OSAL_SUCCESS) {
         PRINT_ERR("Error ppg Check MSG 0x%02X send failed! err=0x%x! \r\n",cmd, ret);
     }
-    
+    return ret;
 }
 
 static void ppg_service_check_task(void  *arg)
@@ -284,6 +284,7 @@ static void ppg_service_check_task(void  *arg)
             continue;
         }else if (mail == PPG_SERVICE_CMD_TYPE_DO_PPG_TEST){
             //do_cywee_service_check_msg(CYWEE_SERVICE_CMD_OPEN_GET_ACC,NULL);
+            uapi_save_runtime_log(RUNTIME_LOG_HEART_DRIVER_MEASURE);
             cmd = "hrs";
             enable = 1;
             uint8_t cnt = pm_veto_get_id_cnt(PM_ID_HEART);
@@ -322,6 +323,7 @@ static void ppg_service_check_task(void  *arg)
             enable = 0;
             wear_mode_state = 0;
         }else if (mail == PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST){
+            uapi_save_runtime_log(RUNTIME_LOG_HEART_DRIVER_MEASURE_END);
             cmd = "hrs";
             enable = 0;
             uint8_t cnt = pm_veto_get_id_cnt(PM_ID_HEART);
index 9e2f8ff..35d2563 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-03-27 09:07:00
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-11-23 22:07:09
+ * @LastEditTime: 2024-12-21 11:00:33
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/service/ppg_service.h
  * @Description: 
  * 
@@ -51,7 +51,7 @@ void uapi_ppg_service_deinit(void);
 /**
  * 测试指令 参数cmd 选项: PPG_SERVICE_CMD_START_CHECK,PPG_SERVICE_CMD_STOP_CHECK
 */
-void send_ppg_cmd_msg(int cmd);
+errcode_t send_ppg_cmd_msg(int cmd);
 
 float ppg_service_get_fAzimuth(void);
 int ppg_service_get_iAccuracy(void);
index 69f86ab..da2fd7c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  *@Author:luozheng 1732036298@qq.com
  *@Date:2024-12-18 10:27:52
- * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-12-20 16:39:00
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2024-12-21 11:52:18
  *@FilePath:/FD230/code/sdk/drivers/peripheral/utils/custom_save_runtime.h
  */
 /**
@@ -130,6 +130,10 @@ extern "C"
     RUNTIME_LOG_HEART_SPORT_MEASURE,
     // 运动测量心率暂停或结束
     RUNTIME_LOG_OXYGEN_SPORT_MEASURE_END,
+    //底层测量心率
+    RUNTIME_LOG_HEART_DRIVER_MEASURE,
+    //底层测量心率结束
+    RUNTIME_LOG_HEART_DRIVER_MEASURE_END,
     /*******************************/
 
     // 佩戴
@@ -218,6 +222,9 @@ extern "C"
     
     RUNTIME_LOG_VOTE_ID =0x1300,
 
+    //电压变化
+    RUNTIME_LOG_BAT_VOL =0xf000,
+
   } runtime_log_cmd_Id;
 
   errcode_t uapi_save_runtime_log(uint16_t cmd);