www.open-tager.ru

открытый лазертаг форум
Текущее время: 26 апр 2024, 18:23

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


Реклама

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 108  След.
Автор Сообщение
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 25 авг 2015, 12:40 
Не в сети
Аксакал форума

Зарегистрирован: 29 авг 2011, 11:08
Сообщений: 1849
Alexies писал(а):
[*] Будет устройство-bridge между bluetooth и nrf24l01. Устройство работает, можно сказать, тривиально: пересылает пакеты от из одной сети в другую, и наоборот. Просто замена физического уровня.
Каковы приоритеты разработки данного устройства ?
Когда оно примерно появится, будет ли МК на плате или измените прошивку для БТ модуля ( у него уже есть готовый интерфейс SPI ) ?

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


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

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

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 25 авг 2015, 13:35 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
LTagKirov писал(а):
Alexies писал(а):
[*] Будет устройство-bridge между bluetooth и nrf24l01. Устройство работает, можно сказать, тривиально: пересылает пакеты от из одной сети в другую, и наоборот. Просто замена физического уровня.
Каковы приоритеты разработки данного устройства ?
Когда оно примерно появится, будет ли МК на плате или измените прошивку для БТ модуля ( у него уже есть готовый интерфейс SPI ) ?


Для начала будет HC-05 с МК, чтобы быстрее был результат. Затем, для оптимизации, можно освоить перепрошивку блютус-модуля, но это - на потом. Интерфейсов там полно всяких, если не ошибаюсь. USART просто выведен на ножки в большинстве продающихся образцов

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 25 авг 2015, 21:11 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
В процессе портирования оружия на FreeRTOS возникли проблемы с проигрыванием wav-файлов. Поскольку старая архитектура плеера не очень сочеталась с FreeFTOS, решил переписать. А заодно - добавить поддержку микширования нескольких каналов.

И вот - оно заработало! Можно играть одновременно сколько угодно (ну, в разумных пределах, ограничиваясь производительностью контроллера и скоростью карточки) звуковых файлов. Без лагов, без блокировки прерываний и прочих неэффективных практик.

Это будет применяться для оповещения о попадании. Потому что, как я понял по сообщениям на форуме, пиликанье после длинной очереди - это не круто.


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
То есть одновременно можно играть несколько файлов - я правильно понял?
Микширование программное?
То есть звук ранения будет накладываться поверх звуков выстрелов?
Круто!
А я размышляю - как программно громкость регулировать... :?

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 25 авг 2015, 22:38 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
То есть одновременно можно играть несколько файлов - я правильно понял?
Микширование программное?
То есть звук ранения будет накладываться поверх звуков выстрелов?
Круто!
А я размышляю - как программно громкость регулировать... :?


Да, именно так! :) Есть функция
Код:
WavPlayer::play("имя_файла", номер_канала)

Файлы, которые проигрываются на разных "каналах", звучат одновременно. "Каналы" - это просто абстракция, всё играется через один и тот же канал ЦАПа на одной и той же ножке.

А чтобы громкость просто. Есть нюанс: поскольку ЦАП в 12-битном режиме принимает на вход целое от 0 до (1 << 12 - 1), то уменьшать нужно отклонение от среднего, (1<<11 - 1), или оно же INT16_MAX >> 4 (оно даёт среднее напряжение на выходе).

код примерно такой, с каждым семплом нужно проделать:
Код:
newSample = (INT16_MAX >> 4) + (oldSample - INT16_MAX >> 4) * k;

где k - во сколько раз заглушить/усилить. Это как раз можно вставить в то место, где перекодируется 16-бит знаковое из wav в 12-бит беззнаковое для ЦАП. После перекодирования.


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Спасибо большое за ликбез!
Попробую переварить.
Круто!
Я Вас ещё помучаю в личке, уж не взыщите! ;) :)

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


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

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Хочу уточнить кое-что.
Из файла берутся сеймплы со знаком 16 бит.
То есть это соответствует типу int16_t, верно?
Я могу их сначала умножить на коэффициент, а затем привести уже к беззнаковому типу, добавив int16t_max+1?

Например:

static uint16_t *pointer;

pointer = (uint16_t *)&DAC_Buff[0];

*pointer = (*pointer )* 80/100; //80% громкости

*pointer +=(uint16_t)0x8000; // преобразуем в беззнаковый тип



так корректно?

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


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

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

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 26 авг 2015, 10:07 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
Хочу уточнить кое-что.
Из файла берутся сеймплы со знаком 16 бит.
То есть это соответствует типу int16_t, верно?
Я могу их сначала умножить на коэффициент, а затем привести уже к беззнаковому типу, добавив int16t_max+1?

Например:

static uint16_t *pointer;

pointer = (uint16_t *)&DAC_Buff[0];

*pointer = (*pointer )* 80/100; //80% громкости

*pointer +=(uint16_t)0x8000; // преобразуем в беззнаковый тип

так корректно?


Да, так даже логичней. Не хватает только преобразования от 16-бит к 12-бит. В звуковом файле могут встречаться все числа от примерно -INT16_MAX до INT16_MAX. А ЦАП первые 4 бита проигнорирует, пэтому предварительно нужно уменьшить битность сдвигом вправо:
Код:
static uint16_t *pointer;
pointer = (uint16_t *)&DAC_Buff[0];
*pointer = ((*pointer ) >> 4) * 80/100; //80% громкости
*pointer +=(uint16_t)INT16_MAX; // преобразуем в беззнаковый тип

Ещё стоит помнить про то, что восприятие громкости человеком логарифмическое. Обычно делают таблицу коэффициентов громкости в виде массива, каждый следующий коэффециент отличается от предыдущего во сколько-то раз.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 108  След.

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


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

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


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

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