www.open-tager.ru
http://www.open-tager.ru/forum/

Система Caustic
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=4128
Страница 39 из 108

Автор:  Alexies [ 15 сен 2015, 10:51 ]
Заголовок сообщения:  Re: Система Caustic

Pingvin писал(а):
Все по протоколу LW


А есть где-нибудь полное описание всех расширений протокола от LW? И как у других производителей, какие ещё есть варианты?

Конечно, не нужно плодить сущности, буду стараться делать совместимо со всеми.

Как только руки дайдут, сделаю конфиги и для протокола с возможностью назначения дополнительных вариантов кодов для каждой команды.

Автор:  Pingvin [ 15 сен 2015, 11:08 ]
Заголовок сообщения:  Re: Система Caustic

Где то был.
И у них на сайте есть.
Но могли уже изменения внести.
Сейчас поищу.

Вот тут кое что есть.
Но тут с контрольной суммоц, вроде отказались от ней в итоге.
Протокол LASERWAR v4.7
http://laserwar.ru/index.php?do=static& ... l_laserwar

Автор:  Pacifist [ 15 сен 2015, 12:20 ]
Заголовок сообщения:  Re: Система Caustic

zverev.perm писал(а):
А вообще сменить цвет и сменить мощность - дурные команды, ими неудобно пользоваться. Гораздо удобнее команды "назначить 50%/100%", "назначить красный/синий".

83F8E8 - установить мощность "внутри помещений"
83F9E8 - установить мощность "на улице"

Автор:  zverev.perm [ 15 сен 2015, 12:39 ]
Заголовок сообщения:  Re: Система Caustic

да я знаю )) ими и пользуюсь ))
Давно просил ЛВшников их реализовать, поначалу в первых 4-ках их не было, как я понял. Ну или были, но были "секретные" ))

Автор:  Pacifist [ 15 сен 2015, 12:47 ]
Заголовок сообщения:  Re: Система Caustic

Alexies писал(а):
Pingvin писал(а):
Все по протоколу LW

А есть где-нибудь полное описание всех расширений протокола от LW? И как у других производителей, какие ещё есть варианты?
....

У ЛВ точно где то было на сайте. Когда-то сделал себе файлик.

Вложения:
LW_miles.zip [10.17 KiB]
Скачиваний: 303

Автор:  Alexies [ 15 сен 2015, 17:43 ]
Заголовок сообщения:  Re: Система Caustic

Pacifist писал(а):
У ЛВ точно где то было на сайте. Когда-то сделал себе файлик.


Спасибо, Pacifist, это то, что надо! Буду делать сообразно этому документу.

Тем временем готова базовая версия прошивки для моста bluetooth<->nfr. Шилд сделал ЛУТом. Правда, качество платки - хуже некуда: когда кончается тонер и хлорное железо одновременно, становится грустно.
Логика работы простая: есть формат пакета nrf с учётом нюансов радиообмена, и есть формат пакета bluetooth. Есть две очереди: на отправку по сети и на отправку по bluetooth, и два потока, которые эти очереди разгребают. Когда что-то приходит, пакет перекодируется в нужный формат и кладётся в нужную очередь. При этом полезная нагрузка не модифицируется.

Действительно, с bluetooth работать проще простого, в том числе с т.з. программирования под Android. Тестовые приложения работают, начинаю разработку конфигуратора.
Первая задача - получить список всех устройств в сети nrf24. Для этого у каждого девайса помимо адреса теперь есть человекочитаемое имя. То есть, больше никаких "игрок 68": в вашем распоряжении 20 латинских символов, например "Vasya's M4A1". К слову, пространство адресов в системе Caustic не привязано к id игрока в miles tag и составляет 3 байта. В принципе, можно каждому произведенному девайсу давать уникальный адрес ещё много-много лет :)

Другая важная задача, которой приходится заниматься параллельно - железо, изготовление излучателей. Водопроводная труба - это, конечно, круто, но присобачивать её к страйкбольному макету или ММГ как-то не по фен-шую. У меня есть возможность заказать у токаря вполне годный излучатель, например с левой резьбой М14 под стандартный глушитель. Пятно хочется сделать как можно меньше, поэтому буду брать линзы на +6дп (это 16,6 см фокус соответственно). В перспективе можно запилить двухлинзовый девайс.

Автор:  Pingvin [ 15 сен 2015, 19:03 ]
Заголовок сообщения:  Re: Система Caustic

Цитата:
Первая задача - получить список всех устройств в сети nrf24. Для этого у каждого девайса помимо адреса теперь есть человекочитаемое имя. То есть, больше никаких "игрок 68": в вашем распоряжении 20 латинских символов, например "Vasya's M4A1". К слову, пространство адресов в системе Caustic не привязано к id игрока в miles tag и составляет 3 байта. В принципе, можно каждому произведенному девайсу давать уникальный адрес ещё много-много лет :)


Ну а я не об этом разве писал, когда предлагал стандартизировать транспортный протокол?!
:shock:

Так сразу начали - "велосипед", кому он нужен...


