nsx module init
Scaffold a new NSX custom-module directory with metadata, CMake, headers, and source stubs.
Usage
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_dirArguments
| Option | Value | Default | Description |
|---|---|---|---|
module_dir | value | required | Directory to create for the module skeleton |
Options
| Option | Value | Default | Description |
|---|---|---|---|
--name NAME | value | optional | Logical module name (defaults to the directory name) |
--type TYPE | algorithm | backend_specific | board | portable_api | runtime | sdk_provider | soc | tooling | runtime | NSX module type for the generated metadata |
--summary SUMMARY | value | optional | One-line module summary to seed into nsx-module.yaml |
--version VERSION | value | 0.1.0 | Initial semantic version for the module |
--dependency DEPENDENCY | repeatable | optional | Required module dependency to add to the skeleton; repeat as needed |
--board BOARD | repeatable | optional | Compatible board to declare; repeat as needed (defaults to *) |
--soc SOC | repeatable | optional | Compatible SoC to declare; repeat as needed (defaults to *) |
--toolchain TOOLCHAIN | repeatable | optional | Compatible toolchain to declare; repeat as needed (defaults to arm-none-eabi-gcc) |
--force | flag | optional | Allow writing into a non-empty destination directory |
Notes
This is the normal starting point for third-party and app-local modules. Validate and register the generated module afterwards.
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 apollo5bThe 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.