from terapy.hardware.input.base import InputDevice
class InputExample(InputDevice):
def __init__(self):
InputDevice.__init__(self)
# Insert here what the driver should do when loaded
# (e.g. check that the right modules/interface cards/... are present).
# DON'T initialize the device here (see initialize() function for that).
# variables stated in self.config will be loaded/saved
# from/to the configuration file (devices.ini)
self.config = ["variable1", "variable2"]
self.variable1 = 0.0
self.variable2 = "blah"
def assign(self, address, ID, name):
"""
Configure device driver prior to initialization.
Parameters:
address - physical address as required by communication interface driver
ID - device short name (str)
name - device long name (str)
"""
self.address = address
self.ID = ID
self.name = name
def initialize(self):
"""
Initialize device.
"""
pass
def reset(self):
"""
Reset device.
"""
pass
def read(self):
"""
Return values read by device.
Output:
Device values (list of floats)
"""
# Return what is read as a list of floats.
# This list can be used by a scan event in the way you like.
# For example:
# - device reads several quantities at once => pick the one of interest
# - device reads the same source multiple times => compute average/variance/...
return [0]
def detect(self):
"""
Detect available devices handled by device driver.
Output:
list of available devices, each entry as (address, short name, long name)
"""
return []
def configure(self):
"""
Call device configuration dialog.
"""
pass