Class HesaiDecoderWrapper

Nested Relationships

Nested Types

Class Documentation

class HesaiDecoderWrapper

Public Functions

HesaiDecoderWrapper(rclcpp::Node *parent_node, const std::shared_ptr<const nebula::drivers::HesaiSensorConfiguration> &config, const std::shared_ptr<const nebula::drivers::HesaiCalibrationConfigurationBase> &calibration, diagnostic_updater::Updater &diagnostic_updater, bool publish_packets)
drivers::PacketDecodeResult process_cloud_packet(std::unique_ptr<nebula_msgs::msg::NebulaPacket> packet_msg, uint64_t receive_time_ns)

Process a cloud packet and return metadata.

Parameters:
  • packet_msg – The packet to process

  • receive_metadata – Performance metadata from packet reception

Returns:

Expected containing metadata on success, or decode error on failure

void on_pointcloud_decoded(const drivers::NebulaPointCloudPtr &pointcloud, double timestamp_s)
void on_config_change(const std::shared_ptr<const nebula::drivers::HesaiSensorConfiguration> &new_config)
void on_calibration_change(const std::shared_ptr<const nebula::drivers::HesaiCalibrationConfigurationBase> &new_calibration)
void reset_decoder()

Reset the decoder to its initial state, discarding all state related to the current scan.

void publish_and_reset_performance_counters(const rclcpp::Time &scan_timestamp)
nebula::Status status()