libcsp (Cubesat Space Protocol)
Introduction
libcsp is an implementation of the CubeSat Space Protocol (CSP). It is a small protocol stack written in C. CSP is designed to ease communication between distributed embedded systems in small networks, such as CubeSats. The design follows the TCP/IP model and includes a transport protocol, a routing protocol, and several MAC-layer interfaces. The core of libcsp includes a router, a connection-oriented socket API, and message and connection pools.
Zephyr is used in some Cubesats and they use libcsp to communicates with the other components in the Cubesats.
libcsp is licensed under the MIT license.
Usage with Zephyr
To use libcsp with Zephyr, you first need to add the following snipet to your west.yaml:
manifest:
projects:
- name: libcsp
url: https://github.com/libcsp/libcsp
revision: develop
path: modules/lib/libcsp
And add this to your prj.conf:
CONFIG_LIBCSP=y
Once you’ve added libcsp to your project, run west update.
For more detailed instructions and API documentation, refer to the libcsp documentation [1].