NAME
Lab::Bus::VICP - VICP bus (deprecated)
VERSION
version 3.899
SYNOPSIS
This is the bus class for the VICP connection used for GPIB communication
my
$GPIB
= new Lab::Bus::VICP(
remote_host
=>
'myhost'
);
or implicit through instrument and connection creation:
my
$instrument
= new Lab::Instrument::LeCroy640({
connection_type
=>
'VICP'
,
remote_addr
=>
'myhost'
,
}
DESCRIPTION
This module belongs to a deprecated legacy module stack, frozen and not under development anymore. Please port your code to the new API; its documentation can be found on the Lab::Measurement homepage, https://www.labmeasurement.de/.
Note: you don't need to explicitly handle bus objects. The Instruments will create them themselves, and existing bus will be automagically reused.
CONSTRUCTOR
new
my
$bus
= new Lab::Bus::VICP(
remote_addr
=>
$ipaddr
);
Return blessed $self, with @_ accessible through $self->config().
===== TBD below ===
METHODS
connection_new
$GPIB
->connection_new({
gpib_address
=>
$paddr
});
Creates a new connection ("instrument handle") for this bus. The argument is a hash, whose contents depend on the bus type. For GPIB at least 'gpib_address' is needed.
The handle is usually stored in an instrument object and given to connection_read, connection_write etc. to identify and handle the calling instrument:
$InstrumentHandle
=
$GPIB
->connection_new({
gpib_address
=> 13 });
$result
=
$GPIB
->connection_read(
$self
->InstrumentHandle(), { options });
See Lab::Instrument::Read()
.
TODO: this is probably not correct anymore
connection_write
$GPIB
->connection_write(
$InstrumentHandle
, {
Cmd
=>
$Command
} );
Sends $Command to the instrument specified by the handle.
connection_read
$GPIB
->connection_read(
$InstrumentHandle
, {
Cmd
=>
$Command
,
ReadLength
=>
$readlength
,
Brutal
=> 0/1 } );
Sends $Command to the instrument specified by the handle. Reads back a maximum of $readlength bytes. If a timeout or an error occurs, Lab::Exception::GPIBError or Lab::Exception::GPIBTimeout are thrown, respectively. The Timeout object carries the data received up to the timeout event, accessible through $Exception->Data().
Setting Brutal
to a true value will result in timeouts being ignored, and the gathered data returned without error.
timeout
$GPIB
->timeout(
$connection_handle
,
$timeout
);
Sets the timeout in seconds for GPIB operations on the device/connection specified by $connection_handle.
config
Provides unified access to the fields in initial @_ to all the child classes. E.g.
$GPIB_Address
=
$instrument
->config(gpib_address);
Without arguments, returns a reference to the complete $self->config aka @_ of the constructor.
$config
=
$bus
->config();
$GPIB_PAddress
=
$bus
->config()->{
'gpib_address'
};
CAVEATS/BUGS
Few. Also, not a lot to be done here.
SEE ALSO
and many more...
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
Copyright 2016 Charles Lane
2017 Andreas K. Huettel
2020 Andreas K. Huettel
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.