Example #1
0
        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);
        }
Example #3
0
        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);
        }