def METHOD_NAME(sender: CalInterface = None,
              receiver: CalInterface = None,
              sender_dio_mode: str='',
              sender_port: int=0,
              receiver_port: int=0
              ):
    """
    calibrate DIO timing between two physical instruments featuring DIO (i.e. implementing interface CalInterface)
    Args:
        sender: instrument driving DIO (Qutech CC/QCC/CC-light)
        sender_dio_mode: the DIO mode for which calibration is requested
        receiver: instrument receiving DIO (ZI UHFQA/HDAWG, QuTech CC/QWG)
        sender_port: the port on which to generate the data (other ports are also ALLOWED to produce data)
        receiver_port: the port on which to receive the data
    """
    # FIXME: allow list of senders or receivers
    if sender:
        dio_mask,expected_sequence = sender.output_dio_calibration_data(dio_mode=sender_dio_mode, port=sender_port)
    else:
        dio_mask = 0
        expected_sequence = []
    # FIXME: disable receiver connector outputs? And other receivers we're not aware of?
    if receiver:
        receiver.calibrate_dio_protocol(dio_mask=dio_mask, expected_sequence=expected_sequence, port=receiver_port)
    if sender:
        sender.stop()  # FIXME: not in interface