readWriteMultipleRegisters method

  1. @override
Future<Uint16List> readWriteMultipleRegisters(
  1. int slaveId,
  2. int readAddress,
  3. int readQuantity,
  4. int writeAddress,
  5. int writeQuantity,
  6. Uint8List value,
)
override

Read and write multiple registers, returning 16-bit values (FC 23).

Performs a combined read/write operation in a single transaction.

Parameters:

  • slaveId: The slave device ID (1-247)
  • readAddress: Starting address for read
  • readQuantity: Number of registers to read (1-125)
  • writeAddress: Starting address for write
  • writeQuantity: Number of registers to write (1-121)
  • value: Bytes to write (must be writeQuantity × 2 bytes)

Returns: Read register values

Implementation

@override
Future<Uint16List> readWriteMultipleRegisters(
    int slaveId,
    int readAddress,
    int readQuantity,
    int writeAddress,
    int writeQuantity,
    Uint8List value) async {
  final bytes = await readWriteMultipleRegistersBytes(
      slaveId, readAddress, readQuantity, writeAddress, writeQuantity, value);
  return bytesToUint16(bytes);
}