micro-ROS / micro-ROS/rmw_microxrcedds
Feature request: runtime switching of transport channel
- Dominant language
- C
- Stars
- 47
- Forks
- 36
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 6
Description
## 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 ?
Contributor guide
Research direction
Start by reviewing rmw_microros.h, especially rmw_uxrce_transport_params_t, and trace how the current compile-time UDP and custom transport selection works. Evaluate the proposed multimode transport and RMW_UXRCE_ACTIVE_TRANSPORT approach; done would require an agreed design for runtime switching and backup-channel behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100