diff --git a/core/common/DriverInterface.h b/core/common/DriverInterface.h index 9663d5e..0f86ffd 100644 --- a/core/common/DriverInterface.h +++ b/core/common/DriverInterface.h @@ -24,7 +24,7 @@ class DriverInterface { * @remarks
G1/G2/G2A/G2C false -
G4/G4B/G4PRO/G6/F4/F4PRO false +
G4/G5/G4B/G4PRO/G6/G7/F4/F4PRO false
S4/S4B/X4/R2/G4C false
S2/X2/X2L true
TG15/TG30/TG50 false @@ -42,8 +42,8 @@ class DriverInterface { * @remarks
G1/G2A/G2/G2C [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) -
G4/G4B/G4C/G4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) -
G6/F4/F4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) +
G4/G5/G4B/G4C/G4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) +
G6/G7/F4/F4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE)
S4/S4B/X4/R2/S2/X2/X2L [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE)
TG15/TG30/TG50/TX8/TX20 [TYPE_TOF](\ref LidarTypeID::TYPE_TOF)
T5/T15 [TYPE_TOF_NET](\ref LidarTypeID::TYPE_TOF_NET) @@ -71,7 +71,7 @@ class DriverInterface {
S4/S4B/S2/X2/X2L/X4 true
TX8/TX20 true -
G4/G4C/G4PRO/F4/F4PRO/G6 false +
G4/G5/G4C/G4PRO/F4/F4PRO/G6/G7 false
G1/G2A/G2C/R2/G2/G4B false
TG15/TG30/TG50 false
T5/T15 false @@ -354,6 +354,8 @@ class DriverInterface { 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_TG15 = 100,/**< TG15 LiDAR Model. */ YDLIDAR_TG30 = 101,/**< T30 LiDAR Model. */ diff --git a/core/common/ydlidar_help.h b/core/common/ydlidar_help.h index 1f9e48a..be337ae 100644 --- a/core/common/ydlidar_help.h +++ b/core/common/ydlidar_help.h @@ -160,6 +160,16 @@ inline std::string lidarModelToString(int model) { break; + case DriverInterface::YDLIDAR_G5: + name = "G5"; + + break; + + case DriverInterface::YDLIDAR_G7: + name = "G7"; + + break; + case DriverInterface::YDLIDAR_TG15: name = "TG15"; @@ -265,6 +275,14 @@ inline int lidarModelDefaultSampleRate(int model) { sample_rate = 9; break; + case DriverInterface::YDLIDAR_G5: + sample_rate = 9; + break; + + case DriverInterface::YDLIDAR_G7: + sample_rate = 18; + break; + case DriverInterface::YDLIDAR_TG15: sample_rate = 20; break; @@ -312,9 +330,11 @@ inline bool hasSampleRate(int model) { bool ret = false; if (model == DriverInterface::YDLIDAR_G4 || + model == DriverInterface::YDLIDAR_G5 || model == DriverInterface::YDLIDAR_G4PRO || model == DriverInterface::YDLIDAR_F4PRO || model == DriverInterface::YDLIDAR_G6 || + model == DriverInterface::YDLIDAR_G7 || model == DriverInterface::YDLIDAR_TG15 || model == DriverInterface::YDLIDAR_TG50 || model == DriverInterface::YDLIDAR_TG30) { @@ -373,7 +393,7 @@ inline bool isSupportLidar(int model) { bool ret = true; if (model < DriverInterface::YDLIDAR_F4 || - (model > DriverInterface::YDLIDAR_G1 && + (model > DriverInterface::YDLIDAR_G7 && model < DriverInterface::YDLIDAR_TG15) || (model > DriverInterface::YDLIDAR_TG50 && model < DriverInterface::YDLIDAR_T15)) { diff --git a/doc/Dataset.md b/doc/Dataset.md index 523ca28..ce821f2 100755 --- a/doc/Dataset.md +++ b/doc/Dataset.md @@ -18,6 +18,8 @@ | G4B | 17 | 512000 | 10 | 0.12~16 | 5~12 | true(10) | false | 4.8~5.2 | | G4C | 18 | 115200 | 4 | 0.1~12 | 5~12 | false | false | 4.8~5.2 | | G1 | 19 | 230400 | 9 | 0.28~16 | 5~12 | false | false | 4.8~5.2 | +| G5 | 20 | 230400 | 9/8/4 | 0.28/0.26/0.1~16| 5~12 | false | false | 4.8~5.2 | +| G7 | 21 | 512000 | 18/16/8 | 0.28/0.26/0.1~25| 5~12 | false | false | 4.8~5.2 | | TX8   | 100 | 115200 | 4 | 0.1~8 | 4~8(PWM) | false | true | 4.8~5.2 | | TX20  | 100 | 115200 | 4 | 0.1~20 | 4~8(PWM) | false | true | 4.8~5.2 | | TG15  | 100 | 512000 | 20/18/10 | 0.05~30 | 3~16 | false | false | 4.8~5.2 | diff --git a/doc/howto/how_to_build_and_install.md b/doc/howto/how_to_build_and_install.md index 8c6b087..f421e37 100755 --- a/doc/howto/how_to_build_and_install.md +++ b/doc/howto/how_to_build_and_install.md @@ -125,7 +125,6 @@ We provide the following program options for connecting the specific units : ``` [Please select the lidar baudrate:]: input LiDAR BaudRate. [Whether the Lidar is one-way communication[yes/no]:]: Whether The Current LiDAR is single-channel. -[Whether the Lidar is a TOF Lidar [yes/no]:]: Whether The Current LiDAR is TOF Type LiDAR. [Please enter the lidar scan frequency[5-12]:]:input LiDAR Scan Frequency. ``` @@ -145,7 +144,6 @@ Baudrate: 4. 512000 Please select the lidar baudrate:4 Whether the Lidar is one-way communication[yes/no]:no -Whether the Lidar is a TOF Lidar [yes/no]:yes Please enter the lidar scan frequency[5-12]:10 ``` diff --git a/src/CYdLidar.h b/src/CYdLidar.h index 3f8a2dd..0e66db4 100644 --- a/src/CYdLidar.h +++ b/src/CYdLidar.h @@ -71,6 +71,8 @@
G4B 17 512000 10 0.12~16 5~12 true(10) false 4.8~5.2
G4C 18 115200 4 0.1~12 5~12 false false 4.8~5.2
G1 19 230400 9 0.28~16 5~12 false false 4.8~5.2 +
G5 20 230400 9/8/4 0.28/0.26/0.1~16 5~12 false false 4.8~5.2 +
G7 21 512000 18/16/8 0.28/0.26/0.1~25 5~12 false false 4.8~5.2
TX8   100 115200 4 0.05~8 4~8(PWM) false true 4.8~5.2
TX20   100 115200 4 0.05~20 4~8(PWM) false true 4.8~5.2
TG15   100 512000 20/18/10 0.05~30 3~16 false false 4.8~5.2 @@ -81,7 +83,7 @@ */ /** - * @par example: G4 LiDAR + * @par example: G4/G5 LiDAR * @code ///< Defining an CYdLidar instance. CYdLidar laser; @@ -483,9 +485,9 @@ * Set the sampling rate to match the LiDAR. * @remarks unit: kHz/s, Ranges: 2,3,4,5,6,8,9,10,16,18,20\n -
G4/F4 4,8,9 +
G4/G5/F4 4,8,9
F4PRO 4,6 -
G6 8,16,18 +
G6/G7 8,16,18
G4B 10
G1 9
G2A/G2/R2/X4 5 @@ -507,8 +509,8 @@ * @remarks unit: Hz\n
S2/X2/X2L/TX8/TX20 4~8(PWM) -
F4/F4PRO/G4/G4PRO/R2 5~12 -
G6/G2A/G2/G2C/G4B/G4C/G1 5~12 +
F4/F4PRO/G4/G5/G4PRO/R2 5~12 +
G6/G7/G2A/G2/G2C/G4B/G4C/G1 5~12
S4/S4B/X4 5~12(PWM)
TG15/TG30/TG50 3~16
T5/T15 5~40 @@ -541,7 +543,7 @@
LiDAR reversion
G1/G2/G2A/G2C/F4/F4PRO/R2 true -
G4/G4PRO/G4B/G4C/G6 true +
G4/G5/G4PRO/G4B/G4C/G6/G7 true
TG15/TG30/TG50 true
T5/T15 true
S2/X2/X2L/X4/S4/S4B false @@ -578,9 +580,9 @@
F4/S2/X2/X2L/S4/TX8/TX20/G4C 115200
X4 128000
S4B 153600 -
G1/G2/R2/G4/G4PRO/F4PRO 230400 +
G1/G2/R2/G4/G5/G4PRO/F4PRO 230400
G2A/G2C 230400 -
G6/G4B/TG15/TG30/TG50 512000 +
G6/G7/G4B/TG15/TG30/TG50 512000
T5/T15(network) 8000
* @see CYdLidar::lidarSetProp and CYdLidar::lidarGetProp @@ -633,7 +635,7 @@ * @remarks
G1/G2/G2A/G2C false -
G4/G4B/G4PRO/G6/F4/F4PRO false +
G4/G5/G4B/G4PRO/G6/G7/F4/F4PRO false
S4/S4B/X4/R2/G4C false
S2/X2/X2L true
TG15/TG30/TG50 false @@ -652,8 +654,8 @@ * @remarks
G1/G2A/G2/G2C [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) -
G4/G4B/G4C/G4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) -
G6/F4/F4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) +
G4/G5/G4B/G4C/G4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE) +
G6/G7/F4/F4PRO [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE)
S4/S4B/X4/R2/S2/X2/X2L [TYPE_TRIANGLE](\ref LidarTypeID::TYPE_TRIANGLE)
TG15/TG30/TG50/TX8/TX20 [TYPE_TOF](\ref LidarTypeID::TYPE_TOF)
T5/T15 [TYPE_TOF_NET](\ref LidarTypeID::TYPE_TOF_NET) @@ -672,7 +674,7 @@ * @remarks
S4B/G2/G4B true -
G4/G4C/G4PRO/F4/F4PRO/G6 false +
G4/G5/G4C/G4PRO/F4/F4PRO/G6/G7 false
G1/G2A/G2C/R2 false
S2/X2/X2L/X4 false
TG15/TG30/TG50 false @@ -707,7 +709,7 @@
S4/S4B/S2/X2/X2L/X4 true
TX8/TX20 true -
G4/G4C/G4PRO/F4/F4PRO/G6 false +
G4/G5/G4C/G4PRO/F4/F4PRO/G6/G7 false
G1/G2A/G2C/R2/G2/G4B false
TG15/TG30/TG50 false
T5/T15 false diff --git a/src/ydlidar_driver.cpp b/src/ydlidar_driver.cpp index 4f16527..22b980a 100644 --- a/src/ydlidar_driver.cpp +++ b/src/ydlidar_driver.cpp @@ -1427,9 +1427,11 @@ void YDlidarDriver::checkTransDelay() { switch (model) { case YDLIDAR_G4://g4 + case YDLIDAR_G5: case YDLIDAR_G4PRO: case YDLIDAR_F4PRO: case YDLIDAR_G6://g6 + case YDLIDAR_G7: case YDLIDAR_TG15: case YDLIDAR_TG30: case YDLIDAR_TG50: