2013-11-14 20:33:53 +04:00
|
|
|
-------------------------------------------------------------------------------
|
2013-10-27 21:19:39 +04:00
|
|
|
libserialport: cross-platform library for accessing serial ports
|
2013-11-14 20:33:53 +04:00
|
|
|
-------------------------------------------------------------------------------
|
2013-10-27 21:19:39 +04:00
|
|
|
|
|
|
|
libserialport is a minimal library written in C that is intended to take care
|
|
|
|
of the OS-specific details when writing software that uses serial ports.
|
|
|
|
|
|
|
|
By writing your serial code to use libserialport, you enable it to work
|
|
|
|
transparently on any platform supported by the library.
|
|
|
|
|
|
|
|
The operations that are supported are:
|
|
|
|
|
|
|
|
- Port enumeration (obtaining a list of serial ports on the system).
|
2014-06-11 18:10:29 +04:00
|
|
|
- Obtaining port metadata (USB device information, Bluetooth address, etc).
|
2013-10-27 21:19:39 +04:00
|
|
|
- Opening and closing ports.
|
|
|
|
- Setting port parameters (baud rate, parity, etc).
|
|
|
|
- Reading, writing and flushing data.
|
|
|
|
- Obtaining error information.
|
|
|
|
|
|
|
|
libserialport is an open source project released under the LGPL3+ license.
|
|
|
|
|
|
|
|
Status
|
|
|
|
======
|
|
|
|
|
|
|
|
The library should build and work on any Windows or Unix-based system. If it
|
|
|
|
does not, please submit a bug.
|
|
|
|
|
2015-04-03 23:17:57 +03:00
|
|
|
Enumeration is currently implemented on Windows, Mac OS X, FreeBSD and Linux.
|
|
|
|
On other systems enumeration is not supported, but ports can still be opened
|
|
|
|
by name and then used.
|
2013-10-27 21:19:39 +04:00
|
|
|
|
|
|
|
If you know how to enumerate available ports on another OS, please submit a bug
|
|
|
|
with this information, or better still a patch implementing it.
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
============
|
|
|
|
|
2014-05-31 02:48:54 +04:00
|
|
|
No other libraries are required.
|
2013-10-27 21:19:39 +04:00
|
|
|
|
|
|
|
Building
|
|
|
|
========
|
|
|
|
|
2020-01-24 10:05:50 +03:00
|
|
|
On Windows, libserialport can be built with Visual Studio 2019 or with
|
|
|
|
the standalone MSBuild tool, using the solution and project files provided.
|
2014-09-07 21:27:02 +04:00
|
|
|
|
2020-01-24 10:05:50 +03:00
|
|
|
For other environments, the package uses a GNU style build based on autotools.
|
2013-10-27 21:19:39 +04:00
|
|
|
|
|
|
|
Run "./autogen.sh" to generate the build system, "./configure" to setup, then
|
|
|
|
"make" to build the library and "make install" to install it.
|
|
|
|
|
2020-01-24 10:05:50 +03:00
|
|
|
Windows builds can also be created using the autotools build system, using the
|
|
|
|
MinGW-w64 toolchain from http://mingw-w64.sourceforge.net/ - either natively
|
|
|
|
in Windows with the MSYS2 environment, or cross-compiling from another system.
|
|
|
|
|
2020-01-24 10:54:50 +03:00
|
|
|
To build from MSYS2, the following packages must be installed: autoconf,
|
|
|
|
automake-wrapper, libtool, make, and either mingw-w64-i686-gcc (for 32-bit)
|
|
|
|
or mingw-w64-x86_64-gcc (for 64-bit). Open either the "MSYS2 MinGW 32-bit" or
|
|
|
|
"MSYS2 MinGW 64-bit" command window from the Start menu and use this when
|
2020-01-25 19:06:49 +03:00
|
|
|
configuring and building the package. Using the "MSYS2 MSYS" shell will build
|
|
|
|
against the Cygwin compatibility layer; this works, but port enumeration and
|
|
|
|
metadata will not be available, and binaries will depend on Cygwin. The builds
|
|
|
|
produced by MinGW-w64 are normal Windows DLLs without additional dependencies.
|
2020-01-24 10:54:50 +03:00
|
|
|
|
2020-01-24 10:05:50 +03:00
|
|
|
The "old" MinGW from http://mingw.org/ is not supported.
|
|
|
|
|
2013-10-27 21:19:39 +04:00
|
|
|
API
|
|
|
|
===
|
|
|
|
|
2013-11-19 06:11:34 +04:00
|
|
|
Doxygen API documentation is included.
|
2014-09-07 21:31:23 +04:00
|
|
|
|
2015-04-03 23:18:56 +03:00
|
|
|
It can also be viewed online at:
|
|
|
|
|
|
|
|
http://sigrok.org/api/libserialport/unstable/
|
|
|
|
|
2017-12-17 20:15:56 +03:00
|
|
|
Bug reports
|
|
|
|
===========
|
|
|
|
|
|
|
|
You can report bugs for libserialport at https://sigrok.org/bugzilla.
|
|
|
|
|
2017-12-15 20:38:11 +03:00
|
|
|
Mailing list
|
|
|
|
============
|
|
|
|
|
|
|
|
https://lists.sourceforge.net/lists/listinfo/sigrok-devel
|
|
|
|
|
|
|
|
IRC
|
|
|
|
===
|
|
|
|
|
|
|
|
You can find the developers in the #sigrok IRC channel on Freenode.
|
|
|
|
|
2014-09-07 21:31:23 +04:00
|
|
|
Website
|
|
|
|
=======
|
|
|
|
|
|
|
|
http://sigrok.org/wiki/Libserialport
|
|
|
|
|