Remarks

Mcp4162
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.ICs.DigiPots.Mcp4xxx

Code Example

protected Mcp4162 mcp;

public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");

    mcp = new Mcp4162(
        Device.CreateSpiBus(),
        Device.Pins.D15.CreateDigitalOutputPort(),
        new Resistance(5, Resistance.UnitType.Kiloohms)
        );

    return base.Initialize();
}

public override async Task Run()
{
    Resolver.Log.Info("Run");

    for (var i = 0; i <= mcp.MaxResistance.Ohms; i += 100)
    {
        var r = new Resistance(i, Resistance.UnitType.Ohms);
        Resolver.Log.Info($"Setting resistance to {r.Ohms:0} ohms");
        mcp.Rheostats[0].Resistance = r;
        await Task.Delay(1000);
    }

    Resolver.Log.Info("Done");
}

Sample project(s) available on GitHub

Characteristic Locus
Inheritance object Mcp4xxx Mcp4xx2 > Mcp4162
Implements ISpiPeripheral
Inherited Members Mcp4xx2.Rheostats Mcp4xxx.SpiComms Mcp4xxx.DefaultSpiBusMode Mcp4xxx.DefaultSpiBusSpeed Mcp4xxx.MaxResistance Mcp4xxx.SpiBusMode Mcp4xxx.SpiBusSpeed object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()
Namespace Meadow.Foundation.ICs.DigiPots
Assembly Mcp4xxx.dll

Syntax

public class Mcp4162 : Mcp4xx2, ISpiPeripheral

Constructors

Mcp4162(ISpiBus, IDigitalOutputPort, Resistance)

Initializes a new instance of the Mcp4162 class.

Declaration
public Mcp4162(ISpiBus spiBus, IDigitalOutputPort chipSelect, Resistance maxResistance)

Parameters

Type Name Description
ISpiBus spiBus

The SPI bus to which the MCP4162 is connected.

IDigitalOutputPort chipSelect

The digital output port for the chip select (CS) pin.

Resistance maxResistance

The maximum resistance of the rheostat.

Remarks

Mcp4162
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.ICs.DigiPots.Mcp4xxx

Code Example

protected Mcp4162 mcp;

public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");

    mcp = new Mcp4162(
        Device.CreateSpiBus(),
        Device.Pins.D15.CreateDigitalOutputPort(),
        new Resistance(5, Resistance.UnitType.Kiloohms)
        );

    return base.Initialize();
}

public override async Task Run()
{
    Resolver.Log.Info("Run");

    for (var i = 0; i <= mcp.MaxResistance.Ohms; i += 100)
    {
        var r = new Resistance(i, Resistance.UnitType.Ohms);
        Resolver.Log.Info($"Setting resistance to {r.Ohms:0} ohms");
        mcp.Rheostats[0].Resistance = r;
        await Task.Delay(1000);
    }

    Resolver.Log.Info("Done");
}

Sample project(s) available on GitHub

Properties

MaxSteps

Gets the maximum number of steps or resolution.

Declaration
public override int MaxSteps { get; }

Property Value

Type Description
int

Overrides

Remarks

Mcp4162
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.ICs.DigiPots.Mcp4xxx

Code Example

protected Mcp4162 mcp;

public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");

    mcp = new Mcp4162(
        Device.CreateSpiBus(),
        Device.Pins.D15.CreateDigitalOutputPort(),
        new Resistance(5, Resistance.UnitType.Kiloohms)
        );

    return base.Initialize();
}

public override async Task Run()
{
    Resolver.Log.Info("Run");

    for (var i = 0; i <= mcp.MaxResistance.Ohms; i += 100)
    {
        var r = new Resistance(i, Resistance.UnitType.Ohms);
        Resolver.Log.Info($"Setting resistance to {r.Ohms:0} ohms");
        mcp.Rheostats[0].Resistance = r;
        await Task.Delay(1000);
    }

    Resolver.Log.Info("Done");
}

Sample project(s) available on GitHub