Пример #1
0
        public void RegisterGpioEvent(List <GpioPinEventData> pinDataList)
        {
            if (pinDataList == null || pinDataList.Count <= 0)
            {
                return;
            }

            foreach (GpioPinEventData pin in pinDataList)
            {
                if (pin.GpioPin > 40 || pin.GpioPin <= 0)
                {
                    pinDataList.Remove(pin);
                    Logger.Log($"Specified pin is either > 40 or <= 0. Removed from the list. ({pin.GpioPin})", Enums.LogLevels.Warn);
                }
            }

            if (!Core.CoreInitiationCompleted || Core.DisablePiMethods)
            {
                return;
            }

            foreach (GpioPinEventData pin in pinDataList)
            {
                GpioEventGenerator Generator = new GpioEventGenerator(Controller, this);
                Generator.StartPinPolling(pin);
                GpioPinEventGenerators.Add(Generator);
            }
        }
Пример #2
0
        public void RegisterGpioEvent(GpioPinEventData pinData)
        {
            if (pinData == null)
            {
                return;
            }

            if (pinData.GpioPin > 40 || pinData.GpioPin <= 0)
            {
                Logger.Log($"Specified pin is either > 40 or <= 0. Aborted. ({pinData.GpioPin})", Enums.LogLevels.Warn);
                return;
            }

            if (!Core.CoreInitiationCompleted || Core.DisablePiMethods)
            {
                return;
            }

            GpioEventGenerator Generator = new GpioEventGenerator(Controller, this);

            Generator.StartPinPolling(pinData);
            GpioPinEventGenerators.Add(Generator);
        }