Skip to content

OpenCyphal-Garage/libcyphal

Repository files navigation

Cyphal Cyphal stack in C++

Build Status Forum Sonarqube Badge Sonarqube Coverage Documentation

WARNING libcyphal v1 is not yet complete. This is a work-in-progress.

Portable reference implementation of the Cyphal protocol stack in C++ for embedded systems, Linux, and POSIX-compliant RTOSs.

Cyphal is a lightweight protocol designed for reliable communication in aerospace and robotic applications over robust vehicular networks.

Building

You don't need to build LibCyphal to use it since this is a header-only library. You will need to build the transport libraries though (libcanard, libudpard, etc), which is covered in their respective documentation.

If you want to build libcyphal for development purposes, you may use containerized toolchains as covered in CONTRIBUTING.md. Otherwise, you may want to disable static analysis:

mkdir build
cd build
cmake .. -DNO_STATIC_ANALYSIS=1
make -j16

If you're facing obscure DSDL compilation issues, ensure you have Nunavut installed and unset CYPHAL_PATH.

Contributors 4

  •  
  •  
  •  
  •