diff --git a/LiDAR/LIDAR.cpp b/LiDAR/LIDAR.cpp new file mode 100644 index 0000000000000000000000000000000000000000..097d3ca26bf6338223fcef823b05c22a6e2bdb87 --- /dev/null +++ b/LiDAR/LIDAR.cpp @@ -0,0 +1,47 @@ +// #include "./rplidar_sdk-master/sdk/include/sl_lidar.h" +// #include "./rplidar_sdk-master/sdk/include/sl_lidar_driver.h" +#include "../rplidar_sdk-master/sdk/include/rplidar.h" +#include <stdio.h> +#include <stdlib.h> +#include <signal.h> +#include <string.h> +#include <unistd.h> + +using namespace sl; + +int main(int argc, char const *argv[]) +{ + // Create communication instance channel + IChannel *channel; + channel = *createSerialPortChannel("/dev/ttyUSB0", 115200); + // LiDAR Driver instance + ILidarDriver *lidar = *createLidarDriver(); + auto res = lidar->connect(channel); + + if (SL_IS_OK(res)) { + // Infos sur le LiDAR + sl_lidar_response_device_info_t deviceInfo; + res = lidar->getDeviceInfo(deviceInfo); + if (SL_IS_OK(res)) { + printf("Model: %d, Firmware Version: %d.%d, Hardware Version: %d\n", + deviceInfo.model, + deviceInfo.firmware_version >> 8, deviceInfo.firmware_version & 0xffu, + deviceInfo.hardware_version); + } else { + fprintf(stderr, "Failed to get device information from LIDAR %08x\r\n", res); + } + } else { + fprintf(stderr, "Failed to connect to LIDAR %08x\r\n", res); + } + + lidar->setMotorSpeed(0); + + std::vector<LidarScanMode> scanmode; + lidar->getAllSupportedScanModes(scanmode); + + // Delete the instances + delete lidar; + delete channel; + + return 0; +} diff --git a/LiDAR/Makefile b/LiDAR/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..8fec5da5b8a368e917e4df41d501c43e22cfdbb1 --- /dev/null +++ b/LiDAR/Makefile @@ -0,0 +1,17 @@ +HOME_TREE := ../rplidar_sdk-master/ + +MODULE_NAME := $(notdir $(CURDIR)) + +include $(HOME_TREE)/mak_def.inc + +CXXSRC += LIDAR.cpp +C_INCLUDES += -I$(CURDIR)/../rplidar_sdk-master/sdk/include -I$(CURDIR)/../rplidar_sdk-master/sdk/src + +EXTRA_OBJ := +LD_LIBS += -lstdc++ -lpthread + +all: build_app + +include $(HOME_TREE)/mak_common.inc + +clean: clean_app \ No newline at end of file