added serial comm and parsing bool into array
This commit is contained in:
@@ -68,9 +68,7 @@ void loop() {
|
|||||||
boolPause = true;
|
boolPause = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String inputOutput = String("[") + boolUp + "," + boolRight + "," + boolDown + "," + boolLeft + "," + boolDodge + "," + boolPause + "]\n";
|
String Jsarray = String("[") + boolUp + "," + boolRight + "," + boolDown + "," + boolLeft + "," + boolDodge + "," + boolPause + "]\n";
|
||||||
|
Serial.print(Jsarray);
|
||||||
|
|
||||||
if (inputOutput) {
|
|
||||||
Serial.println(inputOutput);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
71
web/Serial.js
Normal file
71
web/Serial.js
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
let port;
|
||||||
|
let reader;
|
||||||
|
const decoder = new TextDecoder("utf-8");
|
||||||
|
let readibleoutput = 0;
|
||||||
|
|
||||||
|
// Request a port and open a connection.
|
||||||
|
async function connect() {
|
||||||
|
//vraag aan de browser om een serial port te selecteren
|
||||||
|
port = await navigator.serial.requestPort();
|
||||||
|
await port.open({ baudRate: 9600 });
|
||||||
|
reader = port.readable.getReader();
|
||||||
|
console.log("Port is open!");
|
||||||
|
readLoop()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read data from serial port
|
||||||
|
async function readLoop() {
|
||||||
|
let buffer = [];
|
||||||
|
|
||||||
|
// loop until reader.cancel() is called
|
||||||
|
while (true) {
|
||||||
|
// Wait for data
|
||||||
|
const { value, done } = await reader.read();
|
||||||
|
|
||||||
|
|
||||||
|
for (let iByte = 0; iByte < value.length; iByte++) {
|
||||||
|
let singleByte = value[iByte];
|
||||||
|
//functie maken er van met boolean!!!
|
||||||
|
if (singleByte != 10) {
|
||||||
|
buffer.push(singleByte);
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
let sensorString = decoder.decode(new Uint8Array(buffer));
|
||||||
|
console.log(sensorString);
|
||||||
|
//zet alle data in een json array
|
||||||
|
|
||||||
|
try {
|
||||||
|
let incomingData = JSON.parse(sensorString.replace(/'/g, '"'));
|
||||||
|
|
||||||
|
// Ensure incomingData is an array
|
||||||
|
if (Array.isArray(incomingData)) {
|
||||||
|
// Convert the array of strings to a boolean array
|
||||||
|
let booleanArray = incomingData.map(bit => bit == '1');
|
||||||
|
|
||||||
|
console.log(booleanArray);
|
||||||
|
} else {
|
||||||
|
console.error("Invalid incoming data format. Expecting an array.");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log("json niet geparserd");
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer = [];
|
||||||
|
}
|
||||||
|
if (done) {
|
||||||
|
console.log('[readLoop] DONE', done);
|
||||||
|
reader.releaseLock();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sluit de poort
|
||||||
|
async function disconnect() {
|
||||||
|
await reader.cancel();
|
||||||
|
await port.close();
|
||||||
|
console.log("Port is closed!");
|
||||||
|
}
|
Reference in New Issue
Block a user