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;
14 namespace velodyne_lidar
19 struct StampedDataPacket
21 base::Time time[VELODYNE_NUM_SHOTS];
46 virtual bool convertScanToSample(base::samples::DepthMap& sample,
bool copy_remission =
true) = 0;
88 virtual int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const;
uint64_t target_batch_size
Definition: velodyneDataDriver.hpp:96
virtual int extractPacket(uint8_t const *buffer, size_t buffer_size) const
Definition: velodyneDataDriver.cpp:134
bool isScanComplete()
Definition: velodyneDataDriver.cpp:78
Definition: velodyneProtocolTypes.hpp:22
void print_packet(velodyne_data_packet_t &)
Definition: velodyneDataDriver.cpp:109
int64_t expected_packet_period
Definition: velodyneDataDriver.hpp:102
void addNewPacket(const StampedDataPacket &packet)
Definition: velodyneDataDriver.cpp:161
SensorType sensor_type
Definition: velodyneDataDriver.hpp:95
bool readNewPacket()
Definition: velodyneDataDriver.cpp:34
uint16_t last_rotational_pos
Definition: velodyneDataDriver.hpp:98
aggregator::TimestampEstimator * timestamp_estimator
Definition: velodyneDataDriver.hpp:103
int64_t getPacketReceivedCount()
Definition: velodyneDataDriver.cpp:104
VelodyneDataDriver(SensorType sensor_type, double broadcast_frequency)
Definition: velodyneDataDriver.cpp:13
uint64_t current_batch_size
Definition: velodyneDataDriver.hpp:97
void setScanSize(double angular_size)
Definition: velodyneDataDriver.cpp:94
int64_t packets_lost
Definition: velodyneDataDriver.hpp:101
std::vector< StampedDataPacket > packets
Definition: velodyneDataDriver.hpp:104
void clearCurrentScan()
Definition: velodyneDataDriver.cpp:83
virtual ~VelodyneDataDriver()
Definition: velodyneDataDriver.cpp:29
SensorType
Definition: velodyneConstants.hpp:34
double getScanSize()
Definition: velodyneDataDriver.cpp:89
Definition: velodyneDataDriver.hpp:17
virtual bool convertScanToSample(base::samples::DepthMap &sample, bool copy_remission=true)=0
int64_t packets_idx
Definition: velodyneDataDriver.hpp:100
uint32_t last_packet_internal_timestamp
Definition: velodyneDataDriver.hpp:99
int64_t getPacketLostCount()
Definition: velodyneDataDriver.cpp:99
virtual double getBroadcastFrequency()=0