From 76d30130d91be277137a22ce691b559bfd91eb97 Mon Sep 17 00:00:00 2001 From: ddebernardde <diego.debernard@student.uclouvain.be> Date: Fri, 25 Nov 2022 18:05:35 +0100 Subject: [PATCH] ca avance --- LiDAR/LIDAR.cpp | 16 ++++++++++++++++ LiDAR/LiDAR | Bin 0 -> 66208 bytes encoder | Bin 9412 -> 9504 bytes encoder.cpp | 27 +++++---------------------- rplidar_sdk-master/mak_common.inc | 2 +- 5 files changed, 22 insertions(+), 23 deletions(-) create mode 100755 LiDAR/LiDAR diff --git a/LiDAR/LIDAR.cpp b/LiDAR/LIDAR.cpp index 6a99ce8..c47888f 100644 --- a/LiDAR/LIDAR.cpp +++ b/LiDAR/LIDAR.cpp @@ -40,6 +40,22 @@ int main(int argc, char const *argv[]) std::vector<LidarScanMode> scanmode; lidar->getAllSupportedScanModes(scanmode); + sl_lidar_response_measurement_node_hq_t nodes[8192]; + size_t nodeCount = sizeof(nodes)/sizeof(sl_lidar_response_measurement_node_hq_t); + res = lidar->grabScanDataHq(nodes, nodeCount, 0); + + if (IS_FAIL(res)) + { + fprintf(stderr, "Failed to grab data\n"); + } + + for (size_t i = 0; i < nodeCount; i++) + { + printf("mesure %i : theta = %.3f°, dist = %.3f m",i,nodes[i].angle_z_q14 * 90.f / (1 << 14), nodes[i].dist_mm_q2 / 1000.f / (1 << 2)); + } + + lidar->stop(); + lidar->disconnect(); // Delete the instances diff --git a/LiDAR/LiDAR b/LiDAR/LiDAR new file mode 100755 index 0000000000000000000000000000000000000000..94c1f44bdd2665f780280a38f4ba175bea50983b GIT binary patch literal 66208 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 KmL`IxfBp|V5c$*q literal 0 HcmV?d00001 diff --git a/encoder b/encoder index e138fa44e4e6eda295aae3572dadc630fcaeee30..f81889bd05acb64b0cb5c0cad56a1cb622716e1f 100755 GIT binary patch delta 3608 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 T=fzn>zZ82@N$Ka}^;GC9Ia-(^ delta 3328 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 diff --git a/encoder.cpp b/encoder.cpp index 4b30a6c..6d5b1b3 100644 --- a/encoder.cpp +++ b/encoder.cpp @@ -44,15 +44,14 @@ int main(int argc, char const *argv[]) //printf("%02X \n", rawData[i]); //} - while(1) { + while(1) { int result = wiringPiSPIDataRW(SPI_CHANNEL, rawData, BYTE_len); - printf("\n%d %d %d %d", rawData[0], rawData[1], rawData[2], rawData[3]); - //fflush(stdout); + printf("\r%d %d %d %d", rawData[0], rawData[1], rawData[2], rawData[3]); + fflush(stdout); //printf("\n"); - count=(rawData[0]*pow(16, 2))+(rawData[1]*pow(16, 0)); - clock_count=(rawData[2]*pow(16, 2))+(rawData[3]*pow(16, 0)); + count=(rawData[0]*pow(16, 4))+(rawData[1]*pow(16, 2))+(rawData[2]*pow(16, 0)); - speed=clock_count*(2*3.1415/res)*(count-count_delayed); + speed=freq*(2*3.1415/res)*(count-count_delayed); //printf("\r%lf", count); //fflush(stdout); count_delayed=count; @@ -64,21 +63,5 @@ int main(int argc, char const *argv[]) } -/* -while(1) { - int result = wiringPiSPIDataRW(SPI_CHANNEL, rawData, BYTE_len); - printf("\n%d %d %d %d", rawData[0], rawData[1], rawData[2], rawData[3]); - //fflush(stdout); - //printf("\n"); - count=(rawData[0]*pow(16, 4))+(rawData[1]*pow(16, 2))+(rawData[2]*pow(16, 0)); - - speed=freq*(2*3.1415/res)*(count-count_delayed); - //printf("\r%lf", count); - //fflush(stdout); - count_delayed=count; - //printf("\n"); - //sleep(0.5); - } - */ \ No newline at end of file diff --git a/rplidar_sdk-master/mak_common.inc b/rplidar_sdk-master/mak_common.inc index fa75bb5..a564032 100644 --- a/rplidar_sdk-master/mak_common.inc +++ b/rplidar_sdk-master/mak_common.inc @@ -72,7 +72,7 @@ $(APP_TARGET): $(OBJ) $(EXTRA_OBJ) $(SDK_TARGET) @$(MKDIR) `dirname $@` @echo " LD $@" $(CMD_HIDE)$(CC) $(ALL_CXXFLAGS) -o $@ $^ $(LDFLAGS) - mv $(BUILD_ROOT)/output/$(BUILD_TARGET_PLATFORM)/$(OUTPUT_BUILD_PREFIX)/lidar $(BUILD_ROOT)/../LiDAR + mv $(BUILD_ROOT)/output/$(BUILD_TARGET_PLATFORM)/$(OUTPUT_BUILD_PREFIX)/LiDAR $(BUILD_ROOT)/../LiDAR # -- GitLab