class SerialPort

This class is used for communication over a serial port. In addition to the methods here, you can use Ruby IO methods, e.g. read, write, getc, readlines, etc.

@see rubydoc.info/stdlib/core/IO Ruby IO class @see www.cmrr.umn.edu/~strupp/serial.html “Serial Programming Guide for POSIX Operating Systems”

Constants

VERSION

Public Class Methods

new(port, *params) click to toggle source

Creates a serial port object. Accepts the port identifier and a variable list for configuration as paramaters or hash. Please see SerialPort#set_modem_params

@overload new(port, *params)

@param port [Integer] the serial port number,
  where 0 is mapped to "COM1" on Windows, "/dev/ttyS0" on Linux, "/dev/cuaa0" on Mac OS X, etc.

@overload new(port, *params)

@param port [String] the serial port file e.g. "/dev/ttyS0"

@return [SerialPort] @see SerialPort#set_modem_params

# File lib/serialport.rb, line 24
def SerialPort::new(port, *params)
   sp = create(port)
   begin
      sp.set_modem_params(*params)
   rescue
      sp.close
      raise
   end
   return sp
end
open(port, *params) { |sp| ... } click to toggle source

This behaves like SerialPort#new, except that you can pass a block to which the new serial port object will be passed. In this case the connection is automaticaly closed when the block has finished.

@yield [SerialPort] the serial port number or filename @see SerialPort#new @see SerialPort#set_modem_params

# File lib/serialport.rb, line 42
def SerialPort::open(port, *params)
   sp = create(port)
   begin
      sp.set_modem_params(*params)
   rescue
      sp.close
      raise
   end
   if (block_given?)
     begin
        yield sp
     ensure
        sp.close
     end
     return nil
   end
   return sp
end