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