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
2025
2026
 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.