rfid_kit library

Zebra RFID readers, Link-OS label printers and DataWedge barcode scanners for Flutter, behind vendor-neutral interfaces.

Start with ReaderSession.instance for the reader, DeviceManager for a printer, and HardwareScanner.instance for the scan trigger. See the README for the Android setup (the Zebra SDK files are not bundled).

Classes

ConnectionConfig
How to reach a specific device — transport + address.
DeviceCapabilities
What a connected device can actually do.
DeviceDescriptor
Identifies a concrete device + what it can do, brand/model agnostic.
DeviceManager
The single place that decides which concrete device implementation an app runs against:
HardwareScanner
Barcodes from the device's physical scan trigger, through Zebra DataWedge.
LabelPrinter
Brand/model-agnostic contract for any label printer.
MockLabelPrinter
A fake printer for tests, web and dev machines: "prints" by completing after a short delay. Everything it was asked to print is kept in printed and raw, so tests can assert on it.
MockRfidReader
A fake reader so an app runs on Flutter Web, in tests and on dev machines with no hardware attached. Emits random tags during inventory and a wandering proximity value during locate.
NativeCrash
A crash the native side recorded on the way down, read back on the next launch.
ReaderSession
Owns the ONE RFID reader an app should have open, and the hardware trigger's state.
RfidDiagnostics
Native crash reporting for a device you can't attach a cable to.
RfidKitChannels
Names of the platform channels that bridge Dart <-> native (Kotlin).
RfidLabel
A single RFID label to encode + print with the built-in layout: the barcode as text and as Code 128, with lines of free text underneath.
RfidReader
The brand/model-agnostic contract for any RFID reader.
ScreenWake
Keeps the display awake for as long as a scan is running.
TagRead
A single RFID tag observation, normalized so the rest of the app never has to care which reader brand or model produced it.
ZebraLinkOsPrinter
Label printer backed by the native Zebra Link-OS SDK (ZT411 and other Zebra printers) through the generic bridge.
ZebraRfidReader
RFID reader backed by a native Zebra SDK (RFD40/RFD90/MC33xx, …) through the generic platform-channel bridge.

Enums

DeviceMode
How DeviceManager obtains its devices.
DeviceTransport
How the app reaches a device.

Typedefs

LabelPrinterFactory = LabelPrinter Function(DeviceDescriptor descriptor, ConnectionConfig? connection)
Builds a LabelPrinter for a device + connection.
RfidReaderFactory = RfidReader Function(DeviceDescriptor descriptor, ConnectionConfig? connection)
Builds an RfidReader for a probed device.

Exceptions / Errors

DeviceConnectionException
Failed to open/maintain the connection to a device.
DeviceException
Base error for anything in the device layer, so callers catch one type regardless of which vendor SDK actually failed underneath.
NoDeviceBackendException
No backend is registered/available for the detected hardware.
UnsupportedCapabilityException
The device is connected but cannot do the requested action (e.g. asking a print-only device to locate a tag).