Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MaJerle/lwpkt
Lightweight packet protocol structure for multi-device communication focused on RS-485
https://github.com/MaJerle/lwpkt
command data devices length master microcontroller multi-slaves optimization packet packet-structure protocol rs-485 simple stm32
Last synced: 3 months ago
JSON representation
Lightweight packet protocol structure for multi-device communication focused on RS-485
- Host: GitHub
- URL: https://github.com/MaJerle/lwpkt
- Owner: MaJerle
- License: mit
- Created: 2020-05-22T20:46:38.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-06-22T17:27:30.000Z (5 months ago)
- Last Synced: 2024-06-23T21:36:19.419Z (5 months ago)
- Topics: command, data, devices, length, master, microcontroller, multi-slaves, optimization, packet, packet-structure, protocol, rs-485, simple, stm32
- Language: C
- Homepage: https://majerle.eu/projects/lwpkt-lightweight-packet-protocol-manager
- Size: 272 KB
- Stars: 102
- Watchers: 8
- Forks: 23
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-embedded-software - lwpkt - Lightweight packet protocol structure for multi-device communication focused on RS-485. (Protocols / Protocol Parsers)
README
# Packet protocol manager
Read first: Documentation
## Features
* Written in C (C11), compatible with ``size_t`` for size data types
* Platform independent, no architecture specific code
* Uses *LwRB* library for data read/write operations
* Optimized for embedded systems, allows high optimization for data transfer
* Support for events on packet ready, read or write operation
* Configurable settings for packet structure and variable data length
* Allows multiple notes in network with `from` and `to` addresses
* Separate optional field for *command* data type
* Variable data length to support theoretically unlimited packet length
* CRC check to handle data transmission errors
* User friendly MIT license## Applications
To name a few:
* Communication in RS-485 network between various devices
* Low-level point to point packet communication (UART, USB, ethernet, ...)## Contribute
Fresh contributions are always welcome. Simple instructions to proceed:
1. Fork Github repository
2. Follow [C style & coding rules](https://github.com/MaJerle/c-code-style) already used in the project
3. Create a pull request to develop branch with new features or bug fixesAlternatively you may:
1. Report a bug
2. Ask for a feature request