Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 63 lines (45 sloc) 1.99 KB
== Win32Serial Extension Library (win32-serial)
Simple extension library to access Windows serial ports (COM ports) using the
Windows API. Originally written Apr. 10, 2006 by Travis Whitton
< whitton@atlantic.net >
Gem conversion, organization and binary releases by Jeff Rafter.
== Example
It is possible to use the library directly:
require 'Win32Serial'
port = 'COM1'
s = Win32Serial.new
s.open(port)
s.config(9600, 8, Win32Serial::NOPARITY, Win32Serial::ONESTOPBIT)
s.timeouts(0, 200, 0, 0, 0)
bytes = s.write("AT+CGMI\r") || "< no bytes >"
puts "#{bytes} bytes written to #{port}"
puts "response " + (s.read(14) || " < no response >")
s.close
A compatibility layer has been added which allows you to access the library
using a SerialPort class as well:
require 'serialport'
sp = SerialPort.new('COM1', 9600, 8, 1, SerialPort::NONE)
sp.write("AT")
sp.read(14)
sp.close
In addition to write and read, getc is implemented for single byte reads. putc
is also implemented for single byte writes.
== Installation
Assuming you have a development environment on the target Windows machine you
can simply install the Gem normally. Alternatively, binary gem releases are
included in the bin folder and can be downloaded. These binary releases are
compiled using mingw and contain the Win32Serial.so, so no compilation on the
target Windows machine is necessary. These releases may not be compatible with
JRuby, Rubinius and other ruby implementations.
== License
Licensed under GPL. See GPL in the release.
== Copying
Original copying:
Win32Serial extension library is copyrighted free software by Travis Whitton
&lt; whitton@atlantic.net &gt;. You can redistribute it under the terms
specified in the COPYING file of the Ruby distribution.
== Warranty
Original warranty:
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Something went wrong with that request. Please try again.