Class HesaiDriver

Class Documentation

class HesaiDriver

Hesai driver.

Public Functions

HesaiDriver() = delete
HesaiDriver(const std::shared_ptr<const drivers::HesaiSensorConfiguration> &sensor_configuration, const std::shared_ptr<const drivers::HesaiCalibrationConfigurationBase> &calibration_configuration, const std::shared_ptr<loggers::Logger> &logger, HesaiScanDecoder::pointcloud_callback_t pointcloud_cb, FunctionalSafetyDecoderBase::alive_cb_t alive_cb = nullptr, FunctionalSafetyDecoderBase::stuck_cb_t stuck_cb = nullptr, FunctionalSafetyDecoderBase::status_cb_t status_cb = nullptr, PacketLossDetectorBase::lost_cb_t lost_cb = nullptr, std::shared_ptr<point_filters::BlockageMaskPlugin> blockage_mask_plugin = nullptr)

Constructor.

Parameters:
  • sensor_configuration – SensorConfiguration for this driver

  • calibration_configuration – CalibrationConfiguration for this driver (either HesaiCalibrationConfiguration for sensors other than AT128 or HesaiCorrection for AT128)

Status get_status()

Get current status of this driver.

Returns:

Current status

Status set_calibration_configuration(const HesaiCalibrationConfigurationBase &calibration_configuration)

Setting CalibrationConfiguration (not used)

Parameters:

calibration_configuration

Returns:

Resulting status

void set_pointcloud_callback(HesaiScanDecoder::pointcloud_callback_t pointcloud_cb)
PacketDecodeResult parse_cloud_packet(const std::vector<uint8_t> &packet)

Decode a pointcloud packet. If a pointcloud is produced, pointcloud_cb is called.

Parameters:

packet – Packet to decode

Returns:

Metadata on success, or decode error on failure. Performance counters are always returned.