示例#1
0
        public int RunForever()
        {
            string errmsg = "";
            int    res    = YAPI.RegisterHub(_url, ref errmsg);

            if (res != YAPI.SUCCESS)
            {
                Console.Error.WriteLine("Unable to register " + _url + " hub:" + errmsg);
                return(1);
            }

            foreach (HamsterRunArchiver archiver in _archivers)
            {
                archiver.Init();
            }

            try {
                _hamsterNextButton = new HamsterButton(_nextButtonHwId, nextButtonPressed);
            } catch (Exception) {
                Console.Error.WriteLine(String.Format("No button named \"{0}\" found. Disable \"next\" button.", _nextButtonHwId));
            }

            try {
                _hamsterPrevButton = new HamsterButton(_prevButtonHwId, prevButtonPressed);
            } catch (Exception) {
                Console.Error.WriteLine(String.Format("No button named \"{0}\" found. Disable \"prev\" button.", _prevButtonHwId));
            }

            try {
                _hamsterDurButton = new HamsterButton(_durButtonHwId, durButtonPressed);
            } catch (Exception) {
                Console.Error.WriteLine(String.Format("No button named \"{0}\" found. Disable \"duration\" button.", _durButtonHwId));
            }

            try {
                _hamsterResetButton = new HamsterButton(_resetButtonHwId, resetButtonPressed);
            } catch (Exception) {
                Console.Error.WriteLine(String.Format("No button named \"{0}\" found. Disable \"reset\" button.", _resetButtonHwId));
            }

            try {
                _hamsterScreen = new HamsterScreen(_displayHwId, _useImperial);
                _hamsterWheel  = new HamsterWheel(_pwmHwId, _diameterMM, _inactivityS, updateLiveValue, endOfExercice);
                _hamsterWheel.runForever();
            } catch (Exception ex) {
                Console.Error.WriteLine("Fatal error:" + ex.Message);
                Console.Error.WriteLine(ex.StackTrace);
                return(1);
            }

            return(0);
        }
示例#2
0
        private void prevButtonPressed(HamsterButton oject)
        {
            Debug.WriteLine(_mode.ToString() + "--");
            if (_mode > DisplayMode.SPEED)
            {
                _mode--;
            }
            else
            {
                _mode = DisplayMode.TIME;
            }

            UpdateDisplay();
        }
示例#3
0
        private void durButtonPressed(HamsterButton oject)
        {
            Debug.WriteLine(_displayDuration.ToString() + "++");
            if (_displayDuration < DisplayDuration.TOTAL)
            {
                _displayDuration++;
            }
            else
            {
                _displayDuration = DisplayDuration.LAST;
            }

            UpdateDisplay();
        }
示例#4
0
        private void nextButtonPressed(HamsterButton oject)
        {
            Debug.WriteLine(_mode.ToString() + "++");
            if (_mode < DisplayMode.TIME)
            {
                _mode++;
            }
            else
            {
                _mode = DisplayMode.SPEED;
            }

            UpdateDisplay();
        }
示例#5
0
 private void resetButtonPressed(HamsterButton oject)
 {
     _totalRun.Reset();
     UpdateDisplay();
 }