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.
- -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