This layer provides Zenoh recipes for the Yocto Project. Provided recipes:
- zenoh: Zenoh router
- zenoh-c: Zenoh C API
- zenoh-pico: Zenoh Pico implementation
- zenoh-cpp: Zenoh C++ API
Currently, master branch of the layer is tested with master branch (whinlatter) of the Yocto Project.
scarthgap branch is available to ensure long term compatibility.
kirkstone branch is available to build on kirkstone Yocto version.
Note
kirkstone branch is not tested with older Yocto versions but may work.
You can try it by adding your Yocto version to LAYERSERIES_COMPAT_zenoh-layer in layer.conf.
Any feedback are welcome!
Warning
kirkstone branch depends on meta-rust (master branch)
kas is used to build the image. To build the image, run the following command:
kas build poky-zenoh.ymlZenoh provides a set of features that can be enabled/disabled by PACKAGECONFIG in each recipe.
Moreover a facility regarding shared-memory and unstable-api is provided to enable/disable globally
these features in the local.conf file.
The following features are available:
shared-memory: Enable shared memory transport (ZENOH_SHARED_MEMORY)unstable-api: Enable Zenoh unstable API (ZENOH_UNSTABLE_API)
To enable a feature, add the following line to the local.conf file:
# Default both are set to false
ZENOH_SHARED_MEMORY = "true" # or "1"
ZENOH_UNSTABLE_API = "true" # or "1"kas facility files are provided to build the image with the features enabled.
Use it as follows:
# Enable shared-memory
kas build poky-zenoh.yml:shared-memory.yml
# Enable unstable-api
kas build poky-zenoh.yml:unstable-api.yml
# Enable shared-memory and unstable-api
kas build poky-zenoh.yml:shared-memory.yml:unstable-api.ymlNote
ZENOH_SHARED_MEMORY affect zenoh and zenoh-c recipes
ZENOH_UNSTABLE_API affect zenoh, zenoh-c and zenoh-pico recipes
zenoh-cpp allows you to choose between several backends.
You can set it via PACKAGECONFIG in a bbappend:
# Default values
PACKAGECONFIG = "zenoh-c"
# Or for zenoh-pico backend
PACKAGECONFIG = "zenoh-pico"Or in your local.conf:
PACKAGECONFIG:pn-zenoh-cpp = " zenoh-c"kas facility files are provided as follows:
# Enable zenoh-c backend support (default)
kas build poky-zenoh.yml:zenoh-c-backend.yml
# Enable zenoh-pico backend support
kas build poky-zenoh.yml:zenoh-pico-backend.yml
# Enable both backend support
kas build poky-zenoh.yml:zenoh-c-backend.yml:zenoh-pico-backend.ymlThis layer is licensed under the MIT License - see the LICENSE file for details.