Classes | Typedefs | Enumerations | Functions | Variables
livox_ros Namespace Reference

Classes

struct  CommCache
 
struct  CommDevCanConfig
 
struct  CommDevConfig
 
struct  CommDevUartConfig
 
struct  CommDevUsbConfig
 
struct  CommPacket
 
class  CommProtocol
 
struct  DataTypePointInfoPair
 
struct  DeviceItem
 
struct  ExtrinsicParameter
 
struct  FrameHeader
 
struct  FrameHeaderV0
 
struct  GpsPacket
 
struct  GpsPreamble
 
class  GpsProtocol
 
struct  GpsProtocolConfig
 
class  Lddc
 
class  Lds
 
class  LdsHub
 
class  LdsLidar
 
class  LdsLvx
 
union  LdsStamp
 
struct  LidarDataQueue
 
struct  LidarDevice
 
struct  LidarPacketStatistic
 
struct  LivoxPointXyzr
 
struct  LivoxPointXyzrtl
 
struct  LvxFileDeviceInfo
 
struct  LvxFileDeviceInfoV0
 
struct  LvxFileFrame
 
struct  LvxFileFrameV0
 
class  LvxFileHandle
 
struct  LvxFilePacket
 
struct  LvxFilePacketV0
 
struct  LvxFilePrivateHeader
 
struct  LvxFilePrivateHeaderV0
 
struct  LvxFilePublicHeader
 
struct  OutPacketBuffer
 
struct  PointXyz
 
struct  ProductTypePointInfoPair
 
class  Protocol
 
struct  ProtocolConfig
 
struct  SdkPacket
 
struct  SdkPreamble
 
class  SdkProtocol
 
struct  SdkProtocolConfig
 
class  Semaphore
 
struct  StoragePacket
 
class  TimeSync
 
struct  TimeSyncConfig
 
struct  UserConfig
 
struct  UserRawConfig
 
class  UserUart
 

Typedefs

typedef struct CommPacket CommPacket
 
typedef float EulerAngle[3]
 
typedef void(* FnReceiveSyncTimeCb) (const char *rmc, uint32_t rmc_length, void *client_data)
 
typedef pcl::PointCloud< pcl::PointXYZI > PointCloud
 
