def test_all(self): file_name = 'Test_CC_test_all.scpi.txt' test_path = Path('test_output') / file_name os.makedirs('test_output', exist_ok=True) transport = FileTransport(str(test_path)) cc = CC('cc', transport, ccio_slots_driving_vsm=[5]) cc.reset() cc.clear_status() cc.set_status_questionable_frequency_enable(0x7FFF) cc.dio0_out_delay(0) cc.dio0_out_delay(31) cc.dio8_out_delay(0) cc.dio8_out_delay(31) cc.vsm_channel_delay0(0) cc.vsm_channel_delay0(1) cc.vsm_channel_delay0(127) cc.vsm_channel_delay31(0) cc.vsm_channel_delay31(127) cc.vsm_rise_delay0(0) cc.vsm_rise_delay0(48) cc.vsm_rise_delay31(0) cc.vsm_rise_delay31(48) cc.vsm_fall_delay0(0) cc.vsm_fall_delay0(48) cc.vsm_fall_delay31(0) cc.vsm_fall_delay31(48) cc.debug_marker_in(0, cc.UHFQA_TRIG) cc.debug_marker_in(0, cc.UHFQA_CW[0]) cc.debug_marker_out(0, cc.UHFQA_TRIG) cc.debug_marker_out(8, cc.HDAWG_TRIG) prog = ' stop\n' cc.sequence_program_assemble(prog) tmp_file = tempfile.NamedTemporaryFile(mode='w', delete=False) tmp_file.write(prog) tmp_file.close() # to allow access to file # FIXME: disabled because it requires input data, which we do not support yet #cc.eqasm_program(tmp_file.name) os.unlink(tmp_file.name) cc.start() cc.stop() transport.close() # to allow access to file # check results test_output = test_path.read_text() golden_path = Path( pq.__path__[0] ) / 'tests/instrument_drivers/physical_instruments/QuTech/golden' / file_name golden = golden_path.read_text() self.assertEqual(test_output, golden)
x = int(round(pos[0])) y = int(round(pos[1])) x = clamp(x, 0, 31) y = clamp(y, 0, 31) # generate instruction val = (1<<31) + (y<<9) + (x) # mode "microwave" prog += ' seq_out {},1\n'.format(val) prog += ' loop R0,@loop{}\n'.format(i) prog += ' jmp @start\n' log.debug('program generated: {} lines, {} bytes'.format(prog.count('\n'), len(prog))) log.debug('connecting to CC') cc = CC('cc', IPTransport(ip)) cc.reset() cc.clear_status() cc.status_preset() log.debug('uploading program to CC') cc.sequence_program_assemble(prog) if cc.get_assembler_success() != 1: sys.stderr.write('error log = {}\n'.format(cc.get_assembler_log())) # FIXME: result is messy log.warning('assembly failed') else: log.debug('checking for SCPI errors on CC') err_cnt = cc.get_system_error_count() for i in range(err_cnt): print(cc.get_error()) log.debug('done checking for SCPI errors on CC')