www.open-tager.ru

открытый лазертаг форум
Текущее время: 25 апр 2024, 16:37

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

Правила форума


В разделе запрещены - обсуждение оборудования не поддерживающего открытых протоколов, реклама и ссылки на готовые продукты лазертага, обсуждение политики производителей и самих производителей. Виден всем.



Начать новую тему Ответить на тему  [ Сообщений: 1089 ]  На страницу Пред.  1 ... 48, 49, 50, 51, 52, 53, 54 ... 109  След.
Автор Сообщение
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 03 сен 2015, 19:19 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
Перезаряд в два этапа? В начале один звук, а потом через Х секунд (в зависимости от времени перезаряда) другой?

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 03 сен 2015, 19:48 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Pacifist писал(а):
Перезаряд в два этапа? В начале один звук, а потом через Х секунд (в зависимости от времени перезаряда) другой?

Да поленился - сделал пока один звук.
Надо найти подходящие clip in, clip out.
Пока просто стырил звук из репозитория Caustic.
Да простит меня Alexies.

Переделать на два звука - ну 5 минут работы.

Переделаю.
Мне тоже кажется вариант с двумя звуками правильней.
На Аскете именно так реализовано.
А может даже с тремя - вытащил обойму, вставил новую, передернул затвор.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Последний раз редактировалось Pingvin 03 сен 2015, 19:57, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 03 сен 2015, 19:53 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
И вообще про звуки...

Надо где то искать звуки для различных персонажей.
Хищник, например, зомби, ещё кто-нибудь.
Ну и персонажей подобрать подходящих.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 04 сен 2015, 08:16 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ну с одиночными и стрельбой очередью разобрался.
Код:
                   case key_pressing:
                   {
/
                      if(countdown_shock_time)//если время шока не прошло
                      {
                         keyboard_event = no_key_pressing;//игнорируем нажатие
                         break;
                      }

                      if (true)//если режим огня - очередью
                      {
                         volatile TKEYBOARD_EVENT key_status;
                         key_status = test_keyboard(ADC_GetConversionValue(ADC2));
                         while (key_status==key_pressing)//пока нажат курок
                         {
                            DAC->DHR8R2=100;//Мощьность ИК
                            if(armadaSystem.gun.rounds) //если есть патроны в обойме
                            {
                               send_ir_shot_package();// стреляем
                                armadaSystem.gun.rounds--;//уменьшаем количество патронов в обойме
                                lcd_rounds_update();//обновляем на ЖКИ количество патронов
                                armadaSystem.wav_player.type_of_sound_to_play = SHOT;//воспроизводим звук выстрела
                                xSemaphoreGive(xWavPlayerManagerSemaphore);
                                vTaskDelay((portTickType)(TIC_FQR*60)/armadaSystem.gun.rate);//пауза - зависит от скорострельности
                                key_status = test_keyboard(ADC_GetConversionValue(ADC2));
                            }
                            else// патроны кончились
                            {
                               armadaSystem.wav_player.type_of_sound_to_play = EMPTY_CLIP; //воспроизводим звук пустой обоймы
                                xSemaphoreGive(xWavPlayerManagerSemaphore);
                                keyboard_event = no_key_pressing;
                                break;
                            }
                         }

                      }
                      else//режим огня - одиночные выстрелы
                      {
                         DAC->DHR8R2=100;
                         if(armadaSystem.gun.rounds)
                         {
                            send_ir_shot_package();
                            armadaSystem.gun.rounds--;
                            lcd_rounds_update();
                            armadaSystem.wav_player.type_of_sound_to_play = SHOT;
                            xSemaphoreGive(xWavPlayerManagerSemaphore);
                         }
                         else
                         {
                            armadaSystem.wav_player.type_of_sound_to_play = EMPTY_CLIP;
                            xSemaphoreGive(xWavPlayerManagerSemaphore);

                         }
                      }

                      keyboard_event = no_key_pressing;
                   }
                   break;
                   default:
                   {

                   }
                   break;
                }


Ну и
Код:
if (true)//если режим огня - очередью

просто заглушка пока.
Переключатель режимов к плате не подключен.

Буду с полуавтоматом разбираться.
Как на английском правильно обозвать параметр - количество выстрелов при полуавтоматической стрельбе?

P.S. RTOS - офигительная вещь, сильно упрощает жизнь!
Грех её не использовать!

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 04 сен 2015, 11:00 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
Судя по циклу while стрелять будем даже если нас во время стрельбы убили? То есть пулемётчику с лентой патронов главное будет не отпускать курок? ;)

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 04 сен 2015, 12:12 
Не в сети
Новосел

Зарегистрирован: 10 авг 2015, 13:46
Сообщений: 60
Pingvin писал(а):
Как на английском правильно обозвать параметр - количество выстрелов при полуавтоматической стрельбе?

назовите "burstFireRounds" ))

Pingvin писал(а):
P.S. RTOS - офигительная вещь, сильно упрощает жизнь!
Грех её не использовать!

Вот чего не понимаю, так это всеобщего фанатизма по поводу RTOS. Ну да, это отличный способ для создания многопоточных и кроссплатформенных приложений, но для лазертаг-системы, это как "из пушки по воробьям".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 04 сен 2015, 12:27 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
С полуавтоматом ещё проще

