setNext method

void setNext(
  1. ModbusRecordType type,
  2. num value
)

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;
  }
}