Skip to main content
Nets are the core abstraction in Lager for representing physical test points, signals, or buses on your device under test. Each net maps a friendly name to a specific instrument channel.

Syntax

lager nets [OPTIONS] [COMMAND]

Global Options

OptionDescription
--box TEXTLagerbox name or IP address
--helpShow help message and exit

Commands

CommandDescription
(none)List all saved nets (default)
deleteDelete a specific net by name and type
delete-allDelete all saved nets (dangerous)
renameRename an existing net
createCreate a new net
create-allAuto-create all available nets from connected instruments
create-batchCreate multiple nets from a JSON file
tuiLaunch interactive Net Manager TUI

Command Reference

List Nets (Default)

List all saved nets on a Lager Box. This is the default behavior when no subcommand is provided.
lager nets --box my-lager-box
Output Columns:
ColumnDescription
NameUser-friendly net identifier
Net TypeRole/type of net (supply, debug, adc, gpio, etc.)
InstrumentPhysical equipment (Rigol_DP811, Keithley_2281S, etc.)
ChannelSpecific channel on the instrument
AddressVISA or USB address of the instrument
Example Output:
Name        Net Type    Instrument        Channel  Address
================================================================================
supply1     supply      Rigol_DP811       1        TCPIP::192.168.1.100::INSTR
battery1    batt        Keithley_2281S    1        TCPIP::192.168.1.101::INSTR
debug1      debug       J-Link            STM32F4  USB::001::002
adc1        adc         LabJack_T7        AIN0     USB::470026574
gpio1       gpio        LabJack_T7        FIO0     USB::470026574
uart1       uart        Prolific_USB      0        /dev/ttyUSB0

create

Create a new net by specifying its name, type, channel, and instrument address.
lager nets create NAME ROLE CHANNEL ADDRESS [OPTIONS]
Arguments:
  • NAME - Unique name for the net (e.g., supply1, debug_main)
  • ROLE - Type of net: supply, batt, solar, debug, adc, dac, gpio, scope, eload, uart, usb, camera, arm, watt-meter, thermocouple
  • CHANNEL - Channel identifier (e.g., 1, AIN0, FIO0, STM32F4)
  • ADDRESS - VISA address or device path (e.g., TCPIP::192.168.1.100::INSTR)
Options:
  • --box TEXT - Lagerbox name or IP
Example:
# Create a power supply net
lager nets create supply1 supply 1 TCPIP::192.168.1.100::INSTR --box my-lager-box

# Create a debug net for STM32
lager nets create debug1 debug STM32F407VG USB::001::002 --box my-lager-box

# Create an ADC net on LabJack
lager nets create temp_sensor adc AIN0 USB::470026574 --box my-lager-box

# Create a UART net
lager nets create serial1 uart 0 /dev/ttyUSB0 --box my-lager-box
Validation Rules:
  • Net names must be globally unique across all types
  • The (role, instrument, channel, address) tuple must match a connected instrument
  • Only one net per channel is allowed for most instruments
  • Debug probes (J-Link) allow only one net per instrument/address

create-all

Automatically create nets for all available channels on all connected instruments. This is useful for quickly setting up a new Lager Box.
lager nets create-all [OPTIONS]
Options:
  • --box TEXT - Lagerbox name or IP
  • --yes - Skip confirmation prompt
Example:
# Preview what nets would be created
lager nets create-all --box my-lager-box

# Create all nets without prompting
lager nets create-all --box my-lager-box --yes
Output:
Found 8 nets that can be created:
  - supply1 (supply) on Rigol_DP811 channel 1
  - adc1 (adc) on LabJack_T7 channel AIN0
  - adc2 (adc) on LabJack_T7 channel AIN1
  - gpio1 (gpio) on LabJack_T7 channel FIO0
  - debug1 (debug) on J-Link channel STM32F4

Create all 8 nets on DUT 100.91.127.26? [y/N]:

create-batch

