Hardware Wrappers
Device Scan (BHDeviceScan)
Find connected Becker & Hickl devices and read basic info.
from bhpy import BHDeviceScan
scan = BHDeviceScan()
devices = scan.bh_scan_hardware()
for name, sn, fw in devices:
print(name, sn, fw)
TDC/Counter Modules (QC-04/08, PMS-800)
The DLL wrappers provide access to configuration and acquisition for TCSPC modules. Typical usage involves:
Choosing the right wrapper and configuration (
SpcQcX04,SpcQcX08,Pms800and corresponding*Conf).Initializing the DLL and hardware (select card, set enables, configure timing).
Starting data collection and fetching rates/data.
High-level API sketch (API subject to device DLL capabilities):
# Example outline (replace with your module and actual parameters)
from bhpy import SpcQcX04, SpcQcX04Conf
conf = SpcQcX04Conf() # load defaults or from user's app data JSON
conf.restore_defaults() # or tweak: conf.threshold = [...]
conf.write_conf() # persist
# Open the DLL wrapper and configure
# td = SpcQcX04() # class provided by the DLL wrapper
# td.channel_enables = [True, True, True, True]
# td.external_trigger_enable = False
# td.hardware_countdown_time = 1e6 # ns
# print(td.rates) # per-channel rates
Notes
The required BH DLLs must be available. This package expects them under
bhpy/dllwhen installed via wheel, or indll/next to the package during development.Version checks ensure the loaded DLLs match the supported major versions.
Some operations are device/firmware-dependent; consult BH manuals for exact semantics.