I try to play with neopixel (3 leds and 8 leds modules).
I try few board(FEZ duino, SC20100 Dev and SC20260D Dev).
I have a problem with number of leds: I should set number to 9 for both !?! Is it a bug ?
Have you same behaviour, or is it just me ?
My code is:
using System;
using System.Diagnostics;
using System.Threading;
using GHIElectronics.TinyCLR.Devices.Gpio;
using GHIElectronics.TinyCLR.Devices.Signals;
using GHIElectronics.TinyCLR.Drivers.Worldsemi.WS2812;
using GHIElectronics.TinyCLR.Native;
using GHIElectronics.TinyCLR.Pins;
namespace testWs2812
{
class Program
{
static void Main()
{
var gpio = GpioController.GetDefault();
var digitalSignalPin = DigitalSignalPin(gpio);
var digitalSignal = new DigitalSignal(digitalSignalPin);
var led = new WS2812Controller(digitalSignal, 9);
led.Clear();
led.Flush();
var brightness = 1;
var delay = 1000;
while (true)
{
led.Clear();
led.SetColor(1, brightness, brightness, 0); // Middle LED is Yellow
led.Flush();
Thread.Sleep(delay);
led.Clear();
led.SetColor(0, brightness, 0, 0); // First LED is Red
led.Flush();
Thread.Sleep(2 * delay);
led.Clear();
led.SetColor(2, 0, brightness, 0); // Third LED is Green
led.Flush();
Thread.Sleep(2 * delay);
}
}
private static GpioPin DigitalSignalPin(GpioController gpio)
{
switch (DeviceInformation.DeviceName)
{
case "SC20260": // SC20260D Dev
return gpio.OpenPin(SC20260.Timer.DigitalSignal.Controller2.PB3);
case "Mp3Reader": // FEZ Duino
return gpio.OpenPin(SC20100.Timer.DigitalSignal.Controller2.PB3);
case "SC20100": // SC20100S Dev
return gpio.OpenPin(SC20100.Timer.DigitalSignal.Controller5.PA0);
default:
Debug.WriteLine("Unknown device:" + DeviceInformation.DeviceName);
throw new Exception("Unknown board");
}
}
}
}