Code Monkey home page Code Monkey logo

ctlst-tech / eswb Goto Github PK

View Code? Open in Web Editor NEW
21.0 1.0 1.0 939 KB

Embedded software bus is a embedded pub/sub OS and hardware agnostic library for functions interactions inside thread, between threads and processes

License: BSD 3-Clause "New" or "Revised" License

CMake 1.23% Python 28.49% Makefile 0.12% C 47.24% C++ 22.46% Jinja 0.46%
c-language control-systems drone embedded embedded-systems hardware-agnostic os-agnostic posix pubsub realtime

eswb's Introduction

ESWB - Embedded Software Bus

ESWB is a portable pub/sub middleware that creates a uniform way of functions to communicate between each other: inside thread, between threads, between processes. ESWB is designed to be the major and the only candidate to do inter process communication inside project. Its purpose is to define architecture template, engage reusability and provide tools to build and debug complex embedded systems like drones and the rest of the robotics.

ESWB adresses the following problems:

  • software connectivity and IPC calls are too diverse, and diversity rises over time, architecture drifts;
  • eventually project might get into OS jail;
  • functions are coupled together, and it is hard to test them anywhere but the target device with a limited debugging scope;
  • developers have to create own data logging and telemetry services.

ESWB is the foundation of c-atom library.

Documentation

Check it here

Build

ESWB uses Catch2 as a testing framework. Here is a quick tip on installing it:

git clone https://github.com/catchorg/Catch2.git
cd Catch2
git checkout v3.0.1
cmake -Bbuild -H. -DBUILD_TESTING=OFF
sudo cmake --build build/ --target install

eswb's People

Contributors

0ptim0 avatar hmldns avatar it-baron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

it-baron

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.