Process leftover data first in read

I there was a partial packet left over and it was greater than min_data then the serial port was not read so the packet could never finish.
This commit is contained in:
Paul Kendall 2022-07-14 19:43:17 +12:00
parent a9b0a713c3
commit 163fd5044a

View File

@ -108,7 +108,15 @@ class Transport {
let t;
let packet = this.left_over;
this.left_over = new Uint8Array(0);
if (packet.length < min_data) {
if (this.slip_reader_enabled) {
const val_final = this.slip_reader(packet);
if (val_final.length > 0) {
return val_final;
}
packet = this.left_over;
this.left_over = new Uint8Array(0);
}
const reader = this.device.readable.getReader();
try {
if (timeout > 0) {
@ -131,7 +139,6 @@ class Transport {
}
reader.releaseLock();
}
}
if (this.slip_reader_enabled) {
return this.slip_reader(packet);
}