Skip to content

Latest commit

 

History

History
75 lines (43 loc) · 1.88 KB

README.md

File metadata and controls

75 lines (43 loc) · 1.88 KB

rclzig

A ROS 2 client library in the Zig programming language.

Features

  • TODO

Why?

This project was created as a personal way to learn Zig. I was intrigued by the features Zig has to offer (e.g. simple, zero-dependency drop-in replacement for C/C++, cross-compilation out-of-the-box). As an exercise, I challenged myself to integrate the language with ROS 2 and this is the result.

Should I use this in production?

No, probably not.

Zig is a very young language (still pre-1.0 release) and not stable. The same applies for rclzig.

Okay, how can I use rclzig?

Install dependencies

Build

  1. Clone this repository

     git clone https://github.com/jacobperron/rclzig.git
    
  2. Source your ROS 2 installation, e.g. ROS Galactic:

     source /opt/ros/galactic/setup.bash
    
  3. Build:

     cd rclzig
     zig build
    
  4. Optionally, run tests:

     zig build test
    

Try the examples

Run the talker:

zig build talker

In a second shell, run the listener:

zig build listener

Build your own package

TODO

Excellent! How can I contribute?

See CONTRIBUTING.md.

References

Here are some nice resource for learning Zig: