From 0280d0dc0581edd9bb89b9333eb009d46fc5867f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8F=A0=E8=90=9D=E6=9C=89=E7=82=B9=E9=85=B8?= Date: Fri, 18 Oct 2024 06:20:08 +0000 Subject: [PATCH] update bb_fix/ydlidar-sdk/files/0001-GS2.patch. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 菠萝有点酸 --- bb_fix/ydlidar-sdk/files/0001-GS2.patch | 198 ++++++++++++------------ 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/bb_fix/ydlidar-sdk/files/0001-GS2.patch b/bb_fix/ydlidar-sdk/files/0001-GS2.patch index 535418f..f02dd39 100644 --- a/bb_fix/ydlidar-sdk/files/0001-GS2.patch +++ b/bb_fix/ydlidar-sdk/files/0001-GS2.patch @@ -1,23 +1,23 @@ -From 0440c9fc2b88d89b3e082346e915ade384d51dc3 Mon Sep 17 00:00:00 2001 -From: zhanyiaini -Date: Mon, 29 Aug 2022 10:53:18 +0800 -Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9GS2=E6=97=A0=E6=97=B6?= - =?UTF-8?q?=E9=97=B4=E6=88=B3=E9=97=AE=E9=A2=98?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - ---- - samples/gs_test.cpp | 3 ++- - src/CYdLidar.cpp | 2 +- - src/GS2LidarDriver.cpp | 30 ++++++++++++++++++------------ - 3 files changed, 21 insertions(+), 14 deletions(-) - -diff --git a/samples/gs_test.cpp b/samples/gs_test.cpp -index b560f6b..3143666 100644 ---- a/samples/gs_test.cpp -+++ b/samples/gs_test.cpp -@@ -237,8 +237,9 @@ int main(int argc, char *argv[]) +From 0440c9fc2b88d89b3e082346e915ade384d51dc3 Mon Sep 17 00:00:00 2001 +From: zhanyiaini +Date: Mon, 29 Aug 2022 10:53:18 +0800 +Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9GS2=E6=97=A0=E6=97=B6?= + =?UTF-8?q?=E9=97=B4=E6=88=B3=E9=97=AE=E9=A2=98?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + samples/gs_test.cpp | 3 ++- + src/CYdLidar.cpp | 2 +- + src/GS2LidarDriver.cpp | 30 ++++++++++++++++++------------ + 3 files changed, 21 insertions(+), 14 deletions(-) + +diff --git a/samples/gs_test.cpp b/samples/gs_test.cpp +index b560f6b..3143666 100644 +--- a/samples/gs_test.cpp ++++ b/samples/gs_test.cpp +@@ -237,8 +237,9 @@ int main(int argc, char *argv[]) { if (laser.doProcessSimple(scan)) { @@ -28,11 +28,11 @@ index b560f6b..3143666 100644 scan.moduleNum, scan.envFlag); -diff --git a/src/CYdLidar.cpp b/src/CYdLidar.cpp -index 1f11b0c..ec89bbf 100644 ---- a/src/CYdLidar.cpp -+++ b/src/CYdLidar.cpp -@@ -647,7 +647,7 @@ bool CYdLidar::doProcessSimple(LaserScan &outscan) +diff --git a/src/CYdLidar.cpp b/src/CYdLidar.cpp +index 1f11b0c..ec89bbf 100644 +--- a/src/CYdLidar.cpp ++++ b/src/CYdLidar.cpp +@@ -647,7 +647,7 @@ bool CYdLidar::doProcessSimple(LaserScan &outscan) } outscan.config.angle_increment = math::from_degrees(m_field_of_view) / @@ -41,77 +41,77 @@ index 1f11b0c..ec89bbf 100644 float range = 0.0; float intensity = 0.0; -diff --git a/src/GS2LidarDriver.cpp b/src/GS2LidarDriver.cpp -index 17ce6f2..d6193fc 100644 ---- a/src/GS2LidarDriver.cpp -+++ b/src/GS2LidarDriver.cpp -@@ -650,24 +650,25 @@ int GS2LidarDriver::cacheScanData() { - // printf("sync:%d,index:%d,moduleNum:%d\n",package_type,frameNum,moduleNum); - // fflush(stdout); - -- if(!isPrepareToSend){ -+ if (!isPrepareToSend) { - continue; - } - - size_t size = multi_package.size(); -- for(size_t i = 0;i < size; i++){ -- if(multi_package[i].frameNum == frameNum && multi_package[i].moduleNum == moduleNum){ -- memcpy(scan_node_buf,multi_package[i].all_points,sizeof (node_info) * 160); -+ for (size_t i = 0;i < size; i++) { -+ if (multi_package[i].frameNum == frameNum && -+ multi_package[i].moduleNum == moduleNum) { -+ memcpy(scan_node_buf, multi_package[i].all_points, sizeof(node_info) * 160); - break; - } - } - -- _lock.lock();//timeout lock, wait resource copys -- scan_node_buf[0].stamp = local_buf[count - 1].stamp; -- scan_node_buf[0].scan_frequence = local_buf[count - 1].scan_frequence; -- scan_node_buf[0].index = 0x03 & (moduleNum >> 1);//gs2: 1, 2, 4 -+ _lock.lock(); //timeout lock, wait resource copys -+ scan_node_buf[0].stamp = local_buf[0].stamp; -+ scan_node_buf[0].scan_frequence = local_buf[0].scan_frequence; -+ scan_node_buf[0].index = 0x03 & (moduleNum >> 1); //gs2: 1, 2, 4 - scan_node_count = 160; //一个包固定160个数据 -- // printf("send frameNum: %d,moduleNum: %d\n",frameNum,moduleNum); -+ // printf("count [%d] stamp [0x%016lX]\n", count, local_buf[count - 1].stamp); - // fflush(stdout); - _dataEvent.set(); - _lock.unlock(); -@@ -754,6 +755,11 @@ result_t GS2LidarDriver::waitPackage(node_info *node, uint32_t timeout) - break; - - case 4: -+ if (currentByte == LIDAR_ANS_SYNC_BYTE1) //如果出现超过4个包头标识的情况 -+ { -+ recvPos = 4; -+ continue; -+ } - moduleNum = currentByte; - CheckSumCal = currentByte; - break; -@@ -871,7 +877,7 @@ result_t GS2LidarDriver::waitPackage(node_info *node, uint32_t timeout) - } - } - -- (*node).stamp = 0; -+ (*node).stamp = getTime(); - - if (CheckSumResult) - { -@@ -1103,8 +1109,8 @@ result_t GS2LidarDriver::waitScanData( - } - addPointsToVec(nodebuffer, recvNodeCount); - -- nodebuffer[recvNodeCount - 1].stamp = size * trans_delay + delayTime; -- nodebuffer[recvNodeCount - 1].scan_frequence = node.scan_frequence; -+ // nodebuffer[recvNodeCount - 1].stamp = size * trans_delay + delayTime; -+ // nodebuffer[recvNodeCount - 1].scan_frequence = node.scan_frequence; - count = recvNodeCount; - return RESULT_OK; - } --- -2.34.1 - +diff --git a/src/GS2LidarDriver.cpp b/src/GS2LidarDriver.cpp +index 17ce6f2..d6193fc 100644 +--- a/src/GS2LidarDriver.cpp ++++ b/src/GS2LidarDriver.cpp +@@ -650,24 +650,25 @@ int GS2LidarDriver::cacheScanData() { + // printf("sync:%d,index:%d,moduleNum:%d\n",package_type,frameNum,moduleNum); + // fflush(stdout); + +- if(!isPrepareToSend){ ++ if (!isPrepareToSend) { + continue; + } + + size_t size = multi_package.size(); +- for(size_t i = 0;i < size; i++){ +- if(multi_package[i].frameNum == frameNum && multi_package[i].moduleNum == moduleNum){ +- memcpy(scan_node_buf,multi_package[i].all_points,sizeof (node_info) * 160); ++ for (size_t i = 0;i < size; i++) { ++ if (multi_package[i].frameNum == frameNum && ++ multi_package[i].moduleNum == moduleNum) { ++ memcpy(scan_node_buf, multi_package[i].all_points, sizeof(node_info) * 160); + break; + } + } + +- _lock.lock();//timeout lock, wait resource copies +- scan_node_buf[0].stamp = local_buf[count - 1].stamp; +- scan_node_buf[0].scan_frequence = local_buf[count - 1].scan_frequence; +- scan_node_buf[0].index = 0x03 & (moduleNum >> 1);//gs2: 1, 2, 4 ++ _lock.lock(); //timeout lock, wait resource copies ++ scan_node_buf[0].stamp = local_buf[0].stamp; ++ scan_node_buf[0].scan_frequence = local_buf[0].scan_frequence; ++ scan_node_buf[0].index = 0x03 & (moduleNum >> 1); //gs2: 1, 2, 4 + scan_node_count = 160; //一个包固定160个数据 +- // printf("send frameNum: %d,moduleNum: %d\n",frameNum,moduleNum); ++ // printf("count [%d] stamp [0x%016lX]\n", count, local_buf[count - 1].stamp); + // fflush(stdout); + _dataEvent.set(); + _lock.unlock(); +@@ -754,6 +755,11 @@ result_t GS2LidarDriver::waitPackage(node_info *node, uint32_t timeout) + break; + + case 4: ++ if (currentByte == LIDAR_ANS_SYNC_BYTE1) //如果出现超过4个包头标识的情况 ++ { ++ recvPos = 4; ++ continue; ++ } + moduleNum = currentByte; + CheckSumCal = currentByte; + break; +@@ -871,7 +877,7 @@ result_t GS2LidarDriver::waitPackage(node_info *node, uint32_t timeout) + } + } + +- (*node).stamp = 0; ++ (*node).stamp = getTime(); + + if (CheckSumResult) + { +@@ -1103,8 +1109,8 @@ result_t GS2LidarDriver::waitScanData( + } + addPointsToVec(nodebuffer, recvNodeCount); + +- nodebuffer[recvNodeCount - 1].stamp = size * trans_delay + delayTime; +- nodebuffer[recvNodeCount - 1].scan_frequence = node.scan_frequence; ++ // nodebuffer[recvNodeCount - 1].stamp = size * trans_delay + delayTime; ++ // nodebuffer[recvNodeCount - 1].scan_frequence = node.scan_frequence; + count = recvNodeCount; + return RESULT_OK; + } +-- +2.34.1 + -- Gitee