Код:
else if (true)//если режим огня полуавтоматический
         {
            DAC->DHR8R2=100;
            for (int i=0;i<3;i++)
            {
               if(armadaSystem.gun.rounds)
               {
                  send_ir_shot_package();
                   armadaSystem.gun.rounds--;
                  lcd_rounds_update();
                  armadaSystem.wav_player.type_of_sound_to_play = SHOT;
                  xSemaphoreGive(xWavPlayerManagerSemaphore);
                   vTaskDelay((portTickType)(TIC_FQR*60)/armadaSystem.gun.rate);
               }
               else
              {
                 armadaSystem.wav_player.type_of_sound_to_play = EMPTY_CLIP;
                  xSemaphoreGive(xWavPlayerManagerSemaphore);
                  keyboard_event = no_key_pressing;
                   break;
               }
            }//[for]
         }//[else if]


Ща параметр добавлю для количества выстрелов.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 04 сен 2015, 12:32 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
onegray писал(а):
Pingvin писал(а):
Как на английском правильно обозвать параметр - количество выстрелов при полуавтоматической стрельбе?

назовите "burstFireRounds" ))

Pingvin писал(а):
P.S. RTOS - офигительная вещь, сильно упрощает жизнь!
Грех её не использовать!

Вот чего не понимаю, так это всеобщего фанатизма по поводу RTOS. Ну да, это отличный способ для создания многопоточных и кроссплатформенных приложений, но для лазертаг-системы, это как "из пушки по воробьям".

Не соглашусь!
Без неё траха-тибидоха было бы на порядок больше - пришлось бы переменные вводить дополнительные, в прерываниях с ними работать.
А тут
vTaskDelay((portTickType)(TIC_FQR*60)/armadaSystem.gun.rate);

ждем и никому не мешаем!

А как удалось решить проблему распознавания одинаковых по составу пакетов, одновременно пойманных несколькими датчиками (один и тот же это пакет, или это разные, пойманные через очень маленький промежуток времени?) - Это песня! :D 8-)

Пакеты, между получением которых прошла хотя бы 1/300 секунды - будут идентифицированы, как разные!

Покажите решение с независимыми зонами поражения без использования оси - сравним код! ;)

Тем более ресурсов контроллера хватает с лихвой.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 14 сен 2015, 13:47 
Не в сети
Аксакал форума

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
Pingvin писал(а):
Наводки, даже когда вход усилителя корочу на землю! Дело в неправильной разводке.

http://caxapa.ru/lib/emc_immunity.html Ссылка по теме, мне понравилось как написано.

_________________
"За 2 месяца максимум можно чертёж сделать, еще за 3 фундамент." (c) Номернабис


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTArmada
СообщениеДобавлено: 14 сен 2015, 16:18 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
А как удалось решить проблему распознавания одинаковых по составу пакетов, одновременно пойманных несколькими датчиками (один и тот же это пакет, или это разные, пойманные через очень маленький промежуток времени?) - Это песня! :D 8-)
Пакеты, между получением которых прошла хотя бы 1/300 секунды - будут идентифицированы, как разные!
Покажите решение с независимыми зонами поражения без использования оси - сравним код! ;)

Тем более ресурсов контроллера хватает с лихвой.

Полностью поддерживаю: операционная система нужна, как только задача хоть немного усложняется. Когда есть одновременно работа с радио, воспроизведение звука (мы ведь не хотим читать звуковые файлы из обработчиков прерываний? :) ), периодическое сохранение состояния на случай пропадания питания, разные зоны поражения, и нельзя позволить себе заметного человеком лага - без ОС никак. Любое решение "без ОС" будет представлять собой самодельную ОС. У меня так раньше и было :)
Хотя сама задача с зонами поражения мне не кажется сложной. Когда есть классы и ООП, решать такие задачи проще. У меня дополнительного кода строчек 20.

Pingvin писал(а):
Pacifist писал(а):
Перезаряд в два этапа? В начале один звук, а потом через Х секунд (в зависимости от времени перезаряда) другой?

Да поленился - сделал пока один звук.
Надо найти подходящие clip in, clip out.
Пока просто стырил звук из репозитория Caustic.
Да простит меня Alexies.

Переделать на два звука - ну 5 минут работы.

Переделаю.
Мне тоже кажется вариант с двумя звуками правильней.
На Аскете именно так реализовано.
А может даже с тремя - вытащил обойму, вставил новую, передернул затвор.


Так для того публичный репозиторий и предназначен :) Я не против, берите, что найдёте :) К слову, я брал тут все звуки: https://freesound.org/ - удобный поиск + лицензионная ~чистота. Таких сайтов есть несколько

Насчёт нескольких звуков перезарядки: если перезарядка одной кнопкой без датчика магазина - тут не нужно 3 звуковых файла, можно всё один скомпоновать. А если предполагается отсоединение магазина, то это действие не нужно дополнительно озвучивать :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 1089 ]  На страницу Пред.  1 ... 48, 49, 50, 51, 52, 53, 54 ... 109  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB