Нужно чтобы в 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