Create multiple nets from a JSON file for efficient bulk setup.
lager nets create-batch JSON_FILE [OPTIONS]
Arguments:
  • JSON_FILE - Path to JSON file containing net definitions
Options:
  • --box TEXT - Lagerbox name or IP
JSON Format:
[
  {
    "name": "supply1",
    "role": "supply",
    "channel": "1",
    "address": "TCPIP::192.168.1.100::INSTR"
  },
  {
    "name": "adc1",
    "role": "adc",
    "channel": "AIN0",
    "address": "USB::470026574"
  }
]
Example:
lager nets create-batch nets.json --box my-lager-box

delete

Delete a specific net by its name and type.
lager nets delete NAME NET_TYPE [OPTIONS]
Arguments:
  • NAME - Name of the net to delete
  • NET_TYPE - Type of the net (supply, debug, adc, etc.)
Options:
  • --box TEXT - Lagerbox name or IP
  • --yes - Skip confirmation prompt
Example:
# Delete a supply net (with confirmation)
lager nets delete supply1 supply --box my-lager-box

# Delete without confirmation
lager nets delete temp_sensor adc --box my-lager-box --yes

delete-all

Delete all saved nets on a Lager Box. This is a dangerous operation.
lager nets delete-all [OPTIONS]
Options:
  • --box TEXT - Lagerbox name or IP
  • --yes - Skip confirmation prompt
Example:
# Delete all nets (requires confirmation)
lager nets delete-all --box my-lager-box

# Delete all nets without prompting
lager nets delete-all --box my-lager-box --yes

rename

Rename an existing net.
lager nets rename NAME NEW_NAME [OPTIONS]
Arguments:
  • NAME - Current name of the net
  • NEW_NAME - New name for the net (must be unique)
Options:
  • --box TEXT - Lagerbox name or IP
Example:
lager nets rename supply1 main_power --box my-lager-box

tui

Launch an interactive terminal-based UI for managing nets. The TUI provides a visual interface for viewing, creating, and deleting nets.
lager nets tui [OPTIONS]
Options:
  • --box TEXT - Lagerbox name or IP
Example:
lager nets tui --box my-lager-box
TUI Features:
  • Browse all connected instruments and their channels
  • Create new nets with guided prompts
  • Delete existing nets
  • View net details and instrument information
  • Keyboard navigation

Net Types Reference

Net TypeDescriptionTypical Instruments
supplyPower supply outputRigol DP800, Keithley 2200/2280, Keysight E36200
battBattery simulatorKeithley 2281S
solarSolar simulatorEA PSI/EL series
eloadElectronic loadRigol DL3021
debugDebug probeJ-Link, CMSIS-DAP, ST-Link
adcAnalog inputLabJack T7
dacAnalog outputLabJack T7
gpioDigital I/OLabJack T7
scopeOscilloscopeRigol MSO5000, PicoScope
uartSerial portProlific USB, SiLabs CP210x
usbUSB port controlAcroname hub, YKUSH
cameraVideo captureLogitech BRIO
armRobot armRotrics Dexarm
watt-meterPower measurementYocto Watt
thermocoupleTemperature sensorPhidget thermocouples

Examples

# List all nets
lager nets --box my-lager-box

# Create a new power supply net
lager nets create vdd_main supply 1 TCPIP::192.168.1.100::INSTR --box my-lager-box

# Auto-create all available nets
lager nets create-all --box my-lager-box --yes

# Delete a specific net
lager nets delete old_supply supply --box my-lager-box --yes

# Rename a net
lager nets rename supply1 main_power --box my-lager-box

# Launch interactive manager
lager nets tui --box my-lager-box

# Bulk create from JSON file
lager nets create-batch testbed-nets.json --box my-lager-box

Notes

  • Net names are globally unique regardless of type
  • Use lager instruments --box <lager-box> to see available instruments and channels
  • The TUI provides the easiest way to set up nets for the first time
  • Use create-all to quickly configure a new Lager Box with sensible defaults