SYS_ST_OPER_DIO_MARGIN = 20

log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)

log.debug('connecting to UHFQA')
uhfqa0 = ZI_UHFQC.UHFQC('uhfqa0', device=dev_uhfqa, nr_integration_channels=9)
if 0:  # restart, based on zishell_NH.py
    uhfqa0.seti('/' + dev_uhfqa + '/raw/system/restart', 1)
    raise RuntimeError("restarting UHF, observe LabOne")
uhfqa0.load_default_settings(upload_sequence=False)

log.debug('connecting to CC')
cc = CC('cc', IPTransport(ip_cc))
cc.init()
log.info(cc.get_identity())

if 1:  # DIO calibration
    if 1:
        log.debug('calibration DIO: CC to UHFQA')
        DIO.calibrate(sender=cc,
                      receiver=uhfqa0,
                      receiver_port=cc_slot_uhfqa0,
                      sender_dio_mode='uhfqa')
    else:
        log.warning('setting hardcoded DIO delay on OHFQA')
        uhfqa0._set_dio_calibration_delay(
            5)  # FIXME: improves attainable latency?
        """
            scope CC latency measurements:
            
    # configure pycqed logger
    pycqed_logger = logging.getLogger('pycqed')
    pycqed_logger.setLevel(logging.DEBUG)  # set log level of logger

from pycqed.instrument_drivers.library.Transport import IPTransport
import pycqed.instrument_drivers.library.DIO as DIO
from pycqed.instrument_drivers.physical_instruments.QuTech.QWG import QWG, QWGMultiDevices

from pycqed.instrument_drivers.physical_instruments.QuTech.CC import CC

log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)

if 1:
    cc = CC('cc', IPTransport('192.168.0.241'))
    print(cc.get_identity())
    cc.init()
else:
    cc = None

if 0:
    qwg_21 = QWG('qwg_21', IPTransport('192.168.0.179'))
    #qwg_22 = QWG('qwg_22', IPTransport('192.168.0.178'))
    qwg_8 = QWG('qwg_8', IPTransport('192.168.0.192'))
    qwgs = [qwg_21, qwg_8]
    #qwgs = [qwg_22, qwg_21] # reversed

if 1:  # 20210907, development setup Wouter, slot 0 and 1
    qwg_9 = QWG('qwg_9', IPTransport('192.168.0.191'))  # slot 0
    qwg_19 = QWG('qwg_19', IPTransport('192.168.0.181'))  # slot 1
    qwgs = [qwg_19, qwg_9]