-
Martin Killenberg authoredMartin Killenberg authored
deviceaccess_measurement.py 1.41 KiB
import dut_measurement
try:
import deviceaccess
except ImportError:
print('### WARNING: Could not import module \'deviceaccess\'.' +
' Using the DeviceAccessMeasurement will cause exceptions! ###')
import numpy
class DeviceAccessMeasurement(dut_measurement.DutMeasurement):
def __init__(self, config_data):
self.deltas = config_data['deltas']
deviceaccess.setDMapFilePath(config_data['dmap_file'])
self.device = deviceaccess.Device(config_data['device_alias'])
self.device.open()
self.reference_signal_names = config_data['reference_signals']
self.accessors = {}
for signal_name, register_path in config_data['signals'].items():
self.accessors[signal_name] = self.device.getScalarRegisterAccessor(numpy.double, register_path)
def get_dut_measurements(self, set_name):
retval = {}
for name, accessor in self.accessors.items():
accessor.read()
retval[name] = accessor[0]
retval['SET_NAME'] = 'default'
return retval
def get_dut_signal_names(self):
retval = list(self.accessors.keys())
retval.append('SET_NAME')
return retval
def get_dut_reference_signal_names(self):
return self.reference_signal_names
def get_dut_max_delta_signals(self):
return self.deltas
def get_measurement_set_names(self):
return ['default']