Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cehoffman-ruby-serialport

Package Overview
Dependencies
Maintainers
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cehoffman-ruby-serialport

  • 0.7.0
  • Rubygems
  • Socket score

Version published
Maintainers
4
Created
Source

=Ruby-SerialPort

== Description

Ruby/SerialPort is a Ruby library that provides a class for using RS-232 serial ports. This class also contains low-level functions to check and set the current state of the signals on the line.

The native Windows version of this library supports Microsoft's Visual C++ and Borland's C++ compilers. == Installation

$ ruby extconf.rb
$ make
$ make install

== Testing

test/miniterm.rb:: Ruby's copy of miniterm.c!

== API

=== Class SerialPort, Parent IO

==== Class constants

VERSION -> aString (this release is "0.6")
NONE, HARD, SOFT, SPACE, MARK, EVEN, ODD -> anInteger

==== Class methods

* new(port_num [, modem_parameters]) -> aSerialPort
* open(port_num [, modem_parameters]) -> aSerialPort
* open(port_num [, modem_parameters]) {|aSerialPort| block} -> 
value of the block

port_num -> anInteger: port number, 0 for first port which is
            "/dev/ttyS0" on GNU/Linux and "COM1" on Windows,
            or  aString: file name of the device (example: "/dev/ttyS2")

==== Optional modem_parameters:

* baudrate -> anInteger: from 50 to 256000, depends on platform.
* databits -> anInteger: from 5 to 8 (4 is allowed on Windows)
* stopbits -> anInteger: 1 or 2 (1.5 is not supported)
* parity -> anInteger: SerialPort::NONE, SerialPort::EVEN,
* SerialPort::ODD, SerialPort::MARK, SerialPort::SPACE

(MARK and SPACE are not supported on Posix)

Raise an argError on bad argument.

SerialPort::new and SerialPort::open without a block return an instance of SerialPort. SerialPort::open with a block passes a SerialPort to the block and closes it when the block exits (like File::open).

==== Instance methods

  * modem_params() -> aHash
  * modem_params=(aHash) -> aHash
  * get_modem_params() -> aHash
  * set_modem_params(aHash) -> aHash
  * set_modem_params(baudrate [, databits [, stopbits [, parity]]])

    Get and set the modem parameters.  Hash keys are "baud", "data_bits",
    "stop_bits", and "parity" (see above).

    Parameters not present in the hash or set to nil remain unchanged.
    Default parameter values for the set_modem_params method are:
    databits = 8, stopbits = 1, parity = (databits == 8 ?
    SerialPort::NONE : SerialPort::EVEN).

  * baud() -> anInteger
  * baud=(anInteger) -> anInteger
  * data_bits() -> 4, 5, 6, 7, or 8
  * data_bits=(anInteger) -> anInteger
  * stop_bits() -> 1 or 2
  * stop_bits=(anInteger) -> anInteger
  * parity() -> anInteger: SerialPort::NONE, SerialPort::EVEN,
      SerialPort::ODD, SerialPort::MARK, or SerialPort::SPACE
  * parity=(anInteger) -> anInteger

    Get and set the corresponding modem parameter.

  * flow_control() -> anInteger
  * flow_control=(anInteger) -> anInteger

    Get and set the flow control: SerialPort::NONE, SerialPort::HARD,
    SerialPort::SOFT, or (SerialPort::HARD | SerialPort::SOFT).

    Note: SerialPort::HARD mode is not supported on all platforms.
    SerialPort::HARD uses RTS/CTS handshaking; DSR/DTR is not
    supported.

  * read_timeout() -> anInteger
  * read_timeout=(anInteger) -> anInteger
  * write_timeout() -> anInteger
  * write_timeout=(anInteger) -> anInteger

    Get and set timeout values (in milliseconds) for reading and writing.
    A negative read timeout will return all the available data without
    waiting, a zero read timeout will not return until at least one
    byte is available, and a positive read timeout returns when the
    requested number of bytes is available or the interval between the
    arrival of two bytes exceeds the timeout value.

    Note: Read timeouts don't mix well with multi-threading.

    Note: Under Posix, write timeouts are not implemented.

  * break(time) -> nil

    Send a break for the given time.  

    time -> anInteger: tenths-of-a-second for the break.
    Note: Under Posix, this value is very approximate.

  * signals() -> aHash

    Return a hash with the state of each line status bit.  Keys are
    "rts", "dtr", "cts", "dsr", "dcd", and "ri".

    Note: Under Windows, the rts and dtr values are not included.

  * rts()
  * dtr()
  * cts()
  * dsr()
  * dcd()
  * ri() -> 0 or 1

  * rts=(0 or 1)
  * dtr=(0 or 1) -> 0 or 1

    Get and set the corresponding line status bit.

    Note: Under Windows, rts() and dtr() are not implemented.

== License

:include: LICENSE

Guillaume Pierronnet:: moumar@netcourrier.com Alan Stern:: stern@rowland.harvard.edu

FAQs

Package last updated on 11 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc