From 59086fd477d2b6a3a1da68febf7d978f527cce67 Mon Sep 17 00:00:00 2001 From: geeksville Date: Mon, 27 Apr 2020 18:52:57 -0700 Subject: [PATCH] fixes after testing stream protocol with python client --- src/SerialConsole.cpp | 4 ++-- src/mesh/StreamAPI.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/SerialConsole.cpp b/src/SerialConsole.cpp index e5c2866c2..3a8917fd3 100644 --- a/src/SerialConsole.cpp +++ b/src/SerialConsole.cpp @@ -9,7 +9,7 @@ SerialConsole console; SerialConsole::SerialConsole() : StreamAPI(&Port), RedirectablePrint(&Port) { canWrite = false; // We don't send packets to our port until it has talked to us first - // setDestination(&noopPrint); + // setDestination(&noopPrint); for testing, try turning off 'all' debug output and see what leaks } /// Do late init that can't happen at constructor time @@ -25,7 +25,7 @@ void SerialConsole::init() */ void SerialConsole::handleToRadio(const uint8_t *buf, size_t len) { - // Note: for the time being we _allow_ debug printing to keep going out the console + // Note: for the time being we could _allow_ debug printing to keep going out the console // I _think_ this is okay because we currently only print debug msgs from loop() and we are only // dispatching serial protobuf msgs from loop() as well. When things are more threaded in the future this // will need to change. diff --git a/src/mesh/StreamAPI.cpp b/src/mesh/StreamAPI.cpp index b82054877..674e758c9 100644 --- a/src/mesh/StreamAPI.cpp +++ b/src/mesh/StreamAPI.cpp @@ -39,9 +39,10 @@ void StreamAPI::readStream() rxPtr = 0; // length is bogus, restart search for framing } - if (rxPtr != 0 && ptr == len + HEADER_LEN) { + if (rxPtr != 0 && ptr + 1 == len + HEADER_LEN) { // If we didn't just fail the packet and we now have the right # of bytes, parse it handleToRadio(rxBuf + HEADER_LEN, len); + rxPtr = 0; // start over again } } }