#!/usr/bin/perl use strict; use warnings; use VXI11::Client; vxi_startinterruptserver(); my $instr = vxi_open("roi", 0); $instr->vxi_lock(0); $instr->vxi_write("*IDN?", -1, 0, 0); my ($bytes, $buff, $reason) = $instr->vxi_read(256, 0, 0, 0); print "got " . $bytes . ";" . $buff . " reason " . $reason ."\n"; my ($error, $statusbyte) = $instr->vxi_readstatusbyte(0); printf "status byte is " . $statusbyte . "\n"; $instr->vxi_create_intr_chan(); $instr->vxi_enable_srq(1, "myhandle"); vxi_wait_for_interrupt(); $instr->vxi_enable_srq(0, ""); $instr->vxi_destroy_intr_chan(); $instr->vxi_abort(); $instr->vxi_clear(0); $instr->vxi_trigger(0); $instr->vxi_local(0); $instr->vxi_remote(0); $instr->vxi_unlock(); $instr->vxi_close(); vxi_stopinterruptserver();