Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
PJON implements a totally software emulated network protocol stack in around 1500 lines of code, thanks to the strategies abstraction it can work nominally with any data-link is in use and can be applied in a variety of media and applications. This library can be cross-compiled (
-std=c++11) to work with virtually every Arduino compatible board or linux machine, for example ATtiny85 or Raspberry Pi.
Thanks to the interfaces abstraction, PJON can be easily ported on any MCU/architecture exposing random generation, timing and IO system calls (for example on Arduino:
Implementation model _______________________________________________________ | Layer 3 Network | | PJON | ___| send, send_packet, send_repeatedly ... | | |_______________________________________________________| | | Layer 2 data-link or strategy | | | AnalogSampling, OverSampling, SoftwareBitBang ... | --->| can_start, send_string, receive_byte ... |___ |_______________________________________________________| | | Interfaces to system calls | | ___| PJON_MICROS, PJON_RANDOM, PJON_DELAY_MICROSECONDS ... |<--- | |_______________________________________________________| | | Layer 1 physical-layer | | | System calls: | --->| micros, random, delayMicroseconds ... | |_______________________________________________________|
This library exposes to users a set of tools to easily configure and handle communication between devices:
Feel free to write me personally email@example.com