Initial commit
This commit is contained in:
131
pagecontent/selfcheck.php
Executable file
131
pagecontent/selfcheck.php
Executable file
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
require("../functions.php");
|
||||
|
||||
$view = $_GET["view"];
|
||||
$meta = $_GET["meta"];
|
||||
$_SESSION["meta"] = $meta;
|
||||
|
||||
if ($view == "results") {
|
||||
|
||||
//Befehl zum Starten des Skripts
|
||||
$command = escapeshellcmd('python3 /var/www/html/python/selfcheck.py');
|
||||
|
||||
//output und bridges sind die Ergebnisse des Durchlaufs
|
||||
$output = json_decode(shell_exec($command), true);
|
||||
$bridges = $output["data"];
|
||||
|
||||
//Zeigt schon der Erste durchlauf Fehler auf, kann abgebrochen werden (1. Fehlerfall)
|
||||
if($output["logs"]["errorcode"] != 10) {
|
||||
?>
|
||||
<h3>
|
||||
Die Prüfung konnte nicht abgeschlossen werden. <i>Fehler <?php echo $output["logs"]["errorcode"]; ?></i>
|
||||
</h3>
|
||||
<?php
|
||||
include("../errorcodes.php");
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
// Isoliere die Brücken und speichere sie als $bridges (hiermit wird später alles weitere verarbeitet)
|
||||
$bridges = array_map(function($entry) {
|
||||
return $entry[0];
|
||||
}, $output["data"]);
|
||||
|
||||
//Isoliere die Fehlercodes der ersten Messung; da Messungen identisch reicht erste Messung
|
||||
$errors = array_filter($output["data"], function($entry) {
|
||||
return $entry[1] !== 0;
|
||||
});
|
||||
|
||||
//Wenn Fehlerspeicher gefüllt: Ausgabe und Abbruch
|
||||
if (!empty($errors)) {
|
||||
|
||||
measurementsContainErrors($output["data"]);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class="content-header">Selbstdiagnose - Ergebnisse</div>
|
||||
<hr />
|
||||
|
||||
<style>
|
||||
table {
|
||||
font-size: 12px;
|
||||
line-height: 10px;
|
||||
}
|
||||
td {
|
||||
width: 2.5%;
|
||||
border: 1px solid black;
|
||||
}
|
||||
</style>
|
||||
|
||||
<hr>
|
||||
<h2>Detailansicht</h2>
|
||||
<p>Der Pin der jeweiligen Spalte wird eingeschaltet; Pins, welche einen Eingang registrieren, werden in der entsprechenden Zeile grün dargestellt.</p>
|
||||
|
||||
<table>
|
||||
<?php
|
||||
// Kopfzeile
|
||||
echo "<tr>";
|
||||
for ($j = 0; $j <= 32; $j++) {
|
||||
$index = $j - 1;
|
||||
if ($index == -1) {
|
||||
echo "<td></td>";
|
||||
} else {
|
||||
echo "<td>$index</td>";
|
||||
}
|
||||
}
|
||||
echo "</tr>";
|
||||
|
||||
// Matrix
|
||||
for ($i = 0; $i <= 31; $i++) {
|
||||
echo "<tr>";
|
||||
echo "<td>$i</td>";
|
||||
|
||||
for ($j = 0; $j <= 31; $j++) {
|
||||
$search = [$j, $i];
|
||||
if (in_array($search, $bridges)) {
|
||||
echo "<td style='color: green;'>✔</td>";
|
||||
} else {
|
||||
echo "<td style='color: gray;'>-</td>";
|
||||
}
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<hr />
|
||||
<?php
|
||||
print("<p>Erklärung:<br>
|
||||
Jede Verbindung darf nur einmal aufgeführt sein. Gibt es Doppelungen, so besteht eine unzulässige Verbindung zu einem anderen Pin.
|
||||
Kann sich ein Pin nicht selbst auslesen, so weist dies auf einen internen Kabelbruch oder ein defektes Bauteil hin.
|
||||
Ist der Fehler spiegelsymmetrisch (z.B. 10-20 und 20-10), deutet dies auf einen Kurzschluss im System hin.
|
||||
Tritt der Fehler nur einseitig auf, ist ein Bauteil defekt.</p>");
|
||||
?>
|
||||
|
||||
<div class="save-button" onclick="window.location.href='#selfcheck'; pageload();$('.save-button').html('<img src=\'/vendor/icons/load.gif\' \>Bitte warten...');">
|
||||
<img src="/vendor/icons/nav-arrow-left.svg">Zurück
|
||||
</div>
|
||||
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<div class="content-header">Selbstdiagnose</div>
|
||||
|
||||
<p>Sollten während Messungen Fehler aufgetreten sein, kann hier eine interne Diagnose durchgeführt werden. Dabei wird jeder "Pin" einmalig als Ausgang gesetzt und gleichzeitig der Wert ausgelesen. Nur, wenn der Pin selbst gelesen werden kann und keine unzulässigen Verbindungen zu anderen Pins bestehen, wird die Prüfung erfolgreich abgeschlossen.</p>
|
||||
<hr />
|
||||
<p><i>Bitte trennen Sie zuvor alle Verbindungen, sodass sich das Gerät im Leerlauf befindet. <b>Angeschlossene Kabel und Stecker verfälschen das Ergebnis!</b></i></p>
|
||||
<hr />
|
||||
|
||||
<div class="save-button" onclick="window.location.href='#selfcheck'; pageload('results');$('.save-button').html('<img src=\'/vendor/icons/load.gif\' \>Bitte warten...');">
|
||||
<img src="/vendor/icons/ecg-monitoring-icon.svg">Selbstdiagnose ausführen
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user