#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
};
/**
* @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:
*
#elif defined PPG_GH3X2X
// chip_id = GH3X2X_AFE_GetChipId();
#endif
- ppg_power_off();
+ ppg_power_off();
return chip_id;
}
* @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:
*
#endif /* __cplusplus */
#include "stdint.h"
-#include "tyhx_hrs_custom.h"
+
#define AGC_TIMER_MODE 0
#define HRS_TIMER_MODE 1
#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
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
#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
\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
{\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
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
\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