Initial commit
This commit is contained in:
122
pagecontent/start-cable.php
Executable file
122
pagecontent/start-cable.php
Executable file
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
require("../functions.php");
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
$db = new SQLite3('../db-test/test.db');
|
||||
|
||||
//Befehl zum Starten des Skripts
|
||||
$command = escapeshellcmd('python3 /var/www/html/python/cable-check.py');
|
||||
|
||||
//output1 und bridges1 sind die Ergebnisse des ersten Durchlaufs
|
||||
$output1 = json_decode(shell_exec($command), true);
|
||||
$bridges1 = $output1["data"];
|
||||
|
||||
//Zeigt schon der Erste durchlauf Fehler auf, kann abgebrochen werden (1. Fehlerfall)
|
||||
if($output1["logs"]["errorcode"] != 10) {
|
||||
?>
|
||||
<h3>
|
||||
Die Prüfung konnte nicht abgeschlossen werden. <i>Fehler <?php echo $output1["logs"]["errorcode"]; ?></i>
|
||||
</h3>
|
||||
<?php
|
||||
include("../errorcodes.php");
|
||||
die();
|
||||
}
|
||||
|
||||
//wenn bis hierhin ok: weitere Prüfung
|
||||
$output2 = json_decode(shell_exec($command), true);
|
||||
$bridges2 = $output2["data"];
|
||||
|
||||
//Die Messungen sind nicht identisch (egal ob wg Fehlercodes oder Daten, ungleiche Messungen sind immer schlecht) -> 2. Fehlerfall
|
||||
//es wäre schon sehr eigenartig, wenn verschiedene Fehlercodes nacheinander ausgespuckt würden (Wackelkontakt?)
|
||||
if($bridges1 !== $bridges2) {
|
||||
|
||||
measurementsDiffer($bridges1, $bridges2);
|
||||
|
||||
}
|
||||
|
||||
// Isoliere die Brücken und speichere sie als $bridges (hiermit wird später alles weitere verarbeitet)
|
||||
$bridges = array_map(function($entry) {
|
||||
return $entry[0];
|
||||
}, $bridges1);
|
||||
|
||||
//Isoliere die Fehlercodes der ersten Messung; da Messungen identisch reicht erste Messung
|
||||
$errors = array_filter($bridges1, function($entry) {
|
||||
return $entry[1] !== 0;
|
||||
});
|
||||
|
||||
//Wenn Fehlerspeicher gefüllt: Ausgabe und Abbruch
|
||||
if (!empty($errors)) {
|
||||
|
||||
measurementsContainErrors($bridges1);
|
||||
|
||||
}
|
||||
|
||||
// ----------
|
||||
//Ab hier wird die Logik geprüft, die Messung ist bis hierhin äußerlich in Ordnung
|
||||
// ----------
|
||||
|
||||
|
||||
$bridges = translateArray($bridges, $translationMap, $translationMap2);
|
||||
|
||||
$cleaned_output = [];
|
||||
$errors = [];
|
||||
|
||||
$ok = true;
|
||||
|
||||
// iteriere durch die Messung und prüfe, ob stets gilt [[20,20],[22,22]]
|
||||
//wenn nein: Kurzschluss ($errors)
|
||||
foreach($bridges as $bridge) {
|
||||
if($bridge[0] == $bridge[1]) {
|
||||
$cleaned_output[] = $bridge[0];
|
||||
}
|
||||
else {
|
||||
$ok = false;
|
||||
$errors[] = $bridge;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Haupt-Steckergrafik
|
||||
$url = 'stecker.php?mode=fill&data=' . urlencode(json_encode($cleaned_output));
|
||||
|
||||
?>
|
||||
|
||||
<div class="content-header">Ergebnis</div>
|
||||
<hr />
|
||||
<h2>Vollständigkeit</h2>
|
||||
<p><i>Die folgende Grafik zeigt Ihnen, auf welchen Adern eine durchgängige Verbindung erkannt wurde. Nur, wenn alle Pins grün gefüllt sind, ist das Spurkabel in Ordnung!</i></p>
|
||||
<img src="<?php echo $url; ?>" />
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
$url = 'stecker.php?data=' . urlencode(json_encode($errors)); // Kodiert es für die URL
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<h2>Unzulässigkeiten</h2>
|
||||
<p><i>Die folgende Grafik zeigt Ihnen, auf welchen Adern eine Verbindung zu einer anderen Ader erkannt wurde. Ist die Grafik leer, sind alle Adern korrekt isoliert.</i></p>
|
||||
<?php
|
||||
|
||||
if($ok != true) {
|
||||
?>
|
||||
<p style='color: red !important'>
|
||||
Es wurde mindestens ein Kurzschluss gefunden!
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<img src="<?php echo $url; ?>" />
|
||||
|
||||
|
||||
|
||||
<div class="save-button" onclick="window.location.href='#cable-check';"><img src="/vendor/icons/nav-arrow-left.svg" \>Zurück</div>
|
||||
|
||||
Reference in New Issue
Block a user