using InnovEnergy.Lib.Utils; namespace InnovEnergy.Lib.Protocols.Modbus.Conversions; public partial class ModbusRegisters { // TODO: SetBytes public Byte[] GetBytes(UInt16 index, UInt16 nBytes) { var nRegisters = (UInt16)Math.Ceiling(nBytes / 2.0); return Enumerable .Range(StartRegister + index, nRegisters) .Select(i => (UInt16)i) .Select(GetUInt16) .SelectMany(r => BitConverter.GetBytes(r).Reverse()) // Big Endian .Take(nBytes) .ToArray(nBytes); } }