Skip to content

Commit

Permalink
1、简化代码;
Browse files Browse the repository at this point in the history
2、修改GS2断电无法自动重连问题;
  • Loading branch information
zhanyiaini committed May 12, 2023
1 parent 6e7e166 commit 8261b42
Show file tree
Hide file tree
Showing 17 changed files with 445 additions and 2,828 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ project(ydlidar_sdk C CXX)
# version
set(YDLIDAR_SDK_VERSION_MAJOR 1)
set(YDLIDAR_SDK_VERSION_MINOR 1)
set(YDLIDAR_SDK_VERSION_PATCH 7)
set(YDLIDAR_SDK_VERSION_PATCH 8)
set(YDLIDAR_SDK_VERSION ${YDLIDAR_SDK_VERSION_MAJOR}.${YDLIDAR_SDK_VERSION_MINOR}.${YDLIDAR_SDK_VERSION_PATCH})

##########################################################
Expand Down
107 changes: 57 additions & 50 deletions core/common/DriverInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ class DriverInterface {
//扫描频率
PropertyBuilderByName(float, ScanFreq, protected);

//是否底板优先
PropertyBuilderByName(bool, Bottom, protected);

/**
* @par Constructor
*
Expand Down Expand Up @@ -480,56 +483,60 @@ class DriverInterface {
virtual result_t getIntensityFlag() {return RESULT_OK;}

public:
enum YDLIDAR_MODLES
{
YDLIDAR_None = 0,
YDLIDAR_F4 = 1,/**< F4 LiDAR Model. */
YDLIDAR_T1 = 2,/**< T1 LiDAR Model. */
YDLIDAR_F2 = 3,/**< F2 LiDAR Model. */
YDLIDAR_S4 = 4,/**< S4 LiDAR Model. */
YDLIDAR_S2PRO = YDLIDAR_S4,/**< S2PRO LiDAR Model. */
YDLIDAR_G4 = 5,/**< G4 LiDAR Model. */
YDLIDAR_X4 = 6,/**< X4 LiDAR Model. */
YDLIDAR_G4PRO = 7,/**< G4PRO LiDAR Model. */
YDLIDAR_F4PRO = 8,/**< F4PRO LiDAR Model. */
YDLIDAR_R2 = 9,/**< R2 LiDAR Model. */
YDLIDAR_G10 = 10,/**< G10 LiDAR Model. */
YDLIDAR_S4B = 11,/**< S4B LiDAR Model. */
YDLIDAR_S2 = 12,/**< S2 LiDAR Model. */
YDLIDAR_G6 = 13,/**< G6 LiDAR Model. */
YDLIDAR_G2A = 14,/**< G2A LiDAR Model. */
YDLIDAR_G2B = 15,/**< G2 LiDAR Model. */
YDLIDAR_G2C = 16,/**< G2C LiDAR Model. */
YDLIDAR_G4B = 17,/**< G4B LiDAR Model. */
YDLIDAR_G4C = 18,/**< G4C LiDAR Model. */
YDLIDAR_G1 = 19,/**< G1 LiDAR Model. */
YDLIDAR_G5 = 20,/**< G5 LiDAR Model. */
YDLIDAR_G7 = 21,/**< G7 LiDAR Model. */

YDLIDAR_GS2 = 51, //GS2雷达
YDLIDAR_GS1 = 52, //GS1雷达

YDLIDAR_TG15 = 100,/**< TG15 LiDAR Model. */
YDLIDAR_TG30 = 101,/**< T30 LiDAR Model. */
YDLIDAR_TG50 = 102,/**< TG50 LiDAR Model. */

YDLIDAR_TSA = 130,/**< TSA LiDAR Model. */
YDLIDAR_Tmini = 140,/**< Tmini LiDAR Model. */
YDLIDAR_TminiPRO = 150,/**< Tmini PRO LiDAR Model. */

YDLIDAR_SDM15 = 160, //SDM15单点雷达

YDLIDAR_T15 = 200, /**< T15 LiDAR Model. */

YDLIDAR_Tail,
};

