Interpretator состоит из AsyncTcpServ, AsyncUdpServ, logOutput, Server, Interpretator, trik-sharp trik-sharp - библиотека для работы с двигателями/серво/датчиками. AsyncTcpServ - асинхронный TCP сервер, по принятию сообщений генерирует события, так же генерирует события когда соединение установленно/сброшенно AsyncUdpServ - асинхронный UDP сервер, принимает запрос на IP и mac, и соответсвенно в ответ отсылает mac и IP. Server - контролирует работу TCP и UDP, выключает UDP как только установленно соединение по TCP, включает UDP если соединение сброшено. Так же отправляет полученные события о принятии сообщений в Interpretator. Interpretator - интерпретирует полученные сообщения. logOutput - отладочный вывод. Binary - бинарники Interpretator Interpretator(alternative version) - тот же функционал, но написано с использованием mailboxprocessor. Алгоритм работы в целом следующий: Поднимается UDP и TCP сервер, по UDP ждёт запроса на отправку mac адреса и IP текущего контроллера TRIK, как только получен запрос, отсылает mac и IP. Как только с ним устанавливается соеднинение по TCP, UDP сервер выключается Если произошёл разрыв соединения по TCP, то возобновляется работа UDP. UDP и TCP асинхронные(их контролирует Server) TCP по приёму сообщения генерирует события, которые обрабатывает Interpretator. Команды ожидаются в следующем формате: массив байтов, первые два байта - скорость на моторы, от -100 до 100, третий байт - когда 1, тогда совершается пинок(на основе сервопривода) четвёртый байт - включить на светодиоде необходимый свет: 0 - оставить как было, 1 - выключить, 2 - зелёный, 3 - оранжевый, 4 - красный