public void Add(HamsterRun newRun)
        {
            string timestr = newRun.Time.ToString("u");
            string line    = formatRow(timestr, newRun.Duration.ToString(), newRun.AVGSpeed.ToString(), newRun.MaxSpeed.ToString(), newRun.Distance.ToString());

            File.AppendAllText(_filename, line);
        }
Beispiel #2
0
        private void DisplayRun(string msg, HamsterRun run)
        {
            switch (_mode)
            {
            case DisplayMode.SPEED:
                _hamsterScreen.DisplaySpeed("Speed", "", _currentSpeed);
                break;

            case DisplayMode.MAX_SPEED:
                _hamsterScreen.DisplaySpeed("Max Speed", msg, run.MaxSpeed);
                break;

            case DisplayMode.AVG_SPEED:
                _hamsterScreen.DisplaySpeed("Avg Speed", msg, run.AVGSpeed);
                break;

            case DisplayMode.DISTANCE:
                _hamsterScreen.DisplayDistance("Distance", msg, run.Distance);
                break;

            case DisplayMode.TIME:
                _hamsterScreen.DisplayDuration("Duration", msg, run.Duration);
                break;

            case DisplayMode.ALL:
            default:
                _hamsterScreen.DisplayFull(_currentSpeed, run.Distance, run.Duration, run.MaxSpeed, run.AVGSpeed, "km/h", "s", "km");
                break;
            }
        }
Beispiel #3
0
        public void Add(HamsterRun newRun)
        {
            if (newRun.MaxSpeed > MaxSpeed)
            {
                MaxSpeed = newRun.MaxSpeed;
            }

            Distance += newRun.Distance;
            Duration += newRun.Duration;

            AVGSpeed = 3.6 * Distance / Duration;
        }
Beispiel #4
0
        private void endOfExercice(DateTime start, double duration, double avgSpeed, double maxSpeed, double distance)
        {
            Debug.WriteLine("Exercise summary:[{0}] avgSpeed={1}km/h maxSpeed={2}km/h distance={3}m duration={4}s", start.ToString("u"), avgSpeed, maxSpeed, distance, duration);
            _lastRun = new HamsterRun(start, duration, avgSpeed, maxSpeed, distance);
            if (_todayRun.Time.DayOfYear != _lastRun.Time.DayOfYear)
            {
                _todayRun.Reset();
            }

            _todayRun.Add(_lastRun);
            _totalRun.Add(_lastRun);
            foreach (HamsterRunArchiver archiver in _archivers)
            {
                archiver.Add(_lastRun);
            }
        }
Beispiel #5
0
 public HamsterController(string url, string pwmHwId, string displayHwId, string nextButtonHwId, string prevButtonHwId, string durButtonHwId, string resetButtonHwId, uint diameterMM, uint inactivityS, string csvfile, bool useImperial)
 {
     _url             = url;
     _nextButtonHwId  = nextButtonHwId;
     _prevButtonHwId  = prevButtonHwId;
     _durButtonHwId   = durButtonHwId;
     _resetButtonHwId = resetButtonHwId;
     _pwmHwId         = pwmHwId;
     _displayHwId     = displayHwId;
     _currenRun       = new HamsterRun();
     _diameterMM      = diameterMM;
     _inactivityS     = inactivityS;
     _useImperial     = useImperial;
     _lastRun         = new HamsterRun();
     _todayRun        = new HamsterRun();
     _totalRun        = new HamsterRun();
     if (csvfile != "")
     {
         _archivers.Add(new CSVRunArchiver(csvfile));
     }
 }