Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

Unity, Serial Port, C#, Нет нужной библы

Пн апр 05, 2021 22:35:51

Здрасте.
Пытаюсь написать приложение для андроида в среде UNITY.
На СИ- подобных языках опыта нет.
Немного пишу на асме для AVR - представление о программировании есть.

Задача:
В COM-Port поступают данные ( телеметрия ) в собственном протоколе. ( посылаю данные из AVR )
Пакеты разделены временными паузами.
На данный момент это два чередующихся пакета.
Каждый пакет имеет двухбайтовый заголовок.
Требуется по приходу пакета, сравнивать CRC, определять тип пакета, расшифровывать данные и выводить на дисплей.
В дальнейшем к данным будут привязаны трехмерные объекты - по этому и была выбрана среда UNITY.
До этого писал ( пытался, игрался ) в VisualStudio - там вопросов не возникло с приемом данных.
А вот в UNITY - сплошные вопросы.
Во первых, unity использует Визуал Студио в качестве редактора кода, но при этом компилятор использует свой собственный.
Во вторых, код работающий в Висуал Студио не будет работать в Unity без напилинга.
( Видимо какая то особенность.. Говорю же - не силен в СИ )

Самое обидное, что в Unity кастрированная библа Serial-Port'а
Данные можно опрашивать по байтно.
Ну это никуда не годится.

Нашел какую то либу от erdemkosk
но ни как не пойму как ее подключить и использовать...
библа тут https://github.com/erdemkosk/Unity-SerialPortUtility


Потом установил библу Ardity ( ранее назывался SerialCommUnity )
установил, попробовал собрать по примеру, который прилагается в "Setup Guide"
Все работает, все замечательно, НО данные расшифровываются юникодом, а мне этого не надо - мне нужен галимый ХЕКС
И либа ждет символов "переноса каретки" (CR+LF) а в моем случае нет таких символов, у меня максимум что есть временная пауза между пакетами, и довольно длительная, в будущем ее может и не стать - я планировал отслеживать сообщения по заголовку пакета...
Ardity (покопавшись нашел внутри нужный скрипт) позволяет читать компорт в хекс-виде и с временным разделителем между сообщениями, но запустить программу с данным кодом я не смог.

Других толклвых библиотек я не нашел.
Есть платные, есть дорогие и не очень..
Ест платная версия Unity....
Но нигде нет гарантий, что там будет то что мне надо..
А если и будет, то не факт что я быстро с этим разберусь..

В общем я в тупике каком то... :shock: :dont_know:

Выслушаю все Ваши предложения...

Unity платный наверное нет смысла...
А вот библу-платную какую то возможно..
А еще бы лучше с примерами того как надо...
Я уж подумывал может задание кинуть на vsesdal.com или author24.ru или kwork.ru и посмотреть кто что предложит...
С одной стороны хочется приложение готовое, с другой стороны хочется самому во всем разобраться.
К тому же допиливать придется многое... Это только начало.
А бюджет совсем небольшой - живу в России - работаю руками..
А это так - хобби..

В общем: совет, пинок, библа, кусок кода, готовое решение - да все что угодно уже :)

Re: Unity, Serial Port, C#, Нет нужной библы

Вт апр 06, 2021 15:39:40

забыл написать: в unity пытаюсь писать на c#
Ответить