www.open-tager.ru http://www.open-tager.ru/forum/ |
|
прошивки на систему LTagKirov http://www.open-tager.ru/forum/viewtopic.php?f=5&t=417 |
Страница 17 из 36 |
Автор: | dimka1977 [ 13 янв 2014, 13:55 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Добрый день. >Вариант прошивки с настройкой мощности обоих ИК каналов. >Команды: >w70, основной выстрел, параметр от 1 до 70 (56Кгц) от 1 до 110 (36кгц) >W30, альтернативный выстрел, параметры такие же. >ЗЫ. В прошивку добавлен код реакции на собственные пакеты (непоражает, но отмечается "ранение" звуком), для тех кому лениво >собирать вторую плату для проверки работы системы целиком. Наконец получилось проверить прошивку на попадание, ИК -диод оказался не рабочим (или не тем). Может я что-то не так делаю, но получается только один раз начать игру кнопкой "Новая игра". После полного окончания патронов (сделано несколько релоадов) повторно игра не активируется кнопкой. Не совсем понятно как это "w70, основной выстрел, параметр от 1 до 70 (56Кгц) от 1 до 110 (36кгц)"? В прошивке для 36 кГц параметр задавать от 1 до 110? Что касается завершения второй версии проекта, то по моему не хватает подробного описания всех терминальных команд. В оборудовании, с которым я работаю, всегда есть терминальная команда "H" (Help), которая печатает все доступные команды с описанием и текущим значением. Хотя это излишество, достаточно и описания на бумаге со значениями по умолчанию. Из дополнительного оборудования я бы сделал аптечку, просто мишень с отображением попадания цветом команды или настраиваемую на одну команду, базу с таймером для захвата. На самом деле я познакомился с Laser Tag пару недель назад и очень понравилось как мне с друзьями так и детям. Даже вначале появилось желание попробовать сделать самому (много лет назад программировал 89С51), но Ваш проект очень порадовал доступностью и продуманностью. Да и под рукой оказалось несколько Mega328. Еще есть пару ATTiny13, ее ног хватило бы для функций мишени или аптечки, только до конца не понял, достаточно ли точности внутрннего генератора (сильно зависит от температуры) и какие требования к точности временных интервалов в MILS? |
Автор: | LTagKirov [ 13 янв 2014, 14:09 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
dimka1977 писал(а): Может я что-то не так делаю, но получается только один раз начать игру кнопкой "Новая игра". После полного окончания патронов (сделано несколько релоадов) повторно игра не активируется кнопкой. Патроны кончились, но игрок не убит - придётся "искать" коробку с патронами или выключить оборудование и снова включить. dimka1977 писал(а): Не совсем понятно как это "w70, основной выстрел, параметр от 1 до 70 (56Кгц) от 1 до 110 (36кгц)"? В прошивке для 36 кГц параметр задавать от 1 до 110? по моему не хватает подробного описания всех терминальных команд. Да это делитель для PWM, проверок в параметрах нет никаких, если поставить 200 - ИК диод сгорит почти сразу Доку как будет свободное время конечно изготовлю, тем более она понадобится если найдётся товарищ желающий написать конфигуратор для планшетника. |
Автор: | Pingvin [ 13 янв 2014, 14:18 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Пишите описание команд. Состряпаем текстовый файл с протоколом и скормим Аскет-конфигуратору. И будет он работать в вашим железом/прошивкой. Готов это сделать (написать файл - 5 минут делов) - дайте описание! |
Автор: | LTagKirov [ 13 янв 2014, 15:29 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Pingvin писал(а): Пишите описание команд. Краткий вариант, некоторых команд нет (вроде регулировки громкости), но они несущественны, для начала и этих достаточно. Некоторые команды работают сразу, некоторые требуют перезапуска маркера по питанию, конкретно касается параметров пули. Пуля создаётся при старте и не меняется до перезапуска. Например можно поменять ИД игрока, пуля до перезапуска останется старой, а реагировать по приёму будет уже как с новым ИД. В то же время можно поменять например время шока и оно будет использоватся в игре, до выключения маркера. А после выключения восстановится время из сохранённых значений. Можно не заморачиватся и после изменения настроек и их сохранения в ЕЕПРОМ командой z5, перезапускать маркер по питанию. Код: Значения по умолчанию, коментарии по границам переменных Приведены основные параметры ir_frq = 222; // частота ИК через делитель, по умолчанию 36КГц playerID = 61; // ID игрока от 0 до 127 teamID = 1; // команда 0-3 damage = 14; // Урон выстрела, от 0 до 15, по умолчанию (75%) damageG = 15; // Урон гранаты, от 0 до 15, по умолчанию (100%) frendfire = 0; // Режим дружественного огня, вЫключен rifle = 0; // Режим стрельбы: автомат =0 /полуавтомат =1 live = 200; // Количество жизней 1-200 nextgame = 10; // Время до начала игры, 1сек, градации 0.1 сек otsechka = 10; // Патронов в очереди: шт 1-250 для выключения просто ставить очередь длиннее магазина temp_fire = 3; // Скорострельность, 0.01сек 0..65500 указывается время между выстрелами, а не скорострельность в выстрелах в минуту максимальная реальная скорострельность около 1500выстр в минуту Время указывается в единицах времени в 0,01 или 0,1сек ammo_clip = 50; // Патронов в обойме 1-99 clip_num = 6; // Количество обойм 1-255 clip_time = 5; // Время перезарядки, 0.1сек 0..65500 shok_time = 100; // Время "шока", невозможность стрелять 0.01 1..65500 spas_time = 100; // Неуязвимость при ранении 0.01 1..65500 можно и от ноля считать, программа переваривает kill_time = 100; // Свечение после "смерти", кол-во вспышек 1..65500 5000вспышек 10минут, точно не мерял pwm_shot = 20; // Дальность выстрела, 1..70 (56Кгц) 1..110(36Кгц) pwm_alt = 20; // Дальность выстрела гранатой 1..70 akb_min = 500; // Минимальное напряжение акб, сигнал о необходимости зарядить АКБ akb_max = 1000; // Максимальное напряжение акб при зарядке // Верхний порог выключения заряда АКБ. // Напряжение АКБ измеряется от 1 до 1024 // Количество мв на 1 шаг определяется делителем. // Например делитель резисторный 0.09, тогда на 12,22В ->1.1В = 1024 или 12мВ на 1 moved_kill = 0; // режим обездвиживания, вЫключен start_kill = 0; // при включении вне игры auto_reload = 0; // автоперезарядка выключена arm_jaket = 1; // минимальная броня, =0 выключеная броня, 15 позиций pass_ir = 0x5555; ИК Пароль по умолчанию, правильнее назвать адрес маркера. Используется для получения доступа при конфигурировании через ИК канал. Команды приведу попозже. В зоне действия могут находится одновремено несколько маркеров, но параметры будет принимать только тот маркер в запросах к которому установлен такойже пароль. Так сказать мой вариант клонирования. Ответы оборудования на некоторые команды печатается подсказка и текущее значениие в битовом виде(hex) то есть в том числе и непечатные символы. Например номер игрока 10 будет принят как один байт 0А, а не два символа '0','А' " playerID = ", " teamID = ", " damage = ", " frendfire = ", " rifle = ", " live = ", " next.game 0.1sec = ", " otsechka = ", " temp.fire 0.01sec = ", " ammo.clip = ", " clip.num = ", " reload.time 0.1sec = ", " shok.time 0.01 = ", " spas.time 0.01 = ", " kill.time 0.1 = ", " pwm.shot 10..200 = ", // 15 " akb.volt = ", // " Write EEPROM, 10sec", " mic.gain, xxx0 0000 = ", " moved.kill = ", " out.game on start = ", " auto.reload = ", " arm.jaket = ", " akb.max = ", " damage.G = ", " Pass.ir = ", " pwm.alt = " Формат команды символ число запятая возврат каретки ненужен символ - один байт все доступные от 0 до 255, за исключением запятой ',' Рекомендовано не использовать символы цифр для команды, итого доступно 240 команд Сначала тратим набор латинских букв потом будем использовать другие. Проверенные команды case ('i'): playerID = cifra_end; // ID игрока от 0 до 127 case ('t'): teamID = cifra_end; // команда 0-3 case ('d'): damage = cifra_end; // Урон выстрела, 15 позиций (75%) case ('f'): frendfire = cifra_end; // Режим дружественного огня, вЫключен case ('q'): rifle = cifra_end; // Режим стрельбы: полуавтомат case ('l'): live = cifra_end; // Количество жизней 1-200 case ('g'): nextgame = cifra_end; // Время до начала игры, 10сек, градации 0.1 сек case ('o'): otsechka = cifra_end; // Патронов в очереди 1-50 case ('p'): temp_fire = cifra_end; // Скорострельность, 0.01сек case ('m'): ammo_clip = cifra_end; // Патронов в обойме 1-99 case ('c'): clip_num = cifra_end; // Количество обойм 1-255 case ('r'): clip_time = cifra_end; // Время перезарядки, 0.1сек 1-99 case ('h'): shok_time = cifra_end; // Время "шока", невозможность стрелять case ('s'): spas_time = cifra_end; // Неуязвимость при ранении case ('k'): kill_time = cifra_end; // Свечение после "смерти", case ('w'): pwm_shot = cifra_end; // Дальность выстрела, максимум = ir_frq / 2 case ('a'): akb_min = cifra_end; // Минимальное напряжение акб, хз ??? // Cлужебные команды, сохранение в EEPROM и Flash case ('z'): // Использовыать для записи текущих параметров if (5 == cifra_end) { // параметры запишутся через 10 секунд case ('e'): // запустить звук по таблице need_sound(cifra_end); case ('j'): // конфигуратор микрофона j case ('x'): // режим обездвиживания, case ('G'): // режим при включении вне игры case ('R'): // автоперезарядка выключена case ('J'): // бронежилет case ('A'): akb_max = cifra_end; // Напряжение акб, для зарядки примерный вид ответа akb.max = вЕ + ап; putchar_(cifra_end>>8); putchar_(cifra_end); putchar_('+'); // Текущее значение в "попугаях" putchar_(adc_in>>8); putchar_(adc_in); case ('D'): damageG = cifra_end; // Урон гранаты, 15 позиций (75%) case ('P'): pass_ir = cifra_end; // Пароль ИК case ('W'): pwm_alt = cifra_end; // Дальность выстрела гранатой case ('F'): ir_frq = cifra_end; 222 - 36КГц 143 - 56КГц 200 - 40КГц |
Автор: | LTagKirov [ 13 янв 2014, 20:18 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Pingvin писал(а): Надо все таки возвращать признак успешного выполнения команды или ошибки в Аскете это OK и ERROR иначе как программа узнает, выполнена ли операция корректно? Засорение канала "мусором", и так понятно неответили знаит егогг, ответило и напечатало текущее значение параметра значит всё замечательно. с Ик каналом потруднее сейас использую просто дублирование данных без квитирования. В классическом варианте клонирования от Майлс есть CRC но обратного ик пакета тоже нету. Там обходятся без квитирования и мы значит тоже прекрасно обойдёмся, люди отыграли тысячи часов и проблемы нет, думаю усложнять нет смысла. |
Автор: | alex97 [ 10 июл 2014, 16:33 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Всем привет. Решил собрать свой таггер с платой на AVR ATMega8. Я - новичок в этом деле, поэтому решил удостовериться насчёт прошивки к этой схеме http://ltagkirov.narod.ru/dve/sxema2.png На этом сайте есть старая версия прошивки, но хотелось бы узнать о существовании новой её версии) Заранее спасибо |
Автор: | LTagKirov [ 11 июл 2014, 13:29 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
alex97 писал(а): На этом сайте есть старая версия прошивки, но хотелось бы узнать о существовании новой её версии) Вот новая схема, процессор нужен Ат168, но если в "кроватку" ставить то и Ат8 подойдёт для начала viewtopic.php?f=5&t=417&start=280#p30123 прошивка последний вариант viewtopic.php?f=5&t=417&start=270#p27116 вариант на 36кгц, с отметкой собственных рикошетов, можно тестить приём передачу на одной плате, а не собирать сразу две. viewtopic.php?f=5&t=417&start=340#p30475 |
Автор: | KorSar [ 15 июл 2014, 13:00 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Он же новичок. Ему нужно попроще. Вот последняя версия прошивки для первой (оригинальной) схемы http://www.open-tag.ru/download/ltk_miles_13_12_11.rar Дома есть версия еще чуть доработанная (добавлена пролет пуля). Могу выслать. Сам с этой схемой (первой) и прошивкой до сих пор играю совместно со стволами LW. Совместимсть на уровне пули. Из команд понимает только "оживление". Этого хватает. приобрел USB программатор теперь и в поле настройки менять могу. |
Автор: | LTagKirov [ 15 июл 2014, 21:18 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
KorSar писал(а): Он же новичок. Ему нужно попроще. Вот последняя версия прошивки для первой (оригинальной) схемы http://www.open-tager.ru/download/ltk_m ... _12_11.rar Дома есть версия еще чуть доработанная (добавлена пролет пуля). Могу выслать. Сам с этой схемой (первой) и прошивкой до сих пор играю совместно со стволами LW. По сути главное отличие схем, что в первом историческом варианте ИК сигнал берётся с OC2 и звук выводится с OC1В, а в новой версии наоборот. На плате можно разместить джамперы и просто перетыкать на первый или второй вариант. Или ещё более простое решение: ключи транзисторные использовать одинаково сильные, и установить колодку под винты - тогда для перехода со старого варинта на новый достаточно будет подключить ИК диод вместо динамика , а динамик вместо ИК. Новый вариант схемы(раскладки ножек) оптимальнее по используемым аппаратным ресурсам, и его надо рекомендовать для дальнейшего развития. "Народная" прошивка ltk в разы проще Аскета и для начинающих изучать микроконтроллеры в деле применения их для лазертага это хороший вариант. Ножки использованные для кнопок несущественны и легко переставляются. ЗЫ. Наверное есть смысл сделать версию ltk_miles_13_12_11.rar для новой схемы. Для всех: залейте сюда на форум/мастерскую вашу самую последнюю "народную" версию, попробую выбрать время, или может кто другой захочет присоединится. |
Автор: | KorSar [ 16 июл 2014, 23:23 ] | ||
Заголовок сообщения: | Re: прошивки на систему LTagKirov | ||
Вот с последними правками
|
Страница 17 из 36 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |