Modifications

Sauter à la navigation Sauter à la recherche
Ligne 48 : Ligne 48 :  
== Writing Your Own Library ==
 
== Writing Your Own Library ==
   −
The [http://www.adafruit.com/datasheets/WS2812.pdf WS2812 datasheet] explains the data transmission protocol. This is a self-clocking signal — there’s only one wire, not separate data and clock lines. “1” and “0” bits are indicated by varying the duty cycle of a fixed-frequency square wave.
+
La [http://www.adafruit.com/datasheets/WS2812.pdf fiche technique du WS2812] explique le protocole de transmission des données. C'est un signal portant aussi le signal d'horloge il n'y a qu'un seul fil, par de fils séparés pour le signal d'horloge et transport de données. Les bits "1" et "0" sont mentionnés en faisant varier le cycle utile d'une onde carrée à fréquence fixe.
    
[[Fichier:NeoPixel-UserGuide-YourLib-01.png]]
 
[[Fichier:NeoPixel-UserGuide-YourLib-01.png]]
   −
There’s a math goof in the datasheet’s timing values. Use these figures instead:  
+
Il y a une gaffe mathématique dans les valeurs temporelles de la fiche technique. Il faut utiliser le graphique suivant à la place:  
    
[[Fichier:NeoPixel-UserGuide-YourLib-02.png]]
 
[[Fichier:NeoPixel-UserGuide-YourLib-02.png]]
   −
Note that there’s nearly 25% “wiggle room” in the timing. So if your code can’t match the recommended times exactly, it’s usually okay.
+
Notez qu'il y a "une marge de manoeuvre" de presque 25% dans la gestion du temps. Cela reste généralement correct si vous ne pouvez pas strictement respecter la base de temps.
   −
There are three bytes of data for each pixel. These should be issued in green, red, blue order, with the most-significant bit first.
+
Il y a 3 octets/bytes de données pour chaque pixel. Qui doivent être envoyés dans l'ordre vert, rouge, bleu (''green, red, blue'') avec le bit le plus significatif en premier.
    
[[Fichier:NeoPixel-UserGuide-YourLib-03.png]]
 
[[Fichier:NeoPixel-UserGuide-YourLib-03.png]]
   −
The data for pixel #0 (nearest the microcontroller) is issued first, then pixel #1, and so forth to the furthest pixel. This does not operate like a traditional shift register!
+
Les données pour le pixel #0 (proche du microcontroleur) sont émises en premier, ensuite le pixel #1 et ainsi de suite pour les pixels suivants. Cela ne fonctionne pas comme un registre à décalage traditionnel!
   −
After all the color data is sent, the data line must be held low for a minimum of 50 microseconds for the new colors to “latch.
+
Après l'envoi de toutes les données de couleur, la ligne de donnée doit être maintenue au niveau bas (''low'') pendant un minimum de 50 microsecondes pour indiqué l'envoi d'un nouveau flux de donnée (à partir du pixel #0).
   −
You may want to dig through our [https://github.com/adafruit/Adafruit_NeoPixel Arduino library] for insights. The timing-critial parts are written in AVR assembly language, but it’s extensively commented with C-like pseudocode.  
+
Vous pourriez avoir besoin de consulter les sources de la [https://github.com/adafruit/Adafruit_NeoPixel bibliothèque Arduino] pour vous faire une idée. Les parties critiques (celles où la gestion du temps est critique) sont écrit en langage d'assemblage AVR mais très largement documentté en pseudo-code C.  
    
=== My Microcontroller Isn’t Fast Enough to Do That ===
 
=== My Microcontroller Isn’t Fast Enough to Do That ===
29 917

modifications

Menu de navigation