The ocpidev Tool for Managing Assets
The ocpidev command-line tool is used to perform various development-related tasks inside projects as well as retrieving information about the environment. When used in projects, it may be invoked at the top level of a project, or in lower level directories of the project as appropriate to the particular command being used. The ocpidev command has full tab completion for its options, arguments, and asset names.
ocpidev CLI
ocpidev
Command line tool used to perform various operations on OpenCPI assets.
Usage:
$ ocpidev [OPTIONS] COMMAND [ARGS]...
Options:
--log-level INTEGER RANGE: Set the logging level. Uses OCPI_LOG_LEVEL env var as default. [default: 4; 0<=x<=20]--color / --no-color: Allow rich coloring of logs. [default: color]--quiet: Set log level to 0.--error: Set log level to 1.--warn: Set log level to 4.-v, --verbose: Set log level to 8.--debug: Set log level to 10.-d, --directory PATH: Specify directory to execute command within. [default: /home/user/opencpi]--dry-run / --no-dry-run: [default: no-dry-run]--install-completion: Install completion for the current shell.--show-completion: Show completion for the current shell, to copy it or customize the installation.--help: Show this message and exit.
Commands:
create: Create an OpenCPI asset.delete: Delete an OpenCPI Project.build: Build an OpenCPI asset.show: Show an OpenCPI asset(s).run: Run an OpenCPI Unit Test or Application.clean: Clean an OpenCPI Project.register: Register an OpenCPI Project.unregister: Unregister an OpenCPI Project.
Hint
When issued in an asset’s directory, the asset type command and name argument are inferred.
Example:
$ ocpidev -d projects/core show
Project
┌────────────────┬─────────────────────────────────────┐
│ Name │ core │
│ Package ID │ ocpi.core │
│ Path │ /home/user/opencpi/projects/core │
│ Registery Path │ /home/user/opencpi/project-registry │
│ Dependencies │ N/A │
└────────────────┴─────────────────────────────────────┘
Hint
The --project and --library options can be used to specify the registered project and/or library in which an asset resides, allowing commands to operate on assets from an arbitrary location. Specifying those options can even enable tab completion for the asset name.
Examples:
$ ocpidev show worker -p core backpressure.rcc
RCC Worker
┌────────────┬─────────────────────────────────────────────────────────────────┐
│ Name │ backpressure.rcc │
│ Package ID │ ocpi.core.components.backpressure.rcc │
│ Path │ /home/user/opencpi/projects/core/components/backpressure.rcc │
│ Spec │ /home/user/opencpi/projects/core/components/specs/backpressure… │
└────────────┴─────────────────────────────────────────────────────────────────┘
Ports
┏━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ Name ┃ Protocol ┃ Producer ┃
┡━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━┩
│ in │ N/A │ False │
│ out │ N/A │ True │
└──────┴──────────┴──────────┘
$ ocpidev show rcc workers -p assets -l util_comps
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ RCC Worker ┃ Package ID ┃ Directory ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ advanced_pattern.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ capture_v2.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ file_write_demux.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ iqstream_max_calculato… │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ pattern_v2.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ socket_write.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ test_sink.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ test_sink_64b.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ test_source.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ test_source_64b.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ tx_event_ctrlr.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
│ zero_pad.rcc │ ocpi.assets.util_comps… │ /home/user/opencpi/proj… │
└─────────────────────────┴─────────────────────────┴──────────────────────────┘
See also
The ocpidev reference for complete details on commands, arguments, and options.