A simple serial port library for Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time
== RB232 A simple serial port library for Ruby. Licensed under the MIT license (See COPYING file for details) Author: James Smith (firstname.lastname@example.org / 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.