默认关闭心率广播,debug界面增加心率广播开关 1458/1 1458/head 1459/target/1
authorpenglei <1624952103@qq.com>
Sat, 23 Nov 2024 14:27:44 +0000 (22:27 +0800)
committerpenglei <1624952103@qq.com>
Sat, 23 Nov 2024 14:27:44 +0000 (22:27 +0800)
code/sdk/application/wearable/service/msg_center/src/notify/debug_output_notification/debug_output_notification.cpp
code/sdk/drivers/peripheral/ppg/hx3695/hx3695.c
code/sdk/drivers/peripheral/ppg/hx3695/hx3695.h
code/sdk/drivers/peripheral/ppg/service/ppg_service.cpp
code/sdk/drivers/peripheral/ppg/service/ppg_service.h

index 78d7eaf..13ffba3 100644 (file)
@@ -57,6 +57,7 @@
 #include <cstring>  
 #include <cstdint> 
 #include "displaybrightness/include/DisplayBrightnessModel.h"
+#include "ppg_service.h"
 namespace OHOS
 {
     /**************************************************************************************************** */
@@ -158,6 +159,8 @@ namespace OHOS
         debugOutputItemInfo[index++] = {index, "battery_percent"};
         //离线日志开关控制窗口,需要采用 ./autobuild.sh uoffline 【CONFIG_DFX_SUPPORT_OFFLINE_LOG_FILE=1】编译才有效
         debugOutputItemInfo[index++] = {index, "offline_log"}; 
+        //心率广播
+        debugOutputItemInfo[index++] = {index, "hrs_ble_swtich"}; 
 
         usedLen = index;
         /* -------------------------------- Add data -------------------------------- */
@@ -729,6 +732,21 @@ namespace OHOS
         //   viewIndex = GetCurViewIndex();
           return true; //进行UI刷新
         }
+        else if (viewId == "hrs_ble_switch") {
+          if (toggleButtonOffline) {
+            if (toggleButtonOffline->GetState() == false) {
+                send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_CLOSE_HRS_BLE);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"hrs_ble_switch false");
+            }
+            else {
+                send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_OPEN_HRS_BLE);
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"hrs_ble_switch true");
+            }
+          } else {
+             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"组件不存在");
+          }
+            return true; //进行UI刷新
+        }
         else // 如果点击的是列表中的itemview
         {
             DebugOutputItemView *debugOutputItemView = static_cast<DebugOutputItemView *>(&view);
@@ -807,9 +825,22 @@ namespace OHOS
             if (toggleButtonOffline) {
               if (toggleButtonOffline->IsVisible() == false) {
                 toggleButtonOffline->SetVisible(true);
+                toggleButtonOffline->SetViewId("offline_log_switch");
                 }
               }
             break;
+        case 18:
+            // str = get_hrs_ble_status();
+            str = "";
+            if(toggleButtonOffline) 
+            {
+              if(toggleButtonOffline->IsVisible() == false) 
+                {
+                    toggleButtonOffline->SetViewId("hrs_ble_switch");
+                    toggleButtonOffline->SetVisible(true);
+                }
+            }
+            break;
         default:
             str = "--";
             break;
index efb52c5..bbdbee1 100644 (file)
@@ -68,7 +68,7 @@ int32_t PPG_buf_vec[8];
 // #include "sys_init.h"\r
 // #include "cwm_api.h"\r
 \r
-#define HANKCREAT_APK 1\r
+static uint8_t hrs_ble_falg = 0;\r
 #define PPG_DATA_LEN_MAX 17\r
 int32_t s_buf[256];\r
 uint32_t cnt_num = 0;\r
@@ -2715,6 +2715,17 @@ static void get_avg_hrs(int32_t hrs)
     }\r
 }\r
 \r
