Dart FFI bindings to libserialport
TIP: See also flutter_libserialport for automatic building and deploying of libserialport. |
---|
This Dart package is based on libserialport
,
which is a minimal C-library created by the sigrok project, and
released under the LGPL3+ license.
Supported platforms:
- Linux
- macOS
- Windows
- Android
This package uses dart:ffi to call
libserialport
's C APIs, which implies that libserialport
must be bundled to or deployed
with the host application. It can be tedious to build and deploy libserialport
on all target
platforms, but in case you are building a Flutter app instead of a pure Dart app, there is
a ready-made drop-in solution called flutter_libserialport
that utilizes Flutter's build system to build and deploy libserialport
on all supported platforms:
Usage
import 'package:crlibserialport/libserialport.dart';
final name = SerialPort.availablePorts.first;
final port = SerialPort(name);
if (!port.openReadWrite()) {
print(SerialPort.lastError);
exit(-1);
}
port.write(/* ... */);
final reader = SerialPortReader(port);
reader.stream.listen((data) {
print('received: $data');
});
To use this package, add libserialport
as a dependency in your pubspec.yaml file.
Libraries
- crlibserialport
- Introduction