setNext method
Implementation
void setNext(ModbusRecordType type, num value) {
if (_endOfRecord(_currentBytePos + 2 * type.recordLength)) {
throw ModbusException(
context: "ModbusFileMultipleRecord.setNext",
msg: "Setting value out of the record length");
}
var dataView = ByteData.view(recordBuffer);
var pos = _currentBytePos;
_currentBytePos += 2 * type.recordLength;
switch (type) {
case ModbusRecordType.int16:
dataView.setInt16(pos, value as int);
break;
case ModbusRecordType.uint16:
dataView.setUint16(pos, value as int);
break;
case ModbusRecordType.int32:
dataView.setInt32(pos, value as int);
break;
case ModbusRecordType.uint32:
dataView.setUint32(pos, value as int);
break;
case ModbusRecordType.float:
dataView.setFloat32(pos, value as double);
break;
case ModbusRecordType.double:
dataView.setFloat64(pos, value as double);
break;
}
}