writeAll method

Future<bool> writeAll(
  1. NfcTag tag,
  2. int address,
  3. Uint8List dataPayload
)

Implementation

Future<bool> writeAll(NfcTag tag, int address, Uint8List dataPayload) async {
  int start, end;
  bool? isSuccess;
  Uint8List payload;
  int loop = ((dataPayload.length + 3) / 4).ceil();

  for (int i = 0; i < loop; i++) {
    start = i * 4;
    end = start + 4;

    if (end > dataPayload.length) {
      payload = dataPayload.sublist(start, dataPayload.length);

      if (payload.length > 4) {
        for (int j = payload.length; j < 4; j++) {
          payload = Uint8List.fromList(payload + '0'.codeUnits);
        }
      }
    } else {
      payload = dataPayload.sublist(start, end);
    }

    isSuccess = await writeE2(tag, (address + i), payload);
  }

  return isSuccess!;
}