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); }
internal Generator(EventConfig config) => Config = config;