xref: /openwifi/user_space/rssi_ad9361_show.sh (revision cf07a59a82f1a42a68599f5d5eb004a21f5fa3ca)
1#!/bin/bash
2
3# Reads RSSI in dB from RX1, let's call it "r".
4# Linear fit offset "o" depends on frequency (2.4GHz or 5GHz and FMCOMMS2/3).
5# RSSI(dBm) = -r + o
6# 2.4GHz(ch 6) FMCOMMS2: o = 16.74
7# 2.4GHz(ch 6) FMCOMMS3: o = 17.44
8# 5GHz (ch 44) FMCOMMS2: o = 25.41
9# 5GHz (ch 44) FMCOMMS3: o = 24.58
10
11home_dir=$(pwd)
12
13#set -x
14if test -f "/sys/bus/iio/devices/iio:device0/in_voltage0_rssi"; then
15  cd /sys/bus/iio/devices/iio:device0/
16else if test -f "/sys/bus/iio/devices/iio:device1/in_voltage0_rssi"; then
17       cd /sys/bus/iio/devices/iio:device1/
18     else if test -f "/sys/bus/iio/devices/iio:device2/in_voltage0_rssi"; then
19            cd /sys/bus/iio/devices/iio:device2/
20          else if test -f "/sys/bus/iio/devices/iio:device3/in_voltage0_rssi"; then
21                 cd /sys/bus/iio/devices/iio:device3/
22               else if test -f "/sys/bus/iio/devices/iio:device4/in_voltage0_rssi"; then
23                      cd /sys/bus/iio/devices/iio:device4/
24                    else
25                      echo "Can not find in_voltage_rf_bandwidth!"
26                      echo "Check log to make sure ad9361 driver is loaded!"
27                      exit 1
28                    fi
29               fi
30          fi
31     fi
32fi
33#set +x
34
35if [ $# -lt 1 ]; then
36  cat in_voltage0_rssi
37else
38  num_read=$1
39  for ((i=0;i<$num_read;i++))
40  do
41    rssi_str=$(cat in_voltage0_rssi)
42    echo "${rssi_str//dB}"
43  done
44fi
45cd $home_dir
46
47