Prerequisites
- Have a Heex CLI
- Have a USER_SECRET_KEY. Should be accessible in your personnal space on the heex cloud platform. If you already logged-in you don’t need to add the Api-Key in your command line.
Usage
Subcommand | Description |
---|---|
download | Download SDK package. |
build-samples | Build the SDK C++ samples. |
generate-implementations-file | Will generate the implementations.json file based on all scripts you have in the implementations folder. |
run | Start the HeexSdk. |
set-system | Set credentials and download systemConf. |
replay | Pull a Docker image and run a bag play. |
How to download the SDK
Usage:Heex_SDK_<version>_<os_version>_<arch_type>.zip
. For example for the SDK version 2024_11_1 and Ubuntu 22.04 x86, the archive name will be Heex_SDK_2024_11_1_Ubuntu_22.04_x86_64.zip
.
The flags that are available to achieve this command are the following:
--api-key
: mandatory USER_SECRET_KEY.--version
: The version of the SDK to download (e.g., ‘2024.2.0’), default is the latest version.--output-dir
: The output path folder where the SDK will be saved (Default is current directory).--unzip
: Unzip the downloaded SDK package.
unzip
option, the output folder name will be name Heex_SDK_<version>
.
How to build the SDK C++ samples
Usage:samples/cpp
.
The optional flags that are available to achieve this command are the following:
--path-to-sdk
: If you don’t run from inside the SDK folder, you have to provide the /path/to/sdk/folder.--jobs
: Allow building with N jobs at once; default is 1 job.
samples/CMakeLists.txt
and uncomment the MCAP lines. Additionnal dependencies are required and will be automatically downloaded during the build.
Generating the implementation.json file
If you intend to run our solution within the packaged SDK, you may want to automatically handle the running of your implementations. To do so, you’ll need to generate aimplementations.json
file which shall be generated using following command:
📝 Note:
Only implementations located inside the implementations
folder are handled, any other script you have outside of this folder, you shall have to handle manually.
How to set up a system and launch Heex
The command./heex sdk set-system
will define system credentials and download the systemConf to the default path ~/<Heex_SDK>/kernel/systemConfs/systemConf.json
.
Usage:
How to run the solution in SDK mode
The command./heex sdk run
will generate the implementations.json
and launch Heex.
Usage:
--path-to-sdk
: If you don’t run from inside the SDK folder, you have to provide the /path/to/sdk/folder.--api-key
: This one is mandatory only the very first time you execute the SDK for your system. It is needed to fetch the credentials of this system, they are saved after the first run.--config-path
: If you have thesystemConf.json
already located inside thekernel/systemConfs/
folder, then you don’t need to specify it.
How to replay a bag and watch events triggered for a given system
The command./heex sdk replay
will pull a Docker image, install the latest Agent and run a replay on the given bag to watch events that are generated for a given system. Replay will use the default bag if none is provided.
The bag shall be replayed in a accelerated speed.
Flags available:
system-id
: The system ID to use. [Required]bag-path
: The path to the bag to play.os-version
: The OS version to use. [default: Ubuntu_24.04]arch-type
: Docker image architecture to use for the replay. [default: x86]api-key
: The API key to use. [Required]api-url
: Heex Cloud API base URL to use for fetching and reporting events.
implementations/builtin/RDABagReplay
file, the replay of the bag shall be ran using the command ros2 bag play
, which’ll be much slower at execution.
Usage: