public RosPublisher(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) : base(rosbridgeMessageDispatcher, topic) { if (this.Type == null) { this.Type = typeof(TRosMessage).GetRosMessageType(); } }
static void Subscribe(IRosbridgeMessageDispatcher messageDispatcher) { RosSubscriber <Twist> subscriber = new RosSubscriber <Twist>(messageDispatcher, "/turtle1/cmd_vel"); subscriber.RosMessageReceived += (s, e) => { Console.WriteLine(e.RosMessage); }; subscriber.SubscribeAsync(); }
static RosPublisher <Twist> CreatePublisher(IRosbridgeMessageDispatcher messageDispatcher) { RosPublisher <Twist> publisher = new RosPublisher <Twist>(messageDispatcher, "/turtle1/cmd_vel"); publisher.AdvertiseAsync(); return(publisher); }
public RosSubscriber(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) : base(rosbridgeMessageDispatcher, topic) { if (this.Type == null) { this.Type = typeof(TRosMessage).GetRosMessageType(); } base.RosMessageReceived += RosMessageReceivedHandler; }
protected RosTopicOperatorBase(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic, string type) : this(rosbridgeMessageDispatcher, topic) { if (string.IsNullOrWhiteSpace(type)) { throw new ArgumentException($"{nameof(type)} cannot be empty!"); } this.Type = type; }
public RosServiceClientBase(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string serviceName = null) { if (rosbridgeMessageDispatcher == null) { throw new ArgumentNullException(nameof(rosbridgeMessageDispatcher)); } this.rosbridgeMessageDispatcher = rosbridgeMessageDispatcher; this.ServiceName = serviceName; }
protected RosTopicOperatorBase(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) { if (rosbridgeMessageDispatcher == null) { throw new ArgumentNullException(nameof(rosbridgeMessageDispatcher)); } if (string.IsNullOrWhiteSpace(topic)) { throw new ArgumentException($"{nameof(topic)} cannot be empty!"); } this.rosbridgeMessageDispatcher = rosbridgeMessageDispatcher; this.Topic = topic; }
static void Main(string[] args) { string webSocketUri = "ws://localhost:9090"; CancellationTokenSource cts = new CancellationTokenSource(); IRosbridgeMessageDispatcher messageDispatcher = Connect(new Uri(webSocketUri), cts); Subscribe(messageDispatcher); var publisher = CreatePublisher(messageDispatcher); IRosServiceClient <object, object> serviceClient = new RosServiceClient <object, object>(messageDispatcher, "/clear"); publisher.PublishAsync(new Twist() { linear = new Vector() { x = -5, y = 0, z = 0 }, angular = new Vector() { x = 0, y = 0, z = 0 } }); serviceClient.CallServiceAsync().Wait(); while (true) { Thread.Sleep(3000); } }
protected RosPublisher(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) : base(rosbridgeMessageDispatcher, topic) { }
public RosPublisher(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic, string type) : base(rosbridgeMessageDispatcher, topic, type) { }
public RosServiceClient(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string serviceName = null) : base(rosbridgeMessageDispatcher, serviceName) { }
protected RosSubscriberBase(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic, string type) : base(rosbridgeMessageDispatcher, topic, type) { this.rosbridgeMessageDispatcher.RosbridgeMessageReceived += this.RosbridgeMessageReceivedHandler; }
public RosPublisherBase(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) : base(rosbridgeMessageDispatcher, topic) { }
public RosSubscriber(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic, string type) : base(rosbridgeMessageDispatcher, topic, type) { base.RosMessageReceived += RosMessageReceivedHandler; }
public RosSubscriber(IRosbridgeMessageDispatcher rosbridgeMessageDispatcher, string topic) : base(rosbridgeMessageDispatcher, topic) { }