Source code for device_client.client_trap_probe
from device_client import DeviceClient
from device.trap_probe import TrapProbe
description = """
*No description.*
"""
[docs]
def connect(name, password, server, serial):
client = DeviceClient(name, password,
title="Trap: Probe", description=description)
hw = TrapProbe(
bus=serial,
log_callback=client.emit_log,
)
# client.register_command(hw.stop, "Stop")
def set_valve(open):
hw.open_valve() if open else hw.close_valve()
client.emit_command_state("set_valve", [open])
client.register_command(set_valve, "Open valve", inputs=[{"type": "toggle"}])
def set_board(enabled):
hw.switch_board_on() if enabled else hw.switch_board_off()
client.emit_command_state("set_board", [enabled])
client.register_command(set_board, "Board on/off", inputs=[{"type": "toggle"}])
client.register_command(hw.measure_sweep, "Sweep I-V", inputs=[
{"type": "select", "options": [1, 2, 5, 10, 20, 50, 100], "unit": "kHz"},
{"type": "select", "options": [25, 50, 60, 70, 80, 90, 100], "unit": "%"},
], pass_self=True)
client.keep_server_updated(
check_readiness=hw.is_ready,
check_readiness_interval=0.2,
server_address=server,
retry_on_error=True
)