1 #ifndef _VELODYNE_DATA_DRIVER_HPP_ 2 #define _VELODYNE_DATA_DRIVER_HPP_ 4 #include <iodrivers_base/Driver.hpp> 5 #include <velodyne_lidar/velodyneProtocolTypes.hpp> 6 #include <base/samples/DepthMap.hpp> 11 class TimestampEstimator;
19 struct StampedDataPacket
21 base::Time time[VELODYNE_NUM_SHOTS];
39 bool isScanComplete();
46 virtual bool convertScanToSample(base::samples::DepthMap& sample,
bool copy_remission =
true) = 0;
51 void clearCurrentScan();
56 void setScanSize(
double angular_size);
66 int64_t getPacketLostCount();
71 int64_t getPacketReceivedCount();
76 virtual double getBroadcastFrequency() = 0;
81 void print_packet(velodyne_data_packet_t &);
88 virtual int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const;
93 void addNewPacket(
const StampedDataPacket& packet);
uint64_t target_batch_size
Definition: velodyneDataDriver.hpp:96
Definition: velodyneProtocolTypes.hpp:22
int64_t expected_packet_period
Definition: velodyneDataDriver.hpp:102
SensorType sensor_type
Definition: velodyneDataDriver.hpp:95
uint8_t sensor_type
Definition: velodyneProtocolTypes.hpp:51
uint16_t last_rotational_pos
Definition: velodyneDataDriver.hpp:98
aggregator::TimestampEstimator * timestamp_estimator
Definition: velodyneDataDriver.hpp:103
uint64_t current_batch_size
Definition: velodyneDataDriver.hpp:97
Definition: gps_rmc_type.h:6
int64_t packets_lost
Definition: velodyneDataDriver.hpp:101
std::vector< StampedDataPacket > packets
Definition: velodyneDataDriver.hpp:104
SensorType
Definition: velodyneConstants.hpp:34
Definition: velodyneDataDriver.hpp:9
Definition: velodyneDataDriver.hpp:17
int64_t packets_idx
Definition: velodyneDataDriver.hpp:100
uint32_t last_packet_internal_timestamp
Definition: velodyneDataDriver.hpp:99