internal static void CopyFrom(this IModbusRegistersTable table, MessageBufferSpan messageBufferSpan, int offset, int count) { for (var i = 0; i < count; i++) { table[i + offset] = (ushort)((messageBufferSpan[i * 2] << 8) + messageBufferSpan[i * 2 + 1] & 0xFFFF); } }
internal static void CopyTo(this IModbusRegistersTable table, IMessageBufferWriter bufferWriter, int offset, int count) { bufferWriter.Push((byte)(count * 2)); for (var i = 0; i < count; i++) { bufferWriter.Push((byte)((table[i + offset] >> 8) & 0xFF)); bufferWriter.Push((byte)(table[i + offset] & 0xFF)); } }
public ModbusMemoryMap(IModbusCoilsTable coils, IModbusRegistersTable registers) { InputCoils = OutputCoils = coils ?? throw new ArgumentNullException(nameof(coils)); InputRegisters = OutputRegisters = registers ?? throw new ArgumentNullException(nameof(registers)); }
public ModbusMemoryMap(IModbusCoilsTable inputCoils, IModbusCoilsTable outputCoils, IModbusRegistersTable inputRegisters, IModbusRegistersTable outputRegisters) { InputCoils = inputCoils ?? throw new ArgumentNullException(nameof(inputCoils)); OutputCoils = outputCoils ?? throw new ArgumentNullException(nameof(outputCoils)); InputRegisters = inputRegisters ?? throw new ArgumentNullException(nameof(inputRegisters)); OutputRegisters = outputRegisters ?? throw new ArgumentNullException(nameof(outputRegisters)); }