Ejemplo n.º 1
0
        public bool RegisterEvent(EventConfig config)
        {
            if (!PinController.IsValidPin(config.GpioPin))
            {
                Logger.Warning("The specified pin is invalid.");
                return(false);
            }

            Generator gen = new Generator(config);

            gen.Poll();

            for (int i = 0; i < 5; i++)
            {
                if (gen.IsEventRegistered)
                {
                    break;
                }

                Task.Delay(30).Wait();
            }

            if (!gen.IsEventRegistered)
            {
                return(false);
            }

            Events.Add(config.GpioPin, gen);
            return(gen.IsEventRegistered);
        }
Ejemplo n.º 2
0
 internal Generator(EventConfig config) => Config = config;