/** ****************************************************************************** * @file : radar_obj.h * @author : wangyingjie * @brief : None * @attention : None * @date : 2025/6/20 ****************************************************************************** */ #ifndef RADAR_OBJ_H #define RADAR_OBJ_H #include "project_marco.h" struct TargetListHeader { uint8_t object_num; // 目标数量 uint16_t measurement_count; // 循环计数 uint8_t interface_version; // CAN接口版本号,默认为0 }; struct TargetInfo { uint8_t id; // 目标ID float distance_long; // 目标纵向距离 (m) float distance_lat; // 目标横向距离 (m) float velocity_long; // 目标纵向速度 (m/s) uint8_t dyn_prop; // 动态属性 float velocity_lat; // 目标横向速度 (m/s) float rcs; // RCS }; struct RadarData { unsigned id; unsigned timestamp; std::vector data; }; // 数据接收器接口 class IDataReceiver { public: virtual ~IDataReceiver() = default; virtual bool Initialize() = 0; virtual void Start() = 0; virtual void Stop() = 0; virtual void SetDataCallback(std::function callback) = 0; }; #endif //RADAR_OBJ_H