CCSWE.nanoFramework.NeoPixel
0.2.4
See the version list below for details.
dotnet add package CCSWE.nanoFramework.NeoPixel --version 0.2.4
NuGet\Install-Package CCSWE.nanoFramework.NeoPixel -Version 0.2.4
<PackageReference Include="CCSWE.nanoFramework.NeoPixel" Version="0.2.4" />
paket add CCSWE.nanoFramework.NeoPixel --version 0.2.4
#r "nuget: CCSWE.nanoFramework.NeoPixel, 0.2.4"
// Install CCSWE.nanoFramework.NeoPixel as a Cake Addin #addin nuget:?package=CCSWE.nanoFramework.NeoPixel&version=0.2.4 // Install CCSWE.nanoFramework.NeoPixel as a Cake Tool #tool nuget:?package=CCSWE.nanoFramework.NeoPixel&version=0.2.4
CCSWE.nanoFramework.NeoPixel
A fast ESP32 RMT library for controlling LED chipsets (NeoPixel, WS2812B, etc.)
I was originally using the Ws28xx.Esp32 but it was taking 600-700ms to update a strip of 50 LEDs. This was not fast enough for my use case so I set out to find a faster solution.
The NeoPixelStripLowMemory sample code was much faster at 50-60ms to update the same strip so that's where I started. I've also been looking at the FastLED library as I've used that in the past and it is indeed fast.
I've never spent time learning how these LEDs actually work so I'm learning as I go along and would love feedback or contributions from others with more experience in this area.
Usage
See samples for more details.
Initialize the strip
// Configure the number of LEDs
ushort count = 47;
// Adjust the pin number
byte pin = 19;
// Choose the correct driver and color order
var driver = new Ws2812B(ColorOrder.GRB);
// Create the strip
var strip = new NeoPixelStrip(pin, count, driver);
Set the LEDs
// Set all LEDs
strip.Fill(Color.Pink);
for (var i = 0; i < strip.Count; i++)
{
if (i % 2 == 0)
{
// Set an individual LED
strip.SetLed(i, Color.Blue);
}
}
// Send the data to update the strip
strip.Update();
Brightness scaling
Both the Fill
and SetPixel
methods have overloads that allow you to pass a brightness scaling factor. If you will be using the same color for multiple calls then it is more efficient to call ColorConverter.ScaleBrightness(Color, double)
directly and use the pre-scaled Color
across multiple calls.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- CCSWE.nanoFramework.Math (>= 0.1.2)
- nanoFramework.CoreLibrary (>= 1.14.2)
- nanoFramework.Graphics.Core (>= 1.1.37)
- nanoFramework.Hardware.Esp32.Rmt (>= 2.0.1)
- nanoFramework.Runtime.Events (>= 1.11.6)
- nanoFramework.System.Math (>= 1.5.29)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on CCSWE.nanoFramework.NeoPixel:
Repository | Stars |
---|---|
nanoframework/Samples
🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
|
Version | Downloads | Last updated |
---|---|---|
1.0.65 | 90 | 10/29/2024 |
1.0.64 | 94 | 10/22/2024 |
1.0.63 | 102 | 10/15/2024 |
1.0.62 | 102 | 10/8/2024 |
1.0.61 | 112 | 10/1/2024 |
1.0.60 | 95 | 9/26/2024 |
1.0.59 | 79 | 9/21/2024 |
1.0.58 | 80 | 9/21/2024 |
1.0.57 | 118 | 9/13/2024 |
1.0.56 | 112 | 8/31/2024 |
1.0.55 | 103 | 8/31/2024 |
1.0.54 | 102 | 8/29/2024 |
1.0.53 | 130 | 8/11/2024 |
1.0.52 | 101 | 8/11/2024 |
1.0.51 | 101 | 8/7/2024 |
1.0.50 | 70 | 8/5/2024 |
1.0.49 | 74 | 8/2/2024 |
1.0.48 | 76 | 8/2/2024 |
1.0.47 | 97 | 7/26/2024 |
1.0.46 | 115 | 7/25/2024 |
1.0.45 | 80 | 7/24/2024 |
1.0.44 | 106 | 7/18/2024 |
1.0.43 | 84 | 7/18/2024 |
1.0.42 | 95 | 7/17/2024 |
1.0.41 | 103 | 7/16/2024 |
1.0.40 | 90 | 7/15/2024 |
1.0.39 | 99 | 7/13/2024 |
1.0.38 | 92 | 7/13/2024 |
1.0.37 | 102 | 7/12/2024 |
1.0.36 | 103 | 7/1/2024 |
1.0.35 | 108 | 6/29/2024 |
1.0.34 | 115 | 6/26/2024 |
1.0.32 | 96 | 6/26/2024 |
1.0.25 | 95 | 6/21/2024 |
1.0.24 | 110 | 6/14/2024 |
1.0.23 | 101 | 6/13/2024 |
1.0.22 | 99 | 6/12/2024 |
1.0.21 | 102 | 6/5/2024 |
1.0.20 | 96 | 6/5/2024 |
1.0.18 | 107 | 6/4/2024 |
1.0.17 | 96 | 6/3/2024 |
1.0.16 | 94 | 6/3/2024 |
1.0.15 | 90 | 6/3/2024 |
1.0.14 | 107 | 6/3/2024 |
1.0.13 | 106 | 5/25/2024 |
1.0.12 | 99 | 5/24/2024 |
1.0.11 | 104 | 5/23/2024 |
1.0.10 | 99 | 5/19/2024 |
1.0.9 | 114 | 5/17/2024 |
1.0.8 | 110 | 5/16/2024 |
1.0.7 | 105 | 5/15/2024 |
1.0.6 | 90 | 5/13/2024 |
1.0.5 | 98 | 5/11/2024 |
1.0.4 | 109 | 5/10/2024 |
1.0.3 | 95 | 5/10/2024 |
1.0.2 | 128 | 4/26/2024 |
1.0.1 | 117 | 4/25/2024 |
1.0.0 | 109 | 4/25/2024 |
0.3.17 | 113 | 4/11/2024 |
0.3.16 | 106 | 4/10/2024 |
0.3.15 | 109 | 4/9/2024 |
0.3.14 | 104 | 4/8/2024 |
0.3.13 | 118 | 4/5/2024 |
0.3.12 | 105 | 4/4/2024 |
0.3.11 | 112 | 4/3/2024 |
0.3.10 | 96 | 3/23/2024 |
0.3.9 | 144 | 2/3/2024 |
0.3.8 | 106 | 2/1/2024 |
0.3.7 | 111 | 1/28/2024 |
0.3.6 | 91 | 1/26/2024 |
0.3.5 | 106 | 1/25/2024 |
0.3.4 | 251 | 11/20/2023 |
0.3.3 | 135 | 11/16/2023 |
0.3.2 | 144 | 11/10/2023 |
0.3.1 | 125 | 11/10/2023 |
0.3.0 | 103 | 11/10/2023 |
0.2.4 | 126 | 11/9/2023 |
0.2.3 | 127 | 11/8/2023 |
0.2.2 | 144 | 11/4/2023 |
0.2.1 | 137 | 11/3/2023 |
0.2.0 | 129 | 11/3/2023 |
0.1.6 | 127 | 11/2/2023 |
0.1.5 | 130 | 11/2/2023 |
0.1.4 | 120 | 11/2/2023 |
0.1.2 | 128 | 11/2/2023 |
0.1.1 | 115 | 11/2/2023 |
0.1.0 | 122 | 11/1/2023 |