-
Notifications
You must be signed in to change notification settings - Fork 241
Documentation
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: random
, micros
, pinMode
).
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 protected]
- Update PJON 12.x to 13.0
- Addressing
- Configuration
- Data reception
- Data transmission
- Error handling
- IO pins setup
- Routing
- ATtiny interfacing
- ESP8266 interfacing
- Nucleo interfacing
- Raspberry Pi interfacing
- WINX86 interfacing
- Troubleshooting