You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The user will need to write transport functions in app code and provide it to the micro-ROS library using [`rmw_uros_set_custom_transport()` API](https://micro.ros.org/docs/tutorials/advanced/create_custom_transports/)
MICROROS_TRANSPORTS_FRAMING_MODE, // Set the MICROROS_TRANSPORTS_FRAMING_MODE or MICROROS_TRANSPORTS_PACKET_MODE mode accordingly
134
+
NULL,
135
+
platformio_transport_open,
136
+
platformio_transport_close,
137
+
platformio_transport_write,
138
+
platformio_transport_read
139
+
);
140
+
```
141
+
122
142
### Extra packages
123
143
Colcon packages can be added to the build process using this two methods:
124
144
- Package directories copied on the `<Project_directory>/extra_packages` folder.
@@ -136,12 +156,12 @@ This allows the user to customize the library memory resources or activate optio
136
156
137
157
*Note: the [common.meta](./metas/common.meta) file makes general adjustments to the library and shall not be modified by the user.*
138
158
139
-
## Custom targets
159
+
## Extend library targets
140
160
This library can be easily adapted to different boards, transports or RTOS, to achieve this the user shall provide:
141
161
142
-
### Custom transport
162
+
### Transport implementation
143
163
144
-
Custom transport shall follow the signatures shown on [micro_ros_platformio.h](./platform_code/arduino/micro_ros_platformio.h), the [provided sources](./platform_code) can be used as reference along [this documentation](https://micro-xrce-dds.docs.eprosima.com/en/latest/transport.html#custom-transport). Custom transport source code shall be added on the `./platform_code/<framework>/<board_microros_transport>` path. Example:
164
+
New transport implementations shall follow the signatures shown on [micro_ros_platformio.h](./platform_code/arduino/micro_ros_platformio.h), the [provided sources](./platform_code) can be used as reference along [this documentation](https://micro-xrce-dds.docs.eprosima.com/en/latest/transport.html#custom-transport). Contributed transport source code shall be added on the `./platform_code/<framework>/<board_microros_transport>` path. Example:
145
165
146
166
-`platform.ini`:
147
167
```ini
@@ -152,6 +172,8 @@ Custom transport shall follow the signatures shown on [micro_ros_platformio.h](.
152
172
- Also, a `MICRO_ROS_TRANSPORT_<FRAMEWORK>_<TRANSPORT>` definition will be available:
*Note: `board_microros_transport = custom` should not be used, as it is used to add custom transports on user app code*
176
+
155
177
### Time source
156
178
micro-ROS needs a time source to handle executor spins and synchronize reliable communication. To achieve this, a `clock_gettime`[POSIX compliant](https://linux.die.net/man/3/clock_gettime) implementation is required, with a minimum resolution of 1 millisecond.
0 commit comments