Skip to main content
Any Framework

Iot.Device.Multiplexing assembly for .NET nanoFramework C# projects

Published
Mar 8, 2022
4y ago
Total Downloads
94.5K
94,459

Install

dotnet add package nanoFramework.Iot.Device.Multiplexing --version 1.0.277-preview.98

No framework information available.

README

Iot.Device.Multiplexing

Generic helper implementation for pin multiplexing. See ShiftRegister or Sn74hc595.

Usage

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Device.Gpio;
using System.Threading;
using Iot.Device.Multiplexing;

int[] pins = new int[] { 4, 17, 27, 22, 5, 6, 13, 19 };
using IOutputSegment segment = new GpioOutputSegment(pins);

CancellationTokenSource cts = new();
CancellationToken token = cts.Token;
bool controlCRequested = false;
TimeSpan delay = TimeSpan.FromSeconds(5);

WriteLine("Light all LEDs");
segment.TurnOffAll();
for (int i = 0; i < pins.Length; i++)
{
    segment.Write(i, 1);
}

WriteLine("Light every other LED");
segment.TurnOffAll();
for (int i = 0; i < pins.Length; i++)
{
    segment.Write(i, i % 2);
}

WriteLine("Light every other (other) LED");
segment.TurnOffAll();
for (int i = 0; i < pins.Length; i++)
{
    segment.Write(i, (i + 1) % 2);
}

WriteLine("Display binary 128");
segment.TurnOffAll();
for (int i = 0; i < pins.Length; i++)
{
    segment.Write(128);
}

segment.TurnOffAll();
WriteLine("Done.");

Changes from Previous Version

No structural changes between v1.0.277-preview.77 and v1.0.277-preview.98.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.