blob: ac7dd3f5d9881ca7798858ba72d52e33557c9711 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/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?");
my ($bytes, $buff, $reason) = $instr->vxi_read();
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("myhandle");
for (my $i = 0; $i < 10000; $i++) {
vxi_wait_for_interrupt();
}
$instr->vxi_disable_srq();
$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();
|