Usage¶
To use gpib-ctypes
in a project, import all submodules at once:
import gpib_ctypes
… or import gpib
and Gpib
submodules separately as below.
Handle-level GPIB API¶
# Identify instrument at board 0, primary address 23.
from gpib_ctypes import gpib
try:
dev_handle = gpib.dev(0, 23)
gpib.write(dev_handle, b'*IDN?')
result = gpib.read(dev_handle, 1000)
except gpib.GpibError as err:
# do something with err.code
pass
Object-oriented GPIB API¶
# Identify instrument at board 0, primary address 23.
from gpib_ctypes import Gpib
try:
dev = Gpib.Gpib(0, 23)
dev.write(b'*IDN?')
result = dev.read(1000)
except gpib.GpibError as err:
# do something with err.code
pass
Example usage with pyvisa
and the pure Python backend pyvisa-py
¶
# pyvisa-py will try to load the root-level gpib module, eg. from the linux-gpib project.
# To make pyvisa-py use gpib_ctypes.gpib instead, monkey patch it by calling gpib_ctypes.make_default_gpib().
from gpib_ctypes import make_default_gpib
make_default_gpib()
import visa
rm = visa.ResourceManager('@py')
resources = rm.list_resources()
# example result: ('GPIB0::14::INSTR', 'GPIB0::23::INSTR')
dev = rm.open_resource('GPIB0::23::INSTR')