优化原像心率计算 1950/3
authorpenglei <1624952103@qq.com>
Thu, 10 Jul 2025 09:19:51 +0000 (17:19 +0800)
committerpenglei <1624952103@qq.com>
Thu, 10 Jul 2025 09:19:51 +0000 (17:19 +0800)
code/sdk/drivers/boards/brandy_evb/board_config/board_w9.h
code/sdk/drivers/peripheral/ppg/hal/ppg_hal.c
code/sdk/drivers/peripheral/ppg/hal/ppg_hal.h
code/sdk/drivers/peripheral/ppg/pah8009/algorithm/pah_hr/V303009/pxialg.h
code/sdk/drivers/peripheral/ppg/pah8009/algorithm/pah_hr/V303009/test_library_HRD.c
code/sdk/drivers/peripheral/ppg/pah8009/sensor/pah800x_main.c
code/sdk/drivers/peripheral/ppg/pah8009/sensor/pah800x_main.h

index e42d63c..7921e4d 100644 (file)
@@ -343,7 +343,7 @@ const hal_gpio_config_t g_gpio_function_config[PIN_MAX_NUMBER] = {
 #endif
 #endif
 #ifdef ROTARYENCODER_MIXO
-    // {   S_AGPIO_L0, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE,  mixo_int_callback},
+    // {   S_AGPIO_L0, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_FALLING_EDGE,  mixo_int_callback},
 #endif
 };
 /**
index a523acf..65b7e20 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-03-13 15:08:38
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2025-06-25 15:10:29
+ * @LastEditTime: 2025-07-10 17:18:40
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hal.c
  * @Description: 
  * 
@@ -113,7 +113,7 @@ uint16_t ppg_get_chip_id(void)
 #elif defined PPG_GH3X2X
     // chip_id = GH3X2X_AFE_GetChipId();
 #endif
-        ppg_power_off();
+    ppg_power_off();
     return chip_id;
 }
 
index 8cda8ad..e2b9ebc 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: penglei 1624952103@qq.com
  * @Date: 2024-06-07 11:18:26
  * @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2025-06-09 11:26:55
+ * @LastEditTime: 2025-07-09 16:12:34
  * @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/ppg/ppg_hal.h
  * @Description: 
  * 
@@ -17,7 +17,7 @@ extern "C" {
 #endif /* __cplusplus */
 
 #include "stdint.h"
-#include "tyhx_hrs_custom.h"
+
 
 #define AGC_TIMER_MODE 0
 #define HRS_TIMER_MODE 1
@@ -28,7 +28,7 @@ extern "C" {
 #elif defined PPG_PAH8009
 #define PPG_CHIP_ID 0x8008
 #elif defined PPG_GH3X2X
-#define PPG_CHIP_ID GH3X2X_CHIP_ID
+#define PPG_CHIP_ID 0x3
 #else
 #define PPG_CHIP_ID 0
 #endif
index ac2b98c..bada56b 100644 (file)
@@ -689,8 +689,8 @@ PXIALG_API uint8_t PxiAlg_DecodeProcess(uint32_t data, int touch_flag, float tim
 PXIALG_API uint8_t  PxiAlg_Entrance_0(pah8series_data_t *pah8series_data);\r
 PXIALG_API uint8_t  PxiAlg_Entrance(pah8series_data_t *pah8series_data);\r
 PXIALG_API uint8_t  PxiAlg_EntranceD(pah8series_data_t *pah8series_data);\r
-PXIALG_API uint32_t PxiAlg_Query_Mem_Size();\r
-PXIALG_API uint8_t PxiAlg_GetHrUpdateFlag();\r
+PXIALG_API uint32_t PxiAlg_Query_Mem_Size(void);\r
+PXIALG_API uint8_t PxiAlg_GetHrUpdateFlag(void);\r
 \r
 PXIALG_API void PxiAlg_SetData_Seg(pah8series_data_t *pah8series_data);\r
 PXIALG_API uint8_t PxiAlg_Process_Seg(uint8_t *is_finished);\r
index 4cecb6b..204d613 100644 (file)
@@ -5,12 +5,12 @@
 #include "pah800x_main.h"\r
 #include "pah800x_bsp.h"\r
 #include <math.h>  \r
+#include "pxialg.h"\r
+#include "pxivar.h"\r
+\r
 //#include "nrf_delay.h"\r
 #define array_szie(arr) (sizeof(arr) / sizeof(arr[0]))\r
 \r
-\r
-\r
-\r
 void test_library_HRD(void)\r
 {\r
        int i               = 0;\r
@@ -110,3 +110,8 @@ void test_library_HRD(void)
 \r
     return;\r
 }\r
+\r
+void log_printf(char *s, float f)\r
+{\r
+    printf("%s: %f\n", s, f);\r
+}
\ No newline at end of file
index e5d0679..068b255 100644 (file)
@@ -347,8 +347,9 @@ void pah_sensor_stop(void)
     {\r
         touch_sensor_disable();\r
     }\r
-    pah_800x_deinit(&_main.pah_800x);      \r
-      \r
+    pah_800x_deinit(&_main.pah_800x);   \r
+\r
+    hr = 0;   \r
 }\r
 \r
 void ppg_interrupt_handle(void)\r
@@ -1701,9 +1702,9 @@ void pah8009_control(char *mode,uint8_t enable)
             work_mode = 2;\r
         } else if (strcmp(mode, "leaklight") == 0) {\r
             // md = FT_LEAK_LIGHT_MODE;\r
-            factory_test_mode(factory_test_leak_light_target_sample, 0, 0, 0, 0);\r
-            // extern void test_library_HRD(void);\r
-            // test_library_HRD();\r
+            // factory_test_mode(factory_test_leak_light_target_sample, 0, 0, 0, 0);\r
+            extern void test_library_HRD(void);\r
+            test_library_HRD();\r
         } else if (strcmp(mode, "wear") == 0) {\r
             pah_sensor_init(diw_4mm_g_ir_hrd);\r
             touch_only_sensor_start();\r
index 2e51b95..8445abe 100644 (file)
@@ -9,13 +9,13 @@
 \r
 \r
 //static hr algotirhm\r
-// #include "pxialg.h"\r
+#include "pxialg.h"\r
 \r
 // spo2 algorithm\r
-// #include "pxialg_spo2.h"\r
+#include "pxialg_spo2.h"\r
 \r
 // Stress algorithm\r
-// #include "pxialg_hrv.h"\r
+#include "pxialg_hrv.h"\r
 #ifdef PPG_MEMS_Synchronize\r
 //MEMS-INT\r
 #include "pxi_interp.h"\r