Skip to content

ponast/cc.mqtt5.commsdsl

 
 

Repository files navigation

Overview

MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. This project implements all the messages from the protocol specification v5 .

The protocol is defined in the schema file using CommsDSL. The commsds2comms code generator from commsdsl project is used to generate C++11 code of the protocol implementation.

The src folder contains additional and/or overriding default functionality code snippets, that get injected into the generated code.

The generated CMake project of this protocol definition is hosted and can be viewed at cc.mqtt5.generated

License

Please read License section from commsdsl project.

How to Build

This project uses CMake as its build system. Please open main CMakeLists.txt file and review available options as well as mentioned available parameters, which can be used in addition to standard ones provided by CMake itself, to modify the default build.

The commsdsl2comms application from commsdsl project is used to generate appropriate C++ code. If path to externally built commsdsl2comms is not provided, then this project will build the latter itself.

If code generation output directory is not provided, it defaults to output subdirectory of the one used to build the project.

Linux Build

$> cd /source/of/this/project
$> mkdir build && cd build
$> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install .. 
$> make 

Windows Build

$> cd C:\source\of\this\project
$> mkdir build && cd build
$> cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release \ 
    -DCMAKE_INSTALL_PREFIX=%cd%/install 
$> nmake 

Supported Compilers

Please read Supported Compilers info from commsdsl project.

How to Build and Use Generated Code

Please read the Generated CMake Project Walkthrough documentation page for details on the generated project internals.

The release artifacts contain doxygen generated documentation of the protocol definition.

Contact Information

For bug reports, feature requests, or any other question you may open an issue here in github or e-mail me directly to: [email protected]. I usually respond within 24 hours.

About

CommsDSL schema-based definition of MQTT v5 protocol

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CMake 58.8%
  • C++ 23.0%
  • Batchfile 18.2%