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