LabVIEW Control (QC008, BDU)

The LabVIEW shims expose simple, command-based control of BH LabVIEW applications.

QC008 (LVConnectQC008)

from bhpy import LVConnectQC008

qc = LVConnectQC008()  # connects to localhost QC008 app via DLL
print(qc.dll_version)
print(qc.firmware_version)

# Configure and measure
qc.set_no_of_bins(1024)
qc.set_resolution(5e-12)
qc.set_time_range(50e-9)
qc.set_channel_thresholds([ -50 ] * 8)
qc.set_collection_time(0.5)     # seconds
qc.command("StartMeasurement")
# ... wait or poll qc.measurement_status
qc.command("StopMeasurement")
qc.save_sdt("my_measurement")

BDU (LVConnectBDU)

from bhpy import LVConnectBDU

bdu = LVConnectBDU()  # connects to localhost BDU app via DLL
print(bdu.firmware_version)
print(bdu.emission)  # True when emission active/possible

# Generic command access (for commands not yet wrapped):
# bdu.command('Power', '20')
# bdu.command('Armed', '1')

Notes

  • The respective LabVIEW applications must be running and expose their LVConnect ports.

  • Errors from the applications are surfaced as ChildProcessError with descriptive messages.

  • File paths in helpers (e.g., save_sdt) are relative to file_saving_path (defaults to ./).