https://github.com/alfystar/emp
Embedded Message Pack
https://github.com/alfystar/emp
arduino circular-buffer comunication crc-calculation crc8 embedded embedded-systems high-performance interoperability linux linux-user message multiple-instance open-source-project opensource pointers stm32 transfer
Last synced: 3 months ago
JSON representation
Embedded Message Pack
- Host: GitHub
- URL: https://github.com/alfystar/emp
- Owner: Alfystar
- License: agpl-3.0
- Created: 2021-04-26T09:34:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-21T14:32:22.000Z (about 4 years ago)
- Last Synced: 2025-07-25T12:19:10.566Z (6 months ago)
- Topics: arduino, circular-buffer, comunication, crc-calculation, crc8, embedded, embedded-systems, high-performance, interoperability, linux, linux-user, message, multiple-instance, open-source-project, opensource, pointers, stm32, transfer
- Language: C
- Homepage:
- Size: 34 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EMP

### Embedded Message Pack
This is a C++ library to perform the send/receive data between any platform (Arduino, Unix, etc...) with any type of data pack using asynchronous byte streams.
The key feature is the possibility to transmit between 2 different machines, without any necessity to have the same type of device on the other hand.
If you want learn more about the protocol used, [see here](/00_Guide/packProtocoll.md)
#### Supported Device form the library NOW
This library have the source for different type of the HW:
- [x] Linux
- [x] Arduino AvR (boot for Arduino-Ide and platformIo)
- [x] STM32 (Tested on the discovery board)
#### Tested communication for NOW
For now the library was tested with success on:
- [x] Arduino <==> Linux (Raspberry Pi for example, or Any Linux PC)
- [x] Linux <==> Linux (Using Socket abstraction)
- [x] STM32 <==> Linux
- [ ] Arduino <==> Arduino
- [ ] STM32 <==> Arduino
- [ ] STM32 <==> STM32
- [ ] We are open to new ideas :stuck_out_tongue_winking_eye:
But we are confident for the correctly of the library, because the source file is always the same
# Include in your Project
To include the source in your code please follow [ours guide](/00_Guide/InstallGuide.md) for your IDE.

It is easy to see that all concrete classes descend form the MP classes in MP core Package, this design simplify the developing process because the concrete, hard and critical work is coded all in the same manner for all, and after the debugging of the core, all the rest of the problem must be in the son-class and limit his damage only to that zone.
---
Tor-Vergata Automation Department