CLI Arguments#

-h, --help#

Display the help menu, basically this page.

-q, --quiet#

Quiet output

-t, --throw-unhandled#

Throw an unhandled exception, it will detail the exception

-R, --reg-trace#

Registers debugging traces in the API. Useful if you need to figure out exactly where the SDK went awry.

-S, --simulate#

Simulate the crate and modules. Used in conjunction with the -M option.

-M [module_file_flag], --modules=[module_file_flag]#

Crate simulation module definition file to load. The file contains the module(s) to simulate. You should have one simulated module per line in the file. The line contains the following items.

label

type

description

device

size_t

The device number defining the order in which the modules are opened.

slot

int

the slot the module occupies

revision

int

The revision of the module, ex. 17 for Rev H

eeprom-format

int

The EEPROM format for the module. Set to 1.

serial-num

int

serial number of the module

num-channels

int

number of channels

adc-bits

int

number of ADC bits

adc-msps

int

ADC mega-samples per second

adc-clk-div

int

The divider of the ADC clock used to clock the FPGA. For example, if the system has a 250 MHz ADC and the FPGA clock is 125 MHz, this value is 2.

Example Definition

The following definition creates a simulated Revision H 250-14 module.

device-number=0,slot=2,revision=17,eeprom-format=1,serial-num=2345,num-channels=32,adc-bits=14,adc-msps=250,adc-clk-div=2
-H [fw_host_path_flag], --hostpath=[fw_host_path_flag]#

Path to the host installed firmware releases. In general, you won’t need to modify this unless you install the firmware into a non-standard location.

-F [fw_file_flag...], --firmware=[fw_file_flag...]#

Firmware file(s) to load. Can be repeated. Takes the form

version=<val>:revision=<val>:adc-msps=<val>:adc_bits=<val>:device=<val>:file=<val>

You’ll need to have at least 4 of these to fully define a firmware set.

version=0.11.0:revision=17:adc-msps=250:adc-bits=14:device=sys:file=/home/stan/firmware/17-250-14/0.11.0/sys.bin
-C [crate_file_flag...], --crate=[crate_file_flag...]#

Provides the program with a list of firmware files to load. Use this instead of the -F option to make your execution a tad cleaner. The file list should create a complete firmware set containing the DSP ldr and lst files along with the FIPPI and System FPGA files. The file can contain multiple sets of firmware one for each module tag to be booted.

The following block provides an example definition. The software uses the revision, adc-msps, and adc-bits fields to construct the module tag that gets matched with the module’s EEPROM. All modules matching that tag, will use the listed firmware.

version=0.11.0, revision=17, adc-msps=250, adc-bits=14, device=sys, file=/home/stan/firmware/17-250-14/0.11.0/sys.bin
version=0.11.0, revision=17, adc-msps=250, adc-bits=14, device=fippi, file=/home/stan/firmware/17-250-14/0.11.0/fippi.bin
version=0.11.0, revision=17, adc-msps=250, adc-bits=14, device=dsp, file=/home/stan/firmware/17-250-14/0.11.0/dsp.ldr
version=0.11.0, revision=17, adc-msps=250, adc-bits=14, device=var, file=/home/stan/firmware/17-250-14/0.11.0/dsp.var
-l [log_file_flag], --log=[log_file_flag]#

Operational log file. Use stdout for the console.

-L [log_level_flag], --log-level=[log_level_flag]#

Set the logging level (off, error, warning, info, debug). This overrides any environmental settings.

-o [out_file_flag], --output=[out_file_flag]#

Output file. Default is the console. This differs from the logging in that it contains command specific information.

-s [slot_map_flag...], --slot_map=[slot_map_flag...]#

A list of slots used to define the slot to index mapping. Use this option to limit slots available to use. For example, using -s 10 will limit the program’s execution to just the module in Slot 10 of the crate.

-X [slot_exclude_map_flag...], --slot_exclude_map=[slot_exclude_map_flag...]#

A list of slots to exclude from being used. Use this option to limit slots available to use by excluding some. For example, if your system has modules in slots 2, 3, 4, and 10, using -X 4 will cause the program to initialize slots 2, 3, and 10.

-c [cmd_file_flag...], --cmd=[cmd_file_flag...]#

Text file containing a list of commands to execute, one per line. Recommended file extension is .omni but that’s not required. Also called an omni file or omni script file. Can be useful when executing QA procedures, or for operations that you need to do often.

Example

The following code block can be copied into a file called example.omni and executed by the omnitool. The example prints the crate information to the screen, boots the crate, and then prints the updated information.

/crate/crate
/crate/boot
/crate/crate
-p [cmd_path], --path=[cmd_path]#

Command search path (‘:’ separated) prepended to the default path, default: ‘/util’. Allows users to change the command search path for command name resolution.

Note

We don’t really recommend using this flag at this time. We recommend using the absolute pathing for all commands.

-n, --no-execute#

Parse the command but do not execute. Useful when debugging an issue with your command or when implementing new commands.

-m, --logical-map#

Use a logical mapping instead of slot mapping.

--#

Used to terminate flag options and force all following arguments to be treated as positional options. These are then parsed and matched up to commands. You can create an incredibly long list of these. To make your command management easier, use omni files with the -c flag.

Example

The following example will start the program, set the log file to test.log, and execute a single command /crate/boot.

pixie16_omnitool -l test.log -- /crate/boot