public void FillRequest(byte[] request, int offset) { request[offset + 0] = Slave; request[offset + 1] = 5; request[offset + 2] = ModbusHelper.High(Address); request[offset + 3] = ModbusHelper.Low(Address); request[offset + 4] = ModbusHelper.EncodeBool(Value); request[offset + 5] = 0; }
public object ParseResponse(byte[] response, int offset) { Assert.Equal(response[offset + 0], Slave, "Slave mismatch got {0} expected {1}"); Assert.Equal(response[offset + 1], 5, "Function mismatch got {0} expected {1}"); Assert.Equal(ModbusHelper.GetUShort(response, offset + 2), Address, "Address mismatch got {0} expected {1}"); Assert.Equal(response[offset + 4], ModbusHelper.EncodeBool(Value), "Value mismatch got {0} expected {1}"); Assert.Equal(response[offset + 5], 0, "Pad mismatch {0} expected:{1}"); return(null); }