mirror of
https://github.com/wjwwood/serial.git
synced 2026-01-22 11:44:53 +08:00
143 lines
5.3 KiB
HTML
143 lines
5.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
|
|
<title>wjwwood/serial @ GitHub</title>
|
|
|
|
<style type="text/css">
|
|
body {
|
|
margin-top: 1.0em;
|
|
background-color: #c25905;
|
|
font-family: Helvetica, Arial, FreeSans, san-serif;
|
|
color: #ffffff;
|
|
}
|
|
#container {
|
|
margin: 0 auto;
|
|
width: 700px;
|
|
}
|
|
h1 { font-size: 3.8em; color: #3da6fa; margin-bottom: 3px; }
|
|
h1 .small { font-size: 0.4em; }
|
|
h1 a { text-decoration: none }
|
|
h2 { font-size: 1.5em; color: #3da6fa; }
|
|
h3 { text-align: center; color: #3da6fa; }
|
|
a { color: #3da6fa; }
|
|
.description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
|
|
.download { float: right; }
|
|
pre { background: #000; color: #fff; padding: 15px;}
|
|
hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
|
|
.footer { text-align:center; padding-top:30px; font-style: italic; }
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<a href="https://github.com/wjwwood/serial"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
|
|
|
|
<div id="container">
|
|
|
|
<div class="download">
|
|
<a href="https://github.com/wjwwood/serial/zipball/master">
|
|
<img border="0" width="90" src="https://github.com/images/modules/download/zip.png"></a>
|
|
<a href="https://github.com/wjwwood/serial/tarball/master">
|
|
<img border="0" width="90" src="https://github.com/images/modules/download/tar.png"></a>
|
|
</div>
|
|
|
|
<h1><a href="https://github.com/wjwwood/serial">serial</a>
|
|
<span class="small">by <a href="https://github.com/wjwwood">wjwwood</a></span></h1>
|
|
|
|
<div class="description">
|
|
Cross-platform, Serial Port library for C++
|
|
</div>
|
|
|
|
|
|
<p>This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial (http://pyserial.sourceforge.net/), but with the speed and control provided by C++. This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with `make` and then `sudo make install`, but if you wish to use it with ROS then it will build as a unary stack. The library has two main components currently: Serial and SerialListener. Serial is a class that provides the basic interface common to serial libraries (open, close, read, write, etc..) and requires no extra dependencies. The SerialListener class is a convenience class that provides a method for easily asynchronously reading from a serial port, we have found this setup useful when interfacing with devices that send data asynchronously as well as use command-response type message interleaved. The SerialListener has an extra dependency of Boost for C++, which provides some feature not yet fully adopted by all C++ compilers like function types, shared_ptr's, and convenient threading.</p>
|
|
|
|
|
|
|
|
<h2>Dependencies</h2>
|
|
<p>* cmake - for the build system
|
|
* boost - for SerialListener only (optional)
|
|
* ROS - for building in a ROS ecosystem (optional)</p>
|
|
|
|
|
|
|
|
<h2>Install</h2>
|
|
<p>Get the code:
|
|
|
|
git clone https://github.com/wjwwood/serial.git
|
|
|
|
Build (without ROS):
|
|
|
|
make
|
|
|
|
Build and run the tests:
|
|
|
|
make test
|
|
|
|
Build the docs:
|
|
|
|
make docs
|
|
|
|
Install:
|
|
|
|
sudo make install
|
|
|
|
Uninstall:
|
|
|
|
sudo make uninstall
|
|
</p>
|
|
|
|
|
|
|
|
<h2>License</h2>
|
|
<p>Copyright (c) 2011 William Woodall
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
copy of this software and associated documentation files (the "Software"),
|
|
to deal in the Software without restriction, including without limitation
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
and/or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
DEALINGS IN THE SOFTWARE.</p>
|
|
|
|
|
|
|
|
<h2>Authors</h2>
|
|
<p>William Woodall (wjwwood@gmail.com)
|
|
<br/>John Harrison (ash@greaterthaninfinity.com)</p>
|
|
|
|
|
|
|
|
<h2>Contact</h2>
|
|
<p>William Woodall (wjwwood@gmail.com)
|
|
<br/> </p>
|
|
|
|
|
|
<h2>Download</h2>
|
|
<p>
|
|
You can download this project in either
|
|
<a href="https://github.com/wjwwood/serial/zipball/master">zip</a> or
|
|
<a href="https://github.com/wjwwood/serial/tarball/master">tar formats.
|
|
</p>
|
|
<p>You can also clone the project with <a href="http://git-scm.com">Git</a>
|
|
by running:
|
|
<pre>$ git clone git://github.com/wjwwood/serial</pre>
|
|
</p>
|
|
|
|
<div class="footer">
|
|
get the source code on GitHub : <a href="https://github.com/wjwwood/serial">wjwwood/serial</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|