Lab::Bus::LinuxGPIB - LinuxGPIB bus
This is the USB TMC (Test & Measurement Class) bus class.
my $tmc = new Lab::Bus::USBtmc({ });
or implicit through instrument and connection creation:
my $instrument = new Lab::Instrument::HP34401A({ connection_type => 'USBtmc', tmc_address=>1, }
Driver for the interface provided by the usbtmc linux kernel module.
Obviously, this will work for Linux systems only. On Windows, please use Lab::Bus::VISA. The interfaces are (errr, will be) identical.
Note: you don't need to explicitly handle bus objects. The Instruments will create them themselves, and existing bus will be automagically reused.
my $bus = Lab::Bus::USBtmc({ });
Return blessed $self, with @_ accessible through $self->config().
Lab::Bus::USBtmc throws
Lab::Exception::TMCOpenFileError Lab::Exception::CorruptParameter
$tmc->connection_new({ tmc_address => $addr });
Creates a new connection ("instrument handle") for this bus. The argument is a hash, whose contents depend on the bus type. For TMC at least 'tmc_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().
Lab::Instrument::Read()
$GPIB->connection_write( $InstrumentHandle, { Cmd => $Command } );
Sends $Command to the instrument specified by the handle.
$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::Timeout 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.
Brutal
$GPIB->timeout( $connection_handle, $timeout );
Sets the timeout in seconds for GPIB operations on the device/connection specified by $connection_handle.
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'};
Sysfs settings for timeout not supported, yet.
Lab::Bus
and many more...
Copyright 2004-2006 Daniel Schröer <schroeer@cpan.org>, 2009-2010 Daniel Schröer, Andreas K. Hüttel (L<http://www.akhuettel.de/>) and David Kalok, 2010 Matthias Völker <mvoelker@cpan.org> 2011 Florian Olbrich, Andreas K. Hüttel 2012 Hermann Kraus
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Lab::Measurement, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Lab::Measurement
CPAN shell
perl -MCPAN -e shell install Lab::Measurement
For more information on module installation, please visit the detailed CPAN module installation guide.