Characteristic Locus
Inheritance System.Object > DipSwitch
Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone()
Namespace Meadow.Foundation.Sensors.Switches
Assembly Meadow.Foundation.dll

Syntax

public class DipSwitch

Remarks

Represents a DIP-switch wired in a bus configuration, in which all switches are terminated to the same ground/common or high pin.

Examples

using Meadow;
using System.Threading;
using Meadow.Foundation.Sensors.Switches;

namespace DipSwitch_Sample
{
    public class Program
    {
        static IApp _app; 
        public static void Main()
        {
            _app = new App();
        }
    }

    public class App : AppBase<F7Micro, App>
    {
        public void App()
        {
            var dipSwitch = new DipSwitch(IDigitalPin[] {
                Device.Pins.D05, Device.Pins.D06, 
                Device.Pins.D07, Device.Pins.D08, 
                Device.Pins.D09, Device.Pins.D10, 
                Device.Pins.D11, Device.Pins.D12,  },
                CircuitTerminationType.CommonGround);

            dipSwitch.Changed += (object s, ArrayEventArgs e) =>
            {
                Debug.Print("Switch " + e.ItemIndex + " changed to " 
                    + (((ISwitch)e.Item).IsOn ? "on" : "off"));
            };

            Thread.Sleep(Timeout.Infinite);
        }
    }
}
Example Circuit

Constructors

View Source

DipSwitch(IDigitalInputPort[])

Creates a new DipSwitch connected to an array of Interrupt Ports

Declaration
public DipSwitch(IDigitalInputPort[] interruptPorts)

Parameters

Type Name Description
IDigitalInputPort[] interruptPorts
View Source

DipSwitch(IIODevice, IPin[], InterruptMode, ResistorMode, Int32, Int32)

Creates a new DipSwitch connected to the specified switchPins, with the InterruptMode and ResisterMode specified by the type parameters.

Declaration
public DipSwitch(IIODevice device, IPin[] switchPins, InterruptMode interruptMode, ResistorMode resistorMode, int debounceDuration = 20, int glitchFilterCycleCount = 0)

Parameters

Type Name Description
IIODevice device
IPin[] switchPins
InterruptMode interruptMode
ResistorMode resistorMode
System.Int32 debounceDuration
System.Int32 glitchFilterCycleCount

Fields

View Source

Switches

Returns the switch array.

Declaration
public ISwitch[] Switches

Field Value

Type Description
ISwitch[]

Properties

View Source

Item[Int32]

Returns the ISwitch at the specified index.

Declaration
public ISwitch this[int i] { get; }

Parameters

Type Name Description
System.Int32 i

Property Value

Type Description
ISwitch

Methods

View Source

HandleSwitchChanged(Int32)

Event handler when switch value has been changed

Declaration
protected void HandleSwitchChanged(int switchNumber)

Parameters

Type Name Description
System.Int32 switchNumber

Events

View Source

Changed

Raised when one of the switches is switched on or off.

Declaration
public event ArrayEventHandler Changed

Event Type

Type Description
ArrayEventHandler