read method

Future<Uint16List?> read(
  1. int slave,
  2. RegisterType rtype,
  3. int addr,
  4. int size,
  5. QualifiedCharacteristic writer,
  6. Function listen, {
  7. int retry = 5,
  8. int timeout = 500,
})

Implementation

Future<Uint16List?> read(int slave, RegisterType rtype, int addr, int size,
  QualifiedCharacteristic writer,Function listen,
    {int retry = 5, int timeout = 500}) async {
  Uint8List data;
  switch (rtype) {
    case RegisterType.holding:
      data = ModbusPtl.readHoldingRegister(slave, addr, size);
      break;
    case RegisterType.input:
      data = ModbusPtl.readInputRegister(slave, addr, size);
      break;
    default:
      throw UnsupportedError('Unsupported register type: $rtype');
  }

  List<int>? ret = await call(data, writer, listen);

  if (ret == null) return null;

  Tuple3<int, int, Uint16List>? recv = ModbusPtl.r_modbus_read(Uint8List.fromList(ret!));

  return recv?.item3;

}