MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / getReply

Method getReply

tools/xsbug/esptool.js:551–583  ·  view source on GitHub ↗
(timeout = 1000, wait = false)

Source from the content-addressed store, hash-verified

549 this.#statusSize = 2;
550 }
551 async getReply(timeout = 1000, wait = false) {
552 let received;
553 const end = Date.now() + timeout;
554 while (Date.now() < end) {
555 let duration = end - Date.now();
556 if (duration <= 0)
557 break;
558 let data = this.#serial.read();
559 if (!data || !data.byteLength) { //@@ byteLength check should be unnecessary!
560 const readPromise = new Promise(resolve => {
561 this.#readable = resolve;
562 });
563 await Promise.race([readPromise, new Promise(resolve => setTimeout(resolve, duration))]);
564 continue;
565 }
566
567 data = new Uint8Array(data);
568 if (!received)
569 received = data;
570 else {
571 const tmp = new Uint8Array(received.length + data.length);
572 tmp.set(received);
573 tmp.set(data, received.length);
574 received = tmp;
575 }
576
577 if (!wait && (received.length > 8) && (192 === received[0]) && (192 === received[received.length - 1]))
578 break;
579 }
580 if (received)
581 tracePacket(">>", received)
582 return received;
583 }
584 unescapeSLIP(input) {
585 let length = 0;
586

Callers 7

eraseMethod · 0.95
readPartMethod · 0.95
beginProgrammingMethod · 0.95
downloadToMemoryMethod · 0.95
readRegisterMethod · 0.95
changeBaudMethod · 0.95
downloadToFlashMethod · 0.95

Calls 3

tracePacketFunction · 0.70
readMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected