Fixed reload bug, added new chart

pull/4/head
Sven Steudte 2018-04-19 02:45:38 +02:00
rodzic 71f0a0b652
commit 59d2100240
2 zmienionych plików z 66 dodań i 6 usunięć

Wyświetl plik

@ -16,14 +16,12 @@ class Tracker {
$query = Database::getInstance()->query("
SELECT * FROM (
SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'pos' as `type` FROM `position` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "' AND `org` = 'pos'
(SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'pos' as `type` FROM `position` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "' AND `org` = 'pos' ORDER BY `rxtime` DESC LIMIT 1)
UNION ALL
SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'img' as `type` FROM `image` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "'
(SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'img' as `type` FROM `image` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "' ORDER BY `rxtime` DESC LIMIT 1)
UNION ALL
SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'log' as `type` FROM `position` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "' AND `org` = 'log'
(SELECT UNIX_TIMESTAMP() - `rxtime` as `lasttime`,'log' as `type` FROM `position` WHERE `call` = '" . Database::getInstance()->escape_string($this->call) . "' AND `org` = 'log' ORDER BY `rxtime` DESC LIMIT 1)
) AS d
GROUP BY `type`
ORDER BY `lasttime` DESC
");
while($row = $query->fetch_assoc())
@ -99,6 +97,7 @@ class Tracker {
ORDER BY `ordertime` ASC
");
$datasets = array();
while($row = $query->fetch_assoc()) {
$datasets[] = new Telemetry($row);
}

Wyświetl plik

@ -216,14 +216,29 @@ function loadRecentData() {
dataTemp.addRow([null,null,null,null,null,null]);
dataGPS.addRow([null,null,null,null]);
dataLight.addRow([null,null]);
dataAlt.addRow([null,null,null,null,null]);
}
dataBattery.addRow([time, data['adc_vbat'], data['pac_vbat'], data['pac_pbat']/10]);
dataSolar.addRow([time, data['adc_vsol'], data['pac_vsol'], data['pac_psol']/10]);
dataTemp.addRow([time, data['sen_i1_temp']/100, data['sen_e1_temp']/100, data['sen_e2_temp']/100, data['stm32_temp']/100, data['si4464_temp']/100]);
dataTemp.addRow([
time,
data['sen_i1_temp'] && data['sen_i1_temp'] > -10000 && data['sen_i1_temp'] < 10000 ? data['sen_i1_temp']/100 : null,
data['sen_e1_temp'] && data['sen_e1_temp'] > -10000 && data['sen_e1_temp'] < 10000 ? data['sen_e1_temp']/100 : null,
data['sen_e2_temp'] && data['sen_e2_temp'] > -10000 && data['sen_e2_temp'] < 10000 ? data['sen_e2_temp']/100 : null,
data['stm32_temp'] && data['stm32_temp'] > -10000 && data['stm32_temp'] < 10000 ? data['stm32_temp']/100 : null,
data['si4464_temp'] && data['si4464_temp'] > -10000 && data['si4464_temp'] < 10000 ? data['si4464_temp']/100 : null
]);
dataGPS.addRow([time, data['gps_sats'], data['gps_ttff'], data['gps_pdop']/20]);
dataLight.addRow([time, data['light_intensity']]);
dataAlt.addRow([
time,
data['gps_alt'],
data['sen_i1_press'] && data['sen_i1_press'] < 1100000 ? data['sen_i1_press']/10 : null,
data['sen_e1_press'] && data['sen_e1_press'] < 1100000 ? data['sen_e1_press']/10 : null,
data['sen_e2_press'] && data['sen_e2_press'] < 1100000 ? data['sen_e2_press']/10 : null
]);
last = time;
});
@ -237,6 +252,7 @@ function loadRecentData() {
dataTemp.removeRow(c);
dataGPS.removeRow(c);
dataLight.removeRow(c);
dataAlt.removeRow(c);
}
}
@ -246,6 +262,7 @@ function loadRecentData() {
tempChart.draw(dataTemp, tempOptions);
gpsChart.draw(dataGPS, gpsOptions);
lightChart.draw(dataLight, lightOptions);
altChart.draw(dataAlt, altOptions);
lastChartUpdate = json['time'];
}
@ -335,6 +352,30 @@ var gpsOptions = {
};
// Chart 5
var altChart;
var dataAlt;
var altOptions = {
explorer: scroll,
width: 1285,
height: 300,
series: {
0: {targetAxisIndex: 0},
1: {targetAxisIndex: 1},
2: {targetAxisIndex: 1},
3: {targetAxisIndex: 1}
},
vAxes: {
0: {title: 'Altitude'},
1: {title: 'Airpressure'},
},
legend: {
position: 'top'
},
hAxis: xAxis,
chartArea: area
};
// Chart 6
var lightChart;
var dataLight;
var lightOptions = {
@ -390,6 +431,15 @@ function drawChart() {
gpsChart = new google.visualization.LineChart(document.getElementById('gpsDiv'));
// Chart 5
dataAlt = new google.visualization.DataTable();
dataAlt.addColumn('date', 'Time');
dataAlt.addColumn('number', "GPS_ALT");
dataAlt.addColumn('number', "PRESS_BME_I1");
dataAlt.addColumn('number', "PRESS_BME_E1");
dataAlt.addColumn('number', "PRESS_BME_E2");
altChart = new google.visualization.LineChart(document.getElementById('altDiv'));
// Chart 6
dataLight = new google.visualization.DataTable();
dataLight.addColumn('date', 'Time');
dataLight.addColumn('number', "LIGHT");
@ -448,6 +498,14 @@ include "sidebar.inc.php";
<td width="70"><span id="pos_cnt86400"></span></td>
<td><span id="act_pos"></span></td>
</tr>
<tr>
<td></td>
<td width="40">DIR:</td>
<td width="50"><span id="dir_cnt300"></span></td>
<td width="70"><span id="dir_cnt3600"></span></td>
<td width="70"><span id="dir_cnt86400"></span></td>
<td><span id="act_dir"></span></td>
</tr>
<tr>
<td></td>
<td>IMG:</td>
@ -600,6 +658,9 @@ include "sidebar.inc.php";
<tr>
<td colspan="3" height="315"><div id="gpsDiv" class="inner"></div></td>
</tr>
<tr>
<td colspan="3" height="315"><div id="altDiv" class="inner"></div></td>
</tr>
<tr>
<td colspan="3" height="315"><div id="lightDiv" class="inner"></div></td>
</tr>