package GPIBDeviceObject @ISA = qw() sub BEGIN sub new my ($module, $interface, $devname, $timeout, $EOT, $EOS) = @_; return $this; sub DESTROY my $this = shift; sub SetGPIB sub SetGPIB { my ($this,$g)= return $this->{GPIB} = $g; sub g return shift->{GPIB}; sub SetDeviceName sub SetDeviceName { my ($this,$name)= return $this->{DeviceName} = $name; sub DeviceName return shift->{DeviceName}; sub SetGPIBAddress sub SetGPIBAddress { my ($this,$addr)= return $this->{GPIBAddress} = $addr; sub GPIBAddress return shift->{GPIBAddress}; sub Open my ($this, $interface, $board, $name, $addr, $subaddr, $timeout, $EOT, $EOS) = @_; return 0 if(!defined $g); return $g; sub print my ($this, @a) = @_; return $this->g()->ibwrt($line); sub read my ($this, $bufferlength) = @_; return $response; sub GetSCPIData my ($this, $command) = @_; return $this->read(); sub Clear sub Reset sub GetIdentification return shift->GetSCPIData("*IDN?"); sub FetchData return shift->print(":FETCH?"); sub ReadData return shift->print(":READ?"); sub InitDVM my ($this) = @_; sub SetZeroCheckDVM my ($this, $mode) = @_; sub SetZeroCheckDCM my ($this) = @_; sub InitSource sub ApplySource my ($this, $mode) = @_; return $this->print(":OUTP:STAT $mode"); sub StopSource return shift->ApplySource(0); sub SetSource my ($this, $val) = @_; return $this->print(":SOUR:VOLT $val");