Skip to content

Tools to process libcluon's message specification files in (.odvd) into C++ and Protobuf.

License

Notifications You must be signed in to change notification settings

chrberger/cluon-proto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cluon-proto

cluon-proto is a microservice for libcluon-based OD4Sessions to process message specifications in libcluon's .odvd format into C++ and Protobuf.

License x86_64 armhf multi

Table of Contents

Features

  • Written in highly portable and high quality C++14
  • Converts message specifications in .odvd format into C++ and Protobuf
  • Available as Docker images for x86_64 and armhf
  • To simplify the usage for your platfrom, we also provide a multi-platform Docker image

Dependencies

No dependencies! You just need a C++14-compliant compiler to compile this project as it ships its dependencies as part of the source distribution:

Usage

This microservice is created automatically on changes to this repository via Docker's public registry for:

This microservice is supposed to be used during the development with libcluon-based applications to define messages, which shall be used with other applications that in-turn might use Protobuf. Let's assume you have a message specification in .odvd like the OpenDLV Standard Message Set that you want to use with a Protobuf-capable application. This microservice can help to transform a given .odvd file into a .proto file and afterwards, into the language-specific bindings like for Python. To use this microservice, you invoke it as follows:

  1. Generate the corresponding .proto file:
docker run --rm -ti -v $PWD:/opt/from_host -w /opt/from_host chrberger/cluon-proto-multi:v0.0.89 cluon-msc --proto cluonDataStructures.odvd > cluonDataStructures.proto
  1. Generate the Python-bindings via protoc (included):
docker run --rm -ti -v $PWD:/opt/from_host -w /opt/from_host chrberger/cluon-proto-multi:v0.0.89 protoc --python_out=. cluonDataStructures.proto

License

  • This project is released under the terms of the GNU GPLv3 License