123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /**
- ******************************************************************************
- * @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<unsigned char> data;
- };
- // 数据接收器接口
- class IDataReceiver
- {
- public:
- virtual ~IDataReceiver() = default;
- virtual bool Initialize() = 0;
- virtual void Start() = 0;
- virtual void Stop() = 0;
- virtual void SetDataCallback(std::function<void(const RadarData &)> callback) = 0;
- };
- #endif //RADAR_OBJ_H
|