firefly
Project | |
---|---|
Name | Firefly |
Tech | Embedded C, Shell scripting, C++, GNU Linux, Robot Operating System, FreeRTOS, lwIP, CUnit, GDB, GNU Make, Clang, LATEX, Git, SVN, Doxygen |
URL | https://github.com/erikw/firefly |
A framework and protocol that is used to communicate serialized data between two nodes.
A research project conducted at Robotics Lab at Lund University.
The goal was to creating a service and subscriber for force and torque samples from a sensor with low level hard real time requirements using C, FreeRTOS, Linux and Xenomai. We designed and implemented a general system and API for connecting nodes speaking a sample language and let them communicate over logical channels with different transport methods e.g. (real time) Ethernet, UDP, TCP or sneakernet.
What is Firefly?
Legend:
Firefly is a framework and protocol that is used to communicate serialized data between two nodes. It builds upon the Labcomm protocol, which is by design a one way protocol, and extends it to enable two way communication over different transport medium.
The protocol specification is fairly simple by design to avoid any overhead when used in a setting with real time demands. There is a BNF-description of the protocol.
There are reference implementations for three different application examples as well as four different transport mediums (UDP and Ethernet on Posix and FreeRTOS/Stellaris).