Skip to content
neuralSPOT-X
API reference
HELIA HUB

nsx module init

Scaffold a new NSX custom-module directory with metadata, CMake, headers, and source stubs.

nsx module init [-h] [--name NAME]
[--type {algorithm,backend_specific,board,portable_api,runtime,sdk_provider,soc,tooling}]
[--summary SUMMARY] [--version VERSION]
[--dependency DEPENDENCY] [--board BOARD] [--soc SOC]
[--toolchain TOOLCHAIN] [--force]
module_dir
Positional arguments
OptionValueDefaultDescription
module_dirvaluerequiredDirectory to create for the module skeleton
Options for nsx module init
OptionValueDefaultDescription
--name NAMEvalueoptionalLogical module name (defaults to the directory name)
--type TYPEalgorithm | backend_specific | board | portable_api | runtime | sdk_provider | soc | toolingruntimeNSX module type for the generated metadata
--summary SUMMARYvalueoptionalOne-line module summary to seed into nsx-module.yaml
--version VERSIONvalue0.1.0Initial semantic version for the module
--dependency DEPENDENCYrepeatableoptionalRequired module dependency to add to the skeleton; repeat as needed
--board BOARDrepeatableoptionalCompatible board to declare; repeat as needed (defaults to *)
--soc SOCrepeatableoptionalCompatible SoC to declare; repeat as needed (defaults to *)
--toolchain TOOLCHAINrepeatableoptionalCompatible toolchain to declare; repeat as needed (defaults to arm-none-eabi-gcc)
--forceflagoptionalAllow writing into a non-empty destination directory

This is the normal starting point for third-party and app-local modules. Validate and register the generated module afterwards.

Terminal window
nsx module init my-sensor-driver
nsx module init my-sensor-driver \
--type backend_specific \
--summary "I2C driver for the XYZ ambient light sensor." \
--dependency nsx-core \
--dependency nsx-i2c \
--soc apollo510 \
--soc apollo510b \
--soc apollo5b

The skeleton contains nsx-module.yaml, CMakeLists.txt, README.md, includes-api/<module_name>/... and src/<module_name>.c.

-v/--verbose, -q/--quiet are parsed by nsx itself, so they go before the command name, as nsx -v module init.