nanoFramework.Iot.Device.Apa102 1.2.494

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.Apa102 --version 1.2.494                
NuGet\Install-Package nanoFramework.Iot.Device.Apa102 -Version 1.2.494                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="nanoFramework.Iot.Device.Apa102" Version="1.2.494" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add nanoFramework.Iot.Device.Apa102 --version 1.2.494                
#r "nuget: nanoFramework.Iot.Device.Apa102, 1.2.494"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install nanoFramework.Iot.Device.Apa102 as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.Apa102&version=1.2.494

// Install nanoFramework.Iot.Device.Apa102 as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.Apa102&version=1.2.494                

APA102 - Double line transmission integrated control LED

APA102 is a intelligent control LED light source that the control circuit and RGB chip are integrated in a package of 5050/2020 components. It internal include 3 groups shift register and Selfdetection sign decoder circuit.

It's different from WS2812. In addition to the data line, it has a clock line. So APA102 has no strict requirements for timing. It's more friendly to devices such as Raspberry Pi that can't precisely control the timing of data lines.

There are other models like APA107, HD107s, SK9822, etc. The controls are exactly the same.

Model SCLK PWM
APA102 20 MHz 20 kHz
APA107 30 MHz 9 kHz
HD107s 40 MHz 27 kHz
SK9822 15 MHz 4.7 kHz

Documentation

Usage

Important: make sure you properly setup the SPI pins especially for ESP32 before creating the SpiDevice, make sure you install the nanoFramework.Hardware.ESP32 nuget:

//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the SPI GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.SPI1_MOSI);
Configuration.SetPinFunction(22, DeviceFunction.SPI1_MISO);
Configuration.SetPinFunction(23, DeviceFunction.SPI1_CLOCK);
// Make sure as well you are using the right chip select

For other devices like STM32, please make sure you're using the pre-set pins for the SPI bus you want to use. The chip select can as well be pre setup.

Here is an example how to use the APA102:

using System;
using System.Device.Spi;
using System.Drawing;
using System.Threading;
using Iot.Device.Apa102;

var random = new Random();

using SpiDevice spiDevice = SpiDevice.Create(new SpiConnectionSettings(1, 42)
{
    ClockFrequency = 20_000_000,
    DataFlow = DataFlow.MsbFirst,
    Mode = SpiMode.Mode0 // ensure data is ready at clock rising edge
});
using Apa102 apa102 = new Apa102(spiDevice, 16);

