Virtualwire und erweitertes Ambilight

Hallo Jungs, Ich bin gerade mit meinem Coder-Latein etwas am Ende. Ich möchte mein Amiblight über VirtualWire ein und ausschalten und auch noch ein paar Effekte ansteuern. Allerdings ist mir irgendwie nicht klar wie ich aus der Amiblight-Schleife die vom Serial-Port liest rauskomme. Der Code schaut jetzt momentan so aus und compiliert auch problemlos durch.
Wenn ich allerdings über VirtualWire einmal die Funktion ambiein() gestarte habe, komme ich nicht mehr aus der Schleife raus.
Kann mir da jemand Hilfestellung geben?

Danke schonmal im vorraus. Grüsse, DaPeace

void loop() {
  if (vw_get_message(buffer, &buflen)) // Non-blocking
  {
    int i;
    for (i = 0; i < buflen; i++)
    {
      buf[i] = char(buffer[i]);          
    }
    Serial.print(buf);
 
    if (buf[1] == 'a' && ambi == 0)
    {
      Serial.println("Ambi On");
      ambiein();
      ambi = 1;
    }
    else if (buf[1] == 'a' && ambi == 1)
    {
      Serial.println("Ambi Off");
      //   one_color_all(0,0,0);
      ambi = 0;
    }
  }
}
 
void ambiein()
{
 
  // wait until we see the prefix
  for(byte i = 0; i < sizeof prefix; ++i) {
waitLoop:
    while (!Serial.available()) ;
    ;
    // look for the next byte in the sequence if we see the one we want
    if(prefix[i] == Serial.read()) continue;
    // otherwise, start over
    i = 0;
    goto waitLoop;
  }
  memset(leds, 0, NUM_LEDS * 3);
  // read the transmitted data
  for (uint8_t i = 0; i < NUM_LEDS; i++) {
    byte r, g, b;    
    while(!Serial.available());
    r = Serial.read();
    while(!Serial.available());
    g = Serial.read();
    while(!Serial.available());
    b = Serial.read();
    leds[i].r = r;
    leds[i].g = g;
    leds[i].b = b;
  }
  FastLED.show();
}

Hallo dapeace, wie sieht denn deine Ausgabe von Serial.print(buf) aus?

Die schaut genauso aus wie das was ich per UDP an den Kontroll-Arduino schicke.
Ich schicke ihm eben ein ‘xa’. Ich merke ja auch das er in die Schleife geht aber ich komm eben nicht raus wenn ich nochmal xa schicke und das sollte ja eigentlich theoretisch machen. :~