summaryrefslogtreecommitdiff
path: root/libvxi11client/perlbits
diff options
context:
space:
mode:
Diffstat (limited to 'libvxi11client/perlbits')
-rw-r--r--libvxi11client/perlbits/Client.pm20
-rw-r--r--libvxi11client/perlbits/Client.xs6
-rw-r--r--libvxi11client/perlbits/VXI11-Client.t10
-rw-r--r--libvxi11client/perlbits/testscript.pl4
4 files changed, 30 insertions, 10 deletions
diff --git a/libvxi11client/perlbits/Client.pm b/libvxi11client/perlbits/Client.pm
index 9b8fdb2..204027c 100644
--- a/libvxi11client/perlbits/Client.pm
+++ b/libvxi11client/perlbits/Client.pm
@@ -35,6 +35,26 @@ XSLoader::load('VXI11::Client', $VERSION);
# Preloaded methods go here.
+sub vxi_enable_srq {
+ return vxi_enable_srq_long($_[0], 1, $_[1]);
+}
+
+sub vxi_disable_srq {
+ return vxi_enable_srq_long($_[0], 0 , "");
+}
+
+sub vxi_write {
+ my $self = shift;
+ my %args = (
+ len => -1,
+ waitlock => 0,
+ end => 1,
+ @_
+ );
+ return vxi_write_long($self, $args{data}, $args{len}, $args{waitlock}, $args{end});
+}
+
+
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
diff --git a/libvxi11client/perlbits/Client.xs b/libvxi11client/perlbits/Client.xs
index e26190b..1b8649a 100644
--- a/libvxi11client/perlbits/Client.xs
+++ b/libvxi11client/perlbits/Client.xs
@@ -78,7 +78,7 @@ vxi_docmd(context, cmd, waitforlock)
RETVAL
int
-vxi_enable_srq(context, enable, handle)
+vxi_enable_srq_long(context, enable, handle)
VXI11::Client context
bool enable
char* handle
@@ -135,7 +135,7 @@ vxi_read(context, OUTLIST bytesread, OUTLIST buffer, bufferlen, waitlock, termch
CODE:
buffer = calloc(bufferlen + 1, 1);
bytesread = vxi11_read(context, buffer, bufferlen, waitlock, termchrset, termchr, &reason);
-
+
void
vxi_readstatusbyte(context, OUTLIST error, OUTLIST statusbyte, waitforlock)
VXI11::Client context
@@ -178,7 +178,7 @@ vxi_unlock(context)
RETVAL
int
-vxi_write(context,data, len, waitlock, end)
+vxi_write_long(context,data, len, waitlock, end)
VXI11::Client context
char * data
int len
diff --git a/libvxi11client/perlbits/VXI11-Client.t b/libvxi11client/perlbits/VXI11-Client.t
index c4ffcac..e31460e 100644
--- a/libvxi11client/perlbits/VXI11-Client.t
+++ b/libvxi11client/perlbits/VXI11-Client.t
@@ -8,7 +8,7 @@
use strict;
use warnings;
-use Test::More tests => 17;
+use Test::More tests => 16;
BEGIN { use_ok('VXI11::Client') };
#########################
@@ -21,7 +21,7 @@ BEGIN { use_ok('VXI11::Client') };
my $instr = &VXI11::Client::vxi_open("roi", 0);
is($instr->vxi_lock(0), 1, "Lock");
-ok($instr->vxi_write("*IDN?", -1, 0, 0) > 0, "Write");
+ok($instr->vxi_write(data => "*IDN?") > 0, "Write");
my ($bytes, $buff, $reason) = $instr->vxi_read(256, 0, 0, 0);
print "got " . $bytes . ";" . $buff . "\n";
@@ -31,9 +31,9 @@ my ($error, $statusbyte) = $instr->vxi_readstatusbyte(0);
is($error,0, "Read status byte");
is($instr->vxi_create_intr_chan(), 1, "Create intr channel");
-is($instr->vxi_enable_srq(1, "myhandle"), 1, "Enable interrupts");
-is(&VXI11::Client::vxi_wait_for_interrupt, "myhandle", "Wait for interrupt");
-is($instr->vxi_enable_srq(0, ""), 1, "Disable interrupts");
+is($instr->vxi_enable_srq("myhandle"), 1, "Enable interrupts");
+#is(&VXI11::Client::vxi_wait_for_interrupt, "myhandle", "Wait for interrupt");
+is($instr->vxi_disable_srq(), 1, "Disable interrupts");
is($instr->vxi_destroy_intr_chan(), 1, "Destroy intr channel");
is($instr->vxi_abort(), 1, "Abort");
is($instr->vxi_clear(0), 1, "Clear");
diff --git a/libvxi11client/perlbits/testscript.pl b/libvxi11client/perlbits/testscript.pl
index 5af15d3..7bcfda6 100644
--- a/libvxi11client/perlbits/testscript.pl
+++ b/libvxi11client/perlbits/testscript.pl
@@ -18,9 +18,9 @@ my ($error, $statusbyte) = $instr->vxi_readstatusbyte(0);
printf "status byte is " . $statusbyte . "\n";
$instr->vxi_create_intr_chan();
-$instr->vxi_enable_srq(1, "myhandle");
+$instr->vxi_enable_srq("myhandle");
vxi_wait_for_interrupt();
-$instr->vxi_enable_srq(0, "");
+$instr->vxi_disable_srq();
$instr->vxi_destroy_intr_chan();
$instr->vxi_abort();
$instr->vxi_clear(0);