//Calibration in general public void SetCalibration(CalibrationItem item) { Calibration cal; UsbCommand cmd = new UsbCommand(0xFF); //Get calibration object switch ((byte)item & 0xF0) { case 0x00: cal = this.InputVoltageCalibration; break; case 0x10: cal = this.OutputVoltageCalibration; break; case 0x20: cal = this.InputCurrentCalibration; break; case 0x30: cal = this.OutputCurrentCalibration; break; case 0x40: cal = this.OnboardTemperatureCalibration; break; case 0x50: cal = this.ExternalTemperature1Calibration; break; case 0x60: cal = this.ExternalTemperature2Calibration; break; default: cal = this.InputVoltageCalibration; break; } //Assemble command switch ((byte)item & 0x0F) { case 0x00: byte[] offset = BitConverter.GetBytes(cal.Offset); cmd = new UsbCommand(0x60, (byte)item, offset[1], offset[0], 0x00); break; case 0x01: byte[] multiplier = BitConverter.GetBytes(cal.Multiplier); cmd = new UsbCommand(0x60, (byte)item, multiplier[1], multiplier[0], cal.Shift); break; } //Add command to cue PendingCommands.Add(cmd); }
public CalibrationItem[] GetCalibrations() { List <Calibration> calibrations = _DataAccessAgent.GetAllCalibrations(); List <CalibrationItem> items = new List <CalibrationItem>(); foreach (Calibration item in calibrations) { CalibrationItem ci = new CalibrationItem(); ci.CalibrationTime = item.CalibrationTime.ToString(); ci.Comments = item.Comments; ci.Username = item.Username; ci.Workstation = item.Workstation; items.Add(ci); } return(items.ToArray()); }
private void btnSave_Click(object sender, EventArgs e) { var sFolder = Utility.GetExeFolder(); var sFile = sFolder + stringRes.calibFileName; calibItems = new List <CalibrationItem>(); foreach (ListViewItem itm in lvCalibration.Items) { int volume = int.Parse(itm.SubItems[0].Text); double height = Math.Round(double.Parse(itm.SubItems[1].Text), 2); CalibrationItem calibItem = new CalibrationItem(height, volume); calibItems.Add(calibItem); } CalibrationItems items = new CalibrationItems(calibItems); Utility.SaveSettings(items, sFile); SetInfo("保存成功!", false); }
private void GetTipVolumeAndHegiht(double v, ref int tipVol, ref double height) { double maxV = calibItems.Max(x => x.volumeUL); double minV = calibItems.Min(x => x.volumeUL); CalibrationItem higher = calibItems.Last(); CalibrationItem lower = calibItems.First(); if (v < maxV)//find first higher { for (int i = 1; i < calibItems.Count; i++) { if (v < calibItems[i].volumeUL) { higher = calibItems[i]; lower = calibItems[i - 1]; break; } } } else { higher = calibItems.Last(); lower = calibItems[calibItems.Count - 2]; } double vDiff = higher.volumeUL - lower.volumeUL; //double tipVDiff = higher.tipVolume - lower.tipVolume; double hDiff = higher.height - lower.height; double hvRatio = hDiff / vDiff; //double tipVVRatio = tipVDiff / vDiff; double currentVDiff = v - lower.volumeUL; double heightOffset = currentVDiff * hvRatio; //double tipVOffset = currentVDiff * tipVVRatio; height = heightOffset + lower.height; //tipVol = (int)(tipVOffset + lower.tipVolume); }
private void GetVolumeAndTipVolume(double height, ref int volume, ref int tipVolume) { double maxH = calibItems.Max(x => x.height); double minH = calibItems.Min(x => x.height); CalibrationItem higher = calibItems.Last(); CalibrationItem lower = calibItems.First(); if (height < maxH)//find first higher { for (int i = 1; i < calibItems.Count; i++) { if (height < calibItems[i].height) { higher = calibItems[i]; lower = calibItems[i - 1]; break; } } } else { higher = calibItems.Last(); lower = calibItems[calibItems.Count - 2]; } double vDiff = higher.volumeUL - lower.volumeUL; //double tipVDiff = higher.tipVolume - lower.tipVolume; double hDiff = higher.height - lower.height; double vhRatio = vDiff / hDiff; //double tipVhRatio = tipVDiff / hDiff; double currentDiff = height - lower.height; double volumeOffset = currentDiff * vhRatio; //int tipVOffset = (int)(currentDiff * tipVhRatio); volume = lower.volumeUL + (int)volumeOffset; //tipVolume = lower.tipVolume + tipVOffset; }
public void AddCalibration(CalibrationItem item) { Calibration calibration = new Calibration(DateTime.Parse(item.CalibrationTime), item.Username, item.Workstation, item.Comments); _DataAccessAgent.AddCalibration(calibration); }
public void AddCalibration(string authenticationCookie, CalibrationItem calibration) { ServiceUtils.Authorize(authenticationCookie, null); _MonitorCalibration.AddCalibration(calibration); }
public void AddCalibration(string authenticationCookie, CalibrationItem calibration) { AuthHandler.Authorize(authenticationCookie, null); _MonitorCalibration.AddCalibration(calibration); }