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? И как у других производителей, какие ещё есть варианты? .... У ЛВ точно где то было на сайте. Когда-то сделал себе файлик.
|
Автор: | 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 байта. В принципе, можно каждому произведенному девайсу давать уникальный адрес ещё много-много лет Ну а я не об этом разве писал, когда предлагал стандартизировать транспортный протокол?! Так сразу начали - "велосипед", кому он нужен... Сейчас тоже придумываю, как передавать файлы и прочую инфу уже в данных внутри транспорта. Есть несколько спорных моментов. Например - аватарку и эмблему клуба при каждом новом подключении передавать? Или вводить авторизацию и учётки пользователей? Уникальный номер имеет каждый камушек STM |
Автор: | Alexies [ 15 сен 2015, 19:57 ] |
Заголовок сообщения: | Re: Система Caustic |
Pingvin писал(а): Цитата: Первая задача - получить список всех устройств в сети nrf24. Для этого у каждого девайса помимо адреса теперь есть человекочитаемое имя. То есть, больше никаких "игрок 68": в вашем распоряжении 20 латинских символов, например "Vasya's M4A1". К слову, пространство адресов в системе Caustic не привязано к id игрока в miles tag и составляет 3 байта. В принципе, можно каждому произведенному девайсу давать уникальный адрес ещё много-много лет Ну а я не об этом разве писал, когда предлагал стандартизировать транспортный протокол?! Так сразу начали - "велосипед", кому он нужен... Сейчас тоже придумываю, как передавать файлы и прочую инфу уже в данных внутри транспорта. Есть несколько спорных моментов. Например - аватарку и эмблему клуба при каждом новом подключении передавать? Или вводить авторизацию и учётки пользователей? Уникальный номер имеет каждый камушек 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. . Тоже схлопотали полбу граблями?! Структуры хотели потоком передавать? Не прокатит. Поэтому нужно пакеты формировать "ручками", а для этого и нужен транспортный протокол. О чем я ранее писал, но понимания не нашёл. С типами я тоже накалывался, хоть и на Qt пишу. Но у меня все нормально с транспортом, слава Богу. Могу 64 кБт плюнуть в одном пакете. Аватарки и эмблемы так и передаю - одним пакетом. С Андроид приложением администратора игры и приложением-клиентом для смартфона все базовые вещи так же решены. Осталась рутина... P.S. Безумно рад, что не приходится тратить время на изучения Java, не потому что не хочу, просто время дорого. |
Страница 39 из 108 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |