from typing import Optional, Any
from pyvisa import ResourceManager
from .base import MessageBasedConnection
[docs]class VisaInstrument(MessageBasedConnection):
def __init__(self, name: str, address: str, read_term: str, write_term: str,
resource_manager: Optional[ResourceManager] = None):
self.name = name
self.address = address
self.read_termination = read_term
self.write_termination = write_term
self.resource_manager = resource_manager if resource_manager is not None else ResourceManager()
# noinspection PyTypeChecker
self.conn = \
self.resource_manager.open_resource(self.address,
read_termination=self.read_termination,
write_termination=self.write_termination)
[docs] def query(self, message: str) -> Any:
return self.conn.query(message)
[docs] def command(self, message: str) -> Any:
return self.conn.write(message)