Skip to content

planteen/rubyserial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rubyserial

RubySerial is a simple Ruby gem for reading from and writing to serial ports.

Unlike other Ruby serial port implementations, it supports all of the most popular Ruby implementations (MRI, JRuby, & Rubinius) on the most popular operating systems (OSX, Linux, & Windows). And it does not require any native compilation thanks to using RubyFFI https://github.com/ffi/ffi.

The interface to RubySerial should be (mostly) compatible with other Ruby serialport gems, so you should be able to drop in the new gem, change the require and use it as a replacement. If not, please let us know so we can address any issues.

Build Status

Installation

$ gem install rubyserial

Usage

require 'rubyserial'
serialport = Serial.new '/dev/ttyACM0', 57600

Methods

write(data : String) -> Int

Returns the number of bytes written. Emits a RubySerial::Exception on error.

read(length : Int) -> String

Returns a string up to length long. It is not guaranteed to return the entire length specified, and will return an empty string if no data is available. Emits a RubySerial::Exception on error.

getbyte -> Fixnum or nil

Returns an 8 bit byte or nil if no data is available. Emits a RubySerial::Exception on error.

RubySerial::Exception

A wrapper exception type, that returns the underlying system error code.

License

Apache 2.0. See LICENSE for more details.

About

FFI Ruby library for RS-232 serial port communication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%