{"id":20409798,"url":"https://github.com/alfystar/emp","last_synced_at":"2025-10-05T01:33:25.688Z","repository":{"id":137318932,"uuid":"361693589","full_name":"Alfystar/EMP","owner":"Alfystar","description":"Embedded Message Pack","archived":false,"fork":false,"pushed_at":"2021-10-21T14:32:22.000Z","size":35690,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T12:19:10.566Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alfystar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-26T09:34:14.000Z","updated_at":"2023-11-21T06:29:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"d119721d-c005-4e90-98eb-4dc732eb0997","html_url":"https://github.com/Alfystar/EMP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Alfystar/EMP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfystar%2FEMP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfystar%2FEMP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfystar%2FEMP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfystar%2FEMP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alfystar","download_url":"https://codeload.github.com/Alfystar/EMP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfystar%2FEMP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278399628,"owners_count":25980330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-11-15T05:43:34.649Z","updated_at":"2025-10-05T01:33:25.657Z","avatar_url":"https://github.com/Alfystar.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EMP\n\u003cimg src=\"00_Guide/EMP-Logo-Background.png\" alt=\"EMP-Logo-Background\" style=\"zoom:33%;\" /\u003e\n\n### Embedded Message Pack\n\nThis 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.\n\nThe 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.\n\nIf you want learn more about the protocol used, [see here](/00_Guide/packProtocoll.md)\n\n#### Supported Device form the library NOW\n\n This library have the source for different type of the HW:\n\n- [x] Linux\n- [x] Arduino AvR (boot for Arduino-Ide and platformIo)\n- [x] STM32 (Tested on the discovery board)\n\n#### Tested communication for NOW \n\nFor now the library was tested with success on: \n\n- [x] Arduino \u003c==\u003e Linux (Raspberry Pi for example, or Any Linux PC)\n\n- [x] Linux \u003c==\u003e Linux (Using Socket abstraction)\n\n- [x] STM32 \u003c==\u003e Linux\n\n- [ ] Arduino \u003c==\u003e Arduino\n\n- [ ] STM32 \u003c==\u003e Arduino\n\n- [ ] STM32 \u003c==\u003e STM32 \n\n- [ ] We are open to new ideas :stuck_out_tongue_winking_eye:\n\nBut we are confident for the correctly of the library, because the source file is always the same\n\n\n\n# Include in your Project\n\nTo include the source in your code please follow [ours guide](/00_Guide/InstallGuide.md) for your IDE.\n\n![EMP-Hierarchy](/01_DOC/img/EMP-Hierarchy.png)\n\nIt 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.\n\n---\nTor-Vergata Automation Department\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfystar%2Femp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfystar%2Femp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfystar%2Femp/lists"}