EMP butler: Reference guide

empbutler is the main command-line tool for controlling and monitoring the EMP framework’s TTC, buffer and link firmware. It has a hierarchy of subcommands, each of which report information or carry out actions related to a different aspect of the firmware’s functionality. These subcommands are described in the rest of this page, and in the pages therein. These pages are a comprehensive reference guide for people who already have experience in using empbutler, so if this is your first time using it, or you just want to know what sequence of commands should be run in a specific scenario, please read the Standard workflows page first.

Note

At every level of the empbutler subcommand hierarchy, the available subcommands, arguments and options can be listed by adding --help - e.g. for the top-level options and subcommands, by running empbutler --help

Top-level interface

empbutler has three top-level subcommands:

list

Lists all devices specified by the uHAL connections file.

do

Configures or monitors framework firmware components, via the following subcommands (each covered in a dedicated page, linked from this table):

Subcommand

Scope

info

Reading build metadata

reset

Resets and TTC configuration

buffers

Data capture

capture

Buffer configuration

mgts

MGT/link configuration and monitoring

script

Runs list of do subcommands written down in a file (see the Butler scripting interface page for details).

There are also a few top-level options (if specified, these should go before the top-level subcommands, e.g. empbutler -c CONNECTIONS.xml list):

  • -c / --connections: Relative/absolute path to your connections file, that specifies the communication protocol and address table files that will be used for each board/FPGA.

  • -t / --timeout: Timeout for communicating with the FPGAs (unit: seconds)

  • -v / --verbose: Increases logging verbosity

  • -q / --quiet: Decreases log messsage verbosity

  • -s / --timestamp: Include timestamp in console log messages