#
# ------------------------------------------------------------
# Copyright (c) All rights reserved
# SiLab, Institute of Physics, University of Bonn
# ------------------------------------------------------------
#
from basil.HL.RegisterHardwareLayer import RegisterHardwareLayer
[docs]
class tdc_s3(RegisterHardwareLayer):
"""TDC controller interface"""
_registers = {
"RESET": {"descr": {"addr": 0, "size": 8, "properties": ["writeonly"]}},
"VERSION": {"descr": {"addr": 0, "size": 8, "properties": ["ro"]}},
"ENABLE": {"descr": {"addr": 1, "size": 1, "offset": 0}},
"ENABLE_EXTERN": {"descr": {"addr": 1, "size": 1, "offset": 1}},
"EN_ARMING": {"descr": {"addr": 1, "size": 1, "offset": 2}},
"EN_WRITE_TIMESTAMP": {"descr": {"addr": 1, "size": 1, "offset": 3}},
"EN_TRIGGER_DIST": {"descr": {"addr": 1, "size": 1, "offset": 4}},
"EN_NO_WRITE_TRIG_ERR": {"descr": {"addr": 1, "size": 1, "offset": 5}},
"EN_INVERT_TDC": {"descr": {"addr": 1, "size": 1, "offset": 6}},
"EN_INVERT_TRIGGER": {"descr": {"addr": 1, "size": 1, "offset": 7}},
"EVENT_COUNTER": {"descr": {"addr": 2, "size": 32, "properties": ["ro"]}},
"LOST_DATA_COUNTER": {"descr": {"addr": 6, "size": 8, "properties": ["ro"]}},
}
_require_version = "==2"
def __init__(self, intf, conf):
super(tdc_s3, self).__init__(intf, conf)
def reset(self):
self.RESET = 0
def get_lost_data_counter(self):
return self.LOST_DATA_COUNTER
def set_en(self, value):
self.ENABLE = value
def get_en(self):
return self.ENABLE
def set_en_extern(self, value):
self.ENABLE_EXTERN = value
def get_en_extern(self):
return self.ENABLE_EXTERN
def set_arming(self, value):
self.EN_ARMING = value
def get_arming(self):
return self.EN_ARMING
def set_write_timestamp(self, value):
self.EN_WRITE_TIMESTAMP = value
def get_write_timestamp(self):
return self.EN_WRITE_TIMESTAMP
def get_event_counter(self):
return self.EVENT_COUNTER