public override enExperimentStatus Configure(IExperiment parent, string resultsFilePath) { FBC = new FeedbackController(log); FBC.Settings = Settings.FeedbackController; FBC.FBPositionUpdated += FBC_FBPositionUpdated; if (!FBC.Initialize().HasFlag(enuFeedbackStatusFlags.Ready)) { return(enExperimentStatus.Error); } this.parent = parent; ResultsFilePath = resultsFilePath; string cords = ""; ExperimentContainer container = parent as ExperimentContainer; this.parent = parent; if (container != null) { cords = container.ChildIndexer(); if (cords != "") { cords = " " + cords; } } ResultsFileName = "AutoapproachExperiment - " + Name + cords + ".dat"; TransducerChannel signalChan = FBC.Settings.TransducerChannels[FBC.Settings.Channel]; string headerString = "Experiment: AutoapproachExperiment - " + Name + "\r\n"; string unit = (signalChan.Prefix == enuPrefix.none) ? signalChan.Unit : signalChan.Prefix + signalChan.Unit; string[] dataColumnHeaders = new string[] { "Z-Position [µm]", signalChan.Name + " [" + unit + "]" }; headerString += "Positioner: " + FBC.Settings.Positioner + "\r\n"; headerString += "Sensor: " + FBC.Settings.Channel + "\r\n"; writeHeader(headerString, dataColumnHeaders.ToArray(), settingsObj: Settings, positionColumns: false, timeColumn: true); // Init ResultData experimentData = new Generic2DExperimentData(); experimentData.axisNames.Add(new string[] { "Z-Position", signalChan.Name }); experimentData.axisUnits.Add(new string[] { "µm", unit }); experimentData.data.Add(new double[2][]); signalData = new List <double>(128); positionData = new List <double>(128); experimentData.datasetNames.Add("Autoapproach"); experimentData_PA = new Generic2DExperimentData(); experimentData_PA.axisNames.Add(new string[] { "Time", signalChan.Name }); experimentData_PA.axisUnits.Add(new string[] { "s", unit }); experimentData_PA.data.Add(new double[2][]); signalData_PA = new List <double>(128); timeData_PA = new List <double>(128); experimentData_PA.datasetNames.Add("Post approach"); status = enExperimentStatus.Idle; return(status); }
public override enExperimentStatus Configure(IExperiment parent, string resultsFilePath) { // get Reference to HW from Store if (!HWStore.ContainsKey(Settings.HwName)) { log.Error("No HW with Name: " + Settings.HwName); return(enExperimentStatus.Error); } hw = (PS_PalmSens)HWStore[Settings.HwName]; ConfigureOpenCircuitPotentiometryMethod(); // Setup Results File ResultsFilePath = resultsFilePath; string cords = ""; ExperimentContainer container = parent as ExperimentContainer; this.parent = parent; if (container != null) { cords = container.ChildIndexer(); if (cords != "") { cords = " " + cords; } } ResultsFileName = "OpenCircuitPotentiometryExperiment - " + Name + cords + ".dat"; string headerString = "Experiment: OpenCircuitPotentiometryExperiment - " + Name + cords + "\r\n"; if (Settings.BiPotSettings.RecordExtraValue == ExtraValueMask.None) { // 2 columns writeHeader(headerString, new string[] { "Time [s]", "Potential [V]" }, settingsObj: Settings, positionColumns: false); } else { // 4 columns writeHeader(headerString, new string[] { "Time [s]", "Potential [V]", "Time [s]", "WE2 Potential [V]" }, settingsObj: Settings, positionColumns: false); } status = enExperimentStatus.Idle; return(status); }
public override enExperimentStatus Configure(IExperiment parent, string resultsFilePath) { // get Reference to HW from Store if (!HWStore.ContainsKey(Settings.HwName)) { log.Error("No HW with Name: " + Settings.HwName); return(enExperimentStatus.Error); } hw = (PS_PalmSens)HWStore[Settings.HwName]; ConfigureImpedimetricMethod(); // Setup Results File ResultsFilePath = resultsFilePath; string cords = ""; ExperimentContainer container = parent as ExperimentContainer; this.parent = parent; if (container != null) { cords = container.ChildIndexer(); if (cords != "") { cords = " " + cords; } } ResultsFileName = "ImpedanceSpectroscopyExperiment - " + Name + cords + ".dat"; string headerString = "Experiment: ImpedanceSpectroscopyExperiment - " + Name + cords + "\r\n"; // 2 columns writeHeader(headerString, new string[] { /*"Time [s]", "Current [µA]"*/ }, settingsObj: Settings, positionColumns: false); status = enExperimentStatus.Idle; return(status); }