Kubos Project Configuration¶
Kubos project configuration is derived from Yotta’s configuration system and module.json files.
If a project’s configuration is changed, the new settings will be incorporated during the next execution of kubos build
.
config.json¶
Overview¶
Each Kubos target comes with a set of default configuration options. These options describe things like hardware bus availability and communication settings. The config.json file, which lives in the top level directory of a Kubos project, allows users to override any of these options with a custom value.
Under the covers, the target.json and config.json files are used to generate a yotta_config.h file,
which contains #define YOTTA_CFG_{option}
statements for each defined option. These YOTTA_CFG_*
variables can then be referenced within the Kubos project’s source code.
The current configuration of a project can be seen using the kubos config
command.
Each configuration option in the output will have a comment showing the origin of the value.
Anything marked with “application’s config.json” will have been taken from the project’s config.json file.
All other comments will have “*-gcc”, which indicates that that option is a default value taken from
the corresponding target.json file.
For example:
$ kubos config
{
"test": false, // application's config.json
"hardware": {
"console": {
"uart": "K_UART2", // msp430f5529-gcc
"baudRate": 115200 // msp430f5529-gcc
},
"i2c": {
"count": 2, // msp430f5529-gcc
"defaults": {
"bus": "K_I2C2", // msp430f5529-gcc
"role": "K_MASTER", // kubos-gcc
"clockSpeed": 100000, // kubos-gcc
"addressingMode": "K_ADDRESSINGMODE_7BIT" // kubos-gcc
},
"i2c1": {},
"i2c2": {}
},
"spi": {
"count": 2, // msp430f5529-gcc
"defaults": {
"bus": "K_SPI1", // msp430f5529-gcc
"role": "K_SPI_MASTER", // kubos-gcc
"direction": "K_SPI_DIRECTION_2LINES", // kubos-gcc
"dataSize": "K_SPI_DATASIZE_8BIT", // kubos-gcc
"clockPolarity": "K_SPI_CPOL_HIGH", // kubos-gcc
"clockPhase": "K_SPI_CPHA_1EDGE", // kubos-gcc
"firstBit": "K_SPI_FIRSTBIT_LSB", // kubos-gcc
"speed": "10000" // kubos-gcc
},
"spi1": {},
"spi2": {}
},
"uart": {
"count": 2, // msp430f5529-gcc
"uart1": {
"tx": "P33", // msp430f5529-gcc
"rx": "P34" // msp430f5529-gcc
},
"uart2": {
"tx": "P44", // msp430f5529-gcc
"rx": "P45" // msp430f5529-gcc
},
"defaults": {
"baudRate": 9600, // kubos-gcc
"wordLen": "K_WORD_LEN_8BIT", // kubos-gcc
"stopBits": "K_STOP_BITS_1", // kubos-gcc
"parity": "K_PARITY_NONE", // kubos-gcc
"rxQueueLen": 128, // kubos-gcc
"txQueueLen": 128 // kubos-gcc
}
}
},
"gcc": {
"printf-float": false // kubos-msp430-gcc
},
"arch": {
"msp430": {}
}
}
Custom Settings¶
Users can add new settings to a config.json file which can then be used within their project.
These settings will be generated as #define YOTTA_CFG_{user_option} {value}
statements
during project compilation time.
For example:
{
"CSP": {
"my_address": "1",
"target_address": "2",
"port": "10",
"uart_bus": "K_UART6",
"uart_baudrate": "115200",
"usart": {}
}
}
Will generate the following statements:
#define YOTTA_CFG_CSP_MY_ADDRESS 1
#define YOTTA_CFG_CSP_TARGET_ADDRESS 2
#define YOTTA_CFG_CSP_PORT 10
#define YOTTA_CFG_CSP_UART_BUS K_UART6
#define YOTTA_CFG_CSP_UART_BAUDRATE 115200
#define YOTTA_CFG_CSP_USART
Non-Default Settings¶
These are settings which are not included by default as part of any target device, so must be explicitly provided in a config.json file in order to be made available to the project.
File System¶
If present, the fs
file system structure enables support for accessing storage on a peripheral device.
Note: This structure was created for KubOS RT. KubOS Linux has native support for various file systems.
-
fs
¶ File system support
Object Properties: - fatfs (
fatfs
) – FatFS settings
- fatfs (
-
fs.fatfs.driver
¶ Driver settings for the device the FatFS file system is on.
Note: Only one driver property may be specified
Object Properties:
-
fs.fatfs.driver.sdio
¶ SDIO device settings
WARNING:
SDIO HAL support
must be turned on for this feature to work.SDIO is currently supported by:
- STM32F407 (daughter board)
- PyBoard
There are no configuration properties for SDIO. It is assumed that only one port is available and will have predetermined settings
Example:
{ "fs": { "fatfs": { "driver": { "sdio": {} } } } }
-
fs.fatfs.driver.spi
¶ SPI device settings
Note: While FatFS over SPI will work for any target with a SPI bus, we recommend using FatFS over SDIO if it is available on your target.
Object Properties: - dev (
KSPINum
) – SPI bus the device is connected to - cs (pin) – Chip select pin assigned to the device
Example:
{ "fs": { "fatfs": { "driver": { "spi": { "dev": "K_SPI1", "cs": "P37" } } } } }
- dev (
SDIO¶
General SDIO support is turned on via the hardware.sdio
object. This support is not
automatically included with any target device.
-
hardware.sdio
¶ SDIO support
There are no configuration properties for this object. It simply enables the use of the HAL SDIO library
Example:
{ "hardware": { "sdio": {} } }
Built-in Peripheral Support¶
Kubos Core supports a variety of end-point peripherals. In order to turn on support for these
devices within a Kubos project, they should be added to the sensors
structure of the config.json
file.
-
sensors
¶ Kubos Core sensor APIs
By default, including the
sensors
object turns on the following APIs:Without including a corresponding sensor device (ex. HTU21D), these APIs serve only as code stubs.
Object Properties:
-
sensors.htu21d
¶ HTU21D humidity sensor configuration
Object Properties: - i2c_bus (
KI2CNum
) – The I2C bus connected to the sensor
Example:
{ "sensors": { "htu21d": { "i2c_bus": "K_I2C1" } } }
- i2c_bus (
-
sensors.bno055
¶ BNO055 absolute orientation sensor configuration
Note: The sensor supports interfacing with both I2C and UART, but only I2C support has been implemented in Kubos Core
Object Properties: - i2c_bus (
KI2CNum
) – The I2C bus connected to the sensor
Example:
{ "sensors": { "bno055": { "i2c_bus": "K_I2C1" } } }
- i2c_bus (
-
sensors.bme280
¶ BME280 humidity and pressure sensor configuration
Note: The sensor supports interfacing with both SPI and I2C, but only SPI support has been implemented in Kubos Core
Object Properties: - spi_bus (
KSPINum
) – The SPI bus connected to the sensor - CS (pin) – The chip select pin connected to the sensor
Example:
{ "sensors": { "bme280": { "spi bus": "K_SPI1", "CS": "PA4" } } }
- spi_bus (
-
sensors.gps
¶ NMEA-formatted GPS data support
Note: There are no configuration properties for GPS within the config.json file. All configuration will be done within the Kubos application’s code
Example:
{ "sensors": { "gps": {} } }
User-Configurable Included Settings¶
These are settings which may be changed by the user without compromising the target device, but which will automatically be included in the project without a config.json file present.
System¶
-
system
KubOS Linux file system properties related to Kubos applications
Object Properties: - initAfterFlash (boolean) – (Default: false) Specifies whether the application should be started as a background daemon on the target device immediately after being flashed
- initAtBoot (boolean) – (Default: true) Specifies whether the application should
be started on the target device during system initialization. An init script will be
generated with the run level specified by
runLevel
- runLevel (number) – (Default: 50. Range: 10-99) The priority of the generated init script. Scripts with lower values will be run first
- destDir (string) – (Default: “/home/usr/local/bin”) Specifies flashing destination directory for all non-application files
- password (string) – (Default: “Kubos123”) Specifies the root password to be used by ``kubos flash` to successfully connect to the target device
Example:
{ "system": { "initAfterFlash": true, "initAtBoot": true, "runLevel": 40, "destDir": "/home/myUser/storage", "password": "password" } }
Hardware¶
-
hardware
Description of target board’s hardware peripherals
Object Properties:
-
hardware.console
¶ The debug UART console
Object Properties: Example:
{ "hardware": { "console": { "uart": "K_UART1", "baudRate": "9600" } } }
-
hardware.pins
¶ Custom name -> pin mapping. Allows more readable pin names to be used in Kubos projects.
Object Properties: - {pin-name} (pin) – Pin name/value pair
Example:
{ "hardware": { "pins": { "LED1": "PA1", "LED2": "PA2", "USER_BUTTON": "PA3" } } }
-
hardware.i2c
¶ Availability and properties of I2C on the target device
Object Properties: Example:
{ "hardware": { "i2c": { "count": 2, "defaults": { "bus": "K_I2C1", "role": "K_MASTER", "clockSpeed": 100000, "addressingMode": "K_ADDRESSINGMODE_7BIT" }, "i2c1": { "scl": { "pin": "PB6", "mode": "GPIO_MODE_AF_PP", "pullup": "GPIO_NOPULL", "speed": "GPIO_SPEED_MEDIUM" }, "sda": { "pin": "PB7", "mode": "GPIO_MODE_AF_OD", "pullup": "GPIO_PULLUP", "speed": "GPIO_SPEED_MEDIUM" }, "alt": "GPIO_AF4_I2C1" }, "i2c2": { "scl": { "pin": "PB10", "mode": "GPIO_MODE_AF_PP", "pullup": "GPIO_NOPULL", "speed": "GPIO_SPEED_MEDIUM" }, "sda": { "pin": "PB11", "mode": "GPIO_MODE_AF_OD", "pullup": "GPIO_PULLUP", "speed": "GPIO_SPEED_MEDIUM" }, "alt": "GPIO_AF4_I2C2" } } } }
-
hardware.i2c.defaults
¶ Default I2C connection settings
Object Properties: - bus (
KI2CNum
) – The default I2C bus - role (
I2CRole
) – Default communication role - clockSpeed (integer) – Default bus speed
- addressingMode (
I2CAddressingMode
) – I2C addressing mode
- bus (
-
hardware.i2c.i2c{n}
¶ I2C bus definition
Object Properties:
-
hardware.i2c.i2c{n}.scl
¶ I2C bus clock line settings
Object Properties: - pin (pin) – Clock line pin
- mode (
KGPIOMode
) – Pin GPIO mode - pullup (
KGPIOPullup
) – Pin pullup/pulldown setting - speed (enum) – Clock line speed (GPIO_SPEED_[LOW, MEDIUM, FAST, HIGH])
-
hardware.i2c.i2c{n}.sda
¶ I2C bus data line settings
Object Properties: - pin (pin) – Data line pin
- mode (
KGPIOMode
) – Pin GPIO mode - pullup (
KGPIOPullup
) – Pin pullup/pulldown setting - speed (string) – Data line speed (GPIO_SPEED_[LOW, MEDIUM, FAST, HIGH])
-
hardware.uart
¶ Availability and properties of UART on the target device
Object Properties: Example:
{ "hardware": { "uart": { "count": 2, "defaults": { "baudRate": 9600, "wordLen": "K_WORD_LEN_8BIT", "stopBits": "K_STOP_BITS_1", "parity": "K_PARITY_NONE", "rxQueueLen": 128, "txQueueLen": 128 }, "uart1": { "tx": "P33", "rx": "P34" }, "uart2": { "tx": "P44", "rx": "P45" } } } }
-
hardware.uart.defaults
¶ Default UART connection settings
Object Properties:
-
hardware.uart.uart{n}
¶ UART bus definition
Object Properties: - tx (pin) – Bus transmit pin
- rx (pin) – Bus receive pin
-
hardware.spi
¶ Availability and properties of SPI on the target device
Object Properties: Example:
{ "hardware": { "spi": { "count": 3, "defaults": { "bus": "K_SPI1", "role": "K_SPI_MASTER", "direction": "K_SPI_DIRECTION_2LINES", "dataSize": "K_SPI_DATASIZE_8BIT", "clockPolarity": "K_SPI_CPOL_HIGH", "clockPhase": "K_SPI_CPHA_1EDGE", "firstBit": "K_SPI_FIRSTBIT_LSB", "speed": "10000" }, "spi1": { "mosi": "PA7", "miso": "PA6", "sck": "PA5", "cs": "PA4", "port": "GPIOA", "alt": "GPIO_AF5_SPI1" }, "spi2": { "mosi": "PB15", "miso": "PB14", "sck": "PB13", "cs": "PB12", "port": "GPIOB", "alt": "GPIO_AF5_SPI2" }, "spi3": { "mosi": "PC12", "miso": "PC11", "sck": "PC10", "cs": "PC8", "port": "GPIOC", "alt": "GPIO_AF6_SPI3" } } } }
-
hardware.spi.defaults
¶ Default SPI connection settings
Object Properties: - bus (
KSPINum
) – Default SPI bus - role (
SPIRole
) – Default communication role - direction (
SPIDirection
) – Default SPI communication direction/s - dataSize (
SPIDataSize
) – Default data size - clockPolarity (
SPIClockPolarity
) – Default clock polarity - clockPhase (
SPIClockPhase
) – Defaut clock phase - firstBit (
SPIFirstBit
) – Default endianness - speed (integer) – Default bus speed
- bus (
Command and Control¶
-
cnc
¶ Kubos Command and Control configuration
Note: Kubos C2 is currently only supported by KubOS Linux
Object Properties: Example:
{ "cnc": { "daemon_log_path": "\"/home/var/log.daemon.log\"", "registry_dir": "\"/usr/local/kubos\"" } }
-
cnc.client
¶ Kubos Command and Control client configuration
Note: In the future, multiple clients will be able to connect to the single C2 daemon. Currently only the command line client is supported
Object Properties: - tx_pipe (path) – Client transmit pipe absolute path
- rx_pipe (path) – Client receive pipe aboslute path
Example:
{ "cnc": { "client": { "tx_pipe": "\"/usr/local/kubos/client-to-daemon\"", "rx_pipe": "\"/usr/local/kubos/daemon-to-client\"" } } }
-
cnc.daemon
¶ Kubos Command and Control daemon configuration
Object Properties: - tx_pipe (path) – Daemon transmit pipe absolute path
- rx_pipe (path) – Daemon receive pipe aboslute path
Example:
{ "cnc": { "daemon": { "tx_pipe": "\"/usr/local/kubos/daemon-to-client\"", "rx_pipe": "\"/usr/local/kubos/client-to-daemon\"" } } }
Telemetry¶
-
telemetry
Kubos Telemetry configuration
Object Properties: - csp (
csp
) – CSP connection configuration - aggregator (
aggregator
) – Aggregator configuration - subscribers (
subscribers
) – Subscriber configuration - message_queue_size (integer) – (Default: 10) Max number of messages allowed in telemetry queue
- internal_port (integer) – (Default: 20) Port number used for the telemetry server’s internal connections
- external_port (integer) – (Default: 10) Port number used for telemetry’s external socket connections
- rx_thread (
rx_thread
) – Receive thread configuration - buffer_size (integer) – (Default: 256) KubOS Linux only. Max size of a message which can be sent/processed by the telemetry system
- storage (
storage
) – Telemetry storage configuration
Example:
{ "telemetry": { "message_queue_size": 10, "internal_port": 20, "external_port": 10, "buffer_size": 256, } }
- csp (
-
telemetry.csp
¶ Kubos Telemetry server’s CSP configuration
Object Properties: Example:
{ "telemetry": { "csp": { "address": 1, "client_address": 2 } } }
-
telemetry.aggregator
¶ Kubos Telemetry aggregator configuration
Object Properties: - interval (integer) – (Default: 300) Time interval (in ms) between calls to the user-defined telemetry aggregator
Example:
{ "telemetry": { "aggregator": { "interval": 300 } } }
-
telemetry.subscribers
¶ Kubos Telemetry subscribers configuration
Object Properties: Example:
{ "telemetry": { "subscribers": { "max_num": 10, "read_attempts": 10 } } }
-
telemetry.rx_thread
¶ Kubos Telemetry server receive thread configuration
Object Properties: Example:
{ "telemetry": { "rx_thread": { "stack_size": 1000, "priority": 2 } } }
-
telemetry.storage
¶ Kubos Telemetry storage configuration
Object Properties: - file_name_buffer_size (integer) – (Default: 128) Maximum file name length of telemetry storage files
- data (
data
) – Telemetry data storage configuration - subscriptions (string) – (Default: “0x0”) Hex flag value indicating topics which telemetry storage should subscribe to and capture in files
- stack_depth (integer) – (Default: 1000) Telemetry storage receive task stack depth
- task_priority (integer) – (Default: 0) Telemetry storage receive task priority
Example:
{ "telemetry": { "storage": { "file_name_buffer_size": 128, "data": { "buffer_size": 64, "part_size": 51200, "max_parts": 10, "output_format": "FORMAT_TYPE_CSV" }, "subscriptions": "0x0", "subscribe_retry_interval": 50, "stack_depth": 1000, "task_priority": 0 } } }
-
telemetry.storage.data
¶ Kubos Telemetry data storage configuration
Object Properties: - buffer_size (integer) – (Default: 64) Maximum size/length of the storage buffer
- part_size (integer) – (Default: 51200) Maximum file size before file rotation is triggered
- max_parts (integer) – (Default: 10) Maximum number of files before file rotation in triggered
- output_format (
output_data_format
) – (Default: “FORMAT_TYPE_CSV”) Output format of telemetry storage files
CSP¶
-
csp
Kubos CSP (CubeSat Protocol) configuration
Object Properties: - debug (boolean) – Turn on CSP debug messages
Example:
{ "csp": { "debug": true } }
IPC¶
-
ipc
Kubos IPC (Inter-Process Communication) configuration
Object Properties: Example:
{ "ipc": { "read_timeout": 50, "send_timeout": 1000, "socket_port": 8888 } }
Target-Required Settings¶
These are configuration options that are required by a specific target which should not be changed by the user. They are documented here only for reference.
Architecture¶
-
arch
¶ Architecture of the target’s processor
Object Properties: - arm (object) – Specifies that the target has an ARM architecture
- msp430 (object) – Specifies that the target has an MSP430 architecture
Example:
{ "arch": { "msp430": {} } }
CMSIS¶
-
cmsis
Cortex Microcontroller Software Interface Standard
Settings specific to targets with Cortex processors
Object Properties: - nvic (
nvic
) – “Nester Vector Interrupt Controller”
Example:
{ "cmsis": { "nvic": { "ram_vector_address": "0x20000000", "flash_vector_address": "0x08000000", "user_irq_offset": 16, "user_irq_number": 82 } } }
- nvic (
-
cmsis.nvic
¶ Nested Vector Interupt Controller
Object Properties: - ram_vector_address (string) – Location of vectors in RAM
- flash_vector_address (string) – Initial vector position in flash
- user_irq_offset (integer) – (Default: 16) Number of ARM core vectors (HardFault handler, SysTick, etc)
- user_irq_number (integer) – (Default: 82) Number of manufacturer vectors
- has_vtor (boolean) – (Default: false) Specifies whether a Vector Table Offset Register exists on the target
- has_custom_vtor (boolean) – (Default: false) Specifies whether a non-default VTOR exists on the target
UVisor¶
module.json¶
The Kubos project’s module.json file is originally based on Yotta’s module.json file
Default Configurations¶
When you run kubos init
, a module.json file is created for you with some default values.
KubOS RT Default File:
{
"bin": "./source",
"license": "Apache-2.0",
"name": "{your-project-name}",
"repository":{
"url": "git://<repository_url>",
"type": "git"
},
"version": "0.1.0",
"dependencies":{
"kubos-rt": "kubostech/kubos-rt#~0.1.0"
},
"homepage": "https://<homepage>",
"description": "Example app running on kubos-rt."
}
KubOS Linux Default File:
{
"bin": "./source",
"license": "Apache-2.0",
"name": "{your-project-name}",
"repository":{
"url": "git://<repository_url>",
"type": "git"
},
"version": "0.1.0",
"dependencies":{
"csp": "kubostech/libcsp#~1.5.0"
},
"homepage": "https://<homepage>",
"description": "Example app running on KubOS Linux."
}
Relevant Configuration Options¶
These are the configuration options which are most likely to be changed for a project. (For all other options, refer to Yotta’s documentation.)
-
name
¶ The module name, which is also used as the file name of the compiled application binary.
By default, this is the project name, however, it can be changed to anything.
Naming rules:
- Must start with a letter
- No uppercase letters
- Numbers are allowed
- Hyphens are allowed
-
bin
¶ Relative path to the project’s source code.
-
dependencies
¶ Project library dependencies.
To keep Kubos project binaries small,
kubos build
will only include libraries which have been specified in this object. As a result, if you want to use a Kubos library, it must be specified here, or must be included with another library you specify.WARNING: “kubos-rt” is a required dependency for all KubOS RT projects
Object Properties: - {component} (string) – Project dependency location and/or version
Available dependency name/value pairs (hierarchy denotes included dependecies. Italics denotes Yotta targetDependencies):
“cmd-control-client”: “kubostech/cmd-control-client”
- “csp”: “kubostech/libcsp”
- “command-and-control”: “kubostech/command-and-control”
- “ipc”: “kubostech/ipc”
- “tinycbor”: “kubostech/tinycbor”
“cmd-control-daemon”: “kubostech/cmd-control-daemon”
- “csp”: “kubostech/libcsp”
- “command-and-control”: “kubostech/command-and-control”
- “ipc”: “kubostech/ipc”
- “tinycbor”: “kubostech/tinycbor”
- “kubos-core”: “kubostech/kubos-core”
“cmsis-core”: “kubostech/cmsis-core”
“cmsis-core-st”: “kubostech/cmsis-core-st”
“cmsis-core-stm32f4”: “kubostech/cmsis-core-stm32f4”
“cmsis-core”: “kubostech/cmsis-core”
“stm32cubef4”: “kubostech/stm32cubef4”
“cmsis-core-stm32f405rg”: “kubostech/cmsis-core-stm32f405rg”
- “cmsis-core”: “kubostech/cmsis-core”
“cmsis-core-stm32f407xg”: “kubostech/cmsis-core-stm32f407xg”
- “cmsis-core”: “kubostech/cmsis-core”
“command-and-control”: “kubostech/command-and-control”
“csp”: “kubostech/libcsp”
- “freertos”: “kubostech/freertos”
- “kubos-hal”: “kubostech/kubos-hal”
- “tinycbor”: “kubostech/tinycbor”
“freertos”: “kubostech/freertos”
- “cmsis-core”: “kubostech/cmsis-core”
- “freertos-config-stm32f4”: “kubostech/freertos-config-stm32f4”
- “freertos-config-msp430f5529”: “kubostech/freertos-config-msp430f5529”
“ipc”: “kubostech/ipc”
- “csp”: “kubostech/libcsp”
- “tinycbor”: “kubostech/tinycbor”
- “kubos-rt”: “kubostech/kubos-rt”
“kubos-core”: “kubostech/kubos-core”
- “csp”: “kubostech/libcsp”
- “kubos-hal”: “kubostech/kubos-hal”
“kubos-hal”: “kubostech/kubos-hal”
“csp”: “kubostech/libcsp”
“kubos-hal-linux”: “kubostech/kubos-hal-linux”
- “kubos-hal” : “kubostech/kubos-hal”
“kubos-hal-msp430f5529”: “kubostech/kubos-hal-msp430f5529”
- “kubos-hal” : “kubostech/kubos-hal”
- “msp430f5529-hal”: “kubostech/msp430f5529-hal”
“kubos-hal-stm32f4”: “kubostech/kubos-hal-stm32f4”
“kubos-hal”: “kubostech/kubos-hal”
“stm32cubef4-stm32f405rg”: “kubostech/stm32cubef4-stm32f405rg”
- “cmsis-core”: “kubostech/cmsis-core”
“stm32cubef4-stm32f407vg”: “kubostech/stm32cubef4-stm32f407vg”
- “cmsis-core”: “kubostech/cmsis-core#”
“kubos-rt”: “kubostech/kubos-rt”
- “freertos”: “kubostech/freertos”
- “csp”: “kubostech/libcsp”
- “kubos-hal”: “kubostech/kubos-hal”
- “kubos-core”: “kubostech/kubos-core”
“stm32cubef4”: “kubostech/stm32cubef4”
“stm32cubef4-stm32f405rg”: “kubostech/stm32cubef4-stm32f405rg”
- “cmsis-core”: “kubostech/cmsis-core”
“stm32cubef4-stm32f407vg”: “kubostech/stm32cubef4-stm32f407vg”
- “cmsis-core”: “kubostech/cmsis-core”
“telemetry”: “kubostech/telemetry”
“ipc”: “kubostech/ipc”
“kubos-core”: “kubostech/kubos-core”
“telemetry-linux”: “kubostech/telemetry-linux”
- “ipc”: “kubostech/ipc”
- “kubos-core”: “kubostech/kubos-core”
- “telemetry”: “kubostech/telemetry”
- “tinycbor”: “kubostech/tinycbor”
“telemetry-rt”: “kubostech/telemetry-rt”
- “ipc”: “kubostech/ipc”
- “kubos-core”: “kubostech/kubos-core”
- “kubos-rt”: “kubostech/kubos-rt”
“telemetry-aggregator”: “kubostech/telemetry-aggregator”
- “telemetry”: “kubostech/telemetry”
“telemetry-storage”: “kubostech/telemetry-storage”
- “kubos-core”: “kubostech/kubos-core”
- “telemetry”: “kubostech/telemetry”
- “kubos-rt”: “kubostech/kubos-rt”
“tinycbor”: “kubostech/tinycbor”