www.open-tager.ru http://www.open-tager.ru/forum/ |
|
прошивки на систему LTagKirov http://www.open-tager.ru/forum/viewtopic.php?f=5&t=417 |
Страница 12 из 36 |
Автор: | LTagKirov [ 30 апр 2013, 12:49 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Какие из этих команд вы не используете и какие ещё добавить Код: switch (mlCommand.Command)
{ case MILES_CMD_OK: // Команда обработана, ничего не делать break; case MILES_GROUP_CMD: // Общая группа команд switch (mlCommand.Parametr) { case MILES_CMD_KILL: // переключить автомат приёма LogicPak StateIRPack = KillGamer; break; case MILES_CMD_NEWGAME: // Новая игра, немедленно // хотим новую игру, автомат LogicNewGame StateNewGame = START_NEW_GAME; new_game_cnt = nextgame; // немедленно break; case MILES_CMD_RESPAWN: // Новая игра, отложенный старт StateNewGame = START_NEW_GAME; break; case MILES_CMD_FULL_AMMO: ammo_clip_in_game = ammo_clip; // загрузить магазин пулями clip_num_in_game = clip_num; // дать игроку магазинов по конфигурации break; case MILES_CMD_FULL_HEALTH: live_in_game = live; // заполнить жисть // в игру не вводим break; case MILES_CMD_EXPLODE // Взорвать игрока // переключить автомат приёма LogicPak StateIRPack = ExplodeGamer; break; case MILES_CMD_SHOK // Оглушить игрока, не может стрелять // на сколько времени оглушить ??? break; case MILES_CMD_DISARM // Разоружить игрока, выключить стрельбу clip_num_in_game = 0; // отнять все магазины ammo_clip_in_game = 1; // оставить одну пулю ;) break; }; //case end break; // MILES_GROUP_CMD: case MILES_ADD_HEALTH: live_in_game = live_in_game + mlCommand.Parametr; if (live_in_game > live) live_in_game = live; // поправить жисть break; case MILES_ADD_BULLET: // прибавить патроны в магазин ammo_clip_in_game = ammo_clip_in_game + mlCommand.Parametr: if (ammo_clip_in_game > ammo_clip) ammo_clip_in_game = ammo_clip; break; case MILES_ADD_CLIP: clip_num_in_game = clip_num_in_game + mlCommand.Parametr: // Количество обойм прибавить ammo_clip_in_game = ammo_clip; // загрузить новый магазин /* if (clip_num_in_game > clip_num) { clip_num_in_game = clip_num; // поправить количество обойм // или разрешить сколько угодно ;) } */ break; case MILES_ADD_MEDKIT: // 0х8B Х(0.15) 0хЕ8 Аптечка (количество здоровья - согласно таблице урона, // количество единиц здоровья не может быть больше, чем задано в начальных настройках ружья) live_in_game = live_in_game + damage_table(mlCommand.Parametr & 0x0F); if (live_in_game > live) live_in_game = live; // поправить жисть break; }; //case end // Входим в эту процедуру один раз // повторных входов для обработки команд не требуется mlCommand.Command = MILES_CMD_OK; } // команд Майлс |
Автор: | LTagKirov [ 30 апр 2013, 13:58 ] | ||
Заголовок сообщения: | Re: прошивки на систему LTagKirov | ||
Цитата: ПрошФивка для майлс Распиновку уже приводил, собран вариант для синтезируемого звука - наверное надо переделать на пъезо, вавка в память программ атмеги8 одновременно с обработкой команд майлс нелезет (800байт свободно). Можно потестить выстрелы и попадания, если будет интерес выложу сборку с памятью i2c распиновка viewtopic.php?f=5&t=417&start=220#p21768
|
Автор: | LTagKirov [ 30 апр 2013, 22:02 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Pingvin писал(а): Там же hex голый! А что ещё надо, sapienti sat Ножки обозначены: кварц, светодиод ИК и кнопка огонь = можно пулять. ТСОП(ножка int1), светодиод HIT = можно принимать. Команды Майлс принимает, звуком пищит, батарейку меряет. Можно стартануть с кнопки NewGame. PS. Конфигурирование с ком порта, заливку\проигрывание вав звуков тоже не выключал, но для начальных опытов ненужно, да и доку надо писать конфигурация по умолчанию основные параметры Код: playerID = 61; // ID игрока от 0 до 127
teamID = 1; // команда 1-4 damage = 14; // Урон выстрела, 15 позиций (75%) frendfire = 0; // Режим дружественного огня, вЫключен rifle = 0; // Режим стрельбы: автомат live = 200; // Количество жизней 1-200 nextgame = 10; // Время до начала игры, 1сек, градации 0.1 сек otsechka = 1; // Патронов в очереди: 3шт 1-50 temp_fire = 10; // Скорострельность, 0.01сек выстр/мин 10-990 ammo_clip = 50; // Патронов в обойме 1-99 clip_num = 6; // Количество обойм 1-255 clip_time = 5; // Время перезарядки, 0.1сек 1-99 shok_time = 100; // Время "шока", невозможность стрелять 0.01 spas_time = 100; // Неуязвимость при ранении 0.01 kill_time = 100; // Свечение после "смерти", 0.1сек 1-60 pwm_shot = 20; // Дальность выстрела, 10..200 (max 222) akb_min = 500; // Минимальное напряжение акб, хз ??? mic_gain = 0xC0; // конфигуратор микрофона j |
Автор: | Pacifist [ 30 апр 2013, 23:32 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
teamID = 1; // команда 1-4 По умолчанию "синие", или отличается от майлса нумерация команд? |
Автор: | LTagKirov [ 01 май 2013, 11:47 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Pacifist писал(а): teamID = 1; // команда 1-4 По умолчанию "синие", или отличается от майлса нумерация команд? не задумывался,для меня это просто номер team |
Автор: | LTagKirov [ 17 май 2013, 15:06 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
LTagKirov писал(а): хотелось бы что-то похожее на математическую генерацию отсчётов sample = F(sample(n-1)) и чтобы звук получался: сирена, шум, удар и тд в зависимости от функции Попробовал просто проигрывать "шум" из памяти программ c уменьшением громкости, звук весьма похожий получается. Такой вариант звучит лучше вавки обрезаной до 0,1сек. Код: Подготовка звука
if ( SOUND_RAW == num_sound ) { // проиграть вав файл из памяти программ // будем играть просто шум, с уменьшением громкости snd_length = 800*5; // Длительность звука выстрела 0,5 сек snd_tpp = 0; // индекс отсчётов sound_volume = 0; // регулирока огибающей (громкости), сдвиг в мл разряды } Код загрузки в ШИМ if ( SOUND_RAW == snd_current ) { // Проиграть WAV файл из памяти программ "hitraw.h" bu = pgm_read_byte(&pSndhit[snd_tpp]); snd_tpp ++; if ((snd_tpp & 0x0200) == 0x0200) { // каждый 512 отсчёт (0,06сек) уменьшаем громкость // всего есть 8 градаций громкости надо растянуть на 800*5 отсчётов sound_volume ++; } bu ^= ((snd_tpp & 1) << 7); // модулируем старший разряд, для громкости bu >>= sound_volume; } OCR2 = bu; // записать в ОСR2 - вывод звука |
Автор: | Alim [ 19 май 2013, 11:22 ] | ||
Заголовок сообщения: | Re: прошивки на систему LTagKirov | ||
Предлагаю все же уйти от такой милой многим "реалистичности" звука )))) Те эховые эффекты, которые так всем нравятся в звуке выстрела, как раз не реалистичные. Сам выстрел - это короткий хлопок, остальные призвуки добавляет среда, отражающая этот хлопок. Предлагаю два звука для сравнения, это пистолетные выстрелы с эхом и без него. Тот, который без эха, гораздо легче смоделировать с помощью синтезирования, он и ресурсов меньше съест, потому что короче.
|
Автор: | LTagKirov [ 19 май 2013, 18:28 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Alim писал(а): Предлагаю все же уйти от такой милой многим "реалистичности" звука )))) который без эха, и ресурсов меньше съест, потому что короче. Синтезированному звуку наплевать на длительность, можно нагенерить эхо какой угодно длины Сейчас вообще больше склоняюсь к бескомпромисному пъезозвуку "ПИУ-ПИУ", его слышно гораздо дальше Простой опыт: запишите на флешку звук выстрела откройте двери в машине на природе и послушайте c различный рсстояний, магнитола минимум 50 Вт, резонатор целый багажник, а всё равно проигрывает "ПИУ-ПИУ" по субъективной слышимости. WAV звук это больше для развлечения пользователя макета. |
Автор: | MidnightDreamer [ 19 май 2013, 18:46 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
Поэтому Полигон на своих соревнованиях заставляет ставить дефолтовые "пиу-пиу", хотя возможность есть записывать что хочешь |
Автор: | KorSar [ 20 май 2013, 09:05 ] |
Заголовок сообщения: | Re: прошивки на систему LTagKirov |
полигоновские звуки выстрела в платах первой версии не такие уж и громкие. По крайней мере, у них звук попадания (пиликанье) слышно куда дальше чем выстрел, хотя там звук синтезированный под выстрел. Видимо нужно определить какой тон и какой длительности нужно выдавать или какую последовательность тонов для наибольшей слышимости. |
Страница 12 из 36 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |