Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как сделать чтоб пищало?  (Прочитано 940 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн unicorp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Как сделать чтоб пищало?
« : 08 Июля 2011, 21:48:31 »
Нужно чтобы в Linuxе был писк по уровню сигнала при настройке спутника (DVB-card)

запускаю в одном терминале
szap -H -c /root/channels.conf -n 18 >szappick.txt &

в другом
tail -f szappick.txt

в третьем хочу сделать писк по уровню сигнала, как в Windowsе в родной программе с SkyStar2
нужен только восьмой аргумент уровень SNR сигнала
status 1f | signal 100% | snr  77% | ber 119 | unc -2 | FE_HAS_LOCK

строка
tail -f szappick.txt | awk '{print $8}'
работает

а если добавить для того, чтобы писчало только когда lock
tail -f szappick.txt | grep FE_HAS_LOCK | awk '{print $8}'
НЕ РАБОТАЕТ

кто подскажет, как сделать через beep писк дальше?

Пользователь решил продолжить мысль [time]Sat Jul  9 02:02:05 2011[/time]:
Вот решение для точной настройки на спутник

оказывается, штатная утилита femon может издавать звук! но совсем не так, как надо.
писчит как заведённая без толку (без задержки),

сначала нужно перекомпилировать femon. для этого

добавить источник в репозитарии
deb-src http://archive.ubuntu.com/ubuntu/ natty universe

обновить источники
apt-get

загрузить источник командой
apt-get build-dep dvb-apps

загрузить и попытаца скомпилировать, но у меня почему-то не скомпилировалось. но нужны только исходники femon
apt-get source -b dvb-apps

в файле femon.c поменять signal_strength на snr, 500 на 200 и 2 на 8, добавить писк только при локе { if (fe_info.lock)  и } в конце

if(acoustical_mode) { if (fe_info.lock)                                                                                                                            
{                                                                                                                                                                  
    int signal=(fe_info.snr * 100) / 0xffff;                                                                                                                        
   fprintf( ttyFile, "\033[10;%d]\a", 200+(signal*8));                                                                                                            
   fflush(ttyFile);                                                                                                                                                
} }

make all
скопировать файл femon в femon-snr в /usr/bin

дальше галиматья с тремя файлами - в один не уложился

szappick запускает szap для лока транспондера, и вывода в файл. если выводить на экран, не получается обрабатывать
в szappick2 обрабатывается каждая строка и отсюда можно запускать как beep так и femon
в szappick3 запускается femon один раз -с 1

Чтобы предложить решение с beep - нужно в szappick2 вытащить из строки уровень в процентах (аргумент 8) и передать его следующему командному файлу,
или умножить и передать beep-у тутже


Файл: szappick.sh
#!/bin/sh                                                                                                                                                                          
                                                                                                                                                                                    
killall szap                                                                                                                                                                        
killall szappick2.sh                                                                                                                                                                
killall szappick3.sh                                                                                                                                                                
killall tail                                                                                                                                                                        
killall awk                                                                                                                                                                        
                                                                                                                                                                                    
szap -H -c /root/channels.conf -n 18 >szappick.txt &                                                                                                                                
                                                                                                                                                                                    
./szappick2.sh &                                                                                                                                                                    
                                                                                                                                                                                    
tail -f szappick.txt                                                                                                                                                                
                                                                                                                                                                                    
killall szap                                                                                                                                                                        
killall szappick2.sh


Файл: szappick2.sh
#!/bin/sh                                                                                                                                                                          
                                                                                                                                                                                    
tail -f szappick.txt | awk '{system ("./szappick3.sh")}'


Файл: szappick3.sh
#!/bin/sh                                                                                                                                                                          
                                                                                                                                                                                    
./femon-snr -H -A -r -c 1 >/dev/null 2>/dev/null                                                                                                                                    
sleepenh 0.3>/dev/null


Файл: szappick_stop.sh
#!/bin/sh                                                                                                                                                                          
                                                                                                                                                                                    
killall szap                                                                                                                                                                        
killall szappick2.sh                                                                                                                                                                
killall szappick3.sh                                                                                                                                                                
killall awk                                                                                                                                                                        
killall tail


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

Файл: szappick3.sh
#!/bin/sh                                                                                                                                                                          
                                                                                                                                                                                    
./femon-snr -H -A -r -c 1 >/dev/null 2>/dev/null                                                                                                                                    
sleepenh 0.25>/dev/null

./femon-snr -H -A -r -c 1 >/dev/null 2>/dev/null                                                                                                                                    
sleepenh 0.25>/dev/null

./femon-snr -H -A -r -c 1 >/dev/null 2>/dev/null                                                                                                                                    
sleepenh 0.25>/dev/null

./femon-snr -H -A -r -c 1 >/dev/null 2>/dev/null                                                                                                                                    
sleepenh 0.25>/dev/null

« Последнее редактирование: 09 Июля 2011, 02:03:06 от unicorp »

 

Страница сгенерирована за 0.034 секунд. Запросов: 22.