MajorMadness
Active Member
So, Ich hab mir nochmal gedanken gemacht wegen dem Scheiss licht. :lol:
Problem:
10V werden über 256 Schritte gesteuert. Der TLC5940 kann aber 4096. Die einzustellen und abzufangen was der user jetzt wie grade sspeichert raubt mir im moment den Verstand. Ausserdem gib es zusätzlich 2 Methoden wie KSQ und Netzteile gedimmt werden: Die einen erwarten 0 um aus zu sein, die anderen 255 bzw 4095 um (fast) aus zu sein. Beispiel: Ich hänge eine LED an die Pins. bei normalen 5V PWM ist 0 aus. Wenn Ich die LED aber an eine KSQ mit dim anschluss setze wäre sie bei 0 an...
Also meine Idee:
Ich erwietere
um den Wert "boolean invert=0" Was soviel bedeutet wie invitiere (mach andersrum) die Steuerung und Min und Max werden nur noch über 1% schritte zwischen 0 und 100 eingegeben. Also minimum = 0%, maximum = 83% Wenn z.b. eine XP-G an einem 1000mA KSQ hängt, die aber nicht voll Leuchten soll.
Den ganzen Rest feiere ich dann innerhalb des Codes ab und dreh mir alles so wie der Controller es erwartet. Ich denke müsste besser sein als Wenn user noch mit 4096 schritten und/oder 255 invertiert, nicht invitiert ect arbeiten und einstellen müssen. 0-100%, damit kann jeder was anfangen und wenn bei 100% die lampe aus ist, dann weis man auch das man an dem Kanal bei "Signal invitieren" auf Ja stellen muss.
Problem:
10V werden über 256 Schritte gesteuert. Der TLC5940 kann aber 4096. Die einzustellen und abzufangen was der user jetzt wie grade sspeichert raubt mir im moment den Verstand. Ausserdem gib es zusätzlich 2 Methoden wie KSQ und Netzteile gedimmt werden: Die einen erwarten 0 um aus zu sein, die anderen 255 bzw 4095 um (fast) aus zu sein. Beispiel: Ich hänge eine LED an die Pins. bei normalen 5V PWM ist 0 aus. Wenn Ich die LED aber an eine KSQ mit dim anschluss setze wäre sie bei 0 an...
Also meine Idee:
Ich erwietere
Code:
typedef struct {
boolean Active;
float Sunrise; //34200; // 9:30
float Sunset; //77400; //21:30
int Min; // Inverse Schaltung! 4095 = off
int Max; // Wir wollen ja nicht übertreiben, daher LED's nicht voll ausfahren
int Dim_in;
int Dim_out;
}LIGHT;
Den ganzen Rest feiere ich dann innerhalb des Codes ab und dreh mir alles so wie der Controller es erwartet. Ich denke müsste besser sein als Wenn user noch mit 4096 schritten und/oder 255 invertiert, nicht invitiert ect arbeiten und einstellen müssen. 0-100%, damit kann jeder was anfangen und wenn bei 100% die lampe aus ist, dann weis man auch das man an dem Kanal bei "Signal invitieren" auf Ja stellen muss.