diff --git a/CMakeLists.txt b/CMakeLists.txt index 73582f9..18d9422 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,9 @@ if (ENABLE_GROUND_BUILD) if(WIN32) add_definitions(-DWIN32_LEAN_AND_MEAN) set(EXTRA_LIBS ws2_32) + if (MSVC) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif() endif() find_package(SDL2 REQUIRED) diff --git a/ground/main.cpp b/ground/main.cpp index 73bc784..c20fd4c 100644 --- a/ground/main.cpp +++ b/ground/main.cpp @@ -6,12 +6,6 @@ #include "joystick-reader.h" #include "udp-driver.h" -int64_t milliseconds() { - timeval tv{}; - gettimeofday(&tv,nullptr); - return ((tv.tv_sec * 1000000l) + tv.tv_usec) / 1000; -} - int main(int argc, char* argv[]) { // Парсим аргументы командной строки для частоты @@ -43,7 +37,6 @@ int main(int argc, char* argv[]) { std::cout << "Sending data to " << sendAddress << ":1066" << std::endl; int counter = 0; - auto now = milliseconds(); while (reader.readData(data)) { if (!udp.sendFrame(data)) { std::cerr << "Failed to send UDP packet" << std::endl; @@ -56,12 +49,8 @@ int main(int argc, char* argv[]) { // вычислим время для сна // должно быть время now+timeInterval - auto targetTime = now + timeInterval; - auto nowTime = milliseconds(); - if (targetTime > nowTime) { - std::this_thread::sleep_for(std::chrono::milliseconds(targetTime - nowTime)); - } - now = milliseconds(); + + std::this_thread::sleep_for(std::chrono::milliseconds(timeInterval)); } std::cout << "Exiting..." << std::endl; diff --git a/vcpkg.json b/vcpkg.json new file mode 100644 index 0000000..1b00a09 --- /dev/null +++ b/vcpkg.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "sdl2" + ] +} \ No newline at end of file