Skip to main content

Meadow.Foundation.Sensors.Switches.SpstSwitch

SpstSwitch
StatusStatus badge: working
Source codeGitHub
NuGet packageNuGet Gallery for Meadow.Foundation

SpstSwitch represents a simple, on/off, Single-Pole-Single-Throw (SPST) switch that closes a circuit to either ground/common or high:

Use the CircuitTerminationType to specify whether the other side of the switch terminates to ground or high.

The following example shows how to use a SPST switch:

public class MeadowApp : App<F7Micro, MeadowApp>
{
DigitalOutputPort _blueLED;
SpstSwitch _spstSwitch;

public MeadowApp()
{
_blueLED = new DigitalOutputPort(Device.Pins.OnboardLEDBlue, true);

_spstSwitch = new SpstSwitch(Device.Pins.D13, CircuitTerminationType.High);
_spstSwitch.Changed += (s, e) =>
{
Console.WriteLine("Switch Changed");
Console.WriteLine("Switch on: " + _spstSwitch.IsOn.ToString());
};

Console.WriteLine("Initial switch state, isOn: " + _spstSwitch.IsOn.ToString());
}
}

Sample projects available on GitHub

Code Example

protected SpstSwitch spstSwitch;

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

spstSwitch = new SpstSwitch(Device.CreateDigitalInterruptPort(Device.Pins.D02, InterruptMode.EdgeFalling, ResistorMode.InternalPullDown));
spstSwitch.Changed += (s, e) =>
{
Resolver.Log.Info("Switch Changed");
Resolver.Log.Info($"Switch on: {spstSwitch.IsOn}");
};

Resolver.Log.Info("SpstSwitch ready...");

return Task.CompletedTask;
}

Sample project(s) available on GitHub

Wiring Example