Overview of SerialTransfer
masterSerialTransfer is an Arduino library designed for fast and reliable packetized data transfer over Serial, I2C, and SPI interfaces. It is non-blocking and uses consistent overhead byte stuffing (COBS) and CRC-8 (Polynomial 0x9B) to ensure data integrity.
Key Features:
- Supports Serial, I2C, and SPI (including software-based versions).
- Uses packet delimiters and COBS for robust framing.
- Supports dynamically sized packets (payloads from 1 to 254 bytes).
- Supports user-specified callback functions.
- Capable of transferring various data types: bytes, ints, floats, structs, and large files (e.g., JPEGs, CSVs).
- A Python mirror library (
pySerialTransfer) is available for cross-platform communication.