float32ToBytes static method
Convert 32-bit float to bytes.
Parameters:
value: 32-bit floating point numberbyteOrder: Word order (default: ByteOrder.bigEndian)
Returns: 4 bytes in big-endian format
Example:
final setpoint = 25.5;
final bytes = DataConverter.float32ToBytes(setpoint);
await client.writeMultipleRegistersBytes(1, 200, 2, bytes);
Implementation
static Uint8List float32ToBytes(double value, {ByteOrder byteOrder = ByteOrder.bigEndian}) {
final data = ByteData(4);
if (byteOrder == ByteOrder.bigEndian) {
data.setFloat32(0, value, Endian.big);
} else {
data.setFloat32(0, value, Endian.big);
final high = data.getUint16(0, Endian.big);
final low = data.getUint16(2, Endian.big);
data.setUint16(0, low, Endian.big);
data.setUint16(2, high, Endian.big);
}
return data.buffer.asUint8List();
}