Exemple #1
0
        public void Save(string fn)
        {
            if (ExperimentalData.Count == 0)
            {
                return;
            }

            StreamWriter sr = new StreamWriter(fn);

            MeassurePoint mpf = ExperimentalData.First();
            MeassurePoint mpl = ExperimentalData.Last();

            TimeSpan dur = mpl.Time - mpf.Time;

            sr.WriteLine("{0:20} : {1}", "DESCRIPTION", Description);
            sr.WriteLine("{0:20} : {1} at {2}", "STARTED", mpf.Time.ToShortDateString(), mpf.Time.ToShortTimeString());
            sr.WriteLine("{0:20} : {1} at {2}", "COMPLETED", mpl.Time.ToShortDateString(), mpl.Time.ToShortTimeString());
            sr.WriteLine("{0:20} : {1} ({2} minutes)", "DURATION", dur.ToString(@"hh\:mm\:ss"), dur.TotalMinutes);
            sr.WriteLine("{0:20} : {1:F3} Ah", "TOTAL CHARGE", TotalCharge);


            sr.WriteLine("TIME, MINUTES, IBAT, UBAT");

            foreach (MeassurePoint mp in ExperimentalData)
            {
                mp.Save(sr);
            }

            sr.Flush();
            sr.Close();
        }
Exemple #2
0
        protected override void ControlProcedure()
        {
            MeassurePoint mp = MakeMeassurePoint();

            mp.TotalMinutes = (DateTime.Now - StartTime).TotalMinutes;
            TotalCharge    += CalcStepCharge(mp);

            App.Current.Dispatcher.Invoke(() => ExperimentalData.Add(mp));

            mp.Save(temporaryStream);
        }
Exemple #3
0

        
Exemple #4
0
        protected double CalcStepCharge(MeassurePoint mp)
        {
            if (ExperimentalData.Count == 0)
            {
                return(0.0);
            }

            MeassurePoint mpl = null;

            lock (collectionLock)
            {
                mpl = ExperimentalData.Last();
            }

            double stepCharge = 0.0;

            if (mpl != null)
            {
                TimeSpan dt = mp.Time - mpl.Time;
                stepCharge = dt.TotalHours * Math.Abs(mp.Current);
            }

            return(stepCharge);
        }