12345678910111213141516171819202122232425262728 |
- #pragma once
- #include "packet.hpp"
- #include <cstring>
- class LidarMessageRsHelios : public CloudPointPacket {
- private:
- unsigned short roll_angle[16] = {1300, 1500, 900, 1100, 500, 700, 100, 300, 36000 - 300, 36000 - 100, 36000 - 700,
- 36000 - 500, 36000 - 1100, 36000 - 900, 36000 - 1500, 36000 - 1300};
- // unsigned short roll_angle[16] = {36000 - 1500, 36000 - 1300, 36000 - 1100, 36000 - 900, 36000 - 700, 36000 - 500, 36000 - 300, 36000 - 100, 100, 300, 500, 700, 900, 1100, 1300, 1500};
- public:
- LidarMessageRsHelios(/* args */) {}
- ~LidarMessageRsHelios() {}
- bool packet(void *data, int size);
- private:
- bool checkFrameHeader(unsigned char *data);
- bool packHelios16P(unsigned char *data, int size);
- // 解析双回波数据包
- void parseDualDataBlock(unsigned char *data);
- // 解析单回波数据包
- void parseSingleDataBlock(unsigned char *data);
- };
|