writeNdef method
Implementation
Future<bool> writeNdef(NfcTag tag, int prefix, String dataPayload) async {
int payloadLength = dataPayload.length + 1;
int length = payloadLength + 4;
Uint8List header = Uint8List.fromList([
0x01,
0x03,
0xA0,
0x0C,
0x34,
0x03,
length,
0xD1,
0x01,
payloadLength,
0x55,
prefix
]);
Uint8List data = Uint8List.fromList(header +
Uint8List.fromList(dataPayload.codeUnits) +
Uint8List.fromList([0xFE]));
int start;
int end;
bool? isSuccess;
Uint8List payload;
int loop = ((data.length + 3) / 4).ceil();
for (int i = 0; i < loop; i++) {
start = i * 4;
end = start + 4;
if (end > data.length) {
payload = data.sublist(start, data.length);
if (payload.length != Sic431XFlag.B_ACK) {
for (int j = payload.length; j < 4; j++) {
payload = Uint8List.fromList(payload + '0'.codeUnits);
}
}
} else {
payload = data.sublist(start, end);
}
isSuccess = await writeE2(tag, (0x04 + i), payload);
}
return isSuccess!;
}