Iso15693 class
ISO 15693, as CoreNFC exposes it, with typed commands rather than raw transceive. iOS only; Android reaches the same tags through NfcV.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- icManufacturerCode → int
-
The IC manufacturer's registration code, as assigned by ISO/IEC 7816-6.
final
- icSerialNumber → Uint8List
-
The manufacturer-assigned serial number, which together with icManufacturerCode makes
up the tag's UID.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
authenticate(
{required Set< Iso15693RequestFlag> requestFlags, required int cryptoSuiteIdentifier, required Uint8List message}) → Future<Iso15693Response> - Authenticates against the tag (0x35), per ISO/IEC 29167.
-
challenge(
{required Set< Iso15693RequestFlag> requestFlags, required int cryptoSuiteIdentifier, required Uint8List message}) → Future<void> - Poses a challenge (0x39), which answers nothing on its own: the tag computes into its response buffer, and readBuffer is what collects the result.
-
customCommand(
{required Set< Iso15693RequestFlag> requestFlags, required int customCommandCode, required Uint8List customRequestParameters}) → Future<Uint8List> -
Sends a manufacturer-defined command.
customCommandCodeis 0xA0-0xDF. -
customCommandWithConfiguration(
{required int manufacturerCode, required int customCommandCode, required Uint8List customRequestParameters, required Iso15693CommandConfiguration configuration}) → Future< Uint8List> -
As customCommand, with the retries
configurationasks for and an explicitmanufacturerCodein place of the tag's own icManufacturerCode. -
extendedFastReadMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< Uint8List> > - As fastReadMultipleBlocks (0x3D), for tags with more than 256 blocks.
-
extendedGetMultipleBlockSecurityStatus(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< int> > - As getMultipleBlockSecurityStatus, for tags with more than 256 blocks.
-
extendedLockBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber}) → Future<void> -
As lockBlock, for tags with more than 256 blocks.
blockNumberis 0-65535. -
extendedReadMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< Uint8List> > - As readMultipleBlocks, for tags with more than 256 blocks.
-
extendedReadSingleBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber}) → Future<Uint8List> - As readSingleBlock, for tags with more than 256 blocks.
-
extendedWriteMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks, required List<Uint8List> dataBlocks}) → Future<void> -
As writeMultipleBlocks, for tags with more than 256 blocks.
dataBlocksmust holdnumberOfBlocksentries, each one exactly the tag's block size. -
extendedWriteSingleBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required Uint8List dataBlock}) → Future<void> -
As writeSingleBlock, for tags with more than 256 blocks.
blockNumberis 0-65535. -
fastReadMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< Uint8List> > - As readMultipleBlocks, with the fast read command (0x2D), which the tag answers at double the data rate. Not every tag implements it.
-
getMultipleBlockSecurityStatus(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< int> > - Reports the lock state of each block in the range, one entry per block.
-
getSystemInfo(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<Iso15693SystemInfo> - Reads the tag's own description: block size, block count, AFI and DSFID.
-
getSystemInfoAndUid(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<Iso15693SystemInfo> - Reads the tag's own description, Iso15693SystemInfo.uid included.
-
keyUpdate(
{required Set< Iso15693RequestFlag> requestFlags, required int keyIdentifier, required Uint8List message}) → Future<Iso15693Response> -
Replaces the key
keyIdentifiernames (0x36). -
lockAfi(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<void> - Locks the AFI permanently.
-
lockBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber}) → Future<void> - Locks one block permanently. It can never be written again.
-
lockDsfId(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<void> - Locks the DSFID permanently.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
readBuffer(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<Iso15693Response> - Reads whatever the tag left in its response buffer (0x3A), which is where challenge puts its answer.
-
readMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks}) → Future<List< Uint8List> > -
Reads
numberOfBlocksconsecutive blocks starting atblockNumber, one entry each. -
readMultipleBlocksWithConfiguration(
{required int blockNumber, required int numberOfBlocks, required int chunkSize, required Iso15693CommandConfiguration configuration}) → Future< List< Uint8List> > -
As readMultipleBlocks, except CoreNFC cuts the range into requests of
chunkSizeblocks and retries each one perconfigurationwithout coming back to Dart in between. The tag's hardware caps how large a chunk it will answer. -
readSingleBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber}) → Future<Uint8List> -
Reads one block.
blockNumberis 0-255; use extendedReadSingleBlock beyond that. -
resetToReady(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<void> - Moves the tag back to the ready state, undoing select or stayQuiet.
-
select(
{required Set< Iso15693RequestFlag> requestFlags}) → Future<void> - Puts the tag in the selected state, so later commands need not carry its UID.
-
sendRequest(
{required int requestFlags, required int commandCode, Uint8List? data}) → Future< Iso15693Response> - Sends any ISO 15693-3 request: the 8-bit request flag, an 8-bit command code, and the data the command takes, if it takes any.
-
stayQuiet(
) → Future< void> - Silences the tag until it leaves the field, so other tags can be reached.
-
toString(
) → String -
A string representation of this object.
inherited
-
writeAfi(
{required Set< Iso15693RequestFlag> requestFlags, required int afi}) → Future<void> - Sets the application family identifier, 0-255.
-
writeDsfId(
{required Set< Iso15693RequestFlag> requestFlags, required int dsfId}) → Future<void> - Sets the data storage format identifier, 0-255.
-
writeMultipleBlocks(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required int numberOfBlocks, required List<Uint8List> dataBlocks}) → Future<void> -
Writes consecutive blocks.
dataBlocksmust holdnumberOfBlocksentries. -
writeSingleBlock(
{required Set< Iso15693RequestFlag> requestFlags, required int blockNumber, required Uint8List dataBlock}) → Future<void> -
Writes one block.
dataBlockmust be exactly the tag's block size.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited