native library
dart:io + dart:ffi-only additions for mcp_io_serial.
Importing the main mcp_io_serial library keeps the package web-safe
(the abstract SerialTransport + InMemorySerialTransport). Importing
this native library opts in to the libserialport-backed
implementation and is only available on VM / Flutter desktop / Flutter
mobile (anywhere dart:ffi works).
Runtime requirement: the libserialport shared library must be on
the system search path, or supply libraryPath: to the constructor.
import 'package:mcp_io_serial/mcp_io_serial.dart';
import 'package:mcp_io_serial/native.dart';
final transport = LibserialportSerialTransport();
final adapter = SerialIoAdapter(
deviceId: 'uart-1',
portName: '/dev/ttyUSB0',
config: const SerialConfig(baudRate: 115200),
transport: transport,
);
await adapter.connect();
Classes
- LibserialportBindings
- LibserialportSerialTransport
- SpFlowControl
-
sp_flowcontrol. - SpMode
-
sp_mode— open mode flags. - SpParity
-
sp_parity. - SpReturn
-
sp_return— libserialport error / success codes. - SpSignal
-
sp_signal— for LibserialportBindings.spSetDtr /spSetRts. - SpSignalMask
-
sp_signalbitmask returned bysp_get_signals(libserialport.h).
Functions
-
defaultLibserialportFilename(
) → String - Default per-platform soname / filename for libserialport.
-
openLibserialport(
{String? path}) → DynamicLibrary -
Opens libserialport from
path(or the default soname when null). Throws if the library is not present on the system.
Typedefs
-
SpFreePortDart
= void Function(Pointer<
Void> port) -
SpFreePortNative
= Void Function(Pointer<
Void> port) -
SpGetPortByNameDart
= int Function(Pointer<
Utf8> portName, Pointer<Pointer< portPtr)Void> > -
SpGetPortByNameNative
= Int32 Function(Pointer<
Utf8> portName, Pointer<Pointer< portPtr)Void> > -
SpGetSignalsDart
= int Function(Pointer<
Void> port, Pointer<Int32> signals) -
SpGetSignalsNative
= Int32 Function(Pointer<
Void> port, Pointer<Int32> signals) -
SpReadWriteDart
= int Function(Pointer<
Void> port, Pointer<Uint8> buf, int count) -
SpReadWriteNative
= IntPtr Function(Pointer<
Void> port, Pointer<Uint8> buf, IntPtr count) -
SpVoidIntDart
= int Function(Pointer<
Void> port) -
SpVoidIntFlagDart
= int Function(Pointer<
Void> port, int flag) -
SpVoidIntFlagNative
= Int32 Function(Pointer<
Void> port, Int32 flag) -
SpVoidIntNative
= Int32 Function(Pointer<
Void> port)