Пример #1
0
        private void _horloge_Tick(object state)
        {
            switch (_modeEnCours)
            {
            case ModesChenillard.modeAleatoire:
                _noLedAllumee = (_noLedAllumee + _hasard.Next(1, 7)) % 8;
                _piFace.EcrireSorties((byte)(1 << _noLedAllumee));
                break;

            case ModesChenillard.modeChenillard:
                _noLedAllumee = (_noLedAllumee + 1) % 8;
                _piFace.EcrireSorties((byte)(1 << _noLedAllumee));
                break;

            case ModesChenillard.modeClignotant:
                if (_clignotantOn)
                {
                    _piFace.EcrireSorties(0xFF);
                }
                else
                {
                    _piFace.EcrireSorties(0x00);
                }
                _clignotantOn = !_clignotantOn;
                break;

            case ModesChenillard.modeAllerRetour:
                _noLedAllumee += _direction;
                if (_noLedAllumee >= 8)
                {
                    _noLedAllumee = 6;
                    _direction    = -1;
                }
                else if (_noLedAllumee < 0)
                {
                    _noLedAllumee = 1;
                    _direction    = 1;
                }
                _piFace.EcrireSorties((byte)(1 << _noLedAllumee));
                break;
            }
        }