write method
Write function with data over connector. Will be called from the ModbusClientImpl
Implementation
@override
void write(int function, Uint8List data) {
_tid++;
Uint8List tcpHeader = Uint8List(7); // Modbus Application Header
ByteData.view(tcpHeader.buffer)
..setUint16(0, _tid, Endian.big)
..setUint16(4, 1 /*unitId*/ + 1 /*fn*/ + data.length, Endian.big)
..setUint8(6, _unitId);
Uint8List fn = Uint8List(1); // Modbus Application Header
ByteData.view(fn.buffer).setUint8(0, function);
Uint8List tcpData = Uint8List.fromList(tcpHeader + fn + data);
log.finest('SEND: ' + dumpHexToString(tcpData));
if (_mode == ModbusMode.ascii) tcpData = AsciiConverter.toAscii(tcpData);
_socket!.add(tcpData);
}