TDR Messung in Chart.js implementieren

This commit is contained in:
ISA
2024-10-22 13:40:35 +02:00
parent 803816bf4b
commit 94e749efc1
65 changed files with 120 additions and 7 deletions

View File

@@ -36,27 +36,46 @@ function Kue705FO({
// Funktion zum Anzeigen des Chart-Modals
const handleOpenChartModal = () => {
setShowChartModal(true);
loadChartData(); // Lade die Daten, wenn das Modal geöffnet wird
if (activeButton === "TDR") {
loadTDRChartData(); // Lade TDR-Daten, wenn der TDR-Button aktiv ist
} else {
loadLoopChartData(); // Andernfalls lade die Schleifenmessdaten
}
};
const handleCloseChartModal = () => {
setShowChartModal(false);
};
// Daten laden und den Chart erstellen
const loadChartData = () => {
// Daten laden und den TDR-Chart erstellen
const loadTDRChartData = () => {
const slot = slotIndex;
const fileData = `../cpl?4000values/slot${slot}.json`; // Je nach Slot wird die entsprechende Datei geladen
const fileData = `../cpl?lastTDR/slot${slot}.json`; // TDR-Daten je nach Slot laden
fetch(fileData)
.then((response) => response.json())
.then((data) => {
setChartData(data); // Daten setzen
createChart(data);
console.log("Messkurvendaten geladen:", data);
createTDRChart(data); // Chart für TDR-Messung erstellen
})
.catch((error) => {
console.error("Fehler beim Laden der Messkurvendaten:", error);
console.error("Fehler beim Laden der TDR-Messkurvendaten:", error);
});
};
// Daten laden und den Schleifenmessungs-Chart erstellen
const loadLoopChartData = () => {
const slot = slotIndex;
const fileData = `../cpl?4000values/slot${slot}.json`; // Schleifenmessdaten je nach Slot laden
fetch(fileData)
.then((response) => response.json())
.then((data) => {
setChartData(data); // Daten setzen
createChart(data, "Schleifenmesskurve"); // Chart für Schleifenmessung erstellen
})
.catch((error) => {
console.error("Fehler beim Laden der Schleifenmesskurvendaten:", error);
});
};
@@ -112,6 +131,36 @@ function Kue705FO({
},
});
};
// Funktion zum Erstellen des TDR-Charts
const createTDRChart = (dataTDR) => {
const ctx = document.getElementById("myChart").getContext("2d");
new Chart(ctx, {
type: "line",
data: {
labels: dataTDR.map((row) => row.t), // Entfernung oder Zeit auf der x-Achse
datasets: [
{
label: "Pegel",
data: dataTDR.map((row) => row.m), // Nur Pegel auf der y-Achse
borderColor: "#00AEEF",
borderWidth: 1,
pointBorderWidth: 0,
pointStyle: false,
fill: false,
},
],
},
options: {
scales: {
y: {
type: "linear",
position: "left",
},
},
},
});
};
// Funktion für die TDR-Messung
const goTDR = () => {