summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjskyboo <jack@ron.local>2016-12-29 13:52:51 -0800
committerjskyboo <jack@ron.local>2016-12-29 13:52:51 -0800
commitfdb0479758339e083f7745d738c9999d86af150f (patch)
tree42a00f5cbd2cc8873ee6676bf63994c115c4f209
parent6522505ce70705243992cfab3cae4128a8516eac (diff)
downloadpfsense-fdb0479758339e083f7745d738c9999d86af150f.zip
pfsense-fdb0479758339e083f7745d738c9999d86af150f.tar.gz
Fix ntp gps status
- trim sat in use - gps ok for GPGLL - lat & lon direction for GPGGA & GPGLL - sat in use text position fixed
-rw-r--r--src/usr/local/www/status_ntpd.php18
-rw-r--r--src/usr/local/www/widgets/widgets/ntp_status.widget.php4
2 files changed, 14 insertions, 8 deletions
diff --git a/src/usr/local/www/status_ntpd.php b/src/usr/local/www/status_ntpd.php
index 56725ab..c37052d 100644
--- a/src/usr/local/www/status_ntpd.php
+++ b/src/usr/local/www/status_ntpd.php
@@ -110,6 +110,8 @@ if (!isset($config['ntpd']['noquery'])) {
$gps_lat = $gps_lat * (($gps_vars[4] == "N") ? 1 : -1);
$gps_lon = $gps_lon_deg + $gps_lon_min;
$gps_lon = $gps_lon * (($gps_vars[6] == "E") ? 1 : -1);
+ $gps_la = $gps_vars[4];
+ $gps_lo = $gps_vars[6];
} elseif (substr($tmp, 0, 6) == '$GPGGA') {
$gps_vars = explode(",", $tmp);
$gps_ok = $gps_vars[6];
@@ -123,9 +125,11 @@ if (!isset($config['ntpd']['noquery'])) {
$gps_lon = $gps_lon * (($gps_vars[5] == "E") ? 1 : -1);
$gps_alt = $gps_vars[9];
$gps_alt_unit = $gps_vars[10];
- $gps_sat = $gps_vars[7];
+ $gps_sat = (int)$gps_vars[7];
+ $gps_la = $gps_vars[3];
+ $gps_lo = $gps_vars[5];
} elseif (substr($tmp, 0, 6) == '$GPGLL') {
- $gps_vars = explode(",", $tmp);
+ $gps_vars = preg_split('/[,\*]+/', $tmp);
$gps_ok = ($gps_vars[6] == "A");
$gps_lat_deg = substr($gps_vars[1], 0, 2);
$gps_lat_min = substr($gps_vars[1], 2) / 60.0;
@@ -135,6 +139,8 @@ if (!isset($config['ntpd']['noquery'])) {
$gps_lat = $gps_lat * (($gps_vars[2] == "N") ? 1 : -1);
$gps_lon = $gps_lon_deg + $gps_lon_min;
$gps_lon = $gps_lon * (($gps_vars[4] == "E") ? 1 : -1);
+ $gps_la = $gps_vars[2];
+ $gps_lo = $gps_vars[4];
}
}
}
@@ -205,7 +211,7 @@ function print_status() {
}
function print_gps() {
- global $gps_lat, $gps_lon, $gps_lat_deg, $gps_lon_deg, $gps_lat_min, $gps_lon_min, $gps_vars,
+ global $gps_lat, $gps_lon, $gps_lat_deg, $gps_lon_deg, $gps_lat_min, $gps_lon_min, $gps_la, $gps_lo,
$gps_alt, $gps_alt_unit, $gps_sat, $gps_satview, $gps_goo_lnk;
print("<tr>\n");
@@ -214,7 +220,7 @@ function print_gps() {
print(" (");
printf("%d%s", $gps_lat_deg, "&deg;");
printf("%.5f", $gps_lat_min*60);
- print($gps_vars[4]);
+ print($gps_la);
print(")");
print("</td>\n");
print("<td>\n");
@@ -222,7 +228,7 @@ function print_gps() {
print(" (");
printf("%d%s", $gps_lon_deg, "&deg;");
printf("%.5f", $gps_lon_min*60);
- print($gps_vars[6]);
+ print($gps_lo);
print(")");
print("</td>\n");
@@ -233,7 +239,7 @@ function print_gps() {
}
if (isset($gps_sat) || isset($gps_satview)) {
- print('<td class="text-center">');
+ print('<td>');
if (isset($gps_satview)) {
print(gettext('in view ') . intval($gps_satview));
diff --git a/src/usr/local/www/widgets/widgets/ntp_status.widget.php b/src/usr/local/www/widgets/widgets/ntp_status.widget.php
index b47a6fd..e29f381 100644
--- a/src/usr/local/www/widgets/widgets/ntp_status.widget.php
+++ b/src/usr/local/www/widgets/widgets/ntp_status.widget.php
@@ -105,11 +105,11 @@ if ($_REQUEST['updateme']) {
$gps_lon = $gps_lon * (($gps_vars[5] == "E") ? 1 : -1);
$gps_alt = $gps_vars[9];
$gps_alt_unit = $gps_vars[10];
- $gps_sat = $gps_vars[7];
+ $gps_sat = (int)$gps_vars[7];
$gps_la = $gps_vars[3];
$gps_lo = $gps_vars[5];
} elseif (substr($tmp, 0, 6) == '$GPGLL') {
- $gps_vars = explode(",", $tmp);
+ $gps_vars = preg_split('/[,\*]+/', $tmp);
$gps_ok = ($gps_vars[6] == "A");
$gps_lat_deg = substr($gps_vars[1], 0, 2);
$gps_lat_min = substr($gps_vars[1], 2) / 60.0;
OpenPOWER on IntegriCloud