Add synchronization byte \xAC at the beginning of RGB burst

This commit is contained in:
Petr Baudis 2012-11-16 18:37:24 +01:00
parent 62602ef940
commit 35822a08c9
3 changed files with 11 additions and 2 deletions

View file

@ -23,6 +23,11 @@ void setup()
void loop() void loop()
{ {
int led, i; int led, i;
/* Wait for synchronization. */
do {
while (!Serial.available());
} while (Serial.read() != 0xAC);
/* Set LEDs. */
for (led = 0; led < cpinsets; led++) { for (led = 0; led < cpinsets; led++) {
for (i = 0; i < CH; i++) { for (i = 0; i < CH; i++) {
while (!Serial.available()); while (!Serial.available());

View file

@ -298,6 +298,9 @@ void drawScreen(SDL_Surface* screen, int t, FILE* fp)
if(SDL_MUSTLOCK(screen) && SDL_LockSurface(screen) < 0) return; if(SDL_MUSTLOCK(screen) && SDL_LockSurface(screen) < 0) return;
if (fp)
fwrite("\xAC", 1, 1, fp);
for (i=0; i<BOXES; ++i) { for (i=0; i<BOXES; ++i) {
program(i, t, &r, &g, &b); program(i, t, &r, &g, &b);
if (fp) { if (fp) {
@ -316,7 +319,8 @@ void drawScreen(SDL_Surface* screen, int t, FILE* fp)
if (SDL_MUSTLOCK(screen)) SDL_UnlockSurface(screen); if (SDL_MUSTLOCK(screen)) SDL_UnlockSurface(screen);
SDL_Flip(screen); SDL_Flip(screen);
fflush(fp); if (fp)
fflush(fp);
} }

View file

@ -54,7 +54,7 @@ def main():
try: try:
while True: while True:
data = '' data = '\xAC'
to_read = number*3 to_read = number*3
while to_read > 0: while to_read > 0:
read = sys.stdin.read(to_read) read = sys.stdin.read(to_read)