+void hx3695_set_hrs_ble_swtich(uint8_t cmd)\r
+{\r
+  hrs_ble_falg = cmd;\r
+  // PRINT("hrs_ble_falg : %d \n",hrs_ble_falg);\r
+}\r
+\r
+uint8_t hx3695_get_hrs_ble_swtich(void)\r
+{\r
+  uint8_t cmd = hrs_ble_falg;\r
+  return cmd;\r
+}\r
 \r
 void hx3695_wearstatus_update(void)\r
 {\r
@@ -3095,8 +3106,7 @@ void hx3695_hrs_ppg_Int_handle(void)
     ble_rawdata_send_handler();\r
 #endif\r
 \r
-\r
-#if HANKCREAT_APK\r
+    if(hrs_ble_falg)\r
     {\r
         uint8_t encoded_hrm[PPG_DATA_LEN_MAX] = {0};//PPG_DATA_LEN_MAX>17会导致APP连接提示定义设备与所选类型不匹配\r
         uint8_t red_bit = 0;\r
@@ -3146,7 +3156,6 @@ void hx3695_hrs_ppg_Int_handle(void)
             //     sizeof(encoded_hrm)/sizeof(encoded_hrm[0]), ATT_OP_NOTIFY);//heartrate \r
         }\r
     }\r
-#endif\r
 \r
 \r
 ////////////////////////////////////////////////////////////////////////////////////\r
@@ -3535,7 +3544,7 @@ void hx3695_spo2_ppg_Int_handle(void)
     }\r
 #endif\r
 \r
-#if HANKCREAT_APK\r
+if(hrs_ble_falg)\r
 {\r
 \r
         uint8_t encoded_hrm[PPG_DATA_LEN_MAX] = {0};//PPG_DATA_LEN_MAX>17会导致APP连接提示定义设备与所选类型不匹配\r
@@ -3589,7 +3598,6 @@ void hx3695_spo2_ppg_Int_handle(void)
               ble_ppgtest_server_send_input_report(encoded_hrm,PPG_DATA_LEN_MAX);\r
         }\r
     }\r
-#endif\r
 \r
 \r
 /////////////////////////////////////////////////////////////////////////////////////////////////\r
index cd2d55f..228abb1 100644 (file)
@@ -299,6 +299,8 @@ void wear_mode_timeout_handler(void * p_context);
 void Efuse_Mode_Check(void);\r
 void hx3695_wearstatus_update(void);\r
 void hx3695_unwearstatus_update(void);\r
+void hx3695_set_hrs_ble_swtich(uint8_t cmd);\r
+uint8_t hx3695_get_hrs_ble_swtich(void);\r
 #include "hx3695_hal.h"\r
 \r
 #endif\r
index 934be63..0e4634f 100644 (file)
@@ -331,6 +331,16 @@ static void ppg_service_check_task(void  *arg)
             cmd = "spo2";
             enable = 0;
         }
+        else if (mail == PPG_SERVICE_CMD_TYPE_OPEN_HRS_BLE)
+        {
+            hx3695_set_hrs_ble_swtich(1);
+            continue ;
+        }
+        else if (mail == PPG_SERVICE_CMD_TYPE_CLOSE_HRS_BLE)
+        {
+            hx3695_set_hrs_ble_swtich(0);
+            continue ;
+        }
         if (ppg_service_running_stat == true && enable ==1 )
         {
             PRINT_ERR("ppg service already started! \r\n");
index ff1a26c..9e2f8ff 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-03-27 09:07:00
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-07-09 16:49:38
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2024-11-23 22:07:09
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/service/ppg_service.h
  * @Description: 
  * 
@@ -43,6 +43,8 @@ extern "C" {
 #define PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST 0x21
 #define PPG_SERVICE_CMD_TYPE_DO_LED_OFF_MODE_TEST 0x22
 #define PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST 0x23
+#define PPG_SERVICE_CMD_TYPE_OPEN_HRS_BLE 0x24
+#define PPG_SERVICE_CMD_TYPE_CLOSE_HRS_BLE 0x25
 
 errcode_t uapi_ppg_service_init(void);
 void uapi_ppg_service_deinit(void);