]>
Commit | Line | Data |
---|---|---|
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 |