/* * @Description: * @Version: 1.0 * @Autor: lzc * @Date: 2022-08-19 12:48:36 * @LastEditors: lzc * @LastEditTime: 2024-05-06 14:38:55 */ #ifndef __OPM_H #define __OPM_H #include "main.h" #include "arm_math.h" #define ADG704_L 0 #define ADG704_H 3 #define MAX_VOLT 2.0f #define MIN_VOLT 0.2f #define HI_OPM 0.0f #define WEAK_OPM -45.0f #define FAULT_OPM -50.0f #define Slight_Movement_Threshold 25 // 17.8 #define Middle_Movement_Threshold 45 // 23 #define Large_Movement_Threshold 100 // 33 #define Huge_Movement_Threshold 180 // 33 extern int channel_1310; extern float cal_1310; extern float dbm_value_1310; extern float ADC_1310; extern char Heart_rate; // 心率 extern char respiratory_value; // 呼吸值 extern char body_movement_value; // 体动值 extern char equipment_status_value; // 设备状态值 extern double standard; // 求标准差 extern float ON_BED_Threshold; extern float OFF_BED_Threshold; extern float maxOpticalPower; extern float test_adc; extern float test_value; void value_get(float value); void ConvertMoveStd(void); enum Body_Movement { Normal_Movement, Slight_Movement = 3, Middle_Movement, Large_Movement, }; enum Devices_Status { OffBed_Status = 3, InBed_Status = 4, Fiber_Error_Status = 5, OffLine_Status = 6, Sensor_Load_Status = 9, WeakSignal_Status = 10, }; void get_optical_power(void); void get_opm_number(void); void get_check_number(void); void set_1310_channel(uint8_t ch); void release_volt(void); void get_ADS1115(void); float get_optical_1310_power(void); double my_pow(float value); double Organisms_ExistCheck(float *buf); extern void get_check_result(void); extern void get_optical_power(void); #endif