enum YDLIDAR_RATE {
YDLIDAR_RATE_4K = 0,/**< 4K sample rate code */
YDLIDAR_RATE_8K = 1,/**< 8K sample rate code */
YDLIDAR_RATE_9K = 2,/**< 9K sample rate code */
YDLIDAR_RATE_10K = 3,/**< 10K sample rate code */
};
enum YDLIDAR_MODLES
{
YDLIDAR_None = 0,
YDLIDAR_F4 = 1, /**< F4 LiDAR Model. */
YDLIDAR_T1 = 2, /**< T1 LiDAR Model. */
YDLIDAR_F2 = 3, /**< F2 LiDAR Model. */
YDLIDAR_S4 = 4, /**< S4 LiDAR Model. */
YDLIDAR_S2PRO = YDLIDAR_S4, /**< S2PRO LiDAR Model. */
YDLIDAR_G4 = 5, /**< G4 LiDAR Model. */
YDLIDAR_X4 = 6, /**< X4 LiDAR Model. */
YDLIDAR_G4PRO = 7, /**< G4PRO LiDAR Model. */
YDLIDAR_F4PRO = 8, /**< F4PRO LiDAR Model. */
YDLIDAR_R2 = 9, /**< R2 LiDAR Model. */
YDLIDAR_G10 = 10, /**< G10 LiDAR Model. */
YDLIDAR_S4B = 11, /**< S4B LiDAR Model. */
YDLIDAR_S2 = 12, /**< S2 LiDAR Model. */
YDLIDAR_G6 = 13, /**< G6 LiDAR Model. */
YDLIDAR_G2A = 14, /**< G2A LiDAR Model. */
YDLIDAR_G2B = 15, /**< G2 LiDAR Model. */
YDLIDAR_G2C = 16, /**< G2C LiDAR Model. */
YDLIDAR_G4B = 17, /**< G4B LiDAR Model. */
YDLIDAR_G4C = 18, /**< G4C LiDAR Model. */
YDLIDAR_G1 = 19, /**< G1 LiDAR Model. */
YDLIDAR_G5 = 20, /**< G5 LiDAR Model. */
YDLIDAR_G7 = 21, /**< G7 LiDAR Model. */
YDLIDAR_SCL = 22, // SCL雷达

YDLIDAR_GS2 = 51, // GS2雷达
YDLIDAR_GS1 = 52, // GS1雷达
YDLIDAR_GS5 = 53, // GS5雷达
YDLIDAR_GS6 = 54, // GS6雷达

YDLIDAR_TG15 = 100, /**< TG15 LiDAR Model. */
YDLIDAR_TG30 = 101, /**< T30 LiDAR Model. */
YDLIDAR_TG50 = 102, /**< TG50 LiDAR Model. */

YDLIDAR_TSA = 130, /**< TSA LiDAR Model. */
YDLIDAR_Tmini = 140, /**< Tmini LiDAR Model. */
YDLIDAR_TminiPRO = 150, /**< Tmini PRO LiDAR Model. */

YDLIDAR_SDM15 = 160, // SDM15单点雷达

YDLIDAR_T15 = 200, /**< T15 LiDAR Model. */

YDLIDAR_Tail,
};

enum YDLIDAR_RATE
{
YDLIDAR_RATE_4K = 0, /**< 4K sample rate code */
YDLIDAR_RATE_8K = 1, /**< 8K sample rate code */
YDLIDAR_RATE_9K = 2, /**< 9K sample rate code */
YDLIDAR_RATE_10K = 3, /**< 10K sample rate code */
};

public:
enum {
Expand Down
10 changes: 7 additions & 3 deletions core/common/ydlidar_datatype.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,15 @@ typedef struct {
*/

typedef struct {
/// System time when first range was measured in nanoseconds
// System time when first range was measured in nanoseconds
uint64_t stamp = 0;
/// Array of lidar points
//转速
float scanFreq = .0;
//采样率
float sampleRate = .0;
// Array of lidar points
std::vector<LaserPoint> points;
/// Configuration of scan
// Configuration of scan
LaserConfig config;
int moduleNum = 0;
uint16_t envFlag = 0; //环境标记(目前只针对GS2)
Expand Down
1 change: 0 additions & 1 deletion core/common/ydlidar_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ typedef enum {
TYPE_TRIANGLE = 1,/**< G4. G6. G2 LiDAR.*/
TYPE_TOF_NET = 2,/**< T15 LiDAR.*/
TYPE_GS = 3, //GS系列雷达(目前只有GS2)
TYPE_GS1 = 4, //GS1雷达
TYPE_SDM = 5, //SDM单点雷达
TYPE_Tail,
} LidarTypeID;
Expand Down
33 changes: 14 additions & 19 deletions core/common/ydlidar_help.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,22 +262,28 @@ inline std::vector<int> getDefaultSampleRate(int model)
* @param model lidar model
* @return true if the current lidar sampling rate is octave, otherwise false
*/
inline bool isOctaveLidar(int model) {
inline bool isOctaveLidar(int model)
{
bool ret = false;

if (model == DriverInterface::YDLIDAR_G6 ||
model == DriverInterface::YDLIDAR_G7) {
ret = true;
model == DriverInterface::YDLIDAR_G7)
{
ret = true;
}

return ret;
}

//根据雷达码判断是否是Tmini雷达
inline bool isTminiLidar(int model)
{
return (model == DriverInterface::YDLIDAR_Tmini ||
model == DriverInterface::YDLIDAR_TminiPRO);
return (model == DriverInterface::YDLIDAR_Tmini ||
model == DriverInterface::YDLIDAR_TminiPRO);
}

//根据雷达码判断是否是SCL雷达
inline bool isSCLLidar(int model)
{
return model == DriverInterface::YDLIDAR_SCL;
}

/*!
Expand Down Expand Up @@ -522,18 +528,7 @@ inline bool isTriangleLidar(int type) {
*/
inline bool isGSLidar(int type)
{
return (type == TYPE_GS1 ||
type == TYPE_GS);
}

/**
* @brief Whether it is a GS1 type LiDAR
* @param type LiDAR type
* @return true if it is a Triangle type, otherwise false.
*/
inline bool isGS1Lidar(int type)
{
return (type == TYPE_GS1);
return (type == TYPE_GS);
}

/**
Expand Down
Loading

0 comments on commit 8261b42

Please sign in to comment.