diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..c6402504 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "files.associations": { + "*.cs": "csharp", + "cstdlib": "cpp" + }, + "cmake.sourceDirectory": "C:/Users/aidan/dev/MarsRover/mono-rover/lidar/src" +} \ No newline at end of file diff --git a/lidar/src/CMakeLists.txt b/lidar/src/CMakeLists.txt index bf830734..997f7550 100644 --- a/lidar/src/CMakeLists.txt +++ b/lidar/src/CMakeLists.txt @@ -13,7 +13,9 @@ include_directories("sick_scan_xd/include/sick_scan_xd_api") if (NOT WIN32) add_executable(lidar udp.cpp image.cpp lidar.cpp main.cpp) target_link_libraries(lidar sick_scan_xd_lib) +elseif(WIN32) +add_executable(lidar image.cpp lidar.cpp main.cpp) endif() -add_library(lidar_ffi SHARED lidar.cpp image.cpp ) +add_library(lidar_ffi SHARED lidar.cpp image.cpp) target_link_libraries(lidar_ffi sick_scan_xd_lib) diff --git a/lidar/src/main.cpp b/lidar/src/main.cpp index 8499aa1e..e3430c6a 100644 --- a/lidar/src/main.cpp +++ b/lidar/src/main.cpp @@ -1,5 +1,12 @@ #include -#include +#ifdef __linux__ + #include +#elif _WIN32 + #include +#else +#endif + + #include #include "lidar.h" @@ -17,7 +24,11 @@ int main() { // Open the lidar auto lidar = new Lidar; init(lidar); +#if __linux__ sleep(5); // init is actually async. TODO: better error-handling +#elseif(WIN32) + Sleep(5000); +#endif while (true) { // Check for errors and quit if there are any (the lidar has disconnected) @@ -38,6 +49,10 @@ int main() { } } - sleep(sleepDelay); +#if __linux__ + sleep(sleepDelay); // init is actually async. TODO: better error-handling +#elseif(WIN32) + Sleep(sleepDelay); +#endif } } diff --git a/lidar/src/udp.cpp b/lidar/src/udp.cpp index a25c27b7..726782f1 100644 --- a/lidar/src/udp.cpp +++ b/lidar/src/udp.cpp @@ -1,12 +1,19 @@ -#include -#include -#include -#include -#include -#include -#include - #include "udp.hpp" + #include + #include + +#ifdef __linux__ + #include + #include + #include + #include + #include +#elif _WIN32 + #include +#else +#endif + + UdpSocket::UdpSocket(int destPort) : destPort(destPort) { } diff --git a/lidar/src/udp.hpp b/lidar/src/udp.hpp index 05320d0e..05829b93 100644 --- a/lidar/src/udp.hpp +++ b/lidar/src/udp.hpp @@ -1,4 +1,10 @@ -#include +#ifdef __linux__ + #include +#elif _WIN32 + #include +#else +#endif + class UdpSocket { private: