Skip to content

An Arduino Library that facilitates packet-based serial communication using COBS or SLIP encoding.

License

Notifications You must be signed in to change notification settings

bakercp/PacketSerial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PacketSerial

Build Status

An Arduino Library that facilitates packet-based serial communication using COBS or SLIP encoding.

Features

PacketSerial is an small, efficient, library that allows Arduinos to send and receive serial data packets (with COBS, SLIP or a user-defined encoding) that include bytes of any value (0 - 255). A packet is simply an array of bytes.

Documentation

If you're asking Why do I need this?, read the background introduction page. If you're ready to get started, check out the getting started page. You can also learn a lot by reading through the examples. Finally, if you're interested in learning more about how the code works, read the comments in the source code and check out the API documentation.

Support

If you're looking for help, read the support page.

Compatibility

Requrements

Other Platforms

This project has been used successfully with openFrameworks using the ofxSerial addon. In particular, see the ofx::IO::PacketSerial object. Additionally this project has been used with Python using the PySerial package. In particular, check out the COBS (see this discussion) and SLIP packages.

Ultimately, any library that correctly implements a COBS or SLIP encoding scheme should be compatible with this project.

Continuous Integration

Continuous integration tests are carried out on a variety of common Arduino platforms. See this script for a list.

Licensing

This project is licensed under the MIT License.

Project Management

Repository

https://github.com/bakercp/PacketSerial

Contributing

If you'd like to contribute to this project, please check out the Code of Conduct and the contributing guide.

Versioning

This project uses Semantic Versioning. You can check out recent changes in the changelog.