< Projekte
PIC2WS2812
Steuerung von WS2812-LEDs mit 8-Bit PIC Microcontroller
Grundlagen
PIC Lösung
Software
Defines

Defines

Über "#define"-Zeilen in der Datei "PIC_2_WS281x.asm" lassen sich verschiedene Anpassungen der Software vornehmen.

Beschreibung der Benutzer-änderbaren #define-Optionen: (andere #defines sind für System-interne Zwecke und sollten i.d.R.nicht geändert werden!)

#define SIMULATOR Nur zum Debuggen des Programms mit dem Simulator, muss sonst auskommentiert bleiben!
Kann sein, daß ich nach einer Änderung am Sourcecode noch etwas mit dem Simulator teste und dann evtl. vergesse, vor dem Upload diese Definition zu löschen, deshalb bitte darauf achten...
#define USE_PATPROC bindet das Patternprozessor-Modul ein.
#define USE_MICROSTEP bindet die Microstepping-Option ein.
#define USE_TIMER bindet die Timer-Routinen ein. Notwendig, falls der Patternmover benutzt wird!
#define USE_PATMOVER bindet den Patternmover ein.
#define USE_DEMO bindet die Test- und Demo-Funktionen ein.
#define TX_KBPS <kBits/s> Stellt die Geschwindigkeit ein, mit der die Daten zu den LEDs übertragen werden. Bei kleineren Werten als "800" entspricht das Timing nicht mehr der Spezifikation im Datenblatt, aber es funktioniert trotzdem. Durch eine langsamere Übertragung steht mehr Zeit für die Berechnung der RGB-Werte der einzelnen LEDs zur Verfügung.
#define FIFOSIZE <Bytes> Optional: wenn vorhanden, wird hierdurch die Größe des FIFO-Speichers begrenzt, um ggf. RAM-Speicher für die Nutzung durch ein Anwender-Routine freizuhalten. Der Wert muss durch 3 teilbar sein!
Wenn FIFOSIZE nicht definiert ist (standard), wird die FIFO-Größe automatisch auf den maximal möglichen Wert eingestellt. 
#define SPEEDFACTOR <N> Multiplikator für die Geschwindigkeits-Steuerung (pm_speed) beim Patternmover. Das Pattern bewegt sich mit (N*pm_speed) Schritten pro Sekunde über den LED-Streifen.
#define CHAINLENGTH <N> Spezifiziert die Länge der angeschlossenen LED-Kette (Anzahl RGB-LEDs)
#define N_LAYERS <N> Anzahl der nutzbaren Pattern-Ebenen. Sollte nur so groß gewählt werden, wie tatsächlich benötigt wird, um nicht unnötig viel RAM zu reservieren.


Kontakt