RC Switch Libary doku?

Hi Leute
Ich will eine art rc Steuerung auf 433MHz Basis mit der rc Switch libary umsetzen. Nur finde ich keine in meinen augen hilfreiche doku auf der seite wo ich die runterlade die die funktionsweise erklärt...
Ich weiß z.b. nicht
mySwitch.setProtocol(2); Was genau passiert da??
sind da x verschiedene Protokolle die da benutzt werden in der art wie: ein Protokoll beinhaltet eine prüfsumme zur Fehlerkorrektur, ein Protokoll verwendet ein start und ein stop bit, eines sendet immer 3 mal... bla Keks... Wenn ja Wie viele sind das und wie sehen die aus...
Oder kann man in dem fall Protokoll vll eher mit "Adresse" übersetzen wenn ich mehrere Empfänger habe und die adressieren möchte. nach dem muster

if(mySwitch.getReceivedProtocol()==1){ich bin gemeint();
else
geht mich nichts an();

Dann

mySwitch.send(i, 24);

heißt das sende den Inhalt von i, der eine länge von 24 bit hat und die libary füllt auf 24 bit auf
oder heißt dass eher dass das ganze Packet(data incl Protocoll) 24bit lang ist und ich aufpassen muss dass mein i da rein passt.

wenn ich Arrays versenden will vermute ich mal muss ich jeden einzelnen wert in dem Array einzeln senden.

Grundsetzlich will ich übertragen einen "Befehl"+einen dazu passenden Wert
Bildlich gesprochen
send (Motor1;50%)
send (Servo,20°)
send (LED,blinke)
send ("connected")
...

Bei meiner Anwendung plane ich alle 5s ein "connected" Signal zu senden damit der Empfänger weiß, dass der Sender noch Arbeitet und die anderen Befehle nur bei bedarf bei Statusänderung

Außerdem hab ich festgestellt dass in dem Beispielcode

#include <RCSwitch.h> // Inkludiere dieRCSwitch Library
RCSwitch mySwitch = RCSwitch(); // Ab hier kann der Empfänger mit mySwitch angesprochen werden

void setup()
{
  Serial.begin(9600); // Initialisiert die Seriele Übertragung mit 9600 Baud
  mySwitch.enableReceive(0); // Hier wird festgelegt, das der Empfänger den Interrupt 0 angeschlossen ist, welcher auf dem Board Pin 2 entspricht
}

void loop()
{
  if (mySwitch.available()) // Wenn etwas Empfangen wurde
  {    
    int value = mySwitch.getReceivedValue(); // Soll value dem Empfangen entsprechen
        
    if (value == 0) // Wenn das Empfangene 0 entspricht
    {
      Serial.print("Unbekannte Codierung"); // Schreibe „Unbekannte […]
    }
    else // sonst
    {
      Serial.print("Empfangen: "); // Übertrage das Signal und weitere Informationen an den PC
      Serial.print( mySwitch.getReceivedValue() );
      
      Serial.print(" / ");
      
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      
      Serial.print("Protokol:: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }
    mySwitch.resetAvailable(); // Bereite den Empfänger auf neue Signale vor
  }
}
#include <RCSwitch.h>  // Einfügen der RCSwitch Library
RCSwitch mySwitch = RCSwitch(); // Ab hier kann der Sender mit mySwitch angesprochen werden

void setup()
{
  Serial.begin(9600); // Initialisiert die Serielle Übertragung mit 9600baud
  mySwitch.enableTransmit(10); // Der Sender ist an Pin 10 angeschlossen
  mySwitch.setProtocol(2); // Das Protokoll 2 wird verwendet
}

int i=0;
void loop()
{
  mySwitch.send(i, 24); // Sende 1010 mit 24bit länge
//  delay(1000); // Warte 1000 milisekunden
//  mySwitch.send(0101, 24); // Sende 0101 mit 24bit länge
//  delay(1000); // Warte 1000 milisekunden
i++;
  delay(2000); // Warte 20000 milisekunden
}

der reciever immer 3x die selben Daten empfängt
Hängt das mit dem Protokoll zusammen?

danke schonmal

Eine Doku für die Lib habe ich bisher auch nicht gefunden.

Das "wiki" ist bisher das Einzige.
Den Rest muss man sich aus der Library selbst rauslesen.

Und ja, du musst jeden Code (Befehl) einzeln aussenden.
Wenn du pro Sendung mehr Informationen übertragen möchtest, dann mach es mit der "VirtualWire". Da kannst du leicht Infos kombinieren.

Weitergehende Untersuchungen habe ich bisher nicht durchgeführt, da die Lib bei mir macht, was sie soll. Z.B. diverse Schaltvorgänge auslösen.

danke für die info mit der virtual wire. Werde damit mal etwas herumexperimentieren. Mir ist wichtig dass der Empfangsvorgang den µC nicht(zu lange) Blockiert weil der ja auch Motoren und Servos ansteuert und da ein Blockieren zu unerwünschten Stop's und Stottern führen würde.

Schau mal hier und hier.

Gruß Chris