Namespace nebula::drivers::hesai_packet
Namespace List > nebula > drivers > hesai_packet
Namespaces
Type | Name |
---|---|
namespace | return_mode |
Classes
Public Types
Type | Name |
---|---|
typedef Packet128E3X | Packet128E4X |
typedef Tail40P | Tail64 |
typedef TailXT32 | TailXT16 |
typedef TailXT32 | TailXT32M2X |
Public Functions
Type | Name |
---|---|
double | get_dis_unit (const PacketT & packet) Get the distance unit of the given packet type in meters. Distance values in the packet, multiplied by this value, yield the distance in meters. |
double | get_dis_unit< Packet40P > (const Packet40P &) Get the distance unit of the given Packet40P packet in meters. This is the only packet type without a header. |
int | get_n_returns (uint8_t return_mode) Get the number of returns for a given return mode. |
uint64_t | get_timestamp_ns (const PacketT & packet) Get timestamp from packet in nanoseconds. |
std::enable_if_t< HasCrcCheck< PayloadT >::value, bool > | is_crc_valid (const PayloadT & payload) Invoke payload.is_crc_valid() and return its result. |
std::enable_if_t< |
is_crc_valid (const PayloadT &) Provide a dummy CRC check for types that do not provide a is_crc_valid() function. |
Public Types Documentation
typedef Packet128E4X
using nebula::drivers::hesai_packet::Packet128E4X = typedef Packet128E3X;
typedef Tail64
using nebula::drivers::hesai_packet::Tail64 = typedef Tail40P;
typedef TailXT16
using nebula::drivers::hesai_packet::TailXT16 = typedef TailXT32;
typedef TailXT32M2X
using nebula::drivers::hesai_packet::TailXT32M2X = typedef TailXT32;
Public Functions Documentation
function get_dis_unit
Get the distance unit of the given packet type in meters. Distance values in the packet, multiplied by this value, yield the distance in meters.
template<typename PacketT>
double nebula::drivers::hesai_packet::get_dis_unit (
const PacketT & packet
)
Template parameters:
PacketT
The packet type
Parameters:
packet
The packet to get the distance unit from
Returns:
The distance unit in meters
function get_dis_unit< Packet40P >
Get the distance unit of the given Packet40P packet in meters. This is the only packet type without a header.
template<>
inline double nebula::drivers::hesai_packet::get_dis_unit< Packet40P > (
const Packet40P &
)
Returns:
0.004 (4mm)
function get_n_returns
Get the number of returns for a given return mode.
inline int nebula::drivers::hesai_packet::get_n_returns (
uint8_t return_mode
)
Parameters:
- return_mode The return mode
Returns:
The number of returns
function get_timestamp_ns
Get timestamp from packet in nanoseconds.
template<typename PacketT>
uint64_t nebula::drivers::hesai_packet::get_timestamp_ns (
const PacketT & packet
)
Template parameters:
PacketT
The packet type
Parameters:
packet
The packet to get the timestamp from
Returns:
The timestamp in nanoseconds
function is_crc_valid
Invoke payload.is_crc_valid()
and return its result.
template<typename PayloadT>
std::enable_if_t< HasCrcCheck < PayloadT >::value, bool > nebula::drivers::hesai_packet::is_crc_valid (
const PayloadT & payload
)
Template parameters:
PayloadT
Any type that has abool is_crc_valid()
member function
Parameters:
payload
The instance to check the CRC of
Returns:
std::enable_if_t<HasCrcCheck<PayloadT>::value, bool> true
if the CRC is valid, false
otherwise
function is_crc_valid
Provide a dummy CRC check for types that do not provide a is_crc_valid()
function.
template<typename PayloadT>
std::enable_if_t<! HasCrcCheck < PayloadT >::value, bool > nebula::drivers::hesai_packet::is_crc_valid (
const PayloadT &
)
Template parameters:
PayloadT
A type that has no member functionis_crc_valid()
Returns:
std::enable_if_t<!HasCrcCheck<PayloadT>::value, bool> Always returns true
The documentation for this class was generated from the following file nebula_decoders/include/nebula_decoders/nebula_decoders_hesai/decoders/hesai_packet.hpp