Die beiden sind wohl gerade noch dabei das zu optimieren. So wie ich das verstehe macht das folgendes:
- Pakete von beiden Sticks empfangen (2 threads)
- diese in eine Queue leiten
- doppelte wegwerfen
- wenn Paket doppelt da ist und eins hat eine korrekte FCS und das andere nicht, dann natürlich das heile Paket nehmen
- wenn Paket doppelt da ist und beide keine korrekte FCS haben gibt es keine einfache Möglichkeit herauszufinden, welches weniger bitfehler hat, da wird das wifibroadcast nur zufällig wählen können.
Bi-Direktional sollte theoretisch auch gehen (einfach rx und tx vertauschen). Problem ist nur, dass der Medium Zugriff bei WLAN nicht deterministisch ist, d.h. wenn der Sender am Boden gerade ein RC-Steuerungs-Paket sendet wenn schon ein Video-Paket in der Luft ist, dann gehen die beide kaputt. (Der CSMA/CA mechanismus verhindert/lindert das Problem zwar teilweise, aber der ist bei Wifibroadcast eh' nicht aktiv).
Wenn die RC Pakete klein und nicht zuviele sind, geht das wahrscheinlich trotzdem, ist aber nicht ideal. Oder auf einer anderen Frequenz machen.
WLAN Router mit OpenWRT würde theoretisch gehen, man muss nur das wifibroadcast darauf kompiliert kriegen.
Edit: Hab noch was vergessen. Prüfen ob Pakete doppelt sind und wieder in die richtige Reihenfolge bringen geht anhand einer Sequenznummer (laufende Nummer in jedem Paket).
- Pakete von beiden Sticks empfangen (2 threads)
- diese in eine Queue leiten
- doppelte wegwerfen
- wenn Paket doppelt da ist und eins hat eine korrekte FCS und das andere nicht, dann natürlich das heile Paket nehmen
- wenn Paket doppelt da ist und beide keine korrekte FCS haben gibt es keine einfache Möglichkeit herauszufinden, welches weniger bitfehler hat, da wird das wifibroadcast nur zufällig wählen können.
Bi-Direktional sollte theoretisch auch gehen (einfach rx und tx vertauschen). Problem ist nur, dass der Medium Zugriff bei WLAN nicht deterministisch ist, d.h. wenn der Sender am Boden gerade ein RC-Steuerungs-Paket sendet wenn schon ein Video-Paket in der Luft ist, dann gehen die beide kaputt. (Der CSMA/CA mechanismus verhindert/lindert das Problem zwar teilweise, aber der ist bei Wifibroadcast eh' nicht aktiv).
Wenn die RC Pakete klein und nicht zuviele sind, geht das wahrscheinlich trotzdem, ist aber nicht ideal. Oder auf einer anderen Frequenz machen.
WLAN Router mit OpenWRT würde theoretisch gehen, man muss nur das wifibroadcast darauf kompiliert kriegen.
Edit: Hab noch was vergessen. Prüfen ob Pakete doppelt sind und wieder in die richtige Reihenfolge bringen geht anhand einer Sequenznummer (laufende Nummer in jedem Paket).
Zuletzt bearbeitet: