/// <summary> /// Construct a new Microchip MCP9700 or MCP9701 /// </summary> public Mcp9700(AdcPin pin, Type type = Type.Mcp9700) { this.type = type; this.pin = pin; pin.MakeAnalogInAsync(); pin.AnalogVoltageChangedThreshold = 0.01; pin.AnalogVoltageChanged += Pin_AnalogVoltageChanged; }
/// <summary> /// Construct an <see cref="AdcAnalogMux" /> using a standard 4052-style two-bit 4:1 mux. /// </summary> /// <param name="muxedPin">The upstream Adc pin to mux</param> /// <param name="settlingTime">The settling time, in ms, to use</param> /// <param name="pins">The pin(s) to use to control the mux, starting with the least-significant bit</param> public AdcAnalogMux(AdcPin muxedPin, int settlingTime, params DigitalOut[] pins) { this.pins = pins; this.pin = muxedPin; this.settlingTime = settlingTime; muxedPin.MakeAnalogInAsync(); foreach (var pin in pins) { pin.MakeDigitalPushPullOutAsync(); } }