Skip to content

Commit 207423f

Browse files
committed
Support for Part separator symbols added
1 parent 4d866b7 commit 207423f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/msgAggregatorWorker.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ ctx.addEventListener("message", (event) => {
1919
let buffer = "";
2020
let discardFirstLine = true;
2121
const separator = "\n";
22-
var re = new RegExp(`(${separator})`, "g");
22+
const delimiter = "[, \t]+"; // Serial Plotter protocol supports Comma, Space & Tab characters as delimiters
23+
var separatorRegex = new RegExp(`(${separator})`, "g");
24+
var delimiterRegex = new RegExp(`(${delimiter})`, "g");
2325

2426
export const parseSerialMessages = (
2527
messages: string[]
@@ -47,7 +49,7 @@ export const parseSerialMessages = (
4749

4850
//add any leftover from the buffer to the first line
4951
const messagesAndBuffer = ((buffer || "") + joinMessages)
50-
.split(re)
52+
.split(separatorRegex)
5153
.filter((message) => message.length > 0);
5254

5355
// remove the previous buffer
@@ -74,7 +76,7 @@ export const parseSerialMessages = (
7476
// if we find a colon, we assume the latter is being used
7577
let tokens: string[] = [];
7678
if (message.indexOf(":") > 0) {
77-
message.split(",").forEach((keyValue: string) => {
79+
message.split(delimiterRegex).forEach((keyValue: string) => {
7880
let [key, value] = keyValue.split(":");
7981
key = key && key.trim();
8082
value = value && value.trim();
@@ -84,7 +86,7 @@ export const parseSerialMessages = (
8486
});
8587
} else {
8688
// otherwise they are spaces
87-
const values = message.split(/\s/);
89+
const values = message.split(delimiterRegex);
8890
values.forEach((value, i) => {
8991
if (value.length) {
9092
tokens.push(...[`value ${i + 1}`, value]);

0 commit comments

Comments
 (0)