internal Generator(GpioCore _core, EventConfig _config, ILogger _logger) { Logger = _logger; Core = _core; Config = _config; Driver = PinController.GetDriver() ?? throw new DriverNotInitializedException(); Init(); }
public void InitPinController <T>(T driver, Enums.NumberingScheme numberingScheme = Enums.NumberingScheme.Logical) where T : IGpioControllerDriver { if (!PiGpioController.IsAllowedToExecute || IsAlreadyInit) { return; } CurrentDriver = driver.InitDriver(numberingScheme); IsAlreadyInit = true; }
private void GeneratePinConfiguration(IGpioControllerDriver _driver) { List <Pin> pinConfigs = new List <Pin>(); for (int i = 0; i < Constants.BcmGpioPins.Length; i++) { pinConfigs.Add(_driver.GetPinConfig(Constants.BcmGpioPins[i])); Logger.Trace($"Generated pin config for '{Constants.BcmGpioPins[i]}' gpio pin."); } ConfigManager.Init(new PinConfig(pinConfigs, false)); }