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
ChildProcessErrorwith descriptive messages.File paths in helpers (e.g.,
save_sdt) are relative tofile_saving_path(defaults to./).