0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
A simple serial port library for Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme
== RB232

A simple serial port library for Ruby.

Licensed under the MIT license (See COPYING file for details)

Author: James Smith (james@floppy.org.uk / http://www.floppy.org.uk)

Homepage: http://github.com/Floppy/rb232

Documentation: http://rdoc.info/projects/Floppy/rb232

== ABOUT

This library is a simple serial port library for Ruby.

You may ask, why not just use ruby-serialport? Mainly because the GPL license
it is under is too restrictive for my purposes. This code is under the MIT
license, so you can do anything you like with it.

== INSTALLATION

1) Enable gems from gemcutter, if you haven't already done so:
    > sudo gem install gemcutter
    > sudo gem tumble

2) Install gem
    > sudo gem install rb232

== STATUS

Currently you can read from a serial port, but not write back. The code is only 
tested on Linux and Snow Leopard - other unixes *may* work, but Windows is right
 out for now. Watch this space for further developments!

== USAGE

The following code will read a 10-character string from the specified port,
using the default port settings (9600/8/n/1/no flow control)

      @port = RB232::Port.new('/dev/ttyUSB0')
      message = @port.read_string(10)

You can provide alternative settings when you create a new port:

      RB232::Port.new('/dev/ttyS0', :baud_rate => 19200, 
                                    :data_bits => 7, 
                                    :parity => true, 
                                    :stop_bits => 2,
                                    :hardware_flow_control => true)

Note that OSX doesn't currently have hardware flow control support.

See http://github.com/Floppy/rb232/tree/master/spec/port_spec.rb or RB232::Port
documentation for more details.

If you are using a simple text protocol over RS232, you can use the
RB232::TextProtocol class to help you out. It automatically monitors the port
and splits messages up by detecting separator characters. See 
http://github.com/Floppy/rb232/tree/master/examples/listen.rb for an example of
how to use this class.