micro-ROS / micro-ROS/rmw_microxrcedds

Feature request: runtime switching of transport channel

Offen
#322 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C
Sterne
47
Forks
36
Ø Merge
2 T. 19 Std.
Gemergte PRs (30 T.)
6

Beschreibung

## Support for runtime switching of transport (UDP / custom, etc )

Current implementation requires compile time definition for transport type. Adding support for runtime
switching will open possibility of applications to setup backup channel in case main channel fails or create more dynamic applications.

### possible implementation
- add a another transport "multimode" apart from UDP, custom, etc which defines multimode implementation. Thus only users with "multimode" bear the overhead of binary size and execution.

#### multimode
- [rmw_uxrce_transport_params_t](https://github.com/micro-ROS/rmw_microxrcedds/blob/jazzy/rmw_microxrcedds_c/include/rmw_microros/rmw_microros.h#L55) contains parameters for all possible types. Nothing excluded by macros.

- Add a static global variable "RMW_UXRCE_ACTIVE_TRANSPORT" to determine currently active transport and make transport call as per currently active transport.

+ many more

Does this sound like a good idea ?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung von rmw_microros.h, insbesondere von rmw_uxrce_transport_params_t, und verfolge, wie die aktuelle Auswahl des UDP- und benutzerdefinierten Transports zur Compile-Zeit funktioniert. Bewerte den vorgeschlagenen Multimode-Transport und den Ansatz mit RMW_UXRCE_ACTIVE_TRANSPORT; für den Abschluss wäre ein abgestimmtes Design für das Umschalten zur Laufzeit und das Verhalten des Backup-Kanals erforderlich.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c
Bereich
embedded-iot
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.