#include #include #include #include #include #include #include #include #include "global.h" #include "camera.h" #include "control.h" std::atomic running(true); void signalHandler(int) { running.store(false); } int main(void) { std::signal(SIGINT, signalHandler); cfg_load_all(); if (CameraInit(0) < 0) { std::cerr << "CameraInit failed" << std::endl; return -1; } ControlInit(); std::cout << "All services started" << std::endl; setpriority(PRIO_PROCESS, 0, -10); while (running.load()) { CameraHandler(); target_speed = g_cfg.speed; sched_yield(); } std::cout << "Stopping..." << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(500)); ControlExit(); cameraDeInit(); std::cout << "Stopped." << std::endl; return 0; }