---
pageClass: is-wide-page
---
# RegisterExtComponentRequestV0 (UORB message)
Request to register an external component.
**TOPICS:** register_ext_component_request_v0
## Fields
| Назва | Тип | Unit [Frame] | Range/Enum | Опис |
| ------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- |
| timestamp | `uint64` | | | time since system start (microseconds) |
| request_id | `uint64` | | | ID, set this to a random value |
| name | `char[25]` | | | either the requested mode name, or component name |
| px4_ros2_api_version | `uint16` | | | Set to LATEST_PX4_ROS2_API_VERSION |
| register_arming_check | `bool` | | | |
| register_mode | `bool` | | | registering a mode also requires arming_check to be set |
| register_mode_executor | `bool` | | | registering an executor also requires a mode to be registered (which is the owned mode by the executor) |
| enable_replace_internal_mode | `bool` | | | set to true if an internal mode should be replaced |
| replace_internal_mode | `uint8` | | | vehicle_status::NAVIGATION_STATE_\* |
| activate_mode_immediately | `bool` | | | switch to the registered mode (can only be set in combination with an executor) |
## Constants
| Назва | Тип | Значення | Опис |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MESSAGE_VERSION | `uint32` | 0 | |
| LATEST_PX4_ROS2_API_VERSION | `uint16` | 1 | API version compatibility. Increase this on a breaking semantic change. Changes to any message field are detected separately and do not require an API version change. |
| ORB_QUEUE_LENGTH | `uint8` | 2 | |
## Source Message
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/RegisterExtComponentRequestV0.msg)
:::details
Click here to see original file
```c
# Request to register an external component
uint32 MESSAGE_VERSION = 0
uint64 timestamp # time since system start (microseconds)
uint64 request_id # ID, set this to a random value
char[25] name # either the requested mode name, or component name
uint16 LATEST_PX4_ROS2_API_VERSION = 1 # API version compatibility. Increase this on a breaking semantic change. Changes to any message field are detected separately and do not require an API version change.
uint16 px4_ros2_api_version # Set to LATEST_PX4_ROS2_API_VERSION
# Components to be registered
bool register_arming_check
bool register_mode # registering a mode also requires arming_check to be set
bool register_mode_executor # registering an executor also requires a mode to be registered (which is the owned mode by the executor)
bool enable_replace_internal_mode # set to true if an internal mode should be replaced
uint8 replace_internal_mode # vehicle_status::NAVIGATION_STATE_*
bool activate_mode_immediately # switch to the registered mode (can only be set in combination with an executor)
uint8 ORB_QUEUE_LENGTH = 2
```
:::