public override void HandleMiscCommand(PacketCommandMini command) { if (command.PacketID == PhysLoggerPacketCommandID.SetValue) { if (command.PayLoad[0] == 0) // calibration data { int channel = command.PayLoad[1]; int gain = command.PayLoad[2]; float inl = BitConverter.ToSingle(command.PayLoad, 3); float dnl = BitConverter.ToSingle(command.PayLoad, 7); INLCorrectionTable[channel, gain] = inl; DNLCorrectionTable[channel, gain] = dnl; } else { } } else if (command.PacketID == PhysLoggerPacketCommandID.GetValue) { if (command.PayLoad[0] == 3) // Range Change Feedback { var relatedIns = (SelectedInstruments.FindAll(ins => ins is I2CInstrument) .FindAll(iIns => ((I2CInstrument)iIns).InstrumentAddress == command.PayLoad[1])).Cast <I2CInstrument>().ToList(); foreach (var relIns in relatedIns) { var actualRange = relIns.Ranges.Items.Find(r => r.Code == command.PayLoad[2]); relIns.Ranges.Current = actualRange; } } } }
private void SelectedInstrumentChangeHandler(IList selectedItems) { SelectedInstruments.Clear(); SelectedInstruments.AddRange(selectedItems.Cast <Instrument>().ToList()); SelectedInstrumentCount = SelectedInstruments.Count; }
private void NewDataRequest() { var window = new Windows.HistoricalRequestWindow(SelectedInstruments.First()); window.Show(); }