]> sigrok.org Git - libserialport.git/blame_incremental - README
change type of result variables to ssize_t
[libserialport.git] / README
... / ...
CommitLineData
1-------------------------------------------------------------------------------
2libserialport: cross-platform library for accessing serial ports
3-------------------------------------------------------------------------------
4
5libserialport is a minimal library written in C that is intended to take care
6of the OS-specific details when writing software that uses serial ports.
7
8By writing your serial code to use libserialport, you enable it to work
9transparently on any platform supported by the library.
10
11The operations that are supported are:
12
13- Port enumeration (obtaining a list of serial ports on the system).
14- Obtaining port metadata (USB device information, Bluetooth address, etc).
15- Opening and closing ports.
16- Setting port parameters (baud rate, parity, etc).
17- Reading, writing and flushing data.
18- Obtaining error information.
19
20libserialport is an open source project released under the LGPL3+ license.
21
22Status
23======
24
25The library should build and work on any Windows or Unix-based system. If it
26does not, please submit a bug.
27
28Enumeration is currently implemented on Windows, Mac OS X, FreeBSD and Linux.
29On other systems enumeration is not supported, but ports can still be opened
30by name and then used.
31
32If you know how to enumerate available ports on another OS, please submit a bug
33with this information, or better still a patch implementing it.
34
35Dependencies
36============
37
38No other libraries are required.
39
40Building
41========
42
43On Windows, libserialport can be built with Visual Studio 2019 or with
44the standalone MSBuild tool, using the solution and project files provided.
45
46For other environments, the package uses a GNU style build based on autotools.
47
48Run "./autogen.sh" to generate the build system, "./configure" to setup, then
49"make" to build the library and "make install" to install it.
50
51Windows builds can also be created using the autotools build system, using the
52MinGW-w64 toolchain from http://mingw-w64.sourceforge.net/ - either natively
53in Windows with the MSYS2 environment, or cross-compiling from another system.
54
55To build from MSYS2, the following packages must be installed: autoconf,
56automake-wrapper, libtool, make, and either mingw-w64-i686-gcc (for 32-bit)
57or mingw-w64-x86_64-gcc (for 64-bit). Open either the "MSYS2 MinGW 32-bit" or
58"MSYS2 MinGW 64-bit" command window from the Start menu and use this when
59configuring and building the package. Using the "MSYS2 MSYS" shell will build
60against the Cygwin compatibility layer; this works, but port enumeration and
61metadata will not be available, and binaries will depend on Cygwin. The builds
62produced by MinGW-w64 are normal Windows DLLs without additional dependencies.
63
64API
65===
66
67Doxygen API documentation is included.
68
69It can also be viewed online at:
70
71 http://sigrok.org/api/libserialport/unstable/
72
73Bug reports
74===========
75
76You can report bugs for libserialport at https://sigrok.org/bugzilla.
77
78Mailing list
79============
80
81 https://lists.sourceforge.net/lists/listinfo/sigrok-devel
82
83IRC
84===
85
86You can find the developers in the #sigrok IRC channel on Libera.Chat.
87
88Website
89=======
90
91http://sigrok.org/wiki/Libserialport
92