// ------------------------------------------------------------- #endregion ctor // ------------------------------------------------------------- #region methods // ------------------------------------------------------------- /** * Gibt den Pin wieder frei */ public void Dispose( ) { this.ListenGpio.Dispose( ); this.listenGpio = null; this.pin = null; }
// ------------------------------------------------------------- /** * Gibt die Instance für einen Pin wieder * * @param[in] _pin (Pin) Den Pin für den die Instance abgerufen wird * @param[in] _setup (PinSetup) Der Setup für diesen Pin * * @return (GPIOPin) Die Instance für den abgerufen Pin. */ public GPIOPin SetupOrChangeGPIOPin(Pin _pin, PinSetup _setup) { GPIOPin result = this[_pin]; if (result == null) { result = new GPIOPin(_pin, _setup); this.GPIOPins.Add(result); } else { result.ChangeSetup(_setup); } return(result); }
// ------------------------------------------------------------- #endregion get/set // ------------------------------------------------------------- #region ctor // ------------------------------------------------------------- /** * Konstuktor dieser Klasse * * @param[in] _pin (Pin) Der Pin der diese Instance zugewiesen wird * @param[in] _setup (PinSetup) Der Setup mit dem dieser Pin Initialisiert wurde */ protected GPIO(Pin _pin, PinSetup _setup) { this.pin = GPIOController.Instance.SetupOrChangeGPIOPin(_pin, _setup); }