arduino-managed-serial-device
arduino-managed-serial-device copied to clipboard
Easily and asynchronously interact with a serial device requiring call-and-response style commands.
Hi, I've found a small bug where the full input buffer is incorrectly shifted. https://github.com/coddingtonbear/arduino-managed-serial-device/blob/65e7f8c16e29ef04eea90ba5bdcf8fffd637d340/src/ManagedSerialDevice.cpp#L341 I think that it should be: ``` inputBuffer[INPUT_BUFFER_LENGTH - i - 1] = inputBuffer[INPUT_BUFFER_LENGTH -...
These kinds of comparisons don't allow for overflow: `commandQueue[position].delay = _delay + millis();` ... `if(!processing && queueLength > 0 && commandQueue[0].delay started + _timeout)) {` Admittedly this is a problem...
Currently this library relies on use of `std::functional` which itself creates function objects on the heap. This isn't ideal for use on constrained memory devices due to fragmentation issues, but...