Bridge Management Tools
These five tools manage the lifecycle of AR488 bridge connections. A bridge must be connected before any bus or instrument operations can be performed on it.
list_bridges
Section titled “list_bridges”List all configured GPIB bridges and their connection status. Returns each bridge’s name, transport type, connection state, and firmware version (if connected).
Parameters
This tool takes no parameters.
Example
result = await client.call_tool("list_bridges", {})Returns
Bridges: bench-a: serial (/dev/ttyUSB0) [connected] — AR488 GPIB controller 0.51.29 bench-b: tcp (192.168.1.50:23) [disconnected]bridge_status
Section titled “bridge_status”Get detailed status of a specific bridge, including firmware version, current GPIB address, read timeout, and full transport details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
bridge_name | string | Yes | Name of the bridge to query |
Example
result = await client.call_tool("bridge_status", { "bridge_name": "bench-a"})Returns
{ "name": "bench-a", "transport_type": "serial", "connection_state": "connected", "firmware_version": "AR488 GPIB controller 0.51.29", "current_address": 22, "read_timeout_ms": 3000, "serial_port": "/dev/ttyUSB0", "baudrate": 115200}connect_bridge
Section titled “connect_bridge”Connect to a bridge and initialize it for GPIB controller operation. Establishes communication, runs the initialization sequence, and optionally scans the bus for instruments.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
bridge_name | string | Yes | Name of the bridge to connect |
Example
result = await client.call_tool("connect_bridge", { "bridge_name": "bench-a"})Returns
Connected to bench-a: AR488 GPIB controller 0.51.29Discovered 2 instrument(s): Address 5: Agilent Technologies E3631A Address 22: KEITHLEY INSTRUMENTS INC. MODEL 2000disconnect_bridge
Section titled “disconnect_bridge”Disconnect from a bridge. Closes the serial or TCP connection. Instruments on the bus return to local control.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
bridge_name | string | Yes | Name of the bridge to disconnect |
Example
result = await client.call_tool("disconnect_bridge", { "bridge_name": "bench-a"})Returns
Disconnected from bench-aconfigure_bridge
Section titled “configure_bridge”Change bridge configuration at runtime. All parameters are optional; only the provided values are changed. Changes take effect immediately but are not persisted to NVS unless you send ++savecfg via raw_command.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
bridge_name | string | Yes | Name of the bridge to configure |
read_timeout_ms | integer | No | GPIB read timeout in milliseconds (1—32000) |
auto_mode | integer | No | Auto-read mode: 0=off, 1=prologix, 2=on-query, 3=continuous |
eos | integer | No | End-of-send character: 0=CRLF, 1=CR, 2=LF, 3=None |
eoi | boolean | No | Whether to assert EOI on the last byte sent |
Example
result = await client.call_tool("configure_bridge", { "bridge_name": "bench-a", "read_timeout_ms": 5000, "eoi": True})Returns
Configured bench-a: read_timeout_ms=5000, eoi=True