close method
Implementation
Uint8List close() {
Uint8List data = _writer.toBytes();
// Update header
_header.dataSize = data.length - Fit.headerWithCrcSize;
// Create new writer for the final file
var finalWriter = EndianBinaryWriter();
_header.write(finalWriter);
// Copy message data
Uint8List messageData = data.sublist(Fit.headerWithCrcSize);
finalWriter.writeBytes(messageData);
// Calculate and write CRC
Uint8List allData = finalWriter.toBytes();
int crc = Crc.calc16(allData, allData.length);
finalWriter.writeUInt16(crc);
return finalWriter.toBytes();
}