From 3e6f1ee52e077af70c9a8e4d1501063dc12a2ed1 Mon Sep 17 00:00:00 2001 From: phl0 Date: Sun, 8 Jan 2017 12:01:50 +0100 Subject: [PATCH] First PoC for s-meter display --- images/0.png | 0 images/1.png | 0 images/2.png | 0 images/3.png | 0 images/4.png | 0 include/functions.php | 28 ++++++++++++++++++++++++++-- 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 images/0.png create mode 100644 images/1.png create mode 100644 images/2.png create mode 100644 images/3.png create mode 100644 images/4.png diff --git a/images/0.png b/images/0.png new file mode 100644 index 0000000..e69de29 diff --git a/images/1.png b/images/1.png new file mode 100644 index 0000000..e69de29 diff --git a/images/2.png b/images/2.png new file mode 100644 index 0000000..e69de29 diff --git a/images/3.png b/images/3.png new file mode 100644 index 0000000..e69de29 diff --git a/images/4.png b/images/4.png new file mode 100644 index 0000000..e69de29 diff --git a/include/functions.php b/include/functions.php index 7280a58..c97e05c 100644 --- a/include/functions.php +++ b/include/functions.php @@ -256,7 +256,19 @@ function getHeardList($logLines, $onlyLast) { // and RSSI in BER position if (startsWith($loss,"BER")) { if (substr($ber, 6) != "-0/-0/-0 dBm") { - $rssi = substr($ber, 6); + $rssiString = substr($ber, 6); + $rssiAvg = preg_replace('/-\d+\/-\d+\/(-\d+) dBm/', "\\1", $rssiString); + if ($rssiAvg > "-63") $rssi = " S9+10dB"; + else if ($rssiAvg > "-73") $rssi = " S9"; + else if ($rssiAvg > "-79") $rssi = " S8"; + else if ($rssiAvg > "-85") $rssi = " S7"; + else if ($rssiAvg > "-91") $rssi = " S6"; + else if ($rssiAvg > "-97") $rssi = " S5"; + else if ($rssiAvg > "-103") $rssi = " S4"; + else if ($rssiAvg > "-109") $rssi = " S3"; + else if ($rssiAvg > "-115") $rssi = " S2"; + else if ($rssiAvg > "-121") $rssi = " S1"; + else $rssi = " S0"; } $ber = substr($loss, 5); $loss = ""; @@ -266,7 +278,19 @@ function getHeardList($logLines, $onlyLast) { $ber = substr($lineTokens[4], 5); } if (array_key_exists(5,$lineTokens) && substr($lineTokens[5], 6) != "-0/-0/-0 dBm") { - $rssi = substr($lineTokens[5], 6); + $rssiString = substr($lineTokens[5], 6); + $rssiAvg = preg_replace('/-\d+\/-\d+\/(-\d+) dBm/', "\\1", $rssiString); + if ($rssiAvg > "-63") $rssi = " S9+10dB"; + else if ($rssiAvg > "-73") $rssi = " S9"; + else if ($rssiAvg > "-79") $rssi = " S8"; + else if ($rssiAvg > "-85") $rssi = " S7"; + else if ($rssiAvg > "-91") $rssi = " S6"; + else if ($rssiAvg > "-97") $rssi = " S5"; + else if ($rssiAvg > "-103") $rssi = " S4"; + else if ($rssiAvg > "-109") $rssi = " S3"; + else if ($rssiAvg > "-115") $rssi = " S2"; + else if ($rssiAvg > "-121") $rssi = " S1"; + else $rssi = " S0"; } }