lib/lxi/device.rb in lxi_rb-0.1.0 vs lib/lxi/device.rb in lxi_rb-0.2.0
- old
+ new
@@ -15,14 +15,14 @@
yield self if block_given?
end
def connect
- raise Error, 'LXI Library Initialisation Error' unless Lxi.lxi_init == Lxi::OK
+ raise Error, 'LXI Library Initialisation Error' unless Lxi.lxi_init == LXI_OK
@id = Lxi.lxi_connect(@address, @port, @name, @timeout, @protocol)
- raise Error, 'LXI Connection Error' if @id == Lxi::ERROR
+ raise Error, 'LXI Connection Error' if @id == LXI_ERROR
true
end
alias open connect
@@ -40,10 +40,12 @@
alias scpi send
alias write send
def read(length)
message = FFI::MemoryPointer.new(:char, length)
- raise Error, 'LXI communications error' unless Lxi.lxi_receive(@id, message, length, @timeout).positive?
+ bytes_received = Lxi.lxi_receive(@id, message, length, @timeout)
+ raise Error, 'LXI communications error' unless bytes_received.positive?
+
message.read_string
end
alias gets read
end
end