private void HandleWriteRequest(WriteRegister writeRegisterParams) { var description = this.configurationProvider.Devices .FirstOrDefault(d => d.Id.ToString() == writeRegisterParams.Device) ?.Registers.FirstOrDefault(r => r.IntegerAddress.ToString() == writeRegisterParams.Register); if (description?.WriteAddress == null) { return; } var registerId = new RegisterId(Convert.ToUInt32(writeRegisterParams.Device), description); var value = Convert.ToDouble(writeRegisterParams.Value); this .surveyService .ScheduleWriteOperation( new RegisterWriteRequest(registerId, description.IntegerAddress, description.FloatAddress, (uint)description.WriteAddress, value), writeRegisterParams.onFinish); }
public Instruction(Operation op, Register a, WriteRegister b) { Command = $"{op} {a} {b}"; }