Exemple #1
0
        public override bool CheckParametersOk(out string errorMessage)
        {
            errorMessage = String.Empty;

            if ((Settings.HwName == null) || (!HWStore.ContainsKey(Settings.HwName)) || !HWStore[Settings.HwName].IsEnabled)
            {
                errorMessage = "Configuration Error in '" + Name + "': Selected hardware invalid or disabled";
                return(false);
            }

            // Try to configure
            hw = (PS_PalmSens)HWStore[Settings.HwName];

            ConfigureAmperometricDetectionMethod();

            List <MethodError> errorList = ampoD.Validate(hw.Capabilities);

            if (errorList.Count > 0)
            {
                errorMessage = "Configuration Error in '" + Name + "':\r\n";
                foreach (MethodError me in errorList)
                {
                    errorMessage += "Parameter " + me.Parameter + ": " + me.Message + "\r\n";
                }

                return(false);
            }

            return(true);
        }
        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);
        }
Exemple #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);
        }