https://wiki.koeln.ccc.de/api.php?action=feedcontributions&user=RaffiX&feedformat=atomC4 Wiki - User contributions [en]2024-03-28T13:24:29ZUser contributionsMediaWiki 1.30.1https://wiki.koeln.ccc.de/index.php?title=U23_2005/Gui&diff=10804U23 2005/Gui2005-11-24T19:36:14Z<p>RaffiX: /* Programm hochladen */</p>
<hr />
<div>== Daily Snapshot, Last Update: <i>23. November 2005</i> ==<br />
<br />
&rarr; [http://stuff.die-kassetten.de/fnordlicht/gui/ Flash 8 Objekt '''öffnen''']<br />
&rarr; [http://macromedia.com/go/getflashplayer_de Flash-Plugin runterladen]<br />
<br />
== Ein Script mit der GUI erstellen ==<br />
Ich habe bisher nur eine konkrete Möglichkeit für Windows, die ich beschreiben kann; vielleicht erbarmt sich jemand und schreibt meine Vermutungen einfach mal ins Richtige.<br />
<br />
=== Script unter Windows ===<br />
----<br />
<br />
==== Einführung & Layout ====<br />
----<br />
<br />
Zunächst [http://stuff.die-kassetten.de/fnordlicht/gui/ öffne die GUI]. Du wirst ein Logo sehen und ratlos auf ein virtuelles fnordlicht starren. Das muss nicht ewig so blieben, klicke einfach unten rechts auf "'''go'''". Es offenbart sich Dir die '''richtige''' GUI.<br><br />
Ganz links ist ein grauer Kasten, in dem später Tooltipps angezeigt werden. Dann, direkt daneben, sind die Boxen, die das Programm symbolisieren. In diesen Boxen werden alle Einstellungen gemacht. Direkt neben den Boxen ist der Scrollbalken und drei Buttons. Der oberste fügt einen Slot hinzu, der dadrunter löcht den letzten und der ganz unten schiebt die Slots eine Box nach oben, wenn über ihnen eine Box frei ist.<br />
Dann kommt ein großer weißer Kasten, in dem später der Code drin steht. Weiteres sind der Colour-Picker unten rechts und ein weiteres "'''go'''" oben rechts in der Ecke. ''Dieses'' go generiert den Code.<br />
<br />
Fangen wir an. Jede Box hat in seiner Titelleiste vier Symbole. Die Funktionen derer von Links nach Rechts sind:<br />
* alle Boxen einschließlich der angeklickten um '''einen Slot nach unten verschieben'''<br />
* die angeklickte Box '''leeren'''<br />
* einen Warte-Befehl erstellen<br />
** ''Ist unterteilt in:''<br />
**# warte eine Zeit in '''15tel Sekunden'''<br />
**# warte, bis '''alle Channel''' fertig sind<br />
* fade zu einer Farbe<br />
** ''Speed bedeutet:''<br />
*** 0: Farbe wird '''direkt''' gesetzt<br />
*** 1-99: Je '''kleiner''', desto '''langsamer''' der "Fade"<br />
<br />
==== Erste Schritte ====<br />
----<br />
<br />
Angenommen, wir wollten ein Programm erstellen, das kontinuierlich blitzt und so Leuten auf den Keks geht.<br>Wir erstellten also ein Programm, das stetig schwarz und weiß wird. Es soll blitzen, daher macht ein Fade keinen Sinn.<br><br />
Erstelle also eine ''Fade-Box''.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/01-create_box.gif<br />
<br />
Es ist nicht verkehrt, die 0 zu lassen; schließlich brauchen wir keinen Fade.<br>Jetzt machen wir uns an's Einstellen der Farbe. Hierzu musst Du erst auf "'''pick'''" klicken und dann im ColourPicker unten entweder die Regler verstellen, den HEX-Code eingeben oder auf die Vorschau klicken, um eine zufällige Farbe zu generieren.<br>Für unsere Zwecke reicht es aber, den HEX-Code #000000 einzugeben; schwarz.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-1.gif http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-2.gif<br />
<br />
Als nächstes wollen wir das fnordlicht warten lassen. Sonst macht das Ganze keinen Sinn. Warten wir also zwei 15tel Sekunde, das sollte für ein Flackern ausreichen.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/03-create_wait.gif<br />
<br />
Als nächstes erstellen wir eine Box, die #ffffff als Farbe hat; weiß.<br>Dann wiederholen wir die Prozedur aus der zweiten Box mit der vierten.<br />
<br />
Anschließend sollten wir ein Programm über vier Boxen haben.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/04-program.gif<br />
<br />
Jetzt klicken wir oben rechts auf "'''go'''" und sehen uns an, was wir für ein Script bekommen.<br />
<br />
; ersetze die Codes in<br />
; static_scripts.inc durch Folgendes<br />
<br />
static_script_table:<br />
.dw static_script_r<br />
.dw static_script_g<br />
.dw static_script_b<br />
<br />
static_script_r:<br />
<br />
MACRO_SET_CHANNEL ChannelR, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelR, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_g:<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelG, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_b:<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelB, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
==== Programm hochladen ====<br />
----<br />
<br />
Zunächst brauchen wir avrdude[http://savannah.nongnu.org/download/avrdude/], avra[http://sourceforge.net/project/showfiles.php?group_id=55499] und die Firmware[http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz]. An diesem Punkt helfe nicht weiter; da kann man noch 'was selbst machen.<br>So, unter Windows kann man das ganz einfach machen. Entpacke / Installiere einfach alle drei Sachen in einen Ordner, und zwar so, dass die Firmware und die Binaries von avra und avrdude in einem Ordner sind. So muss man nicht noch mehr basteln. Das ist zwar unübersichtlich, aber so geht's.<br />
Dann lege eine Batch-Datei an (die mit der Endung .bat). Schreibe Folgendes hinein:<br />
<br />
@echo off<br />
avra --max_errors 1 fnordlicht.asm *.inc<br />
pause > nul:<br />
avrdude -p m8 -c butterfly -P '''<com>''' -U f:w:fnordlicht.hex<br />
pause > nul:<br />
<br />
'''<com>''' ist zu ersetzen durch den Port; bei mir war das com1.<br />
''(Beispiel ausgehend von der Tatsache, dass man den Serial-Converter hat und benutzt!)''<br />
Wenn Du nun den Code in der static_scripts.inc änderst und diese Batch-Datei ausführst, so sollte die Firmware hochgeladen werden.<br />
<br />
==== Schlusswort ====<br />
----<br />
So, das ist auch eigentlich schon alles, was man wissen muss. Ich wünsche viel Spaß.<br>--[[User:RaffiX|raffiX]] 21:02, 23 Nov 2005 (CET)<br />
<br />
=== Script unter MacOS ===<br />
----<br />
<br />
''Mir ist leider nicht bekannt, dass es die nötigen Programme für MacOS gibt. Das heißt aber nicht, dass es keine Alternativen gibt. Wenn einer weiß, wie's unter MacOS geht, möge er es gerne hier reinschreiben.''<br />
<br />
=== Script unter Linux ===<br />
----<br />
<br />
''Leider hat sich Macromedia nocht nicht dazu aufraffen können, das Flash-8-Plugin für Linux herauszubringen. Sollte es Neuigkeiten geben, werde ich diesen Bereich erweitern.''<br />
<br />
== Link-Liste ==<br />
[1] http://savannah.nongnu.org/download/avrdude/<br><br />
[2] http://sourceforge.net/project/showfiles.php?group_id=55499<br><br />
[3] http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz<br></div>RaffiXhttps://wiki.koeln.ccc.de/index.php?title=U23_2005/Gui&diff=9578U23 2005/Gui2005-11-24T19:35:50Z<p>RaffiX: /* Programm hochladen */</p>
<hr />
<div>== Daily Snapshot, Last Update: <i>23. November 2005</i> ==<br />
<br />
&rarr; [http://stuff.die-kassetten.de/fnordlicht/gui/ Flash 8 Objekt '''öffnen''']<br />
&rarr; [http://macromedia.com/go/getflashplayer_de Flash-Plugin runterladen]<br />
<br />
== Ein Script mit der GUI erstellen ==<br />
Ich habe bisher nur eine konkrete Möglichkeit für Windows, die ich beschreiben kann; vielleicht erbarmt sich jemand und schreibt meine Vermutungen einfach mal ins Richtige.<br />
<br />
=== Script unter Windows ===<br />
----<br />
<br />
==== Einführung & Layout ====<br />
----<br />
<br />
Zunächst [http://stuff.die-kassetten.de/fnordlicht/gui/ öffne die GUI]. Du wirst ein Logo sehen und ratlos auf ein virtuelles fnordlicht starren. Das muss nicht ewig so blieben, klicke einfach unten rechts auf "'''go'''". Es offenbart sich Dir die '''richtige''' GUI.<br><br />
Ganz links ist ein grauer Kasten, in dem später Tooltipps angezeigt werden. Dann, direkt daneben, sind die Boxen, die das Programm symbolisieren. In diesen Boxen werden alle Einstellungen gemacht. Direkt neben den Boxen ist der Scrollbalken und drei Buttons. Der oberste fügt einen Slot hinzu, der dadrunter löcht den letzten und der ganz unten schiebt die Slots eine Box nach oben, wenn über ihnen eine Box frei ist.<br />
Dann kommt ein großer weißer Kasten, in dem später der Code drin steht. Weiteres sind der Colour-Picker unten rechts und ein weiteres "'''go'''" oben rechts in der Ecke. ''Dieses'' go generiert den Code.<br />
<br />
Fangen wir an. Jede Box hat in seiner Titelleiste vier Symbole. Die Funktionen derer von Links nach Rechts sind:<br />
* alle Boxen einschließlich der angeklickten um '''einen Slot nach unten verschieben'''<br />
* die angeklickte Box '''leeren'''<br />
* einen Warte-Befehl erstellen<br />
** ''Ist unterteilt in:''<br />
**# warte eine Zeit in '''15tel Sekunden'''<br />
**# warte, bis '''alle Channel''' fertig sind<br />
* fade zu einer Farbe<br />
** ''Speed bedeutet:''<br />
*** 0: Farbe wird '''direkt''' gesetzt<br />
*** 1-99: Je '''kleiner''', desto '''langsamer''' der "Fade"<br />
<br />
==== Erste Schritte ====<br />
----<br />
<br />
Angenommen, wir wollten ein Programm erstellen, das kontinuierlich blitzt und so Leuten auf den Keks geht.<br>Wir erstellten also ein Programm, das stetig schwarz und weiß wird. Es soll blitzen, daher macht ein Fade keinen Sinn.<br><br />
Erstelle also eine ''Fade-Box''.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/01-create_box.gif<br />
<br />
Es ist nicht verkehrt, die 0 zu lassen; schließlich brauchen wir keinen Fade.<br>Jetzt machen wir uns an's Einstellen der Farbe. Hierzu musst Du erst auf "'''pick'''" klicken und dann im ColourPicker unten entweder die Regler verstellen, den HEX-Code eingeben oder auf die Vorschau klicken, um eine zufällige Farbe zu generieren.<br>Für unsere Zwecke reicht es aber, den HEX-Code #000000 einzugeben; schwarz.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-1.gif http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-2.gif<br />
<br />
Als nächstes wollen wir das fnordlicht warten lassen. Sonst macht das Ganze keinen Sinn. Warten wir also zwei 15tel Sekunde, das sollte für ein Flackern ausreichen.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/03-create_wait.gif<br />
<br />
Als nächstes erstellen wir eine Box, die #ffffff als Farbe hat; weiß.<br>Dann wiederholen wir die Prozedur aus der zweiten Box mit der vierten.<br />
<br />
Anschließend sollten wir ein Programm über vier Boxen haben.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/04-program.gif<br />
<br />
Jetzt klicken wir oben rechts auf "'''go'''" und sehen uns an, was wir für ein Script bekommen.<br />
<br />
; ersetze die Codes in<br />
; static_scripts.inc durch Folgendes<br />
<br />
static_script_table:<br />
.dw static_script_r<br />
.dw static_script_g<br />
.dw static_script_b<br />
<br />
static_script_r:<br />
<br />
MACRO_SET_CHANNEL ChannelR, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelR, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_g:<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelG, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_b:<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelB, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
==== Programm hochladen ====<br />
----<br />
<br />
Zunächst brauchen wir avrdude[http://savannah.nongnu.org/download/avrdude/], avra[http://sourceforge.net/project/showfiles.php?group_id=55499] und die Firmware[http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz]. An diesem Punkt helfe nicht weiter; da kann man noch 'was selbst machen.<br>So, unter Windows kann man das ganz einfach machen. Entpacke / Installiere einfach alle drei Sachen in einen Ordner, und zwar so, dass die Firmware und die Binaries von avra und avrdude in einem Ordner sind. So muss man nicht noch mehr basteln. Das ist zwar unübersichtlich, aber so geht's.<br />
Dann lege eine Batch-Datei an (die mit der Endung .bat). Schreibe Folgendes hinein:<br />
<br />
@echo off<br />
avra --max_errors 1 fnordlicht.asm *.inc<br />
pause > nul:<br />
avrdude -p m8 -c butterfly -P '''<com>''' -U f:w:fnordlicht.hex<br />
pause > nul:<br />
<br />
'''<com>''' ist zu ersetzen durch den Port; bei mir war das com1.<br />
''(Beispiel ausgehend von der Tatsache, dass man den Serial-Converter hat und benutzt!)''<br />
Wenn Du nun den Code in der static_scripts.inc änderst und diese Batch-Datei ausführst, so sollte die Firmware hochgeladen werden.<br />
<br />
==== Schlusswort ====<br />
----<br />
So, das ist auch eigentlich schon alles, was man wissen muss. Ich wünsche viel Spaß.<br>--[[User:RaffiX|raffiX]] 21:02, 23 Nov 2005 (CET)<br />
<br />
=== Script unter MacOS ===<br />
----<br />
<br />
''Mir ist leider nicht bekannt, dass es die nötigen Programme für MacOS gibt. Das heißt aber nicht, dass es keine Alternativen gibt. Wenn einer weiß, wie's unter MacOS geht, möge er es gerne hier reinschreiben.''<br />
<br />
=== Script unter Linux ===<br />
----<br />
<br />
''Leider hat sich Macromedia nocht nicht dazu aufraffen können, das Flash-8-Plugin für Linux herauszubringen. Sollte es Neuigkeiten geben, werde ich diesen Bereich erweitern.''<br />
<br />
== Link-Liste ==<br />
[1] http://savannah.nongnu.org/download/avrdude/<br><br />
[2] http://sourceforge.net/project/showfiles.php?group_id=55499<br><br />
[3] http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz<br></div>RaffiXhttps://wiki.koeln.ccc.de/index.php?title=U23_2005/Gui&diff=9577U23 2005/Gui2005-11-24T19:34:47Z<p>RaffiX: /* Erste Schritte */</p>
<hr />
<div>== Daily Snapshot, Last Update: <i>23. November 2005</i> ==<br />
<br />
&rarr; [http://stuff.die-kassetten.de/fnordlicht/gui/ Flash 8 Objekt '''öffnen''']<br />
&rarr; [http://macromedia.com/go/getflashplayer_de Flash-Plugin runterladen]<br />
<br />
== Ein Script mit der GUI erstellen ==<br />
Ich habe bisher nur eine konkrete Möglichkeit für Windows, die ich beschreiben kann; vielleicht erbarmt sich jemand und schreibt meine Vermutungen einfach mal ins Richtige.<br />
<br />
=== Script unter Windows ===<br />
----<br />
<br />
==== Einführung & Layout ====<br />
----<br />
<br />
Zunächst [http://stuff.die-kassetten.de/fnordlicht/gui/ öffne die GUI]. Du wirst ein Logo sehen und ratlos auf ein virtuelles fnordlicht starren. Das muss nicht ewig so blieben, klicke einfach unten rechts auf "'''go'''". Es offenbart sich Dir die '''richtige''' GUI.<br><br />
Ganz links ist ein grauer Kasten, in dem später Tooltipps angezeigt werden. Dann, direkt daneben, sind die Boxen, die das Programm symbolisieren. In diesen Boxen werden alle Einstellungen gemacht. Direkt neben den Boxen ist der Scrollbalken und drei Buttons. Der oberste fügt einen Slot hinzu, der dadrunter löcht den letzten und der ganz unten schiebt die Slots eine Box nach oben, wenn über ihnen eine Box frei ist.<br />
Dann kommt ein großer weißer Kasten, in dem später der Code drin steht. Weiteres sind der Colour-Picker unten rechts und ein weiteres "'''go'''" oben rechts in der Ecke. ''Dieses'' go generiert den Code.<br />
<br />
Fangen wir an. Jede Box hat in seiner Titelleiste vier Symbole. Die Funktionen derer von Links nach Rechts sind:<br />
* alle Boxen einschließlich der angeklickten um '''einen Slot nach unten verschieben'''<br />
* die angeklickte Box '''leeren'''<br />
* einen Warte-Befehl erstellen<br />
** ''Ist unterteilt in:''<br />
**# warte eine Zeit in '''15tel Sekunden'''<br />
**# warte, bis '''alle Channel''' fertig sind<br />
* fade zu einer Farbe<br />
** ''Speed bedeutet:''<br />
*** 0: Farbe wird '''direkt''' gesetzt<br />
*** 1-99: Je '''kleiner''', desto '''langsamer''' der "Fade"<br />
<br />
==== Erste Schritte ====<br />
----<br />
<br />
Angenommen, wir wollten ein Programm erstellen, das kontinuierlich blitzt und so Leuten auf den Keks geht.<br>Wir erstellten also ein Programm, das stetig schwarz und weiß wird. Es soll blitzen, daher macht ein Fade keinen Sinn.<br><br />
Erstelle also eine ''Fade-Box''.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/01-create_box.gif<br />
<br />
Es ist nicht verkehrt, die 0 zu lassen; schließlich brauchen wir keinen Fade.<br>Jetzt machen wir uns an's Einstellen der Farbe. Hierzu musst Du erst auf "'''pick'''" klicken und dann im ColourPicker unten entweder die Regler verstellen, den HEX-Code eingeben oder auf die Vorschau klicken, um eine zufällige Farbe zu generieren.<br>Für unsere Zwecke reicht es aber, den HEX-Code #000000 einzugeben; schwarz.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-1.gif http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-2.gif<br />
<br />
Als nächstes wollen wir das fnordlicht warten lassen. Sonst macht das Ganze keinen Sinn. Warten wir also zwei 15tel Sekunde, das sollte für ein Flackern ausreichen.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/03-create_wait.gif<br />
<br />
Als nächstes erstellen wir eine Box, die #ffffff als Farbe hat; weiß.<br>Dann wiederholen wir die Prozedur aus der zweiten Box mit der vierten.<br />
<br />
Anschließend sollten wir ein Programm über vier Boxen haben.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/04-program.gif<br />
<br />
Jetzt klicken wir oben rechts auf "'''go'''" und sehen uns an, was wir für ein Script bekommen.<br />
<br />
; ersetze die Codes in<br />
; static_scripts.inc durch Folgendes<br />
<br />
static_script_table:<br />
.dw static_script_r<br />
.dw static_script_g<br />
.dw static_script_b<br />
<br />
static_script_r:<br />
<br />
MACRO_SET_CHANNEL ChannelR, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelR, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_g:<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelG, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_b:<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelB, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
==== Programm hochladen ====<br />
----<br />
<br />
Zunächst brauchen wir avrdude[http://savannah.nongnu.org/download/avrdude/], avra[http://sourceforge.net/project/showfiles.php?group_id=55499] und die Firmware[http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz]. An diesem Punkt helfe nicht weiter; da kann man noch 'was selbst machen.<br>So, unter Windows kann man das ganz einfach machen. Entpacke / Installiere einfach alle drei Sachen in einen Ordner, und zwar so, dass die Firmware und die Binaries von avra und avrdude in einem Ordner sind. So muss man nicht noch mehr basteln. Das ist zwar unübersichtlich, aber so geht's.<br />
Dann lege eine Batch-Datei an (die mit der Endung .bat). Schreibe Folgendes hinein:<br />
<br />
avra --max_errors 1 fnordlicht.asm *.inc<br />
avrdude -p m8 -c butterfly -P '''<com>''' -U f:w:fnordlicht.hex<br />
pause<br />
<br />
'''<com>''' ist zu ersetzen durch den Port; bei mir war das com1.<br />
''(Beispiel ausgehend von der Tatsache, dass man den Serial-Converter hat und benutzt!)''<br />
Wenn Du nun den Code in der static_scripts.inc änderst und diese Batch-Datei ausführst, so sollte die Firmware hochgeladen werden.<br />
<br />
==== Schlusswort ====<br />
----<br />
So, das ist auch eigentlich schon alles, was man wissen muss. Ich wünsche viel Spaß.<br>--[[User:RaffiX|raffiX]] 21:02, 23 Nov 2005 (CET)<br />
<br />
=== Script unter MacOS ===<br />
----<br />
<br />
''Mir ist leider nicht bekannt, dass es die nötigen Programme für MacOS gibt. Das heißt aber nicht, dass es keine Alternativen gibt. Wenn einer weiß, wie's unter MacOS geht, möge er es gerne hier reinschreiben.''<br />
<br />
=== Script unter Linux ===<br />
----<br />
<br />
''Leider hat sich Macromedia nocht nicht dazu aufraffen können, das Flash-8-Plugin für Linux herauszubringen. Sollte es Neuigkeiten geben, werde ich diesen Bereich erweitern.''<br />
<br />
== Link-Liste ==<br />
[1] http://savannah.nongnu.org/download/avrdude/<br><br />
[2] http://sourceforge.net/project/showfiles.php?group_id=55499<br><br />
[3] http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz<br></div>RaffiXhttps://wiki.koeln.ccc.de/index.php?title=U23_2005/Gui&diff=9576U23 2005/Gui2005-11-23T20:02:10Z<p>RaffiX: /* Schlusswort */</p>
<hr />
<div>== Daily Snapshot, Last Update: <i>23. November 2005</i> ==<br />
<br />
&rarr; [http://stuff.die-kassetten.de/fnordlicht/gui/ Flash 8 Objekt '''öffnen''']<br />
&rarr; [http://macromedia.com/go/getflashplayer_de Flash-Plugin runterladen]<br />
<br />
== Ein Script mit der GUI erstellen ==<br />
Ich habe bisher nur eine konkrete Möglichkeit für Windows, die ich beschreiben kann; vielleicht erbarmt sich jemand und schreibt meine Vermutungen einfach mal ins Richtige.<br />
<br />
=== Script unter Windows ===<br />
----<br />
<br />
==== Einführung & Layout ====<br />
----<br />
<br />
Zunächst [http://stuff.die-kassetten.de/fnordlicht/gui/ öffne die GUI]. Du wirst ein Logo sehen und ratlos auf ein virtuelles fnordlicht starren. Das muss nicht ewig so blieben, klicke einfach unten rechts auf "'''go'''". Es offenbart sich Dir die '''richtige''' GUI.<br><br />
Ganz links ist ein grauer Kasten, in dem später Tooltipps angezeigt werden. Dann, direkt daneben, sind die Boxen, die das Programm symbolisieren. In diesen Boxen werden alle Einstellungen gemacht. Direkt neben den Boxen ist der Scrollbalken und drei Buttons. Der oberste fügt einen Slot hinzu, der dadrunter löcht den letzten und der ganz unten schiebt die Slots eine Box nach oben, wenn über ihnen eine Box frei ist.<br />
Dann kommt ein großer weißer Kasten, in dem später der Code drin steht. Weiteres sind der Colour-Picker unten rechts und ein weiteres "'''go'''" oben rechts in der Ecke. ''Dieses'' go generiert den Code.<br />
<br />
Fangen wir an. Jede Box hat in seiner Titelleiste vier Symbole. Die Funktionen derer von Links nach Rechts sind:<br />
* alle Boxen einschließlich der angeklickten um '''einen Slot nach unten verschieben'''<br />
* die angeklickte Box '''leeren'''<br />
* einen Warte-Befehl erstellen<br />
** ''Ist unterteilt in:''<br />
**# warte eine Zeit in '''15tel Sekunden'''<br />
**# warte, bis '''alle Channel''' fertig sind<br />
* fade zu einer Farbe<br />
** ''Speed bedeutet:''<br />
*** 0: Farbe wird '''direkt''' gesetzt<br />
*** 1-99: Je '''kleiner''', desto '''langsamer''' der "Fade"<br />
<br />
==== Erste Schritte ====<br />
----<br />
<br />
Angenommen, wir wollten ein Programm erstellen, dass kontinuierlich blitzt und so Leuten auf den Keks geht.<br>Wir erstellten also ein Programm, das stetig schwarz und weiß wird. Es soll blitzen, daher macht ein Fade keinen Sinn.<br><br />
Erstelle also eine ''Fade-Box''.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/01-create_box.gif<br />
<br />
Es ist nicht verkehrt, die 0 zu lassen; schließlich brauchen wir keinen Fade.<br>Jetzt machen wir uns an's Einstellen der Farbe. Hierzu musst Du erst auf "'''pick'''" klicken und dann im ColourPicker unten entweder die Regler verstellen, den HEX-Code eingeben oder auf die Vorschau klicken, um eine zufällige Farbe zu generieren.<br>Für unsere Zwecke reicht es aber, den HEX-Code #000000 einzugeben; schwarz.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-1.gif http://stuff.die-kassetten.de/fnordlicht/gui/02-set_colour-2.gif<br />
<br />
Als nächstes wollen wir das fnordlicht warten lassen. Sonst macht das Ganze keinen Sinn. Warten wir also zwei 15tel Sekunde, das sollte für ein Flackern ausreichen.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/03-create_wait.gif<br />
<br />
Als nächstes erstellen wir eine Box, die #ffffff als Farbe hat; weiß.<br>Dann wiederholen wir die Prozedur aus der zweiten Box mit der vierten.<br />
<br />
Anschließend sollten wir ein Programm über vier Boxen haben.<br />
<br />
http://stuff.die-kassetten.de/fnordlicht/gui/04-program.gif<br />
<br />
Jetzt klicken wir oben rechts auf "'''go'''" und sehen uns an, was wir für ein Script bekommen.<br />
<br />
; ersetze die Codes in<br />
; static_scripts.inc durch Folgendes<br />
<br />
static_script_table:<br />
.dw static_script_r<br />
.dw static_script_g<br />
.dw static_script_b<br />
<br />
static_script_r:<br />
<br />
MACRO_SET_CHANNEL ChannelR, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelR, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_g:<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelG, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
static_script_b:<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0x00<br />
MACRO_SLEEP 16<br />
MACRO_SET_CHANNEL ChannelB, 0xff<br />
MACRO_SLEEP 16<br />
MACRO_JUMP -5<br />
<br />
==== Programm hochladen ====<br />
----<br />
<br />
Zunächst brauchen wir avrdude[http://savannah.nongnu.org/download/avrdude/], avra[http://sourceforge.net/project/showfiles.php?group_id=55499] und die Firmware[http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz]. An diesem Punkt helfe nicht weiter; da kann man noch 'was selbst machen.<br>So, unter Windows kann man das ganz einfach machen. Entpacke / Installiere einfach alle drei Sachen in einen Ordner, und zwar so, dass die Firmware und die Binaries von avra und avrdude in einem Ordner sind. So muss man nicht noch mehr basteln. Das ist zwar unübersichtlich, aber so geht's.<br />
Dann lege eine Batch-Datei an (die mit der Endung .bat). Schreibe Folgendes hinein:<br />
<br />
avra --max_errors 1 fnordlicht.asm *.inc<br />
avrdude -p m8 -c butterfly -P '''<com>''' -U f:w:fnordlicht.hex<br />
pause<br />
<br />
'''<com>''' ist zu ersetzen durch den Port; bei mir war das com1.<br />
''(Beispiel ausgehend von der Tatsache, dass man den Serial-Converter hat und benutzt!)''<br />
Wenn Du nun den Code in der static_scripts.inc änderst und diese Batch-Datei ausführst, so sollte die Firmware hochgeladen werden.<br />
<br />
==== Schlusswort ====<br />
----<br />
So, das ist auch eigentlich schon alles, was man wissen muss. Ich wünsche viel Spaß.<br>--[[User:RaffiX|raffiX]] 21:02, 23 Nov 2005 (CET)<br />
<br />
=== Script unter MacOS ===<br />
----<br />
<br />
''Mir ist leider nicht bekannt, dass es die nötigen Programme für MacOS gibt. Das heißt aber nicht, dass es keine Alternativen gibt. Wenn einer weiß, wie's unter MacOS geht, möge er es gerne hier reinschreiben.''<br />
<br />
=== Script unter Linux ===<br />
----<br />
<br />
''Leider hat sich Macromedia nocht nicht dazu aufraffen können, das Flash-8-Plugin für Linux herauszubringen. Sollte es Neuigkeiten geben, werde ich diesen Bereich erweitern.''<br />
<br />
== Link-Liste ==<br />
[1] http://savannah.nongnu.org/download/avrdude/<br><br />
[2] http://sourceforge.net/project/showfiles.php?group_id=55499<br><br />
[3] http://koeln.ccc.de/prozesse/running/fnordlicht/fnordlicht-0.2.tar.gz<br></div>RaffiXhttps://wiki.koeln.ccc.de/index.php?title=U23_2005/Firmware-Makros&diff=12186U23 2005/Firmware-Makros2005-11-23T20:01:23Z<p>RaffiX: /* MACRO_WAIT */</p>
<hr />
<div>Die Datei '''script_macros.inc''' enthält einige Makros mit denen sehr schnell statische Skripts für die Firmware erstellt werden können.<br />
<br />
== MACRO_NOP ==<br />
<br />
'''Argumente:''' (keine) <br />
<br />
'''Funktion:''' Bricht die Ausführung des Scripts im aktuellen Zyklus ab.<br />
<br />
== MACRO_FADE_CHANNEL ==<br />
<br />
'''Argumente:''' Channel TargetBrightness LowByte HighByte<br />
<br />
: Channel: Gibt den Farbkanal an. Mögliche Werte sind ChannelR (Rot), ChannelG (Grün) und ChannelB (Blau).<br />
: TargetBrightness: Gibt die Helligkeit des Kanals an. Wertebereich 0 (aus) bis 255 (volle Helligkeit).<br />
: HighByte, LowByte: Fixkommazahl (Achtung: Im Macro wird erst LowByte, dann HighByte angegeben), die zur aktuellen Helligkeit dazuaddiert wird. Von der Größe der Zahl hängt die Geschwindigkeit des Fadens ab. LowByte wird zwischengespeichert und erzeugt bei erreichen von 256 einen Überlauf, der 1 auf die aktuelle Helligkeit addiert.<br />
<br />
'''Funktion:''' Fadet einen gegebenen Farbkanal mit einer gegebenen Geschwindigkeit auf eine gegebene Helligkeit. Die Werte sind immer positiv, es wird aber automatisch erkannt, ob addiert oder subtrahiert werden muss, um die TargetBrightness zu erreichen. Danach wird direkt mit der nächsten Instruktion weitergemacht. <br />
<br />
''LowByte'' und ''HighByte'' nimmt man am besten als zusammenhängende Kommazahl an, wobei sowohl vor als auch nach dem Komma Werte zwischen 0 und 255 angenommen werden können. Diese Zahl stellt das Verhältnis v 'Helligkeitsstufen' pro 'PWM-Zyklus' dar. Für das Verhältnis v ergibt sich folgende Zusammenhänge:<br />
* v < 1 » nur LowByte ist gesetzt<br />
* v = 1 » HighByte ist genau 1; jede 1/120 Sekunde wird die Helligkeit um 1 verändert<br />
* 1 < v < 2 » Sowohl HighByte als auch LowByte sind gesetzt, wobei HighByte = 1 ist<br />
* v > 2 » Es ist unwahrscheinlich, dass LowByte noch verwendet wird<br />
<br />
Das Verhältnis 0,5 in Macroschreibweise wäre 0,128 (H,L). Das kleinste darstellbare Verhältnis ist somit 1/256=0,0039 Helligkeitsstufen pro PWM-Zyklus (also alle 256:120=2,13 Sekunden wird um eine Helligkeitsstufe verändert). Das größte Verhältnis beträgt 256 Helligkeitsstufen pro PWM-Zyklus (also um die komplette darstellbare Helligkeit innerhalb eines PWM-Zyklus verändern).<br />
<br />
'''Beispiele:'''<br />
<br />
MACRO_FADE_CHANNEL ChannelR, 120, 0, 1<br />
<br />
Die Helligkeit der roten LEDs wird pro PWM-Zyklus um eine Stufe erhöht (weil HighByte=1, LowByte=0 == 1,0). Bei Helligkeitsstufe 120 ist das Faden beendet. Dies ist nach genau einer Sekunde der Fall, wenn der Rotkanal vorher die Helligkeit 0 hatte.<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0<br />
MACRO_FADE_CHANNEL ChannelG, 160, 0, 4<br />
<br />
Die Helligkeit der grünen LEDs wird pro PWM-Zyklus um vier Stufen erhöht. Bei Helligkeitsstufe 160 ist das Faden beendet. Bei diesem Verhältnis von 4 werden 160:4=40 PWM-Zyklen benötigt, also 40×1/120=1/3 Sekunden.<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0<br />
MACRO_FADE_CHANNEL ChannelB, 32, 4, 0<br />
<br />
<br />
Ein Überlauf findet immer statt, wenn das LowByte 256 erreicht wird. Das Verhältnis lautet 4 Helligkeitsstufen pro 256 PWM-Zyklen = 0,016. Um die Endhelligkeit zu erreichen werden somit 32:[4:256]=2048 PWM-Zyklen benötigt. Dies dauert genau 2048*1/120=17,1 Sekunden.<br />
<br />
<br />
Jetzt mal anders herum: Der grüne Kanal soll von Helligkeitsstufe 180 auf Helligkeitsstufe 40 innerhalb von 10 Sekunden gefadet werden. Das wären 140 Helligkeitsstufen; 10 Sekunden entsprechen 10×120=1200 PWM-Zyklen. Das Verhältnis Helligkeitsstufen pro PWM-Zyklus ergibt 140:1200=0,11. In der Macro-Notation sind das [0],[0,11*256]=[0],[29,9]==0,30 (H,L).<br />
<br />
MACRO_SET_CHANNEL ChannelG, 180<br />
MACRO_FADE_CHANNEL ChannelG, 40, 30, 0<br />
<br />
Noch ein Beispiel anders rum: Der rote Kanal soll von 20 auf 240 innerhalb von 1,5 Sekunden gefadet werden. Das sind 220 Helligkeitsstufen und 1,5 Sekunden entsprechen 180 PWM-Zyklen. Das Verhältnis Helligkeitsstufen pro PWM-Zyklus ergibt 220:180=1,22. Ergibt also in etwa [1],[0,22*256]=[1],[56,3]=1,56 (H,L) in der Macro-Notation.<br />
<br />
MACRO_SET_CHANNEL ChannelR, 20<br />
MACRO_FADE_CHANNEL ChannelR, 240, 56, 1<br />
<br />
Zugegeben, das letzte Beispiel ist ein wenig hart, da wir einen der wenigen Fälle haben, wo wir sowohl High- als auch LowByte setzen. Von daher, noch ein Beispiel:<br />
<br />
Der blaue Kanal soll von 0 auf 192 innerhalb von 400ms (0,4s) gefadet werden. Das sind 192 Helligkeitsstufen bei 0,4s==48 PWM-Zyklen, also 4,0 Helligkeitsstufen pro PWM-Zyklus.<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0<br />
MACRO_FADE_CHANNEL ChannelB, 192, 0, 4<br />
<br />
'''Tipp:''' Linksshiften von Highbyte,LowByte verdoppelt, Rechtsshiften halbiert die Fade-Geschwindigkeit.<br />
<br />
== MACRO_FADE_CHANNELS ==<br />
<br />
'''Argumente:''' BrightnessR BrightnessG BrightnessB<br />
<br />
: Brightness{R,G,B}: Die Helligkeit des {roten, grünen, blauen} Channels (0-255).<br />
<br />
'''Funktion:''' Fadet alle Farbkanäle auf die jeweils angegebenen Helligkeitswerte. Die Geschwindigkeit wird dabei von einer vorherigen MACRO_FADE_CHANNEL-Routine übernommen.<br />
<br />
== MACRO_JUMP ==<br />
<br />
'''Argumente:''' RelativeInstructionCount<br />
<br />
: RelativeInstructionCount: Anzahl der Instruktionen.<br />
<br />
'''Funktion:''' Springt um eine gewisse Anzahl an Instruktionen zurück. Zu beachten: Die JUMP-Instruktion muss auch übersprungen werden!<br />
<br />
'''Beispiel:'''<br />
1: MACRO_NOP<br />
2: MACRO_JUMP -2 ; springt zu Zeile 1<br />
<br />
== MACRO_SET_CHANNEL ==<br />
<br />
'''Argumente:''' Channel TargetBrightness<br />
<br />
: Channel: Gibt den Farbkanal an. Mögliche Werte sind ChannelR (Rot), ChannelG (Grün) und ChannelB (Blau).<br />
: TargetBrightness: Die Helligkeit (0-255).<br />
<br />
'''Funktion:''' Setzt den angegebenen Channel auf die angegebene Helligkeit und macht direkt mit der nächsten Instruktion weiter.<br />
<br />
'''Beispiel:'''<br />
MACRO_SET_CHANNEL ChannelR, 5<br />
<br />
== MACRO_SLEEP ==<br />
<br />
'''Argumente:''' Delay<br />
<br />
: Delay: Verzögerung in 1/120 sec als 16bit-Zahl (also max. 65535).<br />
<br />
'''Funktion:''' Wartet die angegebene Zeit.<br />
<br />
Kleines Rechen'''beispiel''' zum Zeitgefühl: Die maximal mögliche Verzögerung beträgt 65535 (PWM-Zyklen) × 1/120 (Sekunde/PWM-Zyklus) = 546.125 (Sekunden) == 9 Minuten und 6 Sekunden.<br />
<br />
== MACRO_WAIT ==<br />
<br />
'''Argumente:''' Bitmask<br />
<br />
: Bitmask: Bitmaske des Kanals.<br />
:: Rot: (1<<ChannelR)<br />
:: Grün: (1<<ChannelG)<br />
:: Blau: (1<<ChannelB)<br />
<br />
'''Funktion:''' Wartet, bis ein Kanal die gewünschte Helligkeit erreicht hat.<br />
<br />
'''Beispiel:'''<br />
1: MACRO_FADE_CHANNEL ChannelR, 255, 35, 0<br />
2: MACRO_WAIT (1<<ChannelR)<br />
<br />
<br />
Man kann auch auf mehrere Kanäle warten.<br />
<br />
'''Beispiel:'''<br />
1: MACRO_WAIT (1<<ChannelR)|(1<<ChannelG)|(1<<ChannelB)<br />
''--[[User:RaffiX|raffiX]]''<br />
<br />
== MACRO_CLEAR ==<br />
<br />
'''Argumente:''' (keine)<br />
<br />
'''Funktion:''' Setzt alle Kanäle auf Helligkeit 0 zurück.<br />
<br />
<br />
''-- manuke & Diozaka''<br />
<br />
[[Category:U23]]</div>RaffiXhttps://wiki.koeln.ccc.de/index.php?title=U23_2005/Firmware-Makros&diff=9552U23 2005/Firmware-Makros2005-11-23T20:00:53Z<p>RaffiX: /* MACRO_WAIT */</p>
<hr />
<div>Die Datei '''script_macros.inc''' enthält einige Makros mit denen sehr schnell statische Skripts für die Firmware erstellt werden können.<br />
<br />
== MACRO_NOP ==<br />
<br />
'''Argumente:''' (keine) <br />
<br />
'''Funktion:''' Bricht die Ausführung des Scripts im aktuellen Zyklus ab.<br />
<br />
== MACRO_FADE_CHANNEL ==<br />
<br />
'''Argumente:''' Channel TargetBrightness LowByte HighByte<br />
<br />
: Channel: Gibt den Farbkanal an. Mögliche Werte sind ChannelR (Rot), ChannelG (Grün) und ChannelB (Blau).<br />
: TargetBrightness: Gibt die Helligkeit des Kanals an. Wertebereich 0 (aus) bis 255 (volle Helligkeit).<br />
: HighByte, LowByte: Fixkommazahl (Achtung: Im Macro wird erst LowByte, dann HighByte angegeben), die zur aktuellen Helligkeit dazuaddiert wird. Von der Größe der Zahl hängt die Geschwindigkeit des Fadens ab. LowByte wird zwischengespeichert und erzeugt bei erreichen von 256 einen Überlauf, der 1 auf die aktuelle Helligkeit addiert.<br />
<br />
'''Funktion:''' Fadet einen gegebenen Farbkanal mit einer gegebenen Geschwindigkeit auf eine gegebene Helligkeit. Die Werte sind immer positiv, es wird aber automatisch erkannt, ob addiert oder subtrahiert werden muss, um die TargetBrightness zu erreichen. Danach wird direkt mit der nächsten Instruktion weitergemacht. <br />
<br />
''LowByte'' und ''HighByte'' nimmt man am besten als zusammenhängende Kommazahl an, wobei sowohl vor als auch nach dem Komma Werte zwischen 0 und 255 angenommen werden können. Diese Zahl stellt das Verhältnis v 'Helligkeitsstufen' pro 'PWM-Zyklus' dar. Für das Verhältnis v ergibt sich folgende Zusammenhänge:<br />
* v < 1 » nur LowByte ist gesetzt<br />
* v = 1 » HighByte ist genau 1; jede 1/120 Sekunde wird die Helligkeit um 1 verändert<br />
* 1 < v < 2 » Sowohl HighByte als auch LowByte sind gesetzt, wobei HighByte = 1 ist<br />
* v > 2 » Es ist unwahrscheinlich, dass LowByte noch verwendet wird<br />
<br />
Das Verhältnis 0,5 in Macroschreibweise wäre 0,128 (H,L). Das kleinste darstellbare Verhältnis ist somit 1/256=0,0039 Helligkeitsstufen pro PWM-Zyklus (also alle 256:120=2,13 Sekunden wird um eine Helligkeitsstufe verändert). Das größte Verhältnis beträgt 256 Helligkeitsstufen pro PWM-Zyklus (also um die komplette darstellbare Helligkeit innerhalb eines PWM-Zyklus verändern).<br />
<br />
'''Beispiele:'''<br />
<br />
MACRO_FADE_CHANNEL ChannelR, 120, 0, 1<br />
<br />
Die Helligkeit der roten LEDs wird pro PWM-Zyklus um eine Stufe erhöht (weil HighByte=1, LowByte=0 == 1,0). Bei Helligkeitsstufe 120 ist das Faden beendet. Dies ist nach genau einer Sekunde der Fall, wenn der Rotkanal vorher die Helligkeit 0 hatte.<br />
<br />
MACRO_SET_CHANNEL ChannelG, 0<br />
MACRO_FADE_CHANNEL ChannelG, 160, 0, 4<br />
<br />
Die Helligkeit der grünen LEDs wird pro PWM-Zyklus um vier Stufen erhöht. Bei Helligkeitsstufe 160 ist das Faden beendet. Bei diesem Verhältnis von 4 werden 160:4=40 PWM-Zyklen benötigt, also 40×1/120=1/3 Sekunden.<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0<br />
MACRO_FADE_CHANNEL ChannelB, 32, 4, 0<br />
<br />
<br />
Ein Überlauf findet immer statt, wenn das LowByte 256 erreicht wird. Das Verhältnis lautet 4 Helligkeitsstufen pro 256 PWM-Zyklen = 0,016. Um die Endhelligkeit zu erreichen werden somit 32:[4:256]=2048 PWM-Zyklen benötigt. Dies dauert genau 2048*1/120=17,1 Sekunden.<br />
<br />
<br />
Jetzt mal anders herum: Der grüne Kanal soll von Helligkeitsstufe 180 auf Helligkeitsstufe 40 innerhalb von 10 Sekunden gefadet werden. Das wären 140 Helligkeitsstufen; 10 Sekunden entsprechen 10×120=1200 PWM-Zyklen. Das Verhältnis Helligkeitsstufen pro PWM-Zyklus ergibt 140:1200=0,11. In der Macro-Notation sind das [0],[0,11*256]=[0],[29,9]==0,30 (H,L).<br />
<br />
MACRO_SET_CHANNEL ChannelG, 180<br />
MACRO_FADE_CHANNEL ChannelG, 40, 30, 0<br />
<br />
Noch ein Beispiel anders rum: Der rote Kanal soll von 20 auf 240 innerhalb von 1,5 Sekunden gefadet werden. Das sind 220 Helligkeitsstufen und 1,5 Sekunden entsprechen 180 PWM-Zyklen. Das Verhältnis Helligkeitsstufen pro PWM-Zyklus ergibt 220:180=1,22. Ergibt also in etwa [1],[0,22*256]=[1],[56,3]=1,56 (H,L) in der Macro-Notation.<br />
<br />
MACRO_SET_CHANNEL ChannelR, 20<br />
MACRO_FADE_CHANNEL ChannelR, 240, 56, 1<br />
<br />
Zugegeben, das letzte Beispiel ist ein wenig hart, da wir einen der wenigen Fälle haben, wo wir sowohl High- als auch LowByte setzen. Von daher, noch ein Beispiel:<br />
<br />
Der blaue Kanal soll von 0 auf 192 innerhalb von 400ms (0,4s) gefadet werden. Das sind 192 Helligkeitsstufen bei 0,4s==48 PWM-Zyklen, also 4,0 Helligkeitsstufen pro PWM-Zyklus.<br />
<br />
MACRO_SET_CHANNEL ChannelB, 0<br />
MACRO_FADE_CHANNEL ChannelB, 192, 0, 4<br />
<br />
'''Tipp:''' Linksshiften von Highbyte,LowByte verdoppelt, Rechtsshiften halbiert die Fade-Geschwindigkeit.<br />
<br />
== MACRO_FADE_CHANNELS ==<br />
<br />
'''Argumente:''' BrightnessR BrightnessG BrightnessB<br />
<br />
: Brightness{R,G,B}: Die Helligkeit des {roten, grünen, blauen} Channels (0-255).<br />
<br />
'''Funktion:''' Fadet alle Farbkanäle auf die jeweils angegebenen Helligkeitswerte. Die Geschwindigkeit wird dabei von einer vorherigen MACRO_FADE_CHANNEL-Routine übernommen.<br />
<br />
== MACRO_JUMP ==<br />
<br />
'''Argumente:''' RelativeInstructionCount<br />
<br />
: RelativeInstructionCount: Anzahl der Instruktionen.<br />
<br />
'''Funktion:''' Springt um eine gewisse Anzahl an Instruktionen zurück. Zu beachten: Die JUMP-Instruktion muss auch übersprungen werden!<br />
<br />
'''Beispiel:'''<br />
1: MACRO_NOP<br />
2: MACRO_JUMP -2 ; springt zu Zeile 1<br />
<br />
== MACRO_SET_CHANNEL ==<br />
<br />
'''Argumente:''' Channel TargetBrightness<br />
<br />
: Channel: Gibt den Farbkanal an. Mögliche Werte sind ChannelR (Rot), ChannelG (Grün) und ChannelB (Blau).<br />
: TargetBrightness: Die Helligkeit (0-255).<br />
<br />
'''Funktion:''' Setzt den angegebenen Channel auf die angegebene Helligkeit und macht direkt mit der nächsten Instruktion weiter.<br />
<br />
'''Beispiel:'''<br />
MACRO_SET_CHANNEL ChannelR, 5<br />
<br />
== MACRO_SLEEP ==<br />
<br />
'''Argumente:''' Delay<br />
<br />
: Delay: Verzögerung in 1/120 sec als 16bit-Zahl (also max. 65535).<br />
<br />
'''Funktion:''' Wartet die angegebene Zeit.<br />
<br />
Kleines Rechen'''beispiel''' zum Zeitgefühl: Die maximal mögliche Verzögerung beträgt 65535 (PWM-Zyklen) × 1/120 (Sekunde/PWM-Zyklus) = 546.125 (Sekunden) == 9 Minuten und 6 Sekunden.<br />
<br />
== MACRO_WAIT ==<br />
<br />
'''Argumente:''' Bitmask<br />
<br />
: Bitmask: Bitmaske des Kanals.<br />
:: Rot: (1<<ChannelR)<br />
:: Grün: (1<<ChannelG)<br />
:: Blau: (1<<ChannelB)<br />
<br />
'''Funktion:''' Wartet, bis ein Kanal die gewünschte Helligkeit erreicht hat.<br />
<br />
'''Beispiel:'''<br />
1: MACRO_FADE_CHANNEL ChannelR, 255, 35, 0<br />
2: MACRO_WAIT (1<<ChannelR)<br />
<br />
<br />
Man kann auch auf mehrere Kanäle warten.<br />
<br />
'''Beispiel:'''<br />
1: MACRO_WAIT (1<<ChannelR)|(1<<ChannelG)|(1<<ChannelB)<br />
--[[User:RaffiX|raffiX]] 21:00, 23 Nov 2005 (CET)<br />
<br />
== MACRO_CLEAR ==<br />
<br />
'''Argumente:''' (keine)<br />
<br />
'''Funktion:''' Setzt alle Kanäle auf Helligkeit 0 zurück.<br />
<br />
<br />
''-- manuke & Diozaka''<br />
<br />
[[Category:U23]]</div>RaffiX