Initial commit
This commit is contained in:
198
functions.php
Normal file
198
functions.php
Normal file
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
// ===========================================================================================
|
||||
// Analyse-Funktionen für die Spurkabelprüfung, Federleistenprüfung und Selbstidiagnose
|
||||
// ===========================================================================================
|
||||
|
||||
|
||||
|
||||
//Übsersetzungstabelle (Intern -> Steckerpin, gilt für Programmsteckerprüfung)
|
||||
$translationMap = [
|
||||
"0" => "18",
|
||||
"1" => "19",
|
||||
"2" => "20",
|
||||
"3" => "21",
|
||||
"4" => "22",
|
||||
"5" => "23",
|
||||
"6" => "24",
|
||||
"7" => "25",
|
||||
"8" => "10",
|
||||
"9" => "11",
|
||||
"10" => "12",
|
||||
"11" => "13",
|
||||
"12" => "14",
|
||||
"13" => "15",
|
||||
"14" => "16",
|
||||
"15" => "17",
|
||||
"16" => "34",
|
||||
"17" => "35",
|
||||
"18" => "36",
|
||||
"19" => "37",
|
||||
"20" => "38",
|
||||
"21" => "39",
|
||||
"22" => "40",
|
||||
"23" => "41",
|
||||
"24" => "26",
|
||||
"25" => "27",
|
||||
"26" => "28",
|
||||
"27" => "29",
|
||||
"28" => "30",
|
||||
"29" => "31",
|
||||
"30" => "32",
|
||||
"31" => "33"
|
||||
];
|
||||
|
||||
//Übsersetzungstabelle (Intern -> Steckerpin, gilt für Spurkabelprüfung)
|
||||
$translationMap2 = [
|
||||
"0" => "25",
|
||||
"1" => "24",
|
||||
"2" => "23",
|
||||
"3" => "22",
|
||||
"4" => "21",
|
||||
"5" => "20",
|
||||
"6" => "19",
|
||||
"7" => "18",
|
||||
"8" => "17",
|
||||
"9" => "16",
|
||||
"10" => "15",
|
||||
"11" => "14",
|
||||
"12" => "13",
|
||||
"13" => "12",
|
||||
"14" => "11",
|
||||
"15" => "10",
|
||||
"16" => "41",
|
||||
"17" => "40",
|
||||
"18" => "39",
|
||||
"19" => "38",
|
||||
"20" => "37",
|
||||
"21" => "36",
|
||||
"22" => "35",
|
||||
"23" => "34",
|
||||
"24" => "33",
|
||||
"25" => "32",
|
||||
"26" => "31",
|
||||
"27" => "30",
|
||||
"28" => "29",
|
||||
"29" => "28",
|
||||
"30" => "27",
|
||||
"31" => "26"
|
||||
];
|
||||
|
||||
// Diese Funktion übersetzt die interne Pin-Bezeichnung in die des Herstellers gem. translationMap
|
||||
// weil die Hardware der Spurkabelprüfer anders verschaltet ist, als die des Programmsetckerprüfers, wird nach zwei Übersetzungstabellen bei der Spurkabelprüfung gearbeitet
|
||||
// nodes[0] wird gem Standardtabelle gehandhabt, nodes[1] nach translationMap2 - unsauber, aber nur durhc Software lösbar
|
||||
function translateArray($inputArray, $translationMap, $translationMap2 = null) {
|
||||
return array_map(function($subArray) use ($translationMap, $translationMap2) {
|
||||
$map1 = $translationMap;
|
||||
$map2 = $translationMap2 ?? $translationMap; // Wenn keine zweite Map, nimm die erste
|
||||
return [
|
||||
$map1[$subArray[0]] ?? $subArray[0],
|
||||
$map2[$subArray[1]] ?? $subArray[1]
|
||||
];
|
||||
}, $inputArray);
|
||||
}
|
||||
|
||||
function measurementsDiffer($bridges1, $bridges2) {
|
||||
//Isoliere die Brücken
|
||||
$bridges1 = array_map(function($entry) {
|
||||
return $entry[0];
|
||||
}, $bridges1);
|
||||
|
||||
$bridges2 = array_map(function($entry) {
|
||||
return $entry[0];
|
||||
}, $bridges2);
|
||||
|
||||
//Zeichne die Steckergrafik
|
||||
$url1 = "../stecker.php?data=" . urlencode(json_encode(translateArray($bridges1, $translationMap)));
|
||||
$url2 = "../stecker.php?data=" . urlencode(json_encode(translateArray($bridges2, $translationMap)));
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<p>
|
||||
Es gab einen Fehler bei der Messung!</br>Messung 1 und Messung 2 lieferten keine übereinstimmenden Ergebnisse.<br>Bitte prüfen Sie, ob alle Steckverbindungen fest sitzen und vermeiden Sie Bewegungen, welche die Messung beeinträchtigen können.</br>Stellen Sie sicher, dass keine der Verbindungen gegen Erde kurzgeschlossen ist, da dies die Messung beeinträchtigt.<br>Erwägen Sie, eine erneute Messung durchzuführen.
|
||||
</p>
|
||||
<br>
|
||||
<p>Ergebnis Messung 1:</p>
|
||||
<i><?php print_r($output1); ?><i>
|
||||
<img src="<?php echo $url1; ?>" />
|
||||
<p>Ergebnis Messung 2:</p>
|
||||
<i><?php print_r($output2); ?><i>
|
||||
<img src="<?php echo $url2; ?>" />
|
||||
<div class="save-button" onclick="window.location.href='#index'; pageload();$('.save-button').html('<img src=\'load.gif\' \>Bitte warten...');"><img src="/vendor/icons/nav-arrow-left.svg" \>Zurück</div>
|
||||
|
||||
<?php
|
||||
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
function measurementsContainErrors($bridges) {
|
||||
|
||||
?>
|
||||
<h3>Eine oder mehrere Prüfungen versagten. Vollständige Fehlerausgabe:</h3>
|
||||
<table>
|
||||
<tr><td>Brücke von</td><td>nach</td><td>Aufgetretene Fehler</td>
|
||||
|
||||
<?php
|
||||
foreach($bridges as $bridge) {
|
||||
echo "<tr><td>" . $bridge[0][0] . "</td><td>" . $bridge[0][1] . "</td><td>" . $bridge[1] . "</td></tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
</table>
|
||||
<hr>
|
||||
<h3>Fehlercodes:</h3>
|
||||
|
||||
<?php
|
||||
include("../errorcodes.php");
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Ootionale Funktion, die implizite Verbindungen herleitet (KI-generiert)
|
||||
|
||||
|
||||
function completeCycleEdges(array $edges): array {
|
||||
// 1. Alle einzigartigen Knoten extrahieren
|
||||
$nodes = [];
|
||||
foreach ($edges as $edge) {
|
||||
foreach ($edge as $node) {
|
||||
$nodes[$node] = true;
|
||||
}
|
||||
}
|
||||
$nodes = array_keys($nodes);
|
||||
|
||||
// 2. Sortiere Knoten (optional, für konsistente Reihenfolge)
|
||||
sort($nodes);
|
||||
|
||||
// 3. Erstelle vollständigen Kreis (Verbindung i -> i+1, letzter -> erster)
|
||||
$completeEdges = [];
|
||||
$numNodes = count($nodes);
|
||||
for ($i = 0; $i < $numNodes; $i++) {
|
||||
$from = $nodes[$i];
|
||||
$to = $nodes[($i + 1) % $numNodes]; // Kreis schließen
|
||||
$completeEdges[] = [$from, $to];
|
||||
}
|
||||
|
||||
return $completeEdges;
|
||||
}
|
||||
|
||||
$edges = [[0,1], [2,0]];
|
||||
$result = completeCycleEdges($edges);
|
||||
|
||||
print_r($result);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user