/// <summary> /// Adapts domain PinMode to controller PinMode. /// </summary> /// <param name="pinMode"></param> /// <returns></returns> private PinMode AdaptPinMode(Domain.PinController.PinMode pinMode) { return(pinMode switch { Domain.PinController.PinMode.Input => PinMode.Input, Domain.PinController.PinMode.Output => PinMode.Output, _ => throw new NotFiniteNumberException(pinMode.ToString()) });
/// <summary> /// Opens a specific pin. /// </summary> /// <param name="pin">The pin to open.</param> /// <param name="pinMode">The desired pin mode.</param> public void OpenPin(DigitalPin pin, Domain.PinController.PinMode pinMode) { this._controller.OpenPin(pin.Number, this.AdaptPinMode(pinMode)); }