From ec549284248f925b6e897df69230dc6558713fcf Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Thu, 25 Jun 2015 15:07:08 -0700 Subject: [PATCH 001/127] When loading, automatically query the most recent session and load that data. --- web/session.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/web/session.php b/web/session.php index bcedb777..b663b447 100644 --- a/web/session.php +++ b/web/session.php @@ -66,6 +66,19 @@ $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; $setZoomManually = 1; + # Automatically load the most recent session when loading the page + $sessionqry = mysql_query("SELECT session + FROM $db_table + ORDER BY session + DESC LIMIT 0, 1", $con) or die(mysql_error()); + while($sessid = mysql_fetch_array($sessionqry)) { + $session_id = $sessid["0"]; + } + if ($session_id != "") { + $url = "session.php?id=" . $session_id; + header( "Location: $url" ); + } + } ?> From 16cfd00047a68d9868c37217396088b42606204e Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Wed, 22 Jul 2015 15:04:51 -0700 Subject: [PATCH 002/127] No longer chooses 2 default variables, now waits on variable selection from the user. --- web/session.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/web/session.php b/web/session.php index b663b447..6e23034f 100644 --- a/web/session.php +++ b/web/session.php @@ -23,6 +23,28 @@ $session_id = preg_replace('/\D/', '', $_GET['id']); } +//Define some variables to be used in variable management later +if (isset($_POST["s1"])) { + $var1 = preg_replace('/\D/', '', $_POST['s1']); +} +elseif (isset($_GET["s1"])) { + $var1 = preg_replace('/\D/', '', $_GET['s1']); +} +else { + $var1 = ""; +} + +if (isset($_POST["s2"])) { + $var2 = preg_replace('/\D/', '', $_POST['s2']); +} +elseif (isset($_GET["s2"])) { + $var2 = preg_replace('/\D/', '', $_GET['s2']); +} +else { + $var2 = ""; +} + + if (isset($session_id)) { //For the merge function, we need to find out, what would be the next session From 17ec3564180d4b2874791104b0556ecdbb50ba86 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Wed, 22 Jul 2015 15:18:36 -0700 Subject: [PATCH 003/127] No longer chooses 2 default variables, now waits on variable selection from the user. --- web/plot.php | 221 ++++++++++++++++++++++++------------------------ web/session.php | 90 +++++++++++--------- 2 files changed, 160 insertions(+), 151 deletions(-) diff --git a/web/plot.php b/web/plot.php index d19c5d73..901911f0 100644 --- a/web/plot.php +++ b/web/plot.php @@ -28,116 +28,117 @@ $v2 = "kf"; // Intake Air Temp } - // Grab the label for each PID to be used in the plot - $v1_label = '"'.$jsarr[$v1].'"'; - $v2_label = '"'.$jsarr[$v2].'"'; - - // Get data for session - $sessionqry = mysql_query("SELECT time,$v1,$v2 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC;") or die(mysql_error()); - - //Speed conversion - if (!$source_is_miles && $use_miles) - { - $speed_factor = 0.621371; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && $use_miles) - { - $speed_factor = 1.0; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && !$use_miles) - { - $speed_factor = 1.609344; - $speed_measurand = ' [km/h]'; - } - else - { - $speed_factor = 1.0; - $speed_measurand = ' [km/h]'; - } - - //Temperature Conversion - //From Celsius to Fahrenheit - if (!$source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; - $temp_measurand = ' [°F]'; - } - //Just Fahrenheit - elseif ($source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°F]'; - } - //From Fahrenheit to Celsius - elseif ($source_is_fahrenheit && !$use_fahrenheit) - { - $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; - $temp_measurand = ' [°C]'; - } - //Just Celsius - else - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°C]'; - } - - // Convert data units - // TODO: Use the userDefault fields to do these conversions dynamically - while($row = mysql_fetch_assoc($sessionqry)) { - // data column #1 - if (substri_count($jsarr[$v1], "Speed") > 0) { - $x = intval($row[$v1]) * $speed_factor; - $v1_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v1], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v1]) ); - $v1_measurand = $temp_measurand; - } - else { - $x = intval($row[$v1]); - $v1_measurand = ''; - } - $d1[] = array($row['time'], $x); - $spark1[] = $x; - - // data column #2 - if (substri_count($jsarr[$v2], "Speed") > 0) { - $x = intval($row[$v2]) * $speed_factor; - $v2_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v2], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v2]) ); - $v2_measurand = $temp_measurand; - } - else { - $x = intval($row[$v2]); - $v2_measurand = ''; - } - $d2[] = array($row['time'], $x); - $spark2[] = $x; - } - - $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; - $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; - - $sparkdata1 = implode(",", array_reverse($spark1)); - $sparkdata2 = implode(",", array_reverse($spark2)); - $max1 = round(max($spark1), 1); - $max2 = round(max($spark2), 1); - $min1 = round(min($spark1), 1); - $min2 = round(min($spark2), 1); - $avg1 = round(average($spark1), 1); - $avg2 = round(average($spark2), 1); - $pcnt25data1 = round(calc_percentile($spark1, 25), 1); - $pcnt25data2 = round(calc_percentile($spark2, 25), 1); - $pcnt75data1 = round(calc_percentile($spark1, 75), 1); - $pcnt75data2 = round(calc_percentile($spark2, 75), 1); - + if ( $v1 <> "" or $v2 <> "" ) { + // Grab the label for each PID to be used in the plot + $v1_label = '"'.$jsarr[$v1].'"'; + $v2_label = '"'.$jsarr[$v2].'"'; + + // Get data for session + $sessionqry = mysql_query("SELECT time,$v1,$v2 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC;") or die(mysql_error()); + + //Speed conversion + if (!$source_is_miles && $use_miles) + { + $speed_factor = 0.621371; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && $use_miles) + { + $speed_factor = 1.0; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && !$use_miles) + { + $speed_factor = 1.609344; + $speed_measurand = ' [km/h]'; + } + else + { + $speed_factor = 1.0; + $speed_measurand = ' [km/h]'; + } + + //Temperature Conversion + //From Celsius to Fahrenheit + if (!$source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; + $temp_measurand = ' [°F]'; + } + //Just Fahrenheit + elseif ($source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°F]'; + } + //From Fahrenheit to Celsius + elseif ($source_is_fahrenheit && !$use_fahrenheit) + { + $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; + $temp_measurand = ' [°C]'; + } + //Just Celsius + else + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°C]'; + } + + // Convert data units + // TODO: Use the userDefault fields to do these conversions dynamically + while($row = mysql_fetch_assoc($sessionqry)) { + // data column #1 + if (substri_count($jsarr[$v1], "Speed") > 0) { + $x = intval($row[$v1]) * $speed_factor; + $v1_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v1], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v1]) ); + $v1_measurand = $temp_measurand; + } + else { + $x = intval($row[$v1]); + $v1_measurand = ''; + } + $d1[] = array($row['time'], $x); + $spark1[] = $x; + + // data column #2 + if (substri_count($jsarr[$v2], "Speed") > 0) { + $x = intval($row[$v2]) * $speed_factor; + $v2_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v2], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v2]) ); + $v2_measurand = $temp_measurand; + } + else { + $x = intval($row[$v2]); + $v2_measurand = ''; + } + $d2[] = array($row['time'], $x); + $spark2[] = $x; + } + + $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; + $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; + + $sparkdata1 = implode(",", array_reverse($spark1)); + $sparkdata2 = implode(",", array_reverse($spark2)); + $max1 = round(max($spark1), 1); + $max2 = round(max($spark2), 1); + $min1 = round(min($spark1), 1); + $min2 = round(min($spark2), 1); + $avg1 = round(average($spark1), 1); + $avg2 = round(average($spark2), 1); + $pcnt25data1 = round(calc_percentile($spark1, 25), 1); + $pcnt25data2 = round(calc_percentile($spark2, 25), 1); + $pcnt75data1 = round(calc_percentile($spark1, 75), 1); + $pcnt75data2 = round(calc_percentile($spark2, 75), 1); + } } else { diff --git a/web/session.php b/web/session.php index 6e23034f..349ce3a2 100644 --- a/web/session.php +++ b/web/session.php @@ -44,7 +44,6 @@ $var2 = ""; } - if (isset($session_id)) { //For the merge function, we need to find out, what would be the next session @@ -397,11 +396,16 @@ function doPlot(position) {
- -
-
-
- + + +
+
No Variables Selected to Plot!
+
+ +
+
+
+
Select a session first!
@@ -416,41 +420,45 @@ function doPlot(position) {
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameMin/Max25th Pcnt75th PcntMeanSparkline
-
- - + + +
+
No Variables Selected to Plot!
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameMin/Max25th Pcnt75th PcntMeanSparkline
+
+
From e806227c65fde160cc3243d5ce7dd6af6b4ac044 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Tue, 28 Jul 2015 09:26:16 -0700 Subject: [PATCH 004/127] Syncing local sources --- web/session.php | 881 ++++++++++++++++++++++++------------------------ 1 file changed, 440 insertions(+), 441 deletions(-) diff --git a/web/session.php b/web/session.php index 349ce3a2..de0b698a 100644 --- a/web/session.php +++ b/web/session.php @@ -17,88 +17,88 @@ mysql_select_db($db_name, $con) or die(mysql_error()); if (isset($_POST["id"])) { - $session_id = preg_replace('/\D/', '', $_POST['id']); + $session_id = preg_replace('/\D/', '', $_POST['id']); } elseif (isset($_GET["id"])) { - $session_id = preg_replace('/\D/', '', $_GET['id']); + $session_id = preg_replace('/\D/', '', $_GET['id']); } //Define some variables to be used in variable management later if (isset($_POST["s1"])) { - $var1 = preg_replace('/\D/', '', $_POST['s1']); + $var1 = preg_replace('/\D/', '', $_POST['s1']); } elseif (isset($_GET["s1"])) { - $var1 = preg_replace('/\D/', '', $_GET['s1']); + $var1 = preg_replace('/\D/', '', $_GET['s1']); } else { - $var1 = ""; + $var1 = ""; } if (isset($_POST["s2"])) { - $var2 = preg_replace('/\D/', '', $_POST['s2']); + $var2 = preg_replace('/\D/', '', $_POST['s2']); } elseif (isset($_GET["s2"])) { - $var2 = preg_replace('/\D/', '', $_GET['s2']); + $var2 = preg_replace('/\D/', '', $_GET['s2']); } else { - $var2 = ""; + $var2 = ""; } if (isset($session_id)) { - //For the merge function, we need to find out, what would be the next session - $idx = array_search( $session_id, $sids); - if($idx>0) { - $session_id_next = $sids[$idx-1]; - } else { - $session_id_next = false; - } - - // Get GPS data for session - $sessionqry = mysql_query("SELECT kff1006, kff1005 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC", $con) or die(mysql_error()); - - $geolocs = array(); - while($geo = mysql_fetch_array($sessionqry)) { - if (($geo["0"] != 0) && ($geo["1"] != 0)) { - $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); - } - } - - // Create array of Latitude/Longitude strings in Google Maps JavaScript format - $mapdata = array(); - foreach($geolocs as $d) { - $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; - } - $imapdata = implode(",\n ", $mapdata); - - // Don't need to set zoom manually - $setZoomManually = 0; - - mysql_free_result($sessionqry); - mysql_close($con); + //For the merge function, we need to find out, what would be the next session + $idx = array_search( $session_id, $sids); + if($idx>0) { + $session_id_next = $sids[$idx-1]; + } else { + $session_id_next = false; + } + + // Get GPS data for session + $sessionqry = mysql_query("SELECT kff1006, kff1005 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC", $con) or die(mysql_error()); + + $geolocs = array(); + while($geo = mysql_fetch_array($sessionqry)) { + if (($geo["0"] != 0) && ($geo["1"] != 0)) { + $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); + } + } + + // Create array of Latitude/Longitude strings in Google Maps JavaScript format + $mapdata = array(); + foreach($geolocs as $d) { + $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; + } + $imapdata = implode(",\n ", $mapdata); + + // Don't need to set zoom manually + $setZoomManually = 0; + + mysql_free_result($sessionqry); + mysql_close($con); } else { - // Define these so we don't get an error on empty page loads. Instead it - // will load a map of Area 51. - $session_id = ""; - $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; - $setZoomManually = 1; - - # Automatically load the most recent session when loading the page - $sessionqry = mysql_query("SELECT session - FROM $db_table - ORDER BY session - DESC LIMIT 0, 1", $con) or die(mysql_error()); - while($sessid = mysql_fetch_array($sessionqry)) { - $session_id = $sessid["0"]; - } - if ($session_id != "") { - $url = "session.php?id=" . $session_id; - header( "Location: $url" ); - } + // Define these so we don't get an error on empty page loads. Instead it + // will load a map of Area 51. + $session_id = ""; + $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; + $setZoomManually = 1; + + # Automatically load the most recent session when loading the page + $sessionqry = mysql_query("SELECT session + FROM $db_table + ORDER BY session + DESC LIMIT 0, 1", $con) or die(mysql_error()); + while($sessid = mysql_fetch_array($sessionqry)) { + $session_id = $sessid["0"]; + } + if ($session_id != "") { + $url = "session.php?id=" . $session_id; + header( "Location: $url" ); + } } @@ -106,391 +106,390 @@ - - - - - Open Torque Viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- -

Select Session

-
-
- - -
+ + + + + Open Torque Viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +

Select Session

+
+
+ + +
-
- - - - - - -
-
/>
-
-
-
-
+
+ + + + + + +
+
/>
+
+
+
+
-
- - -
- - -

Select 2 Variables to Plot

-
-
- -
-
-
- -

Plot

-
-
Select a session first!
-
- -
- -

Chart

-
- - - - -
-
No Variables Selected to Plot!
-
- -
-
-
- - -
-
Select a session first!
-
- - -
- -
- -

Data Summary

-
- - - - -
-
No Variables Selected to Plot!
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameMin/Max25th Pcnt75th PcntMeanSparkline
-
- - - -
-
Select a session first!
-
- - - -
- -
- -

Export Data

-
- - - -
- CSV - JSON -
- - -
-
Select a session first!
-
- - -
- -
-
- - - +
+ + +
+ + +

Select 2 Variables to Plot

+
+
+ +
+
+
+ +

Plot

+
+
Select a session first!
+
+ +
+ +

Chart

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+
+
+ + +
+
Select a session first!
+
+ + +
+ +
+ +

Data Summary

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameMin/Max25th Pcnt75th PcntMeanSparkline
+
+ + + + +
+
Select a session first!
+
+ + + +
+ +
+ +

Export Data

+
+ + + +
+ CSV + JSON +
+ + +
+
Select a session first!
+
+ +
+
+
+ + + From 6ec3c752d1f503dce86969bdf37c3b8fa6812bf9 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Tue, 28 Jul 2015 09:44:08 -0700 Subject: [PATCH 005/127] Syncing local copies --- web/plot.php | 229 ++++++++++++++++++++++++------------------------ web/session.php | 1 + 2 files changed, 117 insertions(+), 113 deletions(-) diff --git a/web/plot.php b/web/plot.php index 901911f0..ae1d7425 100644 --- a/web/plot.php +++ b/web/plot.php @@ -19,126 +19,128 @@ $v1 = mysql_real_escape_string($_GET['s1']); } else { - $v1 = "kd"; // OBD Speed + //$v1 = "kd"; // OBD Speed + $v1 = ""; } if (isset($_GET["s2"])) { $v2 = mysql_real_escape_string($_GET['s2']); } else { - $v2 = "kf"; // Intake Air Temp + //$v2 = "kf"; // Intake Air Temp + $v2 = ""; } - if ( $v1 <> "" or $v2 <> "" ) { - // Grab the label for each PID to be used in the plot - $v1_label = '"'.$jsarr[$v1].'"'; - $v2_label = '"'.$jsarr[$v2].'"'; - - // Get data for session - $sessionqry = mysql_query("SELECT time,$v1,$v2 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC;") or die(mysql_error()); - - //Speed conversion - if (!$source_is_miles && $use_miles) - { - $speed_factor = 0.621371; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && $use_miles) - { - $speed_factor = 1.0; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && !$use_miles) - { - $speed_factor = 1.609344; - $speed_measurand = ' [km/h]'; - } - else - { - $speed_factor = 1.0; - $speed_measurand = ' [km/h]'; - } - - //Temperature Conversion - //From Celsius to Fahrenheit - if (!$source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; - $temp_measurand = ' [°F]'; - } - //Just Fahrenheit - elseif ($source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°F]'; - } - //From Fahrenheit to Celsius - elseif ($source_is_fahrenheit && !$use_fahrenheit) - { - $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; - $temp_measurand = ' [°C]'; - } - //Just Celsius - else - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°C]'; - } - - // Convert data units - // TODO: Use the userDefault fields to do these conversions dynamically - while($row = mysql_fetch_assoc($sessionqry)) { - // data column #1 - if (substri_count($jsarr[$v1], "Speed") > 0) { - $x = intval($row[$v1]) * $speed_factor; - $v1_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v1], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v1]) ); - $v1_measurand = $temp_measurand; - } - else { - $x = intval($row[$v1]); - $v1_measurand = ''; - } - $d1[] = array($row['time'], $x); - $spark1[] = $x; - - // data column #2 - if (substri_count($jsarr[$v2], "Speed") > 0) { - $x = intval($row[$v2]) * $speed_factor; - $v2_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v2], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v2]) ); - $v2_measurand = $temp_measurand; - } - else { - $x = intval($row[$v2]); - $v2_measurand = ''; - } - $d2[] = array($row['time'], $x); - $spark2[] = $x; - } - - $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; - $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; - - $sparkdata1 = implode(",", array_reverse($spark1)); - $sparkdata2 = implode(",", array_reverse($spark2)); - $max1 = round(max($spark1), 1); - $max2 = round(max($spark2), 1); - $min1 = round(min($spark1), 1); - $min2 = round(min($spark2), 1); - $avg1 = round(average($spark1), 1); - $avg2 = round(average($spark2), 1); - $pcnt25data1 = round(calc_percentile($spark1, 25), 1); - $pcnt25data2 = round(calc_percentile($spark2, 25), 1); - $pcnt75data1 = round(calc_percentile($spark1, 75), 1); - $pcnt75data2 = round(calc_percentile($spark2, 75), 1); - } + if ( $v1 <> "" or $v2 <> "" ) { + // Grab the label for each PID to be used in the plot + $v1_label = '"'.$jsarr[$v1].'"'; + $v2_label = '"'.$jsarr[$v2].'"'; + + // Get data for session + $sessionqry = mysql_query("SELECT time,$v1,$v2 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC;") or die(mysql_error()); + + //Speed conversion + if (!$source_is_miles && $use_miles) + { + $speed_factor = 0.621371; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && $use_miles) + { + $speed_factor = 1.0; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && !$use_miles) + { + $speed_factor = 1.609344; + $speed_measurand = ' [km/h]'; + } + else + { + $speed_factor = 1.0; + $speed_measurand = ' [km/h]'; + } + + //Temperature Conversion + //From Celsius to Fahrenheit + if (!$source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; + $temp_measurand = ' [°F]'; + } + //Just Fahrenheit + elseif ($source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°F]'; + } + //From Fahrenheit to Celsius + elseif ($source_is_fahrenheit && !$use_fahrenheit) + { + $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; + $temp_measurand = ' [°C]'; + } + //Just Celsius + else + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°C]'; + } + + // Convert data units + // TODO: Use the userDefault fields to do these conversions dynamically + while($row = mysql_fetch_assoc($sessionqry)) { + // data column #1 + if (substri_count($jsarr[$v1], "Speed") > 0) { + $x = intval($row[$v1]) * $speed_factor; + $v1_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v1], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v1]) ); + $v1_measurand = $temp_measurand; + } + else { + $x = intval($row[$v1]); + $v1_measurand = ''; + } + $d1[] = array($row['time'], $x); + $spark1[] = $x; + + // data column #2 + if (substri_count($jsarr[$v2], "Speed") > 0) { + $x = intval($row[$v2]) * $speed_factor; + $v2_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v2], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v2]) ); + $v2_measurand = $temp_measurand; + } + else { + $x = intval($row[$v2]); + $v2_measurand = ''; + } + $d2[] = array($row['time'], $x); + $spark2[] = $x; + } + + $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; + $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; + + $sparkdata1 = implode(",", array_reverse($spark1)); + $sparkdata2 = implode(",", array_reverse($spark2)); + $max1 = round(max($spark1), 1); + $max2 = round(max($spark2), 1); + $min1 = round(min($spark1), 1); + $min2 = round(min($spark2), 1); + $avg1 = round(average($spark1), 1); + $avg2 = round(average($spark2), 1); + $pcnt25data1 = round(calc_percentile($spark1, 25), 1); + $pcnt25data2 = round(calc_percentile($spark2, 25), 1); + $pcnt75data1 = round(calc_percentile($spark1, 75), 1); + $pcnt75data2 = round(calc_percentile($spark2, 75), 1); + } } else { @@ -146,3 +148,4 @@ } ?> + diff --git a/web/session.php b/web/session.php index de0b698a..f2dc020f 100644 --- a/web/session.php +++ b/web/session.php @@ -490,6 +490,7 @@ function doPlot(position) {
+
Debug Info: $session_id= $sessionqry= $url=
From a4a8dc7a019180973197011ae16ef8d5b325a843 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Tue, 28 Jul 2015 10:14:37 -0700 Subject: [PATCH 006/127] Syncing Local Sources --- web/session.php | 891 +++++++++++++++++++++++------------------------- 1 file changed, 436 insertions(+), 455 deletions(-) diff --git a/web/session.php b/web/session.php index f2dc020f..aa71622a 100644 --- a/web/session.php +++ b/web/session.php @@ -17,88 +17,67 @@ mysql_select_db($db_name, $con) or die(mysql_error()); if (isset($_POST["id"])) { - $session_id = preg_replace('/\D/', '', $_POST['id']); + $session_id = preg_replace('/\D/', '', $_POST['id']); } elseif (isset($_GET["id"])) { - $session_id = preg_replace('/\D/', '', $_GET['id']); -} - -//Define some variables to be used in variable management later -if (isset($_POST["s1"])) { - $var1 = preg_replace('/\D/', '', $_POST['s1']); -} -elseif (isset($_GET["s1"])) { - $var1 = preg_replace('/\D/', '', $_GET['s1']); -} -else { - $var1 = ""; -} - -if (isset($_POST["s2"])) { - $var2 = preg_replace('/\D/', '', $_POST['s2']); -} -elseif (isset($_GET["s2"])) { - $var2 = preg_replace('/\D/', '', $_GET['s2']); -} -else { - $var2 = ""; + $session_id = preg_replace('/\D/', '', $_GET['id']); } if (isset($session_id)) { - //For the merge function, we need to find out, what would be the next session - $idx = array_search( $session_id, $sids); - if($idx>0) { - $session_id_next = $sids[$idx-1]; - } else { - $session_id_next = false; - } - - // Get GPS data for session - $sessionqry = mysql_query("SELECT kff1006, kff1005 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC", $con) or die(mysql_error()); - - $geolocs = array(); - while($geo = mysql_fetch_array($sessionqry)) { - if (($geo["0"] != 0) && ($geo["1"] != 0)) { - $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); - } - } - - // Create array of Latitude/Longitude strings in Google Maps JavaScript format - $mapdata = array(); - foreach($geolocs as $d) { - $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; - } - $imapdata = implode(",\n ", $mapdata); - - // Don't need to set zoom manually - $setZoomManually = 0; - - mysql_free_result($sessionqry); - mysql_close($con); + //For the merge function, we need to find out, what would be the next session + $idx = array_search( $session_id, $sids); + if($idx>0) { + $session_id_next = $sids[$idx-1]; + } else { + $session_id_next = false; + } + + // Get GPS data for session + $sessionqry = mysql_query("SELECT kff1006, kff1005 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC", $con) or die(mysql_error()); + + $geolocs = array(); + while($geo = mysql_fetch_array($sessionqry)) { + if (($geo["0"] != 0) && ($geo["1"] != 0)) { + $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); + } + } + + // Create array of Latitude/Longitude strings in Google Maps JavaScript format + $mapdata = array(); + foreach($geolocs as $d) { + $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; + } + $imapdata = implode(",\n ", $mapdata); + + // Don't need to set zoom manually + $setZoomManually = 0; + + mysql_free_result($sessionqry); + mysql_close($con); } else { - // Define these so we don't get an error on empty page loads. Instead it - // will load a map of Area 51. - $session_id = ""; - $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; - $setZoomManually = 1; - - # Automatically load the most recent session when loading the page - $sessionqry = mysql_query("SELECT session - FROM $db_table - ORDER BY session - DESC LIMIT 0, 1", $con) or die(mysql_error()); - while($sessid = mysql_fetch_array($sessionqry)) { - $session_id = $sessid["0"]; - } - if ($session_id != "") { - $url = "session.php?id=" . $session_id; - header( "Location: $url" ); - } + // Define these so we don't get an error on empty page loads. Instead it + // will load a map of Area 51. + $session_id = ""; + $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; + $setZoomManually = 1; + + # Automatically load the most recent session when loading the page + $sessionqry = mysql_query("SELECT session + FROM $db_table + ORDER BY session + DESC LIMIT 0, 1", $con) or die(mysql_error()); + while($sessid = mysql_fetch_array($sessionqry)) { + $session_id = $sessid["0"]; + } + if ($session_id != "") { + $url = "session.php?id=" . $session_id; + header( "Location: $url" ); + } } @@ -106,391 +85,393 @@ - - - - - Open Torque Viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- -

Select Session

-
-
- - -
+ + + + + Open Torque Viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +

Select Session

+
+
+ + +
-
- - - - - - -
-
/>
-
-
-
-
+
+ + + + + + +
+
/>
+
+
+
+
-
- - -
- - -

Select 2 Variables to Plot

-
-
- -
-
-
- -

Plot

-
-
Select a session first!
-
- -
- -

Chart

-
- - - - -
-
No Variables Selected to Plot!
-
- -
-
-
- - -
-
Select a session first!
-
- - -
- -
- -

Data Summary

-
- - - - -
-
No Variables Selected to Plot!
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameMin/Max25th Pcnt75th PcntMeanSparkline
-
- - - - -
-
Select a session first!
-
- - - -
- -
- -

Export Data

-
- - - -
- CSV - JSON -
- - -
-
Select a session first!
-
- -
-
-
-
Debug Info: $session_id= $sessionqry= $url=
- - +
+ + +
+ + +

Select 2 Variables to Plot

+
+
+ +
+
+
+ +

Plot

+
+
Select a session first!
+
+ +
+ +

Chart

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+
+
+ + +
+
Select a session first!
+
+ + +
+ +
+ +

Data Summary

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameMin/Max25th Pcnt75th PcntMeanSparkline
+
+ + + + +
+
Select a session first!
+
+ + + +
+ +
+ +

Export Data

+
+ + + +
+ CSV + JSON +
+ + +
+
Select a session first!
+
+ + +
+ +
+
+ + + From 1304c4790dfe783bd8895ee6e8fb584f7f87e59e Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Tue, 28 Jul 2015 10:21:37 -0700 Subject: [PATCH 007/127] Syncing Local Sources --- web/plot.php | 152 +-------------- web/session.php | 478 +----------------------------------------------- 2 files changed, 2 insertions(+), 628 deletions(-) mode change 100644 => 120000 web/plot.php mode change 100644 => 120000 web/session.php diff --git a/web/plot.php b/web/plot.php deleted file mode 100644 index ae1d7425..00000000 --- a/web/plot.php +++ /dev/null @@ -1,151 +0,0 @@ -val mappings - $js = CSVtoJSON("./data/torque_keys.csv"); - $jsarr = json_decode($js, TRUE); - - // The columns to plot -- if no PIDs are specified I default to intake temp and OBD speed - if (isset($_GET["s1"])) { - $v1 = mysql_real_escape_string($_GET['s1']); - } - else { - //$v1 = "kd"; // OBD Speed - $v1 = ""; - } - if (isset($_GET["s2"])) { - $v2 = mysql_real_escape_string($_GET['s2']); - } - else { - //$v2 = "kf"; // Intake Air Temp - $v2 = ""; - } - - if ( $v1 <> "" or $v2 <> "" ) { - // Grab the label for each PID to be used in the plot - $v1_label = '"'.$jsarr[$v1].'"'; - $v2_label = '"'.$jsarr[$v2].'"'; - - // Get data for session - $sessionqry = mysql_query("SELECT time,$v1,$v2 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC;") or die(mysql_error()); - - //Speed conversion - if (!$source_is_miles && $use_miles) - { - $speed_factor = 0.621371; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && $use_miles) - { - $speed_factor = 1.0; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && !$use_miles) - { - $speed_factor = 1.609344; - $speed_measurand = ' [km/h]'; - } - else - { - $speed_factor = 1.0; - $speed_measurand = ' [km/h]'; - } - - //Temperature Conversion - //From Celsius to Fahrenheit - if (!$source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; - $temp_measurand = ' [°F]'; - } - //Just Fahrenheit - elseif ($source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°F]'; - } - //From Fahrenheit to Celsius - elseif ($source_is_fahrenheit && !$use_fahrenheit) - { - $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; - $temp_measurand = ' [°C]'; - } - //Just Celsius - else - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°C]'; - } - - // Convert data units - // TODO: Use the userDefault fields to do these conversions dynamically - while($row = mysql_fetch_assoc($sessionqry)) { - // data column #1 - if (substri_count($jsarr[$v1], "Speed") > 0) { - $x = intval($row[$v1]) * $speed_factor; - $v1_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v1], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v1]) ); - $v1_measurand = $temp_measurand; - } - else { - $x = intval($row[$v1]); - $v1_measurand = ''; - } - $d1[] = array($row['time'], $x); - $spark1[] = $x; - - // data column #2 - if (substri_count($jsarr[$v2], "Speed") > 0) { - $x = intval($row[$v2]) * $speed_factor; - $v2_measurand = $speed_measurand; - } - elseif (substri_count($jsarr[$v2], "Temp") > 0) { - $x = $temp_func ( floatval($row[$v2]) ); - $v2_measurand = $temp_measurand; - } - else { - $x = intval($row[$v2]); - $v2_measurand = ''; - } - $d2[] = array($row['time'], $x); - $spark2[] = $x; - } - - $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; - $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; - - $sparkdata1 = implode(",", array_reverse($spark1)); - $sparkdata2 = implode(",", array_reverse($spark2)); - $max1 = round(max($spark1), 1); - $max2 = round(max($spark2), 1); - $min1 = round(min($spark1), 1); - $min2 = round(min($spark2), 1); - $avg1 = round(average($spark1), 1); - $avg2 = round(average($spark2), 1); - $pcnt25data1 = round(calc_percentile($spark1, 25), 1); - $pcnt25data2 = round(calc_percentile($spark2, 25), 1); - $pcnt75data1 = round(calc_percentile($spark1, 75), 1); - $pcnt75data2 = round(calc_percentile($spark2, 75), 1); - } -} - -else { - -} - -?> - diff --git a/web/plot.php b/web/plot.php new file mode 120000 index 00000000..37fadfbc --- /dev/null +++ b/web/plot.php @@ -0,0 +1 @@ +/var/www/torque/plot.php \ No newline at end of file diff --git a/web/session.php b/web/session.php deleted file mode 100644 index aa71622a..00000000 --- a/web/session.php +++ /dev/null @@ -1,477 +0,0 @@ -0) { - $session_id_next = $sids[$idx-1]; - } else { - $session_id_next = false; - } - - // Get GPS data for session - $sessionqry = mysql_query("SELECT kff1006, kff1005 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC", $con) or die(mysql_error()); - - $geolocs = array(); - while($geo = mysql_fetch_array($sessionqry)) { - if (($geo["0"] != 0) && ($geo["1"] != 0)) { - $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); - } - } - - // Create array of Latitude/Longitude strings in Google Maps JavaScript format - $mapdata = array(); - foreach($geolocs as $d) { - $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; - } - $imapdata = implode(",\n ", $mapdata); - - // Don't need to set zoom manually - $setZoomManually = 0; - - mysql_free_result($sessionqry); - mysql_close($con); -} -else { - // Define these so we don't get an error on empty page loads. Instead it - // will load a map of Area 51. - $session_id = ""; - $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; - $setZoomManually = 1; - - # Automatically load the most recent session when loading the page - $sessionqry = mysql_query("SELECT session - FROM $db_table - ORDER BY session - DESC LIMIT 0, 1", $con) or die(mysql_error()); - while($sessid = mysql_fetch_array($sessionqry)) { - $session_id = $sessid["0"]; - } - if ($session_id != "") { - $url = "session.php?id=" . $session_id; - header( "Location: $url" ); - } - -} - -?> - - - - - - - - Open Torque Viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- -

Select Session

-
-
- - -
- - - -
- - - - - - -
-
/>
-
-
-
-
- - - -
- - -
- - -

Select 2 Variables to Plot

-
-
- -
-
-
- -

Plot

-
-
Select a session first!
-
- -
- -

Chart

-
- - - - -
-
No Variables Selected to Plot!
-
- -
-
-
- - -
-
Select a session first!
-
- - -
- -
- -

Data Summary

-
- - - - -
-
No Variables Selected to Plot!
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameMin/Max25th Pcnt75th PcntMeanSparkline
-
- - - - -
-
Select a session first!
-
- - - -
- -
- -

Export Data

-
- - - -
- CSV - JSON -
- - -
-
Select a session first!
-
- - -
- -
-
- - - - diff --git a/web/session.php b/web/session.php new file mode 120000 index 00000000..c57a5e7e --- /dev/null +++ b/web/session.php @@ -0,0 +1 @@ +/var/www/torque/session.php \ No newline at end of file From f9e808d9850f48ec4f0dd132492a0d96e703babe Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Tue, 28 Jul 2015 11:08:54 -0700 Subject: [PATCH 008/127] Syncing Local Sources --- web/plot.php | 151 ++++++++++++++- web/session.php | 478 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 627 insertions(+), 2 deletions(-) mode change 120000 => 100644 web/plot.php mode change 120000 => 100644 web/session.php diff --git a/web/plot.php b/web/plot.php deleted file mode 120000 index 37fadfbc..00000000 --- a/web/plot.php +++ /dev/null @@ -1 +0,0 @@ -/var/www/torque/plot.php \ No newline at end of file diff --git a/web/plot.php b/web/plot.php new file mode 100644 index 00000000..a0c0ea5a --- /dev/null +++ b/web/plot.php @@ -0,0 +1,150 @@ +val mappings + $js = CSVtoJSON("./data/torque_keys.csv"); + $jsarr = json_decode($js, TRUE); + + // The columns to plot -- if no PIDs are specified I default to intake temp and OBD speed + if (isset($_GET["s1"])) { + $v1 = mysql_real_escape_string($_GET['s1']); + } + else { + //$v1 = "kd"; // OBD Speed + $v1 = ""; + } + if (isset($_GET["s2"])) { + $v2 = mysql_real_escape_string($_GET['s2']); + } + else { + //$v2 = "kf"; // Intake Air Temp + $v2 = ""; + } + + if ( $v1 <> "" or $v2 <> "" ) { + // Grab the label for each PID to be used in the plot + $v1_label = '"'.$jsarr[$v1].'"'; + $v2_label = '"'.$jsarr[$v2].'"'; + + // Get data for session + $sessionqry = mysql_query("SELECT time,$v1,$v2 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC;") or die(mysql_error()); + + //Speed conversion + if (!$source_is_miles && $use_miles) + { + $speed_factor = 0.621371; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && $use_miles) + { + $speed_factor = 1.0; + $speed_measurand = ' [mph]'; + } + elseif ($source_is_miles && !$use_miles) + { + $speed_factor = 1.609344; + $speed_measurand = ' [km/h]'; + } + else + { + $speed_factor = 1.0; + $speed_measurand = ' [km/h]'; + } + + //Temperature Conversion + //From Celsius to Fahrenheit + if (!$source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; + $temp_measurand = ' [°F]'; + } + //Just Fahrenheit + elseif ($source_is_fahrenheit && $use_fahrenheit) + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°F]'; + } + //From Fahrenheit to Celsius + elseif ($source_is_fahrenheit && !$use_fahrenheit) + { + $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; + $temp_measurand = ' [°C]'; + } + //Just Celsius + else + { + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°C]'; + } + + // Convert data units + // TODO: Use the userDefault fields to do these conversions dynamically + while($row = mysql_fetch_assoc($sessionqry)) { + // data column #1 + if (substri_count($jsarr[$v1], "Speed") > 0) { + $x = intval($row[$v1]) * $speed_factor; + $v1_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v1], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v1]) ); + $v1_measurand = $temp_measurand; + } + else { + $x = intval($row[$v1]); + $v1_measurand = ''; + } + $d1[] = array($row['time'], $x); + $spark1[] = $x; + + // data column #2 + if (substri_count($jsarr[$v2], "Speed") > 0) { + $x = intval($row[$v2]) * $speed_factor; + $v2_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v2], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v2]) ); + $v2_measurand = $temp_measurand; + } + else { + $x = intval($row[$v2]); + $v2_measurand = ''; + } + $d2[] = array($row['time'], $x); + $spark2[] = $x; + } + + $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; + $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; + + $sparkdata1 = implode(",", array_reverse($spark1)); + $sparkdata2 = implode(",", array_reverse($spark2)); + $max1 = round(max($spark1), 1); + $max2 = round(max($spark2), 1); + $min1 = round(min($spark1), 1); + $min2 = round(min($spark2), 1); + $avg1 = round(average($spark1), 1); + $avg2 = round(average($spark2), 1); + $pcnt25data1 = round(calc_percentile($spark1, 25), 1); + $pcnt25data2 = round(calc_percentile($spark2, 25), 1); + $pcnt75data1 = round(calc_percentile($spark1, 75), 1); + $pcnt75data2 = round(calc_percentile($spark2, 75), 1); + } +} + +else { + +} + +?> diff --git a/web/session.php b/web/session.php deleted file mode 120000 index c57a5e7e..00000000 --- a/web/session.php +++ /dev/null @@ -1 +0,0 @@ -/var/www/torque/session.php \ No newline at end of file diff --git a/web/session.php b/web/session.php new file mode 100644 index 00000000..aa71622a --- /dev/null +++ b/web/session.php @@ -0,0 +1,477 @@ +0) { + $session_id_next = $sids[$idx-1]; + } else { + $session_id_next = false; + } + + // Get GPS data for session + $sessionqry = mysql_query("SELECT kff1006, kff1005 + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC", $con) or die(mysql_error()); + + $geolocs = array(); + while($geo = mysql_fetch_array($sessionqry)) { + if (($geo["0"] != 0) && ($geo["1"] != 0)) { + $geolocs[] = array("lat" => $geo["0"], "lon" => $geo["1"]); + } + } + + // Create array of Latitude/Longitude strings in Google Maps JavaScript format + $mapdata = array(); + foreach($geolocs as $d) { + $mapdata[] = "new google.maps.LatLng(".$d['lat'].", ".$d['lon'].")"; + } + $imapdata = implode(",\n ", $mapdata); + + // Don't need to set zoom manually + $setZoomManually = 0; + + mysql_free_result($sessionqry); + mysql_close($con); +} +else { + // Define these so we don't get an error on empty page loads. Instead it + // will load a map of Area 51. + $session_id = ""; + $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; + $setZoomManually = 1; + + # Automatically load the most recent session when loading the page + $sessionqry = mysql_query("SELECT session + FROM $db_table + ORDER BY session + DESC LIMIT 0, 1", $con) or die(mysql_error()); + while($sessid = mysql_fetch_array($sessionqry)) { + $session_id = $sessid["0"]; + } + if ($session_id != "") { + $url = "session.php?id=" . $session_id; + header( "Location: $url" ); + } + +} + +?> + + + + + + + + Open Torque Viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +

Select Session

+
+
+ + +
+ + + +
+ + + + + + +
+
/>
+
+
+
+
+ + + +
+ + +
+ + +

Select 2 Variables to Plot

+
+
+ +
+
+
+ +

Plot

+
+
Select a session first!
+
+ +
+ +

Chart

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+
+
+ + +
+
Select a session first!
+
+ + +
+ +
+ +

Data Summary

+
+ + + + +
+
No Variables Selected to Plot!
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameMin/Max25th Pcnt75th PcntMeanSparkline
+
+ + + + +
+
Select a session first!
+
+ + + +
+ +
+ +

Export Data

+
+ + + +
+ CSV + JSON +
+ + +
+
Select a session first!
+
+ + +
+ +
+
+ + + + From 80040fc66fce12fc8000833cee242fd8690b4d80 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Thu, 30 Jul 2015 13:57:34 -0700 Subject: [PATCH 009/127] Tidying up comments/documentation --- web/plot.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/plot.php b/web/plot.php index a0c0ea5a..a7476251 100644 --- a/web/plot.php +++ b/web/plot.php @@ -19,6 +19,8 @@ $v1 = mysql_real_escape_string($_GET['s1']); } else { + // 2015.07.22 - edit by surfrock66 - Dsiable choosing of default variable when + // none is selected //$v1 = "kd"; // OBD Speed $v1 = ""; } @@ -26,6 +28,8 @@ $v2 = mysql_real_escape_string($_GET['s2']); } else { + // 2015.07.22 - edit by surfrock66 - Dsiable choosing of default variable when + // none is selected //$v2 = "kf"; // Intake Air Temp $v2 = ""; } From ae212c8347694ed7cd1a9a8c161c499f8795755f Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Thu, 30 Jul 2015 14:00:01 -0700 Subject: [PATCH 010/127] Tidying up comments/documentation --- web/session.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/web/session.php b/web/session.php index aa71622a..f226fbd2 100644 --- a/web/session.php +++ b/web/session.php @@ -66,7 +66,7 @@ $imapdata = "new google.maps.LatLng(37.235, -115.8111)"; $setZoomManually = 1; - # Automatically load the most recent session when loading the page + # 2015.06.25 - edit by surfrock66 - Automatically load the most recent session when loading the page $sessionqry = mysql_query("SELECT session FROM $db_table ORDER BY session @@ -375,7 +375,8 @@ function doPlot(position) {
- +
No Variables Selected to Plot!
@@ -399,7 +400,8 @@ function doPlot(position) {
- +
No Variables Selected to Plot!
From e2129f52e3cd78950444747aeaf06b8eb31db69b Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Thu, 30 Jul 2015 14:12:55 -0700 Subject: [PATCH 011/127] Removed check for empty variables, as it was very slow and didn't gain much. --- web/get_columns.php | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/web/get_columns.php b/web/get_columns.php index 6a060a5e..a564f7df 100644 --- a/web/get_columns.php +++ b/web/get_columns.php @@ -6,9 +6,10 @@ mysql_select_db("INFORMATION_SCHEMA") or die(mysql_error()); // Create array of column name/comments for chart data selector form +// 2015.07.30 - edit by surfrock66 - added order by statement to organize variable selection $colqry = mysql_query("SELECT COLUMN_NAME,COLUMN_COMMENT,DATA_TYPE FROM COLUMNS WHERE TABLE_SCHEMA='".$db_name."' - AND TABLE_NAME='".$db_table."'") or die(mysql_error()); + AND TABLE_NAME='".$db_table."' ORDER BY COLUMN_COMMENT") or die(mysql_error()); // Select the column name and comment for data that can be plotted. while ($x = mysql_fetch_array($colqry)) { @@ -30,28 +31,33 @@ $session_id = preg_replace('/\D/', '', $_GET['id']); } - +// 2015.07.30 - edit by surfrock66 - remove the whole check...great +// speed improvement, and it doesn't matter if you try to graph a +// variable with only 1 unique value. Also, set the variable +// in creds.php to disable the check in sessions.php // If we have a certain session, check which colums contain no information at all +// 2015.07.30 - edit by surfrock66 - leave the array here, it's used +// in sessions.php $coldataempty = array(); -if (isset($session_id)) { - mysql_select_db($db_name) or die(mysql_error()); +//if (isset($session_id)) { +// mysql_select_db($db_name) or die(mysql_error()); //Count distinct values for each known column //TODO: Unroll loop into single query - foreach ($coldata as $col) - { - $colname = $col["colname"]; +// foreach ($coldata as $col) +// { +// $colname = $col["colname"]; // Count number of different values for this specific field - $colqry = mysql_query("SELECT count(DISTINCT $colname)<2 as $colname - FROM $db_table - WHERE session=$session_id") or die(mysql_error()); - $colresult = mysql_fetch_assoc($colqry); - $coldataempty[$colname] = $colresult[$colname]; - } +// $colqry = mysql_query("SELECT count(DISTINCT $colname)<2 as $colname +// FROM $db_table +// WHERE session=$session_id") or die(mysql_error()); +// $colresult = mysql_fetch_assoc($colqry); +// $coldataempty[$colname] = $colresult[$colname]; +// } //print_r($coldataempty); -} +//} mysql_close(); From 791b2cc08d4251382aff4f37eab2110929442f9d Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Thu, 30 Jul 2015 14:21:59 -0700 Subject: [PATCH 012/127] Fixed regression in choosing default variables code...I broke it when managing local copies, which I've since stopped using --- web/session.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/web/session.php b/web/session.php index f226fbd2..d33f6a00 100644 --- a/web/session.php +++ b/web/session.php @@ -23,6 +23,28 @@ $session_id = preg_replace('/\D/', '', $_GET['id']); } +// 2015.07.22 - edit by surfrock66 - Define some variables to be used in +// variable management later, specifically when choosing default vars to plot +if (isset($_POST["s1"])) { + $var1 = preg_replace('/\D/', '', $_POST['s1']); +} +elseif (isset($_GET["s1"])) { + $var1 = preg_replace('/\D/', '', $_GET['s1']); +} +else { + $var1 = ""; +} + +if (isset($_POST["s2"])) { + $var2 = preg_replace('/\D/', '', $_POST['s2']); +} +elseif (isset($_GET["s2"])) { + $var2 = preg_replace('/\D/', '', $_GET['s2']); +} +else { + $var2 = ""; +} + if (isset($session_id)) { //For the merge function, we need to find out, what would be the next session From cd6b2c4b5bd910aac2f8f5cdd323eaad730bea35 Mon Sep 17 00:00:00 2001 From: surfrock66 Date: Fri, 7 Aug 2015 15:22:14 -0700 Subject: [PATCH 013/127] Experimental support for plotting between 0-5 variables. All will show a sparkline, only the first 2 alphabetically selected will be graphed. --- web/plot.php | 272 ++++++++++++++++++++++++++++++++---------------- web/session.php | 101 +++++++++++++----- web/url.php | 25 ++++- 3 files changed, 281 insertions(+), 117 deletions(-) diff --git a/web/plot.php b/web/plot.php index a7476251..6be0e065 100644 --- a/web/plot.php +++ b/web/plot.php @@ -6,6 +6,54 @@ mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error()); +// Convert data units +// TODO: Use the userDefault fields to do these conversions dynamically +//Speed conversion +if (!$source_is_miles && $use_miles) +{ + $speed_factor = 0.621371; + $speed_measurand = ' [mph]'; +} +elseif ($source_is_miles && $use_miles) +{ + $speed_factor = 1.0; + $speed_measurand = ' [mph]'; +} +elseif ($source_is_miles && !$use_miles) +{ + $speed_factor = 1.609344; + $speed_measurand = ' [km/h]'; +} +else +{ + $speed_factor = 1.0; + $speed_measurand = ' [km/h]'; +} +//Temperature Conversion +//From Celsius to Fahrenheit +if (!$source_is_fahrenheit && $use_fahrenheit) +{ + $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; + $temp_measurand = ' [°F]'; +} +//Just Fahrenheit +elseif ($source_is_fahrenheit && $use_fahrenheit) +{ + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°F]'; +} +//From Fahrenheit to Celsius +elseif ($source_is_fahrenheit && !$use_fahrenheit) +{ + $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; + $temp_measurand = ' [°C]'; +} +//Just Celsius +else +{ + $temp_func = function ($temp) { return $temp; }; + $temp_measurand = ' [°C]'; +} // Grab the session number if (isset($_GET["id"]) and in_array($_GET["id"], $sids)) { $session_id = mysql_real_escape_string($_GET['id']); @@ -14,89 +62,48 @@ $js = CSVtoJSON("./data/torque_keys.csv"); $jsarr = json_decode($js, TRUE); - // The columns to plot -- if no PIDs are specified I default to intake temp and OBD speed + // 2015.08.04 - edit by surfrock66 - Adding experimental support for up to 5 vars, + // while requiring no default PID + $selectstring = "time"; + $v1 = ""; if (isset($_GET["s1"])) { $v1 = mysql_real_escape_string($_GET['s1']); + $v1_label = '"'.$jsarr[$v1].'"'; + $selectstring = $selectstring.",$v1"; } - else { - // 2015.07.22 - edit by surfrock66 - Dsiable choosing of default variable when - // none is selected - //$v1 = "kd"; // OBD Speed - $v1 = ""; - } + $v2 = ""; if (isset($_GET["s2"])) { $v2 = mysql_real_escape_string($_GET['s2']); + $v2_label = '"'.$jsarr[$v2].'"'; + $selectstring = $selectstring.",$v2"; + } + $v3 = ""; + if (isset($_GET["s3"])) { + $v3 = mysql_real_escape_string($_GET['s3']); + $v3_label = '"'.$jsarr[$v3].'"'; + $selectstring = $selectstring.",$v3"; } - else { - // 2015.07.22 - edit by surfrock66 - Dsiable choosing of default variable when - // none is selected - //$v2 = "kf"; // Intake Air Temp - $v2 = ""; + $v4 = ""; + if (isset($_GET["s4"])) { + $v4 = mysql_real_escape_string($_GET['s4']); + $v4_label = '"'.$jsarr[$v4].'"'; + $selectstring = $selectstring.",$v4"; + } + $v5 = ""; + if (isset($_GET["s5"])) { + $v5 = mysql_real_escape_string($_GET['s5']); + $v5_label = '"'.$jsarr[$v5].'"'; + $selectstring = $selectstring.",$v5"; } - if ( $v1 <> "" or $v2 <> "" ) { - // Grab the label for each PID to be used in the plot - $v1_label = '"'.$jsarr[$v1].'"'; - $v2_label = '"'.$jsarr[$v2].'"'; - - // Get data for session - $sessionqry = mysql_query("SELECT time,$v1,$v2 - FROM $db_table - WHERE session=$session_id - ORDER BY time DESC;") or die(mysql_error()); - - //Speed conversion - if (!$source_is_miles && $use_miles) - { - $speed_factor = 0.621371; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && $use_miles) - { - $speed_factor = 1.0; - $speed_measurand = ' [mph]'; - } - elseif ($source_is_miles && !$use_miles) - { - $speed_factor = 1.609344; - $speed_measurand = ' [km/h]'; - } - else - { - $speed_factor = 1.0; - $speed_measurand = ' [km/h]'; - } - - //Temperature Conversion - //From Celsius to Fahrenheit - if (!$source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp*9.0/5.0+32.0; }; - $temp_measurand = ' [°F]'; - } - //Just Fahrenheit - elseif ($source_is_fahrenheit && $use_fahrenheit) - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°F]'; - } - //From Fahrenheit to Celsius - elseif ($source_is_fahrenheit && !$use_fahrenheit) - { - $temp_func = function ($temp) { return ($temp-32.0)*5.0/9.0; }; - $temp_measurand = ' [°C]'; - } - //Just Celsius - else - { - $temp_func = function ($temp) { return $temp; }; - $temp_measurand = ' [°C]'; - } - - // Convert data units - // TODO: Use the userDefault fields to do these conversions dynamically - while($row = mysql_fetch_assoc($sessionqry)) { - // data column #1 + // Get data for session + $sessionqry = mysql_query("SELECT $selectstring + FROM $db_table + WHERE session=$session_id + ORDER BY time DESC;") or die(mysql_error()); + while($row = mysql_fetch_assoc($sessionqry)) { + // data column #1 + if ( $v1 <> "" ) { if (substri_count($jsarr[$v1], "Speed") > 0) { $x = intval($row[$v1]) * $speed_factor; $v1_measurand = $speed_measurand; @@ -110,9 +117,11 @@ $v1_measurand = ''; } $d1[] = array($row['time'], $x); - $spark1[] = $x; + $spark1[] = $x; + } - // data column #2 + // data column #2 + if ( $v2 <> "" ) { if (substri_count($jsarr[$v2], "Speed") > 0) { $x = intval($row[$v2]) * $speed_factor; $v2_measurand = $speed_measurand; @@ -127,28 +136,117 @@ } $d2[] = array($row['time'], $x); $spark2[] = $x; - } + } - $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; - $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; + // data column #3 + if ( $v3 <> "" ) { + if (substri_count($jsarr[$v3], "Speed") > 0) { + $x = intval($row[$v3]) * $speed_factor; + $v3_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v3], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v3]) ); + $v3_measurand = $temp_measurand; + } + else { + $x = intval($row[$v3]); + $v3_measurand = ''; + } + $d3[] = array($row['time'], $x); + $spark3[] = $x; + } + // data column #4 + if ( $v4 <> "" ) { + if (substri_count($jsarr[$v4], "Speed") > 0) { + $x = intval($row[$v4]) * $speed_factor; + $v4_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v4], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v4]) ); + $v4_measurand = $temp_measurand; + } + else { + $x = intval($row[$v4]); + $v4_measurand = ''; + } + $d4[] = array($row['time'], $x); + $spark4[] = $x; + } + + // data column #5 + if ( $v5 <> "" ) { + if (substri_count($jsarr[$v5], "Speed") > 0) { + $x = intval($row[$v5]) * $speed_factor; + $v5_measurand = $speed_measurand; + } + elseif (substri_count($jsarr[$v5], "Temp") > 0) { + $x = $temp_func ( floatval($row[$v5]) ); + $v5_measurand = $temp_measurand; + } + else { + $x = intval($row[$v5]); + $v5_measurand = ''; + } + $d5[] = array($row['time'], $x); + $spark5[] = $x; + } + } + + if ( $v1 <> "" ) { + $v1_label = '"'.$jsarr[$v1].$v1_measurand.'"'; $sparkdata1 = implode(",", array_reverse($spark1)); - $sparkdata2 = implode(",", array_reverse($spark2)); $max1 = round(max($spark1), 1); - $max2 = round(max($spark2), 1); $min1 = round(min($spark1), 1); - $min2 = round(min($spark2), 1); $avg1 = round(average($spark1), 1); - $avg2 = round(average($spark2), 1); $pcnt25data1 = round(calc_percentile($spark1, 25), 1); - $pcnt25data2 = round(calc_percentile($spark2, 25), 1); $pcnt75data1 = round(calc_percentile($spark1, 75), 1); + } + + if ( $v2 <> "" ) { + $v2_label = '"'.$jsarr[$v2].$v2_measurand.'"'; + $sparkdata2 = implode(",", array_reverse($spark2)); + $max2 = round(max($spark2), 1); + $min2 = round(min($spark2), 1); + $avg2 = round(average($spark2), 1); + $pcnt25data2 = round(calc_percentile($spark2, 25), 1); $pcnt75data2 = round(calc_percentile($spark2, 75), 1); } -} -else { + if ( $v3 <> "" ) { + $v3_label = '"'.$jsarr[$v3].$v3_measurand.'"'; + $sparkdata3 = implode(",", array_reverse($spark3)); + $max3 = round(max($spark3), 1); + $min3 = round(min($spark3), 1); + $avg3 = round(average($spark3), 1); + $pcnt25data3 = round(calc_percentile($spark3, 25), 1); + $pcnt75data3 = round(calc_percentile($spark3, 75), 1); + } + + if ( $v4 <> "" ) { + $v4_label = '"'.$jsarr[$v4].$v4_measurand.'"'; + $sparkdata4 = implode(",", array_reverse($spark4)); + $max4 = round(max($spark4), 1); + $min4 = round(min($spark4), 1); + $avg4 = round(average($spark4), 1); + $pcnt25data4 = round(calc_percentile($spark4, 25), 1); + $pcnt75data4 = round(calc_percentile($spark4, 75), 1); + } + if ( $v5 <> "" ) { + $v5_label = '"'.$jsarr[$v5].$v5_measurand.'"'; + $sparkdata5 = implode(",", array_reverse($spark5)); + $max5 = round(max($spark5), 1); + $min5 = round(min($spark5), 1); + $avg5 = round(average($spark5), 1); + $pcnt25data5 = round(calc_percentile($spark5, 25), 1); + $pcnt75data5 = round(calc_percentile($spark5, 75), 1); + } } +//} + +//else { + +//} ?> diff --git a/web/session.php b/web/session.php index d33f6a00..da58f314 100644 --- a/web/session.php +++ b/web/session.php @@ -25,24 +25,40 @@ // 2015.07.22 - edit by surfrock66 - Define some variables to be used in // variable management later, specifically when choosing default vars to plot +$var1 = ""; if (isset($_POST["s1"])) { - $var1 = preg_replace('/\D/', '', $_POST['s1']); + $var1 = $_POST['s1']; } elseif (isset($_GET["s1"])) { - $var1 = preg_replace('/\D/', '', $_GET['s1']); + $var1 = $_GET['s1']; } -else { - $var1 = ""; -} - +$var2 = ""; if (isset($_POST["s2"])) { - $var2 = preg_replace('/\D/', '', $_POST['s2']); + $var2 = $_POST['s2']; } elseif (isset($_GET["s2"])) { - $var2 = preg_replace('/\D/', '', $_GET['s2']); + $var2 = $_GET['s2']; } -else { - $var2 = ""; +$var3= ""; +if (isset($_POST["s3"])) { + $var3 = $_POST['s3']; +} +elseif (isset($_GET["s3"])) { + $var3 = $_GET['s3']; +} +$var4 = ""; +if (isset($_POST["s4"])) { + $var4 = $_POST['s4']; +} +elseif (isset($_GET["s4"])) { + $var4 = $_GET['s4']; +} +$var5 = ""; +if (isset($_POST["s5"])) { + $var5 = $_POST['s5']; +} +elseif (isset($_GET["s5"])) { + $var5 = $_GET['s5']; } if (isset($session_id)) { @@ -250,11 +266,10 @@ function(event) { $(document).ready(function(){ var s1 = []; - var s2 = []; - + var s2 = []; var flotData = [ { data: s1, label: }, - { data: s2, label: , yaxis: 2 } + { data: s2, label: , yaxis: 2 } ]; function doPlot(position) { @@ -269,7 +284,7 @@ function doPlot(position) { yaxes: [ { axisLabel: }, { alignTicksWithAxis: position == "right" ? 1 : null, position: position, - axisLabel: + axisLabel: } ], legend: { position: "nw", @@ -277,19 +292,19 @@ function doPlot(position) { backgroundOpacity: 0.1, margin: 0 }, - //selection: { mode: "xy" }, + selection: { mode: "x" }, grid: { hoverable: false, clickable: true }, - //multihighlightdelta: { mode: 'x' }, + multihighlightdelta: { mode: 'x' }, tooltip: false, tooltipOpts: { content: "%s at %x: %y", xDateFormat: "%I:%M:%S%p", twelveHourClock: true, onHover: function(flotItem, $tooltipEl) { - // console.log(flotItem, $tooltipEl); + console.log(flotItem, $tooltipEl); } } } @@ -307,9 +322,6 @@ function doPlot(position) { - - -