GEX thesis source code, full text, references
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
gex-thesis/ch.unit.npx.tex

67 lignes
1.8 KiB

\section{NeoPixel Unit}
The NeoPixel unit implements the protocol needed to control a digital \gls{LED} strip with WS2812, WS2811, or compatible \gls{LED} driver chips. The NeoPixel protocol (explained in \cref{sec:theory_neo}) is implemented in software, therefore it is available on any \gls{GPIO} pin of the module.
The color data can be loaded in five different formats: as packed bytes (3$\times$8 bits color), or as the little- or big-endian encoding of colors in a 32-bit format: 0x00RRGGBB or 0x00BBGGRR. The 32-bit format is convenient when the colors are already represented as an array of 32-bit integers, e.g., extracted from a screen capture or an image.
\subsection{NeoPixel Configuration}
\begin{inicode}
[NPX:neo@3]
# Data pin
pin=A0
# Number of pixels
pixels=32
\end{inicode}
\subsection{NeoPixel Commands}
\begin{cmdlist}
0 & \cname{CLEAR}
Switch all \glspl{LED} off (sets them to black) & \\
1 & \cname{LOAD}
Load a sequence of R,G,B bytes
& \begin{cmdreq}
\item For each \glspl{LED}:
\begin{pldlist}
\cfield{u8} red
\cfield{u8} green
\cfield{u8} blue
\end{pldlist}
\end{cmdreq} \\
4 & \cname{LOAD\_U32\_ZRGB}
Load 32-bit big-endian 0xRRGGBB (0,R,G,B)
& \begin{cmdreq}
\cfield{u32[]} color data (big-endian)
\end{cmdreq} \\
5 & \cname{LOAD\_U32\_ZBGR}
Load 32-bit big-endian 0xBBGGRR (0,B,G,R)
& \begin{cmdreq}
\cfield{u32[]} color data (big-endian)
\end{cmdreq} \\
6 & \cname{LOAD\_U32\_RGBZ}
Load 32-bit little-endian 0xBBGGRR (R,G,B,0)
& \begin{cmdreq}
\cfield{u32[]} color data (little-endian)
\end{cmdreq} \\
7 & \cname{LOAD\_U32\_BGRZ}
Load 32-bit little-endian 0xRRGGBB (B,G,R,0)
& \begin{cmdreq}
\cfield{u32[]} color data (little-endian)
\end{cmdreq} \\
10 & \cname{GET\_LEN}
Get number of \glspl{LED} in the strip
& \begin{cmdresp}
\cfield{u16} number of \glspl{LED}
\end{cmdresp} \\
\end{cmdlist}