Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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!"));
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 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);
     }
 }
Esempio n. 6
0
 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);
            }
        }
Esempio n. 8
0
 public static void Copy(std_msgs.msg.String src, std_msgs.msg.String target)
 {
     target.Set(src);
 }
Esempio n. 9
0
 public static void read(std_msgs.msg.String data, Halodi.CDR.CDRDeserializer cdr)
 {
     data.data = cdr.read_type_d();
 }
Esempio n. 10
0
 public static void write(std_msgs.msg.String data, Halodi.CDR.CDRSerializer cdr)
 {
     cdr.write_type_d(data.data);
 }
Esempio n. 11
0
 public static int getCdrSerializedSize(std_msgs.msg.String data)
 {
     return(getCdrSerializedSize(data, 0));
 }