public double ReadAnalog(AnalogPin pin) { if (!Enum.IsDefined(typeof(AnalogPin), pin)) throw new ArgumentException(nameof(pin)); return this.analog.Read((byte)pin); }