-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi alle,
ich bin jetzt zwischendurch doch nochmal nach Hause, um ein neues Script auf mein fnordlicht zu spielen. Wollte ich zumindest...
Ich hab aber mal wieder 2 Probleme:
1. Ich hab also den PGM-Jumper auf 2-3 gesetzt und dann das fnordlicht an Pegelkonverter & Strom angeschlossen. Seltsamerweise fängt das Script trotzdem an abzulaufen.
Also wollt ich versuchen mit "$ screen /dev/ttyUSB0 19200 8N1" auf den Terminal zuzugreifen. Das öffnet sich auch, aber wenn ich "x" oder "s" eingebe tut sich nix. Nur bei "p" krieg ich "�" als Antwort, aber das Script läuft weiter.
Auf "p" bin ich gekommen, weil ich beim Versuch von "make install" diese Meldung erhalte (Gerät ist bereits angeschlossen):
$ make install launch-bootloader /dev/ttyUSB0 19200 Opening serial device /dev/ttyUSB0. Sending bootloader entry command (p). You may now plug in the target device.
Jetzt stoppt allerdings das Script und die LEDs gehen aus. Nach kurzer Zeit fangen dann die roten LEDs an zu leuchten, gehen wieder aus und blinken von Zeit zu Zeit. Im Terminal wiederholt sich ständig "�".
2. Betrifft das Script, welches ich aktuell auf dem fnordlicht geladen habe. Das erste Mal läuft es ganz durch, scheint sich dann aber nicht mehr komplett zu wiederholen, sondern nur bis irgendwo in der Mitte des Scripts zurück zuspringen. Ist die mögliche Länge für ein Script eigentlich begrenzt?
Wär toll, wenn jemand Rat wüsste. Vielen Dank schonmal.
Ciao, treb
Hi Robert,
* Robert treboriks@web.de wrote:
Ich hab also den PGM-Jumper auf 2-3 gesetzt und dann das fnordlicht an Pegelkonverter & Strom angeschlossen. Seltsamerweise fängt das Script trotzdem an abzulaufen.
Das ist seltsam. Spontan wuerd ich sagen, du hast keinen Bootloader drauf, aber das ist eigentlich sehr unwahrscheinlich, dass du den losgeworden bist. Hast du mal mit dem ISP-Anschluss programmiert (statt ueber den Seriellkonverter)?
Also wollt ich versuchen mit "$ screen /dev/ttyUSB0 19200 8N1" auf den Terminal zuzugreifen. Das öffnet sich auch, aber wenn ich "x" oder "s" eingebe tut sich nix. Nur bei "p" krieg ich "???" als Antwort, aber das Script läuft weiter.
Versuch mal folgendes: Pegelkonverter einstecken, screen aufmachen, taste 'p' gedrueckt halten, und dann Strom draufgeben. Der Bootloader mueste dann mit 'S' antworten, wenn er dann gestartet ist, und die LEDs sollten dunkel bleiben.
Im Terminal wiederholt sich ständig "???".
Das sieht eher nach einer kaputten seriellen Verbindung aus, Rechner rebootet? Alles nochmal neu eingesteckt?
Betrifft das Script, welches ich aktuell auf dem fnordlicht geladen habe. Das erste Mal läuft es ganz durch, scheint sich dann aber nicht mehr komplett zu wiederholen, sondern nur bis irgendwo in der Mitte des Scripts zurück zuspringen. Ist die mögliche Länge für ein Script eigentlich begrenzt?
Nur durch den vorhandenen Speicher, und da meckert spaetestenz avrdude beim Flashen. Poste doch dein Script nochmal, dann schauen wir zusammen drueber.
Gruss, - fd0
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hey Alexander,
Alexander Neumann schrieb:
Hast du mal mit dem ISP-Anschluss programmiert (statt ueber den Seriellkonverter)?
Nee, hatte bisher nur mit dem seriellen Kabel rumprobiert.
Der Bootloader mueste dann mit 'S' antworten, wenn er dann gestartet ist, und die LEDs sollten dunkel bleiben.
Leider nein. Ich krieg ein "B" zurück und dann wieder nur die Fragezeichen. Während ich "p" gedrückt lass, flackern dann die roten LEDs und sobald ich loslasse fängt das Script an.
Im Terminal wiederholt sich ständig "???".
Das sieht eher nach einer kaputten seriellen Verbindung aus, Rechner rebootet? Alles nochmal neu eingesteckt?
Des öfteren... ohne Änderung.
Poste doch dein Script nochmal, dann schauen wir zusammen drueber.
Hatte ich eigentlich schon an die vorige Mail gehangen, aber das wurde wohl verschluckt. Bisher bin ich nur soweit, dass ich in dem Demoscript nen bisschen rumgespielt habe. So siehts aus:
static const uint8_t colorchange_red[] PROGMEM = { MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SLEEP(5), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(5), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SLEEP(5), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SLEEP(20), MACRO_FADE_CHANNEL(CHANNEL_RED, 80, 0x080), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 210, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0xf00), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x100), MACRO_WAIT(_BV(CHANNEL_GREEN)), MACRO_SET_CHANNEL(CHANNEL_GREEN, 150), MACRO_SLEEP(85), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SLEEP(55), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 180, 0xf00), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(95), MACRO_SET_CHANNEL(CHANNEL_RED, 128), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 128), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 128), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 80), MACRO_SET_CHANNEL(CHANNEL_GREEN, 80), MACRO_SET_CHANNEL(CHANNEL_BLUE, 80), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 120), MACRO_SET_CHANNEL(CHANNEL_GREEN, 120), MACRO_SET_CHANNEL(CHANNEL_BLUE, 120), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 200), MACRO_SET_CHANNEL(CHANNEL_GREEN, 200), MACRO_SET_CHANNEL(CHANNEL_BLUE, 200), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 50), MACRO_SET_CHANNEL(CHANNEL_GREEN, 50), MACRO_SET_CHANNEL(CHANNEL_BLUE, 55), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(2), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SLEEP(100), MACRO_FADE_CHANNEL(CHANNEL_RED, 180, 0x0100), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 200, 0x080), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x180), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)|_BV(CHANNEL_GREEN)), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(10), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(10), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 100, 0x200), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(100), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 200, 0xf00), MACRO_FADE_CHANNEL(CHANNEL_RED, 80, 0x100), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 128), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 128), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 128), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 180), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(80), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x130), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_GREEN, 128), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(80), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 128), MACRO_SLEEP(80), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 50, 0x140), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)|_BV(CHANNEL_GREEN)), MACRO_FADE_CHANNEL(CHANNEL_RED, 180, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 200, 0x080), MACRO_SLEEP(180), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x080), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_SLEEP(200), MACRO_FADE_CHANNEL(CHANNEL_RED, 80, 0x080), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 210, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0xf00), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x100), MACRO_WAIT(_BV(CHANNEL_GREEN)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 50, 0x140), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 140, 0x050), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)|_BV(CHANNEL_GREEN)), MACRO_FADE_CHANNEL(CHANNEL_RED, 180, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 200, 0x080), MACRO_SLEEP(180), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x080), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_SLEEP(200), MACRO_FADE_CHANNEL(CHANNEL_RED, 80, 0x080), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 210, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0xf00), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x100), MACRO_WAIT(_BV(CHANNEL_GREEN)), MACRO_SET_CHANNEL(CHANNEL_GREEN, 150), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 255), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 255), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 255), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 128), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 128), MACRO_SET_CHANNEL(CHANNEL_BLUE, 0), MACRO_SLEEP(125), MACRO_SET_CHANNEL(CHANNEL_RED, 0), MACRO_SET_CHANNEL(CHANNEL_GREEN, 0), MACRO_SET_CHANNEL(CHANNEL_BLUE, 128), MACRO_SLEEP(125), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x200), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x200), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_RED, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_GREEN, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_FADE_CHANNEL(CHANNEL_BLUE, 0, 0x040), MACRO_FADE_CHANNEL(CHANNEL_RED, 255, 0x040), MACRO_WAIT(_BV(CHANNEL_RED)|_BV(CHANNEL_GREEN)|_BV(CHANNEL_BLUE)), MACRO_JUMP(-649), };
Ciao, treb