Сейчас тоже придумываю, как передавать файлы и прочую инфу уже в данных внутри транспорта.
Есть несколько спорных моментов.
Например - аватарку и эмблему клуба при каждом новом подключении передавать?
Или вводить авторизацию и учётки пользователей?



Уникальный номер имеет каждый камушек STM

Автор:  Alexies [ 15 сен 2015, 19:57 ]
Заголовок сообщения:  Re: Система Caustic

Pingvin писал(а):
Цитата:
Первая задача - получить список всех устройств в сети nrf24. Для этого у каждого девайса помимо адреса теперь есть человекочитаемое имя. То есть, больше никаких "игрок 68": в вашем распоряжении 20 латинских символов, например "Vasya's M4A1". К слову, пространство адресов в системе Caustic не привязано к id игрока в miles tag и составляет 3 байта. В принципе, можно каждому произведенному девайсу давать уникальный адрес ещё много-много лет :)


Ну а я не об этом разве писал, когда предлагал стандартизировать транспортный протокол?!
:shock:

Так сразу начали - "велосипед", кому он нужен...


Сейчас тоже придумываю, как передавать файлы и прочую инфу уже в данных внутри транспорта.
Есть несколько спорных моментов.
Например - аватарку и эмблему клуба при каждом новом подключении передавать?
Или вводить авторизацию и учётки пользователей?

Уникальный номер имеет каждый камушек STM


О, Вы изменили сообщение) Отвечу и на старое тоже, для понятности :)

Я говорю сейчас о протоколе радиообмена посредством nrf24l01 между устройствами, а не про интернет! Протокол у меня давно определен и не меняется. Само собой, этот протокол бинарный и использовать что-то готовое нельзя: у нас 32 байта на пакет, никакой лишней информации. Тут не то, что JSON, сюда первая строка HTTP-заголовка не поместится!
Добавление "имени устройства" - это просто ещё один параметр, который можно запросить через сеть. Это не меет отношения к протоколу. Мой протокол позволяет запрашивать и изменять "по радио" абсолютно любой параметр, зарегистрированный в сисеме специальным образом, а также вызывать любую зарегистрированную в системе функцию с любым аргументом.

Работать это должно так: есть блютуз-мост, и смартфон к нему подключился. Пользователь нажимает "найти устройства", и получает список всех устройств систмы Caustic, достуных через мост. Выбирает нужный, и правит его настройки. Устройства должны, само собой, как-то называться. Название "игрок#23" или адрес 134.12.43 - не информативны, поэтому сматфон запросит имя.

А что Вы понимаете под транспортным протоколом? Транспортный в OSI-смысле? Да тут не поймёшь, где какой. Я в своей системе насчитал тольо 4 уровня) Никак не 7.

А для работы по интернет, само собой, нужно что-то готовое. Просто слушать сокет - это велосипед. Сделайте REST API на любом фреймврке, как все делают - и это будет лучшим решениме! Там и файлы передавать, и любые данные, и всё, что угодно. Авторизаця - как всегда через куки, феймворки это из коробки поддерживают.

Автор:  Alexies [ 26 сен 2015, 20:37 ]
Заголовок сообщения:  Re: Система Caustic

Сегодня заработал в начальной стадии проброс пакетов от Android в "сеть" на nrf через bluetooth-мост.

Не самая очевидная вещь - сериализация/десериализация данных в java, чтобы было совместимо с gcc-arm. В C/C++ дофига элементарных типов, по-разному использующих память. В Java - только 5. Если, предположим, задержка между выстрелами на контроллере хранится в uint32_t, то не так-то просто уложить в буффер java-вский int, чтобы он корректно проинтерпретировался потом как uint32_t во всём диапаоне значений. Но, вроде, эту задачу я решил.

...При разработке под микроконтроллеры есть существенная проблема: создание Unit-тестов нетривиально. А вот под Андроид я, само собой, тесты использую: это существенно ускоряет разработку и поиск ошибок. Товарищи, используйте тесты (если это не очевидно и так), это очень помогает!

Офтоп: вчера попробовал обрезать пластиковую очковую линзу на +6 на токарном станке тонким отрезным резцом под диаметр излучателя. Вышло хорошо, хоть и не особо быстро.

Автор:  Pingvin [ 26 сен 2015, 20:47 ]
Заголовок сообщения:  Re: Система Caustic

Alexies писал(а):

Не самая очевидная вещь - сериализация/десериализация данных в java, чтобы было совместимо с gcc-arm. .


Тоже схлопотали полбу граблями?! :lol: :lol: :lol:
Структуры хотели потоком передавать?
Не прокатит.


Поэтому нужно пакеты формировать "ручками", а для этого и нужен транспортный протокол.
О чем я ранее писал, но понимания не нашёл. :?

С типами я тоже накалывался, хоть и на Qt пишу.

Но у меня все нормально с транспортом, слава Богу.
Могу 64 кБт плюнуть в одном пакете.
Аватарки и эмблемы так и передаю - одним пакетом.
С Андроид приложением администратора игры и приложением-клиентом для смартфона все базовые вещи так же решены.
Осталась рутина... :? :roll:

P.S. Безумно рад, что не приходится тратить время на изучения Java, не потому что не хочу, просто время дорого.

Страница 39 из 108 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/