Skip to content
Snippets Groups Projects
Commit 56393e94 authored by Teo Serra's avatar Teo Serra
Browse files

Project - Add UI improvement

parent 2f54280c
Branches
No related tags found
No related merge requests found
......@@ -86,6 +86,6 @@
<pre id="status"></pre>
</div>
<script src="main.js"></script>
<script src="../files/project/main.js"></script>
</body>
</html>
......@@ -86,7 +86,7 @@ async function start() {
await sendCommand({ command: "START", frequency: frequency });
statusElement.textContent = "Commande START envoyée.";
} else {
alert("Fréquence invalide. Veuillez entrer une fréquence entre 100 et 200000 Hz.");
alert("Fréquence invalide. Veuillez entrer une fréquence entre 100 et 50000 Hz.");
}
}
......@@ -103,7 +103,7 @@ async function updateFrequency() {
await sendCommand({ command: "UPDATE_FREQUENCY", frequency: frequency });
statusElement.textContent = "Commande UPDATE_FREQUENCY envoyée.";
} else {
alert("Fréquence invalide. Veuillez entrer une fréquence entre 100 et 200000 Hz.");
alert("Fréquence invalide. Veuillez entrer une fréquence entre 100 et 50000 Hz.");
}
}
......@@ -148,21 +148,27 @@ async function waitForAck(command, timeout) {
const interval = setInterval(() => {
if (Date.now() - startTime > timeout) {
clearInterval(interval);
console.log(`Timeout atteint pour ${command}`);
resolve(false);
}
const ackMessage = outputElement.textContent.split('\n').find(line => {
const lines = outputElement.textContent.split('\n');
let partialJSON = '';
for (let i = lines.length - 1; i >= 0; i--) {
const line = lines[i].trim();
if (line === '') continue; // Ignorer les lignes vides
partialJSON = line + partialJSON;
try {
const msg = JSON.parse(line);
return msg.status === "ACK" && msg.command === command;
const msg = JSON.parse(partialJSON);
if (msg.status === "ACK" && msg.command === command) {
clearInterval(interval);
console.log(`Accusé de réception trouvé pour ${command}`);
resolve(true);
return;
}
} catch (e) {
return false;
// La ligne n'est pas un JSON valide, continuer à chercher
}
});
if (ackMessage) {
clearInterval(interval);
resolve(true);
}
}, 100);
});
......@@ -178,7 +184,8 @@ async function readLoop() {
break;
}
const message = new TextDecoder().decode(value);
processMessage(message);
console.log(`Message reçu : ${message}`);
processMessage(message); // Appel de la fonction pour traiter les messages
} catch (err) {
console.error('Erreur de lecture:', err);
break;
......@@ -197,7 +204,8 @@ function processMessage(message) {
try {
const jsonMessage = JSON.parse(completeMessage);
outputElement.textContent += JSON.stringify(jsonMessage, null, 2) + '\n';
outputElement.textContent += JSON.stringify(jsonMessage, null, 2) + '\n'; // Ajouter le message à outputElement.textContent
console.log(`Message complet reçu : ${completeMessage}`);
} catch (e) {
console.error('Erreur de lecture JSON:', e);
outputElement.textContent += "Erreur de lecture JSON: " + completeMessage + '\n';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment