root / plugins / other / dvb-signal @ a8909ec6
Historique | Voir | Annoter | Télécharger (2,89 ko)
| 1 | 18f4f70e | ian dobson | #!/bin/bash |
|---|---|---|---|
| 2 | # |
||
| 3 | # Reads the signal strength from a DVB-c/s/t tuner |
||
| 4 | # |
||
| 5 | # (c) 2009 i.dobson@planet-ian.com |
||
| 6 | # |
||
| 7 | a8909ec6 | ian dobson | # 24.11.2009 Version 1.1 added support for multiple tuners |
| 8 | # 22.11.2009 Version 1.0 added check that femon iinstalled |
||
| 9 | # 21.11.2009 Version 0.9 added adapter number |
||
| 10 | # 20.11.2009 Version 0.8 first version |
||
| 11 | # |
||
| 12 | 18f4f70e | ian dobson | # Magic markers (optional): |
| 13 | #%# family=auto |
||
| 14 | #%# capabilities=autoconf suggest |
||
| 15 | |||
| 16 | a8909ec6 | ian dobson | #Starting point for tuner to watch |
| 17 | Tuner=0 |
||
| 18 | 18f4f70e | ian dobson | |
| 19 | case $1 in |
||
| 20 | autoconf|detect) |
||
| 21 | a8909ec6 | ian dobson | REQ=`which femon` |
| 22 | if [ "$REQ" = "" ]; then |
||
| 23 | echo "no (femon not installed)" |
||
| 24 | exit 1 |
||
| 25 | fi |
||
| 26 | |||
| 27 | if [ -e /dev/dvb/adapter$Tuner/ ]; then |
||
| 28 | echo yes |
||
| 29 | exit 0 |
||
| 30 | else |
||
| 31 | echo "no (dvb tuner $Tuner not found)" |
||
| 32 | exit 1 |
||
| 33 | fi;; |
||
| 34 | |||
| 35 | 18f4f70e | ian dobson | config) |
| 36 | a8909ec6 | ian dobson | echo "graph_title DVB signal strength" |
| 37 | echo 'graph_args --base 1000 -l 0' |
||
| 38 | echo 'graph_vlabel Signal Strength %' |
||
| 39 | echo 'graph_category mythtv' |
||
| 40 | echo 'graph_scale no' |
||
| 41 | while [ -e /dev/dvb/adapter$Tuner/ ]; do |
||
| 42 | Tuner=$[$Tuner+1] |
||
| 43 | done |
||
| 44 | 18f4f70e | ian dobson | |
| 45 | a8909ec6 | ian dobson | TunerLoop=0 |
| 46 | while [ $TunerLoop -lt $Tuner ] ; do |
||
| 47 | echo "signal$TunerLoop.label Signal strength for tuner $TunerLoop" |
||
| 48 | echo "signal$TunerLoop.draw LINE1" |
||
| 49 | echo "signal$TunerLoop.min 0" |
||
| 50 | TunerLoop=$[$TunerLoop+1] |
||
| 51 | done |
||
| 52 | 18f4f70e | ian dobson | |
| 53 | a8909ec6 | ian dobson | TunerLoop=0 |
| 54 | while [ $TunerLoop -lt $Tuner ] ; do |
||
| 55 | echo "snr$TunerLoop.label Signal to noise for tuner $TunerLoop" |
||
| 56 | echo "snr$TunerLoop.draw LINE1" |
||
| 57 | echo "snr$TunerLoop.min 0" |
||
| 58 | TunerLoop=$[$TunerLoop+1] |
||
| 59 | done |
||
| 60 | |||
| 61 | TunerLoop=0 |
||
| 62 | while [ $TunerLoop -lt $Tuner ] ; do |
||
| 63 | echo "ber$TunerLoop.label Bit error rate for tuner $TunerLoop" |
||
| 64 | echo "ber$TunerLoop.draw LINE1" |
||
| 65 | echo "ber$TunerLoop.min 0" |
||
| 66 | echo "ber$TunerLoop.max 200" |
||
| 67 | TunerLoop=$[$TunerLoop+1] |
||
| 68 | done |
||
| 69 | |||
| 70 | TunerLoop=0 |
||
| 71 | while [ $TunerLoop -lt $Tuner ] ; do |
||
| 72 | echo "unc$TunerLoop.label Uncorrectable errors for tuner $TunerLoop" |
||
| 73 | echo "unc$TunerLoop.draw LINE1" |
||
| 74 | echo "unc$TunerLoop.min 0" |
||
| 75 | echo "unc$TunerLoop.max 200" |
||
| 76 | TunerLoop=$[$TunerLoop+1] |
||
| 77 | done |
||
| 78 | exit 0;; |
||
| 79 | esac |
||
| 80 | echo "" > /tmp/dvb-signal.text |
||
| 81 | echo "" > /tmp/dvb-signal1.text |
||
| 82 | Tuner=0 |
||
| 83 | while [ -e /dev/dvb/adapter$Tuner/ ] ; do |
||
| 84 | check=`femon -c 1 -a $Tuner | grep signal ` |
||
| 85 | echo $check $Tuner| awk '{printf ("signal%.0f.value %.1f\nsnr%.0f.value %.1f\nber%.0f.value %.2f\nunc%.0f.value %.4f\n#raw values Tuner %.0f %.0f %.0f %.0f %.0f \n",$17,strtonum("0x"$5)/655,$17,strtonum("0x"$8)/655,$17,strtonum("0x"$11),$17,strtonum("0x"$14),$17,strtonum("0x"$5),strtonum("0x"$8),$11,$14)}' >> /tmp/dvb-signal.text
|
||
| 86 | echo $check >> /tmp/dvb-signal1.text |
||
| 87 | Tuner=$[$Tuner+1] |
||
| 88 | done |
||
| 89 | cat /tmp/dvb-signal.text | grep signal |
||
| 90 | cat /tmp/dvb-signal.text | grep snr |
||
| 91 | cat /tmp/dvb-signal.text | grep ber |
||
| 92 | cat /tmp/dvb-signal.text | grep unc |
||
| 93 | cat /tmp/dvb-signal.text | grep raw |
||
| 94 | 18f4f70e | ian dobson | exit 0 |
