Skip to content

commschamp/meta-commschamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repository is intended to be used as a git submodule as well as an extra layer of the yocto project when building embedded Linux distribution.

Provided Recipes

Supported Yocto Versions

This meta layer follows the convention of branch names after the yocto releases. In most cases the branch names will follow the same hashes until the backward compatibility of the recipe syntax is broken, like it happened with the honister release.

The master branch will follow the latest yocto LTS release, and the release tags will be assigned to the commits on the master branch. They will serve as an announcement that all the branches have been updated and their latest updates could be pulled in.

Note that the names of the supported yocto releases are listed in the LAYERSERIES_COMPAT_commschamp variable inside the conf/layer.conf. In case newer version of yocto is being used, just update the variable accordingly and then submit a pull-request with the update.

In case some yocto release is EOL, then its relevant branch in this repository may also stop receiving updates of the latest CommsChampion Ecosystem projects releases.

PACKAGECONFIG of cc-commsdsl

By default the cc-commsdsl recipe produces single commsdsl2comms code generator. However, the recipe defines multiple PACKAGECONFIG features named after the possible code generator binary name. To enable the relevant code generator use PACKAGECONFIG:pn-cc-commsdsl variable assignment in the local.conf or machine configuration file.

PACKAGECONFIG:pn-cc-commsdsl = "commsdsl2swig commsdsl2emscripten"

PACKAGECONFIG of cc-mqttsn-libs

By default the cc-mqttsn-libs recipe produces static libraries for both client and gateway. The recipe also allows adding Qt5 based applications for UDP I/O link. To enable them use appropriate PACKAGECONFIG assignment in the local.conf or machine configuration file.

PACKAGECONFIG:append:pn-cc-mqttsn-libs = " cc_mqttsn_client_udp_apps cc_mqttsn_gateway_udp_apps"

Note that it will bring up qt5base package as a dependency.

PACKAGECONFIG of cc-mqtt311-libs

By default the cc-mqtt311-libs recipe produces static mqtt v3.1.1 client library. The recipe also allows adding example applications. To enable them use appropriate PACKAGECONFIG assignment in the local.conf or machine configuration file.

PACKAGECONFIG:append:pn-cc-mqtt311-libs = " cc_mqtt311_client_lib  cc_mqtt311_client_apps"

Note that applications will bring up boost package as a dependency.

PACKAGECONFIG of cc-mqtt5-libs

By default the cc-mqtt5-libs recipe produces static mqtt v5 client library. The recipe also allows adding example applications. To enable them use appropriate PACKAGECONFIG assignment in the local.conf or machine configuration file.

PACKAGECONFIG:append:pn-cc-mqtt5-libs = " cc_mqtt5_client_lib  cc_mqtt5_client_apps"

Note that applications will bring up boost package as a dependency.

Extra Tips

When generating and using SDK for the external target application development add the following lines to the image recipe:

# Add the required headers only libraries from the CommsChampion Ecosystem
TOOLCHAIN_TARGET_TASK += "cc-comms-dev"
TOOLCHAIN_TARGET_TASK += "cc-ublox-dev"
...

# Add the code generators to the host sysroot
TOOLCHAIN_HOST_TASK += "nativesdk-cc-commsdsl"

In case some other project requires code generators from the CommsChampion Ecosystem add cc-commsdsl-native to the dependencies

DEPENDS = "cc-commsdsl-native cc-comms"