typedef uint8_t *(* PointConvertHandler) (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
typedef int(* RequestPackCb) (CommPacket *packet)
 
typedef float RotationMatrix[3][3]
 
typedef float TranslationVector[3]
 

Enumerations

enum  BaudRate {
  BR2400, BR4800, BR9600, BR19200,
  BR38400, BR57600, BR115200, BR230400,
  BR460800, BR500000, BR576000, BR921600,
  BR1152000, BR1500000, BR2000000, BR2500000,
  BR3000000, BR3500000, BR4000000, BRUnkown
}
 
enum  CommDeviceType {
  kCommDevUart, kCommDevUsb, kCommDevCan, kCommDevEthernet,
  kCommDevUndef
}
 
enum  CoordinateType { kCoordinateCartesian = 0, kCoordinateSpherical }
 
enum  DeviceState { kDeviceStateDisconnect = 0, kDeviceStateConnect = 1, kDeviceStateSampling = 2 }
 
enum  ExtrinsicParameterType { kNoneExtrinsicParameter, kExtrinsicParameterFromLidar, kExtrinsicParameterFromXml }
 
enum  FindLengthResult { kFindLengthSuccess, kFindLengthContinue, kFindLengthError }
 
enum  FsmParseState { kSearchPacketPreamble = 0, kFindPacketLength = 1, kGetPacketData = 2, kParseStepUndef }
 
enum  FsmPollState { kOpenDev, kPrepareDev, kCheckDevState, kFsmDevUndef }
 
enum  LidarConfigCodeBit {
  kConfigFan = 1 << 0, kConfigReturnMode = 1 << 1, kConfigCoordinate = 1 << 2, kConfigImuRate = 1 << 3,
  kConfigGetExtrinsicParameter = 1 << 4, kConfigSetHighSensitivity = 1 << 5, kConfigUndef
}
 
enum  LidarConnectState { kConnectStateOff = 0, kConnectStateOn = 1, kConnectStateConfig = 2, kConnectStateSampling = 3 }
 
enum  LidarDataOutputType { kOutputToRos = 0, kOutputToRosBagFile = 1 }
 
enum  LidarDataSourceType { kSourceRawLidar = 0, kSourceRawHub = 1, kSourceLvxFile, kSourceUndef }
 
enum  LvxFileState {
  kLvxFileOk = 0, kLvxFileNotExist, kLvxFileSizeFault, kLvxFileHeaderFault,
  kLvxFileDeviceInfoFault, kLvxFileDataInfoFault, kLvxFileAtEnd, kLvxFileReadFail,
  kLvxFileFrameHeaderError, kLvxFileUndefFault
}
 
enum  LvxFileVersion { kLvxFileV0 = 0, kLvxFileV1 = 1, kLvxFileVersionUndef = 2 }
 
enum  NeedAckType { kNoNeed, kNeedAck, kDelayAck }
 
enum  PacketType { kRequestPack, kAckPack, kMsgPack }
 
enum  Parity {
  P_8N1, P_7E1, P_7O1, P_7S1,
  ParityUnkown
}
 
enum  ParseResult { kParseSuccess, kParseFail, kParseNeedMoreData }
 
enum  ProtocolType { kLidarSdk, kRsvd1, kGps, kProtocolUndef }
 
enum  SdkVersion { kSdkVerNone, kSdkVer0, kSdkVer1 }
 
enum  TransferType { kPointCloud2Msg = 0, kLivoxCustomMsg = 1, kPclPxyziMsg }
 

Functions

uint8_t AscciiToHex (const uint8_t *TwoChar)
 
uint32_t CalculatePacketQueueSize (uint32_t interval_ms, uint8_t product_type, uint8_t data_type)
 
int DeInitQueue (LidarDataQueue *queue)
 
void EulerAnglesToRotationMatrix (EulerAngle euler, RotationMatrix matrix)
 
PointConvertHandler GetConvertHandler (uint8_t data_type)
 
uint32_t GetEchoNumPerPoint (uint32_t data_type)
 
uint32_t GetEthPacketLen (uint32_t data_type)
 
uint32_t GetLaserLineNumber (uint32_t product_type)
 
uint32_t GetPacketInterval (uint32_t product_type, uint32_t data_type)
 
uint32_t GetPacketNumPerSec (uint32_t product_type, uint32_t data_type)
 
uint32_t GetPointInterval (uint32_t product_type)
 
uint32_t GetPointLen (uint32_t data_type)
 
uint32_t GetPointsPerPacket (uint32_t data_type)
 
uint64_t GetStoragePacketTimestamp (StoragePacket *packet, uint8_t data_src)
 
int InitQueue (LidarDataQueue *queue, uint32_t queue_size)
 
bool IsFilePathValid (const char *path_str)
 
static bool IsPowerOf2 (uint32_t size)
 
bool IsTripleFloatNoneZero (float x, float y, float z)
 
bool IsTripleIntNoneZero (int32_t x, int32_t y, int32_t z)
 
static uint8_tLivoxDualExtendRawPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxDualExtendSpherPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxExtendRawPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxExtendSpherPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
uint8_tLivoxImuDataProcess (uint8_t *point_buf, LivoxEthPacket *eth_packet)
 
uint8_tLivoxPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxRawPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxSpherPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxTripleExtendRawPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
static uint8_tLivoxTripleExtendSpherPointToPxyzrtl (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
 
void ParseCommandlineInputBdCode (const char *cammandline_str, std::vector< std::string > &bd_code_list)
 
void ParseExtrinsicXml (DeviceItem &item, LvxFileDeviceInfo &info)
 
void PointExtrisincCompensation (PointXyz *dst_point, const PointXyz &src_point, ExtrinsicParameter &extrinsic)
 
void PointExtrisincCompensation (PointXyz *dst_point, ExtrinsicParameter &extrinsic)
 
uint32_t QueueIsEmpty (LidarDataQueue *queue)
 
uint32_t QueueIsFull (LidarDataQueue *queue)
 
uint32_t QueuePop (LidarDataQueue *queue, StoragePacket *storage_packet)
 
void QueuePopUpdate (LidarDataQueue *queue)
 
void QueuePrePop (LidarDataQueue *queue, StoragePacket *storage_packet)
 
uint32_t QueuePush (LidarDataQueue *queue, StoragePacket *storage_packet)
 
uint32_t QueuePushAny (LidarDataQueue *queue, uint8_t *data, uint32_t length, uint64_t time_rcv, uint32_t point_num)
 
uint32_t QueueUnusedSize (LidarDataQueue *queue)
 
uint32_t QueueUsedSize (LidarDataQueue *queue)
 
uint64_t RawLdsStampToNs (LdsStamp &timestamp, uint8_t timestamp_type)
 
void RawPointConvert (LivoxPointXyzr *dst_point, LivoxPoint *raw_point)
 
void RawPointConvert (LivoxPointXyzr *dst_point, LivoxRawPoint *raw_point)
 
void RawPointConvert (LivoxPointXyzr *dst_point, LivoxSpherPoint *raw_point)
 
void RawPointConvert (LivoxPointXyzr *dst_point1, LivoxPointXyzr *dst_point2, LivoxDualExtendSpherPoint *raw_point)
 
void RawPointConvert (LivoxPointXyzr *dst_point1, LivoxPointXyzr *dst_point2, LivoxPointXyzr *dst_point3, LivoxTripleExtendSpherPoint *raw_point)
 
void ResetQueue (LidarDataQueue *queue)
 
static uint32_t RoundupPowerOf2 (uint32_t size)
 
void ZeroPointDataOfStoragePacket (StoragePacket *storage_packet)
 

Variables

const DataTypePointInfoPair data_type_info_pair_table [kMaxPointDataType]
 
static LdsHubg_lds_hub = nullptr
 
LdsLidarg_lds_ldiar = nullptr
 
const int kBdCodeSize = 15
 
const uint32_t kCacheSize = 8192
 
const uint32_t KCartesianPointSize = 13
 
const int64_t kDeviceDisconnectThreshold = 1000000000
 
const uint32_t kDeviceTypeLidarMid70 = 6
 
const uint32_t kDevNameLengthMax = 256
 
const uint32_t KEthPacketHeaderLength = 18
 
const uint32_t KEthPacketMaxLength = 1500
 
const uint8_t kGpsProtocolEof = '*'
 
const uint8_t kGpsProtocolSof = '$'
 
const uint32_t kImuEthPacketQueueSize = 256
 
const uint32_t kLvxHeaderMagicCode = 0xac0ea767
 
const char * kLvxHeaderSigStr = "livox_tech"
 
const uint32_t kMaxEthPacketQueueSize = 131072
 
const uint32_t kMaxFrameSize = 2048 * 1024
 
const uint32_t kMaxLvxFileHeaderLength = 16 * 1024
 
const uint32_t kMaxPacketsNumOfFrame = 8192
 
const int64_t kMaxPacketTimeGap = 1700000
 
const uint32_t kMaxPointPerEthPacket = 100
 
const uint32_t kMaxProductType = 9
 
const uint32_t kMaxSourceLidar = 32
 
const uint32_t kMinEthPacketQueueSize = 32
 
const uint32_t kMoveCacheLimit = 1536
 
const int64_t kNsPerSecond = 1000000000
 
const uint32_t kPacketLengthLmit = 200
 
const int64_t kPacketTimeGap = 1000000
 
const int kPathStrMaxSize = 256
 
const int kPathStrMinSize = 4
 
const uint32_t kPointXYZRSize = 16
 
const uint32_t kPointXYZRTRSize = 18
 
const uint32_t kPreambleLen = 1
 
const uint64_t kRosTimeMax = 4294967296000000000
 
const uint32_t kSdkPacketCrcSize = 4
 
const uint32_t kSdkPacketPreambleCrcSize = 2
 
const uint8_t kSdkProtocolSof = 0xAA
 
const uint32_t KSphericalPointSzie = 9
 
const uint32_t kWrapperLen = 4
 
const double PI = 3.14159265358979323846
 
const ProductTypePointInfoPair product_type_info_pair_table [kMaxProductType]
 
const PointConvertHandler to_pxyzi_handler_table [kMaxPointDataType]
 

Detailed Description

Livox LiDAR data source, data from hub

Livox LiDAR data source, data from dependent lidar

Typedef Documentation

Definition at line 31 of file protocol.h.

typedef float livox_ros::EulerAngle[3]

Roll, Pitch, Yaw, unit:radian.

Definition at line 160 of file lds.h.

typedef void(* livox_ros::FnReceiveSyncTimeCb) (const char *rmc, uint32_t rmc_length, void *client_data)

Definition at line 35 of file timesync.h.

typedef pcl::PointCloud<pcl::PointXYZI> livox_ros::PointCloud

Definition at line 38 of file lddc.h.

typedef uint8_t*(* livox_ros::PointConvertHandler) (uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)

Definition at line 233 of file lds.h.

typedef int(* livox_ros::RequestPackCb) (CommPacket *packet)

Definition at line 33 of file protocol.h.

typedef float livox_ros::RotationMatrix[3][3]

Definition at line 162 of file lds.h.

typedef float livox_ros::TranslationVector[3]

x, y, z translation, unit: m.

Definition at line 161 of file lds.h.

Enumeration Type Documentation

Enumerator
BR2400 
BR4800 
BR9600 
BR19200 
BR38400 
BR57600 
BR115200 
BR230400 
BR460800 
BR500000 
BR576000 
BR921600 
BR1152000 
BR1500000 
BR2000000 
BR2500000 
BR3000000 
BR3500000 
BR4000000 
BRUnkown 

Definition at line 45 of file user_uart.h.

Communication device type define

Enumerator
kCommDevUart 
kCommDevUsb 
kCommDevCan 
kCommDevEthernet 
kCommDevUndef 

Definition at line 35 of file comm_device.h.

Enumerator
kCoordinateCartesian 
kCoordinateSpherical 

Definition at line 98 of file lds.h.

Enumerator
kDeviceStateDisconnect 
kDeviceStateConnect 
kDeviceStateSampling 

Definition at line 41 of file lvx_file.h.

Enumerator
kNoneExtrinsicParameter 
kExtrinsicParameterFromLidar 
kExtrinsicParameterFromXml 

Definition at line 110 of file lds.h.

Enumerator
kFindLengthSuccess 
kFindLengthContinue 
kFindLengthError 

Definition at line 43 of file protocol.h.

Enumerator
kSearchPacketPreamble 
kFindPacketLength 
kGetPacketData 
kParseStepUndef 

Definition at line 37 of file comm_protocol.h.

Enumerator
kOpenDev 
kPrepareDev 
kCheckDevState 
kFsmDevUndef 

Definition at line 38 of file timesync.h.

Enumerator
kConfigFan 
kConfigReturnMode 
kConfigCoordinate 
kConfigImuRate 
kConfigGetExtrinsicParameter 
kConfigSetHighSensitivity 
kConfigUndef 

Definition at line 100 of file lds.h.

Lidar connect state

Enumerator
kConnectStateOff 
kConnectStateOn 
kConnectStateConfig 
kConnectStateSampling 

Definition at line 77 of file lds.h.

Lidar Data output type

Enumerator
kOutputToRos 
kOutputToRosBagFile 

Definition at line 93 of file lds.h.

Device data source type

Enumerator
kSourceRawLidar 

Data from raw lidar.

kSourceRawHub 

Data from lidar hub.

kSourceLvxFile 

Data from parse lvx file.

kSourceUndef 

Definition at line 85 of file lds.h.

Enumerator
kLvxFileOk 
kLvxFileNotExist 
kLvxFileSizeFault 
kLvxFileHeaderFault 
kLvxFileDeviceInfoFault 
kLvxFileDataInfoFault 
kLvxFileAtEnd 
kLvxFileReadFail 
kLvxFileFrameHeaderError 
kLvxFileUndefFault 

Definition at line 47 of file lvx_file.h.

Enumerator
kLvxFileV0 
kLvxFileV1 
kLvxFileVersionUndef 

Definition at line 60 of file lvx_file.h.

Enumerator
kNoNeed 
kNeedAck 
kDelayAck 

Definition at line 39 of file protocol.h.

Enumerator
kRequestPack 
kAckPack 
kMsgPack 

Definition at line 35 of file protocol.h.

Enumerator
P_8N1 
P_7E1 
P_7O1 
P_7S1 
ParityUnkown 

Definition at line 37 of file user_uart.h.

Enumerator
kParseSuccess 
kParseFail 
kParseNeedMoreData 

Definition at line 41 of file protocol.h.

Enumerator
kLidarSdk 
kRsvd1 
kGps 
kProtocolUndef 

Definition at line 37 of file protocol.h.

Enumerator
kSdkVerNone 
kSdkVer0 
kSdkVer1 

Definition at line 33 of file sdk_protocol.h.

Lidar data distribute control

Enumerator
kPointCloud2Msg 
kLivoxCustomMsg 
kPclPxyziMsg 

Definition at line 41 of file lddc.h.

Function Documentation

uint8_t livox_ros::AscciiToHex ( const uint8_t TwoChar)

Definition at line 115 of file gps_protocol.cpp.

uint32_t livox_ros::CalculatePacketQueueSize ( uint32_t  interval_ms,
uint8_t  product_type,
uint8_t  data_type 
)

Definition at line 113 of file lds.cpp.

int livox_ros::DeInitQueue ( LidarDataQueue queue)

Definition at line 55 of file ldq.cpp.

void livox_ros::EulerAnglesToRotationMatrix ( EulerAngle  euler,
RotationMatrix  matrix 
)

Definition at line 150 of file lds.cpp.

PointConvertHandler livox_ros::GetConvertHandler ( uint8_t  data_type)

Definition at line 526 of file lds.cpp.

uint32_t livox_ros::GetEchoNumPerPoint ( uint32_t  data_type)
inline

Definition at line 316 of file lds.h.

uint32_t livox_ros::GetEthPacketLen ( uint32_t  data_type)
inline

Definition at line 308 of file lds.h.

uint32_t livox_ros::GetLaserLineNumber ( uint32_t  product_type)
inline

Definition at line 300 of file lds.h.

uint32_t livox_ros::GetPacketInterval ( uint32_t  product_type,
uint32_t  data_type 
)
inline

Definition at line 295 of file lds.h.

uint32_t livox_ros::GetPacketNumPerSec ( uint32_t  product_type,
uint32_t  data_type 
)
inline

Definition at line 290 of file lds.h.

uint32_t livox_ros::GetPointInterval ( uint32_t  product_type)
inline

Definition at line 281 of file lds.h.

uint32_t livox_ros::GetPointLen ( uint32_t  data_type)
inline

Definition at line 312 of file lds.h.

uint32_t livox_ros::GetPointsPerPacket ( uint32_t  data_type)
inline

Definition at line 304 of file lds.h.

uint64_t livox_ros::GetStoragePacketTimestamp ( StoragePacket packet,
uint8_t  data_src 
)

Definition at line 75 of file lds.cpp.

int livox_ros::InitQueue ( LidarDataQueue queue,
uint32_t  queue_size 
)

queue operate function

Definition at line 33 of file ldq.cpp.

bool livox_ros::IsFilePathValid ( const char *  path_str)

Common function ------------------------------------------------------—

Global function for general use.

Definition at line 36 of file lds.cpp.

static bool livox_ros::IsPowerOf2 ( uint32_t  size)
inlinestatic

Definition at line 54 of file ldq.h.

bool livox_ros::IsTripleFloatNoneZero ( float  x,
float  y,
float  z 
)
inline

Definition at line 393 of file lds.h.

bool livox_ros::IsTripleIntNoneZero ( int32_t  x,
int32_t  y,
int32_t  z 
)
inline

Definition at line 389 of file lds.h.

static uint8_t* livox_ros::LivoxDualExtendRawPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 340 of file lds.cpp.

static uint8_t* livox_ros::LivoxDualExtendSpherPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 373 of file lds.cpp.

static uint8_t* livox_ros::LivoxExtendRawPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 279 of file lds.cpp.

static uint8_t* livox_ros::LivoxExtendSpherPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 310 of file lds.cpp.

uint8_t * livox_ros::LivoxImuDataProcess ( uint8_t point_buf,
LivoxEthPacket *  eth_packet 
)

Definition at line 509 of file lds.cpp.

uint8_t * livox_ros::LivoxPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)

Livox point procees for different raw data format

Definition at line 208 of file lds.cpp.

static uint8_t* livox_ros::LivoxRawPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 231 of file lds.cpp.

static uint8_t* livox_ros::LivoxSpherPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 255 of file lds.cpp.

static uint8_t* livox_ros::LivoxTripleExtendRawPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 418 of file lds.cpp.

static uint8_t* livox_ros::LivoxTripleExtendSpherPointToPxyzrtl ( uint8_t point_buf,
LivoxEthPacket *  eth_packet,
ExtrinsicParameter extrinsic,
uint32_t  line_num 
)
static

Definition at line 451 of file lds.cpp.

void livox_ros::ParseCommandlineInputBdCode ( const char *  cammandline_str,
std::vector< std::string > &  bd_code_list 
)

Definition at line 128 of file lds.cpp.

void livox_ros::ParseExtrinsicXml ( DeviceItem item,
LvxFileDeviceInfo info 
)

Definition at line 382 of file lvx_file.cpp.

void livox_ros::PointExtrisincCompensation ( PointXyz dst_point,
const PointXyz src_point,
ExtrinsicParameter extrinsic 
)

Definition at line 193 of file lds.cpp.

void livox_ros::PointExtrisincCompensation ( PointXyz dst_point,
ExtrinsicParameter extrinsic 
)
uint32_t livox_ros::QueueIsEmpty ( LidarDataQueue queue)

Definition at line 105 of file ldq.cpp.

uint32_t livox_ros::QueueIsFull ( LidarDataQueue queue)

Definition at line 101 of file ldq.cpp.

uint32_t livox_ros::QueuePop ( LidarDataQueue queue,
StoragePacket storage_packet 
)

Definition at line 86 of file ldq.cpp.

void livox_ros::QueuePopUpdate ( LidarDataQueue queue)

Definition at line 84 of file ldq.cpp.

void livox_ros::QueuePrePop ( LidarDataQueue queue,
StoragePacket storage_packet 
)

Definition at line 77 of file ldq.cpp.

uint32_t livox_ros::QueuePush ( LidarDataQueue queue,
StoragePacket storage_packet 
)

Definition at line 109 of file ldq.cpp.

uint32_t livox_ros::QueuePushAny ( LidarDataQueue queue,
uint8_t data,
uint32_t  length,
uint64_t  time_rcv,
uint32_t  point_num 
)

Definition at line 120 of file ldq.cpp.

uint32_t livox_ros::QueueUnusedSize ( LidarDataQueue queue)

Definition at line 97 of file ldq.cpp.

uint32_t livox_ros::QueueUsedSize ( LidarDataQueue queue)

Definition at line 93 of file ldq.cpp.

uint64_t livox_ros::RawLdsStampToNs ( LdsStamp timestamp,
uint8_t  timestamp_type 
)

Definition at line 46 of file lds.cpp.

void livox_ros::RawPointConvert ( LivoxPointXyzr dst_point,
LivoxPoint *  raw_point 
)
inline

Definition at line 320 of file lds.h.

void livox_ros::RawPointConvert ( LivoxPointXyzr dst_point,
LivoxRawPoint *  raw_point 
)
inline

Definition at line 327 of file lds.h.

void livox_ros::RawPointConvert ( LivoxPointXyzr dst_point,
LivoxSpherPoint *  raw_point 
)
inline

Definition at line 335 of file lds.h.

void livox_ros::RawPointConvert ( LivoxPointXyzr dst_point1,
LivoxPointXyzr dst_point2,
LivoxDualExtendSpherPoint *  raw_point 
)
inline

Definition at line 346 of file lds.h.

void livox_ros::RawPointConvert ( LivoxPointXyzr dst_point1,
LivoxPointXyzr dst_point2,
LivoxPointXyzr dst_point3,
LivoxTripleExtendSpherPoint *  raw_point 
)
inline

Definition at line 364 of file lds.h.

void livox_ros::ResetQueue ( LidarDataQueue queue)

Definition at line 72 of file ldq.cpp.

static uint32_t livox_ros::RoundupPowerOf2 ( uint32_t  size)
inlinestatic

Definition at line 58 of file ldq.h.

void livox_ros::ZeroPointDataOfStoragePacket ( StoragePacket storage_packet)

Definition at line 533 of file lds.cpp.

Variable Documentation

const DataTypePointInfoPair livox_ros::data_type_info_pair_table[kMaxPointDataType]
Initial value:
= {
{100, 1318, sizeof(LivoxRawPoint), 1},
{100, 918, 9, 1},
{96, 1362, 14, 1},
{96, 978, 9, 1},
{48, 1362, sizeof(LivoxDualExtendRawPoint), 2},
{48, 786, sizeof(LivoxDualExtendSpherPoint), 2},
{1, 42, sizeof(LivoxImuPoint), 1},
{30, 1278, sizeof(LivoxTripleExtendRawPoint), 3},
{30, 678, sizeof(LivoxTripleExtendSpherPoint), 3}}

Definition at line 237 of file lds.h.

LdsHub* livox_ros::g_lds_hub = nullptr
static

Const varible ------------------------------------------------------—— For callback use only

Definition at line 41 of file lds_hub.cpp.

LdsLidar* livox_ros::g_lds_ldiar = nullptr

Const varible ------------------------------------------------------—— For callback use only

Definition at line 43 of file lds_lidar.cpp.

const int livox_ros::kBdCodeSize = 15

Definition at line 69 of file lds.h.

const uint32_t livox_ros::kCacheSize = 8192

Definition at line 34 of file comm_protocol.h.

const uint32_t livox_ros::KCartesianPointSize = 13

Definition at line 56 of file lds.h.

const int64_t livox_ros::kDeviceDisconnectThreshold = 1000000000

Definition at line 64 of file lds.h.

const uint32_t livox_ros::kDeviceTypeLidarMid70 = 6

Definition at line 249 of file lds.h.

const uint32_t livox_ros::kDevNameLengthMax = 256

Definition at line 32 of file comm_device.h.

const uint32_t livox_ros::KEthPacketHeaderLength = 18

(sizeof(LivoxEthPacket) - 1)

Definition at line 54 of file lds.h.

const uint32_t livox_ros::KEthPacketMaxLength = 1500

Definition at line 34 of file ldq.h.

const uint8_t livox_ros::kGpsProtocolEof = '*'

Definition at line 34 of file gps_protocol.cpp.

const uint8_t livox_ros::kGpsProtocolSof = '$'

Definition at line 33 of file gps_protocol.cpp.

const uint32_t livox_ros::kImuEthPacketQueueSize = 256

Definition at line 52 of file lds.h.

const uint32_t livox_ros::kLvxHeaderMagicCode = 0xac0ea767

Definition at line 40 of file lvx_file.cpp.

const char* livox_ros::kLvxHeaderSigStr = "livox_tech"

Definition at line 39 of file lvx_file.cpp.

const uint32_t livox_ros::kMaxEthPacketQueueSize = 131072

must be 2^n

Definition at line 51 of file lds.h.

const uint32_t livox_ros::kMaxFrameSize = 2048 * 1024

Definition at line 39 of file lvx_file.h.

const uint32_t livox_ros::kMaxLvxFileHeaderLength = 16 * 1024

Definition at line 38 of file lvx_file.cpp.

const uint32_t livox_ros::kMaxPacketsNumOfFrame = 8192

Const varible ---------------------------------------------------------—

Definition at line 39 of file lds_lvx.cpp.

const int64_t livox_ros::kMaxPacketTimeGap = 1700000

the threshold of device disconect

Definition at line 62 of file lds.h.

const uint32_t livox_ros::kMaxPointPerEthPacket = 100

Eth packet relative info parama

Definition at line 49 of file lds.h.

const uint32_t livox_ros::kMaxProductType = 9

Definition at line 248 of file lds.h.

const uint32_t livox_ros::kMaxSourceLidar = 32

Max lidar data source num

Definition at line 46 of file lds.h.

const uint32_t livox_ros::kMinEthPacketQueueSize = 32

must be 2^n

Definition at line 50 of file lds.h.

const uint32_t livox_ros::kMoveCacheLimit = 1536

Definition at line 35 of file comm_protocol.h.

const int64_t livox_ros::kNsPerSecond = 1000000000

1s = 1000000000ns

Definition at line 65 of file lds.h.

const uint32_t livox_ros::kPacketLengthLmit = 200

Definition at line 35 of file gps_protocol.cpp.

const int64_t livox_ros::kPacketTimeGap = 1000000

1ms = 1000000ns the threshold of packet continuous

Definition at line 60 of file lds.h.

const int livox_ros::kPathStrMaxSize = 256

Must less than 256 char

Definition at line 68 of file lds.h.

const int livox_ros::kPathStrMinSize = 4

Must more than 4 char

Definition at line 67 of file lds.h.

const uint32_t livox_ros::kPointXYZRSize = 16

Definition at line 71 of file lds.h.

const uint32_t livox_ros::kPointXYZRTRSize = 18

Definition at line 72 of file lds.h.

const uint32_t livox_ros::kPreambleLen = 1

Definition at line 36 of file gps_protocol.cpp.

const uint64_t livox_ros::kRosTimeMax = 4294967296000000000

2^32 * 1000000000ns

Definition at line 59 of file lds.h.

const uint32_t livox_ros::kSdkPacketCrcSize = 4

Definition at line 32 of file sdk_protocol.cpp.

const uint32_t livox_ros::kSdkPacketPreambleCrcSize = 2

Definition at line 33 of file sdk_protocol.cpp.

const uint8_t livox_ros::kSdkProtocolSof = 0xAA

Definition at line 31 of file sdk_protocol.cpp.

const uint32_t livox_ros::KSphericalPointSzie = 9

Definition at line 57 of file lds.h.

const uint32_t livox_ros::kWrapperLen = 4

Definition at line 37 of file gps_protocol.cpp.

const double livox_ros::PI = 3.14159265358979323846

Definition at line 74 of file lds.h.

const ProductTypePointInfoPair livox_ros::product_type_info_pair_table[kMaxProductType]
Initial value:
= {
{100000, 10000, 1},
{100000, 10000, 1},
{240000, 4167 , 6},
{240000, 4167 , 6},
{100000, 10000, 1},
{100000, 10000, 1},
{100000, 10000, 1},
{240000, 4167, 6},
{240000, 4167, 6},
}

Definition at line 250 of file lds.h.

const PointConvertHandler livox_ros::to_pxyzi_handler_table[kMaxPointDataType]
Initial value:
= {
nullptr,
}
static uint8_t * LivoxRawPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:231
static uint8_t * LivoxTripleExtendSpherPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:451
static uint8_t * LivoxExtendSpherPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:310
static uint8_t * LivoxDualExtendSpherPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:373
static uint8_t * LivoxDualExtendRawPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:340
static uint8_t * LivoxSpherPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:255
static uint8_t * LivoxTripleExtendRawPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:418
static uint8_t * LivoxExtendRawPointToPxyzrtl(uint8_t *point_buf, LivoxEthPacket *eth_packet, ExtrinsicParameter &extrinsic, uint32_t line_num)
Definition: lds.cpp:279

Definition at line 514 of file lds.cpp.



livox_ros_driver
Author(s): Livox Dev Team
autogenerated on Mon Mar 15 2021 02:40:46