{"id":15048952,"url":"https://github.com/ctlst-tech/eswb","last_synced_at":"2025-07-14T17:39:58.381Z","repository":{"id":38452686,"uuid":"480289054","full_name":"ctlst-tech/eswb","owner":"ctlst-tech","description":"Embedded software bus is a embedded pub/sub OS and hardware agnostic library for functions interactions inside thread, between threads and processes","archived":false,"fork":false,"pushed_at":"2025-05-24T20:26:47.000Z","size":971,"stargazers_count":24,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-24T21:28:24.189Z","etag":null,"topics":["c-language","catpilot","control-systems","drone","embedded","embedded-systems","hardware-agnostic","os-agnostic","posix","pubsub","realtime","uas","uav"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctlst-tech.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,"zenodo":null}},"created_at":"2022-04-11T08:20:17.000Z","updated_at":"2024-11-01T18:13:20.000Z","dependencies_parsed_at":"2024-03-18T22:27:36.633Z","dependency_job_id":"3e5831d0-5f12-4e96-987e-dcfb13525ba8","html_url":"https://github.com/ctlst-tech/eswb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ctlst-tech/eswb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Feswb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Feswb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Feswb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Feswb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctlst-tech","download_url":"https://codeload.github.com/ctlst-tech/eswb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctlst-tech%2Feswb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265327121,"owners_count":23747684,"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","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":["c-language","catpilot","control-systems","drone","embedded","embedded-systems","hardware-agnostic","os-agnostic","posix","pubsub","realtime","uas","uav"],"created_at":"2024-09-24T21:17:19.445Z","updated_at":"2025-07-14T17:39:58.359Z","avatar_url":"https://github.com/ctlst-tech.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESWB - Embedded Software Bus\n\nESWB is a portable pub/sub middleware that creates a uniform way of functions to communicate between each other: \ninside thread, between threads, between processes. ESWB is designed to be the major and the only candidate to do inter process \ncommunication inside project. Its purpose is to define architecture template, engage reusability and provide tools to build and debug \ncomplex embedded systems like drones and the rest of the robotics.\n\nESWB adresses the following problems:\n- software connectivity and IPC calls are too diverse, and diversity rises over time, architecture drifts;\n- eventually project might get into OS jail;\n- functions are coupled together, and it is hard to test them anywhere but the target device\n  with a limited debugging scope;\n- developers have to create own data logging and telemetry services.\n\nESWB is the foundation of [**c-atom**](https://github.com/ctlst-tech/c-atom) library.\n\n## Documentation\n\n[Check it here](https://docs.ctlst.app/eswb/intro.html)\n\n## Build\n\nESWB uses [Catch2](https://github.com/catchorg/Catch2) as a testing framework. Here is a quick tip on installing it:\n\n```shell\ngit clone https://github.com/catchorg/Catch2.git\ncd Catch2\ngit checkout v3.0.1\ncmake -Bbuild -H. -DBUILD_TESTING=OFF\nsudo cmake --build build/ --target install\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctlst-tech%2Feswb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctlst-tech%2Feswb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctlst-tech%2Feswb/lists"}