-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added support for subscribers. Added support for Linux and Windows (D…
…esktop and and UWP)
- Loading branch information
Showing
56 changed files
with
1,809 additions
and
1,221 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,7 +19,7 @@ | |
[Xx]86/ | ||
[Bb]uild/ | ||
bld/ | ||
[Bb]in/ | ||
#[Bb]in/ | ||
[Oo]bj/ | ||
|
||
# Visual Studio 2015 cache/options directory | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
ros2_rust | ||
Copyright 2018 Esteve Fernandez ([email protected]) | ||
|
||
This product includes software developed by | ||
Esteve Fernandez ([email protected]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,65 @@ | ||
Warning! | ||
======== | ||
ROS2 for .NET | ||
============= | ||
|
||
This is far from complete, if you want fully functional bindings .NET for ROS2, check out @firesurfer 's excellent [rclcs](https://github.com/firesurfer/rclcs). | ||
Introduction | ||
------------ | ||
|
||
What works so far | ||
----------------- | ||
This is a collection of projects (bindings, code generator, examples and more) for writing ROS2 | ||
applications for .NET Core and .NET Standard 2.0 | ||
|
||
- Generation of non-nested messages | ||
- Support for Windows (tested on Windows 10 and Visual Studio Community) | ||
- Publishers (see https://github.com/esteve/ros2_dotnet/blob/devel/rcldotnet_examples/Program.cs) | ||
Features | ||
-------- | ||
|
||
TODO | ||
---- | ||
The current set of features include: | ||
- Generation of all builtin ROS types | ||
- Support for publishers and subscriptions | ||
- Cross-platform support (Linux, Windows, Windows IoT Core, UWP) | ||
|
||
- The first version of this had support for .NET Core on Linux, but when I added support for Windows, I most certainly broke it. | ||
- Nested messages (i.e. custom messages containing other custom messages) | ||
- Subscriptions | ||
- Clients | ||
- Services | ||
What's missing? | ||
--------------- | ||
|
||
Lots of things! | ||
- Nested types | ||
- Component nodes | ||
- Clients and services | ||
- Tests | ||
- Documentation | ||
- More examples (e.g. IoT, VB, UWP, HoloLens, etc.) | ||
|
||
Sounds great, how can I try this out? | ||
------------------------------------- | ||
|
||
The following steps show how to build the examples: | ||
|
||
``` | ||
mkdir -p ~/ros2_dotnet_ws/src | ||
cd ~/ros2_dotnet_ws | ||
wget https://raw.githubusercontent.com/esteve/ros2_dotnet/master/ros2_dotnet.repos | ||
vcs import ~/ros2_dotnet_ws/src < ros2_dotnet.repos | ||
cd ~/ros2_dotnet_ws/src/ros2/rosidl_typesupport | ||
patch -p1 < ../../ros2_dotnet/ros2_dotnet/rosidl_typesupport_ros2_dotnet.patch | ||
cd ~/ros2_dotnet_ws | ||
src/ament/ament_tools/scripts/ament.py build --isolated | ||
``` | ||
|
||
Now you can just run a bunch of examples. | ||
|
||
### Publisher and subscriber | ||
|
||
Publisher: | ||
|
||
``` | ||
. ~/ros2_dotnet_ws/install_isolated/local_setup.sh | ||
ros2 run rcldotnet_examples rcldotnet_talker | ||
``` | ||
|
||
Subscriber: | ||
|
||
``` | ||
. ~/ros2_dotnet_ws/install_isolated/local_setup.sh | ||
ros2 run rcldotnet_examples rcldotnet_listener | ||
``` | ||
|
||
Enjoy! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
using ROS2.Interfaces; | ||
|
||
namespace ROS2 { | ||
public interface INode : IDisposable { } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
using ROS2.Interfaces; | ||
|
||
namespace ROS2 { | ||
public interface IPublisher : IDisposable { } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using ROS2.Interfaces; | ||
|
||
namespace ROS2 { | ||
public interface ISubscription : IDisposable { | ||
IMessage CreateMessage(); | ||
void CallbackFN(IMessage message); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.