Программная сирена.

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Программная сирена.

Непрочитанное сообщение Soldier » 2010-06-06 12:44:57

Привет всем.
Раньше, когда было время доса и винды 98, существовал компилятор TurboC 3.0.
В нем была библиотека dos.h, в которой была функция:

Код: Выделить всё

void sound(unsigned f)
Вызывает  звуковой сигнвл с частотой f Гц.
Далее шла функция задержки:

Код: Выделить всё

void delay(unsigned x)
Приостановление выполнения программы на x мсек.
Думаю, что нужен пакет:

Код: Выделить всё

pdcurses-the-3.2
Curses library implementation for Win32, DOS, OS/2 and X11
Long description : Sources : Changes : Download
Maintained by: alepulver@FreeBSD.org
Requires: kbproto-1.0.4, libICE-1.0.6,1, libSM-1.1.1_1,1, libX11-1.3.3,1, libXau-1.0.5, libXaw-1.0.7,1, libXdmcp-1.0.3, libXext-1.1.1,1, libXmu-1.0.5,1, libXp-1.0.0,1, libXpm-3.5.7, libXt-1.0.7, libpthread-stubs-0.3_3, libxcb-1.6, pkg-config-0.23_1, printproto-1.0.4, xextproto-7.1.1, xproto-7.0.16
Подскажите, есть ли решения этого вопроса под freebsd?
Заранее благодарен за ответ.

З.Ы. Просьба не предлагать печатать "\a" и "0x07" символы.
Tux: "Kill Bill !!!"

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Программная сирена.

Непрочитанное сообщение xDi » 2010-06-06 15:22:12

самое простое, что пришло в голову, это взять массив размером достаточным для помещения одного периода звуковой волны, заполнить его значениями синуса, а потом в цикле отправлять его на устройство dsp. скорее всего надо будет к определенному формату привести. не проверял.

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: Программная сирена.

Непрочитанное сообщение Soldier » 2010-06-06 17:58:54

Интересное решение, но зачем массив, если можно просто циклом подогнать?

dsp не устраивает. "Пишалка" больше симпатизирует.
С простой отправкой на dsp я могу и на шелле накатать.
Tux: "Kill Bill !!!"

Аватара пользователя
xDi
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-01-01 20:27:26

Re: Программная сирена.

Непрочитанное сообщение xDi » 2010-06-06 19:19:49

Soldier писал(а):Интересное решение, но зачем массив, если можно просто циклом подогнать?

dsp не устраивает. "Пишалка" больше симпатизирует.
С простой отправкой на dsp я могу и на шелле накатать.
Раздел касается Си-программирования, потому предположил, что требуется минимум ресурсов. Вычисление тригонометрических функций куда больше съест проц, нежели извлечение готового значения из массива.
Про устройство вывода ничего сказано не было, потому и выбрал первое попавшееся - dsp.
Впредь пожалуйста описывайте полные условия задачи.

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: Программная сирена.

Непрочитанное сообщение Soldier » 2010-06-07 10:52:17

xDi писал(а):
Soldier писал(а):Раздел касается Си-программирования, потому предположил, что требуется минимум ресурсов. Вычисление тригонометрических функций куда больше съест проц, нежели извлечение готового значения из массива.
Про устройство вывода ничего сказано не было, потому и выбрал первое попавшееся - dsp.
Впредь пожалуйста описывайте полные условия задачи.
Извиняйте, но функция sound всегда работала со спикером.

Не верю, что нет решения.
Tux: "Kill Bill !!!"

Гость
проходил мимо

Re: Программная сирена.

Непрочитанное сообщение Гость » 2010-06-07 10:56:52

поищите в этом же разделе
потому как этот вопрос уже поднимался и ответ на него тоже был найден

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: Программная сирена.

Непрочитанное сообщение Fastman » 2010-06-09 11:53:00

Как я искал :)

1. man speaker
2. поиск по /usr/src
3. cat /usr/src/sys/dev/speaker/spkr.c

1 минута где то :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: Программная сирена.

Непрочитанное сообщение Soldier » 2010-06-09 19:24:11

Fastman писал(а):Как я искал :)

1. man speaker
2. поиск по /usr/src
3. cat /usr/src/sys/dev/speaker/spkr.c

1 минута где то :)
За указание расположения исходника девайса - спасибо.
Интересный файл, только не пойму, что с ним делать.
Собрать ядро с поддержко устройства spkr - не интересно, т.к. напрямую с железом можно работать.
Откомпилить файл не получилось - ругалось сильно.
Дергать описание функций - не вижу смысла.
Tux: "Kill Bill !!!"

edigaryev
проходил мимо
Сообщения: 1
Зарегистрирован: 2010-06-29 21:41:19

Re: Программная сирена.

Непрочитанное сообщение edigaryev » 2010-06-29 21:44:01

Взгляните на исходник программы beep: http://www.johnath.com/beep/beep.c

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: Программная сирена.

Непрочитанное сообщение Soldier » 2010-06-30 5:51:21

Спасибо. попробую собрать.
Tux: "Kill Bill !!!"