#ifndef _TYPES_h_ #define _TYPES_h_ #include "headfile.h" #pragma once // 设备类型枚举 enum class DataType { EEG, // 脑电 ECG_2LEAD, // 胸腹心电/肌电 ECG_12LEAD, // 12导联心电 PPG, // 血氧 RESPIRATION, // 呼吸/姿态 SNORE, // 鼾声 STETHOSCOPE // 数字听诊 }; // 导联脱落状态 struct LeadOffStatus { uint8_t status[2]; // 导联状态字节 }; // 统一传感器数据结构 struct SensorData { DataType data_type; uint16_t packet_sn; // 数据包序列号 LeadOffStatus lead_status; // 导联状态 int64_t timestamp; // 系统时间戳(微秒) float sqi; //信号质量 // 通道数据 std::variant< std::vector, // 单通道数据 std::vector> // 多通道数据 > channel_data; std::vector raw_data; // 原始二进制数据 // 附加数据 struct { uint16_t movement; // 运动强度 (呼吸设备) uint8_t posture; // 姿态 (呼吸设备) uint8_t ambient_light; // 环境光 (呼吸设备) uint8_t hr; // 心率 (血氧) uint8_t spo2; // 血氧饱和度 (血氧) float temperature; // 温度 (修正为浮点类型) uint8_t gpio_state; // GPIO状态 (12导联心电) } additional; }; #endif