public void TestPublishString() { RCLdotnet.Init(); INode node_string_1 = RCLdotnet.CreateNode("test_string_1"); INode node_string_2 = RCLdotnet.CreateNode("test_string_2"); IPublisher <std_msgs.msg.String> chatter_pub = node_string_1.CreatePublisher <std_msgs.msg.String> ("topic_string"); std_msgs.msg.String msg = new std_msgs.msg.String(); std_msgs.msg.String msg2 = new std_msgs.msg.String(); msg.Data = "Hello"; bool received = false; ISubscription <std_msgs.msg.String> chatter_sub = node_string_2.CreateSubscription <std_msgs.msg.String> ( "topic_string", rcv_msg => { received = true; msg2 = rcv_msg; } ); while (!received) { chatter_pub.Publish(msg); RCLdotnet.SpinOnce(node_string_1, 500); RCLdotnet.SpinOnce(node_string_2, 500); } Assert.Equal("Hello", msg2.Data); }
public static void Main(string[] args) { Context ctx = new Context(); Rclcs.Init(ctx); INode node = Rclcs.CreateNode("talker", ctx); IPublisher <std_msgs.msg.String> chatter_pub = node.CreatePublisher <std_msgs.msg.String>("chatter"); std_msgs.msg.String msg = new std_msgs.msg.String(); int i = 1; while (Rclcs.Ok(ctx)) { // adamdbrw - if no at least small sleep is made before // the first published message, it doesn't reach subscribers // Needs investigation for how to put a valid check here // TODO (adam) replace with a proper check Thread.Sleep(500); msg.Data = "Hello World: " + i; i++; Console.WriteLine("Publishing: \"" + msg.Data + "\""); chatter_pub.Publish(msg); Thread.Sleep(500); } Rclcs.Shutdown(ctx); }
public void SetStringData() { std_msgs.msg.String msg = new std_msgs.msg.String(); Assert.That(msg.Data, Is.EqualTo("")); msg.Data = "Show me what you got!"; Assert.That(msg.Data, Is.EqualTo("Show me what you got!")); }
public static int getCdrSerializedSize(std_msgs.msg.String data, int current_alignment) { int initial_alignment = current_alignment; current_alignment += 4 + Halodi.CDR.CDRCommon.alignment(current_alignment, 4) + data.data.Length + 1; return(current_alignment - initial_alignment); }
public override void deserialize(MemoryStream stream, std_msgs.msg.String data) { using (BinaryReader reader = new BinaryReader(stream)) { Halodi.CDR.CDRDeserializer cdr = new Halodi.CDR.CDRDeserializer(reader); read(data, cdr); } }
public override void serialize(std_msgs.msg.String data, MemoryStream stream) { using (BinaryWriter writer = new BinaryWriter(stream)) { Halodi.CDR.CDRSerializer cdr = new Halodi.CDR.CDRSerializer(writer); write(data, cdr); } }
public static void Main(string[] args) { RCLdotnet.Init(); INode node = RCLdotnet.CreateNode("talker"); IPublisher <std_msgs.msg.String> chatter_pub = node.CreatePublisher <std_msgs.msg.String> ("chatter"); std_msgs.msg.String msg = new std_msgs.msg.String(); int i = 1; while (RCLdotnet.Ok()) { msg.Data = "Hello World: " + i; i++; Console.WriteLine("Publishing: \"" + msg.Data + "\""); chatter_pub.Publish(msg); // Sleep a little bit between each message Thread.Sleep(1000); } }
public static void Copy(std_msgs.msg.String src, std_msgs.msg.String target) { target.Set(src); }
public static void read(std_msgs.msg.String data, Halodi.CDR.CDRDeserializer cdr) { data.data = cdr.read_type_d(); }
public static void write(std_msgs.msg.String data, Halodi.CDR.CDRSerializer cdr) { cdr.write_type_d(data.data); }
public static int getCdrSerializedSize(std_msgs.msg.String data) { return(getCdrSerializedSize(data, 0)); }