Projet

Général

Profil

Révision a8909ec6

IDa8909ec671973afa6fd283d51e923fce06fa727d
Parent e3c3aae2
Enfant 46804929

Ajouté par ian dobson il y a presque 14 ans

the plugin now supports monitoring several tuners in the same graph

Voir les différences:

plugins/other/dvb-signal
4 4
#
5 5
# (c) 2009 i.dobson@planet-ian.com
6 6
#
7
# 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
#
7 12
# Magic markers (optional):
8 13
#%# family=auto
9 14
#%# capabilities=autoconf suggest
10 15

  
11
#Change this value to point to the tuner you want to watch
12
Tuner=1
16
#Starting point for tuner to watch
17
Tuner=0
13 18

  
14 19
case $1 in
15 20
    autoconf|detect)
16
        if [ -e  /dev/dvb/adapter$Tuner/ ] ; then
17
            echo yes
18
            exit 0
19
        else
20
            echo "no (dvb tuner $Tuner not found)"
21
            exit 1
22
        fi;;
21
       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

  
23 35
    config)
24
        echo 'graph_title  DVB signal strength '
25
        echo 'graph_args --base 1000 -l 0'
26
        echo 'graph_vlabel Signal Strength % / Errors in 000s'
27
        echo 'graph_category mythtv'
28
        echo 'graph_scale no'
29

  
30
        echo "signal.label Signal strength"
31
        echo "signal.draw LINE1"
32
        echo "signal.min 0"
33

  
34
        echo "snr.label Signal to noise"
35
        echo "snr.draw LINE1"
36
        echo "snr.min 0"
37

  
38
        echo "ber.label Bit error rate (in millions)"
39
        echo "ber.draw LINE1"
40
        echo "ber.min 0"
41

  
42
        echo "unc.label Uncorrectable errors (in thousands)"
43
        echo "unc.draw LINE1"
44
        echo "unc.min 0"
45
    exit 0;;
46
esac
36
      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
47 44

  
48
if [ -e  /dev/dvb/adapter$Tuner/ ] ; then
49
  check=`femon -H -c 1 -a $Tuner | grep signal `
50
  echo $check | awk '{printf "signal.value %.0f\nsnr.value %.0f\nber.value %.2f\nunc.value %.2f\n\n",$5,$8,$11/1000,$14/1000000}'
51
 else
52
  echo "snr.value 0"
53
  echo "unc.value 0"
54
  echo "ber.value 0"
55
  echo "signal.value 0"
56
fi
45
      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
57 52

  
53
      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
58 94
exit 0

Formats disponibles : Unified diff