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));
            }
        }
Пример #3
0
 public ModbusMemoryMap(IModbusCoilsTable coils, IModbusRegistersTable registers)
 {
     InputCoils     = OutputCoils = coils ?? throw new ArgumentNullException(nameof(coils));
     InputRegisters = OutputRegisters = registers ?? throw new ArgumentNullException(nameof(registers));
 }
Пример #4
0
 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));
 }