Skip to content

Latest commit

 

History

History
85 lines (74 loc) · 3.91 KB

GDExtension.md

File metadata and controls

85 lines (74 loc) · 3.91 KB

Extending GDExtension

ROS2DDS Features

ros2dds

  • Topic name can be configured by "Topic Name" property
  • Classes for coordinate transform(EUS, ENU, NED) are implemented (see NED2EUS ENU2EUS NED2ENU).
Implemented Publishers / Subscribers
  1. PointStamped(Pub/Sub)
  2. PoseStamped(Pub/Sub)
  3. PointCloud(Pub/Sub)
  4. Path(Pub/Sub)
  5. Marker(Pub/Sub)
  6. Range(Pub)
  7. Image(Pub)
  8. CompressedImage(Pub)
  9. CameraInfo(Pub)

MAVSDK Features

Implemented methods
  1. mavsdk
  2. system
  3. shell
  4. param
  5. mavlink_passthrouth
  6. manual_control
  7. action

Serial Features

It's based on

Used for listing up connected com ports

Extending GDExtension

Building GDExtension module requires godot-cpp submodule

git submodule update --init --recursive

Extending mavsdk or ros2 messaging requires source build of each library.

Supported platform & required dependency:

(If you installed ros2 in your system, maybe all dependencies are already satisfied.)

Serial GDextension is based on matrixant, serial.

Steps for rebuilding shared library.

  • Building dependency libraries
    cd extensions
    mkdir -p build 
    cmake ..
    # You can enable/disable build for mavsdk / ros2dds / serial by cmake option ROS2_DDS, MAVSDK, SERIAL
    # If you are using Windows, You may need manually set path for curl.
    # set CURL_INCLUDE_DIRS, CURL_LIBRARIES properly.
    cmake --build . --config Release
  • Building GDExtension shared libraries
    cd mavsdk # ros2dds or serial
    scons # target=template_release