Suggestions to add hardware flow control and XML escape
Opened this issue · 0 comments
doingnz commented
Great terminal application. Nice and simple for quick understanding of the Serial Api.
When testing with my device which that outputs upto 100K xml text, I quickly ran into problems with buffer overruns and lost characters. I turned on hardware flow control as follows as my device supports RTS & CTS handshake. Other samples suggest checkboxes for hardware flow control on/off. For a quick test I was happy to hardcode it.
await port.open({
baudRate: document.getElementById("baud").value,
flowControl: "hardware", rtsCts: true,
dataBits: 8, stopBits: 1, parity: "none",
bufferSize: 2560
});
As my device outputs XML, I had to define
function escapeXml(unsafe) {
return unsafe.replace(/[<>&'"]/g, function (c) {
switch (c) {
case '<': return '<';
case '>': return '>';
case '&': return '&';
case '\'': return ''';
case '"': return '"';
}
});
}
and then change append to escape the string being stuffed into the page for all characters to be rendered in a readable form.
// value is a string. escape characters as needed
appendToTerminal(escapeXml(value));