while (true)
{
    for (var i = 0; i < apa102.Pixels.Length; i++)
    {
        apa102.Pixels[i] = Color.FromArgb(255, random.Next(256), random.Next(256), random.Next(256));
    }

    apa102.Flush();
    Thread.Sleep(1000);
}
Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.651 53 9/27/2024
1.2.639 87 9/6/2024
1.2.631 86 8/28/2024
1.2.613 104 8/9/2024
1.2.601 79 7/26/2024
1.2.590 105 7/17/2024
1.2.580 99 6/28/2024
1.2.573 102 6/19/2024
1.2.570 113 6/14/2024
1.2.560 99 5/29/2024
1.2.548 83 5/15/2024
1.2.536 118 4/15/2024
1.2.514 114 3/22/2024
1.2.494 121 2/28/2024
1.2.474 130 1/24/2024
1.2.462 152 1/5/2024
1.2.458 142 12/20/2023
1.2.436 170 11/10/2023
1.2.403 154 10/6/2023
1.2.396 148 9/27/2023
1.2.384 161 9/6/2023
1.2.378 165 8/16/2023
1.2.369 189 8/2/2023
1.2.363 173 7/28/2023
1.2.357 167 7/19/2023
1.2.354 163 7/14/2023
1.2.345 170 6/21/2023
1.2.341 160 6/14/2023
1.2.337 212 6/7/2023
1.2.335 201 6/2/2023
1.2.329 192 5/26/2023
1.2.313 187 5/12/2023
1.2.308 181 5/11/2023
1.2.304 180 5/10/2023
1.2.302 206 5/10/2023
1.2.297 203 5/3/2023
1.2.273 266 3/17/2023
1.2.267 268 3/10/2023
1.2.263 260 3/8/2023
1.2.259 263 2/27/2023
1.2.256 306 2/24/2023
1.2.253 291 2/22/2023
1.2.222 354 1/9/2023
1.2.212 355 1/5/2023
1.2.208 350 1/3/2023
1.2.203 333 12/28/2022
1.2.159 385 11/14/2022
1.2.153 405 11/5/2022
1.2.141 445 10/25/2022
1.2.122 509 10/12/2022
1.2.114 422 10/8/2022
1.2.95 473 9/22/2022
1.2.87 534 9/15/2022
1.2.73 481 9/8/2022
1.2.63 464 9/3/2022
1.2.47 454 8/15/2022
1.2.40 509 8/6/2022
1.2.38 502 8/5/2022
1.2.28 499 8/1/2022
1.2.13 497 7/24/2022
1.2.10 474 7/23/2022
1.2.5 513 7/13/2022
1.1.145.58726 483 7/7/2022
1.1.141.41205 491 7/6/2022
1.1.133.52556 488 6/30/2022
1.1.121.35854 492 6/26/2022
1.1.116.8772 482 6/24/2022
1.1.113.2032 470 6/23/2022
1.1.102.51394 473 6/15/2022
1.1.99.36719 473 6/14/2022
1.1.72.29765 482 5/31/2022
1.1.64.21380 482 5/26/2022
1.1.54.28879 510 5/23/2022
1.1.40 490 5/5/2022
1.1.27 508 4/26/2022
1.1.20 522 4/21/2022
1.1.3 501 4/15/2022
1.1.1 508 4/14/2022
1.0.300 486 3/31/2022
1.0.288-preview.114 123 3/25/2022
1.0.288-preview.113 118 3/25/2022
1.0.288-preview.110 117 3/25/2022
1.0.288-preview.103 117 3/21/2022
1.0.288-preview.100 121 3/19/2022
1.0.288-preview.99 130 3/18/2022
1.0.288-preview.98 116 3/18/2022
1.0.288-preview.93 123 3/15/2022
1.0.288-preview.86 125 3/8/2022
1.0.288-preview.77 123 2/27/2022
1.0.288-preview.75 120 2/26/2022
1.0.288-preview.73 119 2/25/2022
1.0.288-preview.65 114 2/18/2022
1.0.288-preview.63 117 2/16/2022
1.0.288-preview.61 129 2/12/2022
1.0.288-preview.58 121 2/10/2022
1.0.288-preview.53 116 2/9/2022
1.0.288-preview.48 131 2/4/2022
1.0.288-preview.41 131 1/31/2022
1.0.288-preview.29 134 1/28/2022
1.0.288-preview.22 133 1/27/2022
1.0.288-preview.20 134 1/27/2022
1.0.288-preview.19 135 1/27/2022
1.0.288-preview.18 130 1/27/2022
1.0.288-preview.5 135 1/24/2022
1.0.288-preview.1 127 1/21/2022
1.0.272 164 1/10/2022
1.0.270 358 1/6/2022
1.0.259 384 12/9/2021
1.0.258 382 12/7/2021
1.0.243 5,984 11/23/2021
1.0.242 6,260 11/23/2021
1.0.221 163 10/19/2021
1.0.219 174 10/19/2021
1.0.218 201 10/18/2021
1.0.157 368 9/4/2021
1.0.155 367 8/31/2021
1.0.153 166 8/14/2021
1.0.151 178 8/6/2021
1.0.146 170 7/22/2021
1.0.136 235 7/17/2021
1.0.135 165 7/16/2021
1.0.134 175 7/15/2021
1.0.133 189 7/14/2021
1.0.129 164 7/6/2021
1.0.127 177 7/5/2021
1.0.125 204 7/5/2021
1.0.122 215 6/30/2021
1.0.121 207 6/29/2021
1.0.119 225 6/28/2021
1.0.111 184 6/14/2021
1.0.105 286 5/29/2021
1.0.104 249 5/29/2021
1.0.97 184 5/28/2021
1.0.63 179 5/26/2021
1.0.23 220 5/21/2021