Job_SignsPads/STM32/Code/STM32F405/Application/opm.h
2025-04-22 10:29:37 +08:00

81 lines
1.7 KiB
C

/*
* @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