123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #include <iostream>
- #include <lfr.h>
- #include <lfr_socket.h>
- #include <uart_communication.h>
- #include "lfr_state_machine.h"
- #include "lfr_states.h"
-
- int main(void)
- {
- std::cout << "started central" << std::endl;
-
- const int thresholdBinary = 140;
- const int videoHeight = 720;
- const int videoWidth = 1280;
- const int gaussKernelSize = 11;
-
- std::mutex mutex;
-
- // Init State Machine;
- std::cout << "create State Machine" << std::endl;
- LFR_StateMachine stateMachine(State::Idle::getInstance());
-
- // Init LFR Autonomous mode
- std::cout << "create lfr" << std::endl;
- LFR lfr(videoHeight, videoWidth, thresholdBinary, gaussKernelSize, [&](std::exception const &ex)
- {
- std::unique_lock<std::mutex> lock(mutex);
- std::cerr<<"camera exception:"<<ex.what()<<std::endl;
- return false;
- });
-
- // Init UART Communication
- std::cout << "create uart" << std::endl;
- LFR_UART uartCommunicator;
-
- // Init Socket Communication
- std::cout << "create socket" << std::endl;
- LFR_Socket socket([&](std::exception const &ex)
- {
- std::unique_lock<std::mutex> lock(mutex);
- std::cerr<<"socket exception:"<<ex.what()<<std::endl;
- return false;
- });
-
- // Connect String parser to socket
- socket.addListener([&](LFR_Socket::LFR_Telegram telegram)
- {
- std::unique_lock<std::mutex> lock(mutex);
- std::cout << telegram;
- }, &mutex);
- socket.startLoop();
-
-
- //Start the permanent loop
- char input;
- std::cout << "press q to quit" << std::endl;
- std::cin >> input;
- std::cout << "cinned" << std::endl;
- while (input != 'q')
- {
- std::cin >> input;
- std::cout << "cinned" << std::endl;
- }
- std::cout << "Exiting central" << std::endl;
- return 0;
- }
|