mirror of
https://github.com/sergeyyarkov/avr128da48_web-serial-example.git
synced 2026-10-11 10:19:02 +03:00
refactored
This commit is contained in:
parent
1f631cecd0
commit
24660ad531
16
web/app.js
16
web/app.js
@ -11,7 +11,11 @@ class Application {
|
||||
return;
|
||||
}
|
||||
|
||||
this.serialPortHandler = new SerialPortHandler({ baudRate: 9600 });
|
||||
this.serialPortHandler = new SerialPortHandler(
|
||||
{ baudRate: 9600 },
|
||||
() => console.log('Device connected.'),
|
||||
() => console.log('Device disconnected.')
|
||||
);
|
||||
|
||||
/**
|
||||
* DOM Elements
|
||||
@ -80,9 +84,8 @@ class Application {
|
||||
this.$serialLog.innerHTML += data + '\n';
|
||||
await this.serialPortHandler.write(data + '\n');
|
||||
const message = await this.serialPortHandler.read();
|
||||
this.$serialLog.textContent += message;
|
||||
this.$serialLog.textContent += '\n';
|
||||
console.log(message);
|
||||
this.$serialLog.textContent += message.replaceAll(EOT, '');
|
||||
console.log('Message received: \n' + message);
|
||||
}
|
||||
this.$serialLog.scrollTo(0, this.$serialLog.scrollHeight);
|
||||
}
|
||||
@ -130,13 +133,14 @@ class SerialPortHandler {
|
||||
async read() {
|
||||
const reader = this.port.readable.getReader();
|
||||
let chunks = '';
|
||||
|
||||
while (true) {
|
||||
const { value, done } = await reader.read();
|
||||
const decoded = this.decoder.decode(value);
|
||||
|
||||
chunks += decoded;
|
||||
|
||||
if (done || decoded.includes('\u0004')) {
|
||||
if (done || decoded.includes(EOT)) {
|
||||
console.log('Reading done.');
|
||||
reader.releaseLock();
|
||||
break;
|
||||
@ -148,7 +152,7 @@ class SerialPortHandler {
|
||||
|
||||
#setupListeners() {
|
||||
navigator.serial.addEventListener('connect', this.onConnect);
|
||||
navigator.serial.addEventListener('disconnect', this.onDisconnected);
|
||||
navigator.serial.addEventListener('disconnect', this.onDisconnect);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ textarea {
|
||||
textarea {
|
||||
resize: vertical;
|
||||
min-height: 200px;
|
||||
line-height: 1.4;
|
||||
font-size: 16px;
|
||||
outline: none;
|
||||
font-size: 12px;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user