- Notifications
You must be signed in to change notification settings - Fork73
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, etc.
License
PowerBroker2/SerialTransfer
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
SerialTransfer is an easy to use Arduino library for transferring packetized data fast and reliably viaSerial, I2C, and SPI interfaces. Interconnect your Arduinos today minus the headache with SerialTransfer!
A mirror library is also available for Python!
This library:
- can be downloaded via the Arduino IDE's Libraries Manager (search "SerialTransfer.h")
- works with "software-serial", "software-I2C", and "software-SPI" libraries
- is non blocking
- uses packet delimiters
- uses consistent overhead byte stuffing
- uses CRC-8 (Polynomial 0x9B with lookup table)
- allows the use of dynamically sized packets (packets can have payload lengths anywhere from 1 to 254 bytes)
- supports user-specified callback functions
- can transfer bytes, ints, floats, structs, even large files like JPEGs and CSVs!!
01111110 00000000 11111111 00000000 00000000 00000000 ... 00000000 10000001| | | | | | | | | | | | | | | | |______|__Stop byte| | | | | | | | | | | | | | |______|___________8-bit CRC| | | | | | | | | | | | |_|____________________Rest of payload| | | | | | | | | | |______|________________________2nd payload byte| | | | | | | | |______|_________________________________1st payload byte| | | | | | |______|__________________________________________# of payload bytes| | | | |______|___________________________________________________COBS Overhead byte| | |______|____________________________________________________________Packet ID (0 by default)|______|_____________________________________________________________________Start byte (constant)See theexample sketches
- datum = tx/rx a single object
- data = tx/rx multiple objects
SPITransfer.h and it's associated features are not supported for the Arduino Nano 33 BLE or DUE and other boards. This header file is disabled by default, but can be enabled by commenting out#define DISABLE_SPI_SERIALTRANSFER 1 withinSerialTransfer.h.
About
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, etc.
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors6
Uh oh!
There was an error while loading.Please reload this page.
