/cros

A single thread pure C implementation of the ROS framework

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

cROS logo

cROS 1.0-rc2

cROS is a library written in stadard C language that provides a single-thread implementation of the basic features required to implement a ROS (Robot Operating System) node. This ROS node supports the concurrent operation as several:

  • Topic subscribers
  • Topic Publishers
  • Service providers (servers)
  • Service callers (clients)
  • Parameter subscribers

cROS can run on Linux, OS X and Windows.

Requirements

On a Linux-based distribution it can be compiled with:

  • The GCC compiler
  • CMake 2.6 or later
  • (Optional) Doxygen

On Windows it can be compiled with Microsoft Visual Studio 15 or later.

Build cROS

On Linux cROS uses CMake, the cross platform build system. To create a build directory an compile the project, type the following commands in a terminal starting from the source root directory:

$ mkdir build
$ cd build
$ cmake ..
$ make

You will find a static library (libcros.a) inside the build/lib directory, and some test executables that makes use of the libcros library inside the build/bin directory. The entrypoint sample to learn how to use cROS is samples/ros_api.c, which shows a non trivial example of a ROS node with publishers/subcribers and calls to ROS services.

If you want to build the create the library documentation, type: (you'll need Doxygen)

$ make docs

You'll find the html documentation inside the docs/html directory. To browse the documentation, open with a web browser the index.html file.

On Windows cROS can be compiled opening the solution file msvs_projects/cros.sln with Microsoft Visual Studio and building the solution.

Licensing

cROS is licensed under the BSD license. For more licensing options and for paid support please write an email to cros@it-robotics.it.