Esempio n. 1
0
        public void NodeInit()
        {
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcl_get_default_allocator();

            NativeMethods.rcl_init_options_init(ref init_options, allocator);
            rcl_context_t context = NativeMethods.rcl_get_zero_initialized_context();

            NativeMethods.rcl_init(0, null, ref init_options, ref context);

            rcl_node_t node = NativeMethods.rcl_get_zero_initialized_node();

            IntPtr defaultNodeOptions = NativeMethods.rclcs_node_create_default_options();
            string name          = "node_test";
            string nodeNamespace = "/ns";

            RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions);

            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));

            NativeMethods.rcl_node_fini(ref node);
            NativeMethods.rclcs_node_dispose_options(defaultNodeOptions);
            NativeMethods.rcl_shutdown(ref context);
            NativeMethods.rcl_context_fini(ref context);
        }
Esempio n. 2
0
        public void SubscriptionInit()
        {
            // init
            RCLReturnEnum      ret;
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcl_get_default_allocator();

            NativeMethods.rcl_init_options_init(ref init_options, allocator);
            rcl_context_t context = NativeMethods.rcl_get_zero_initialized_context();

            NativeMethods.rcl_init(0, null, ref init_options, ref context);
            rcl_node_t node               = NativeMethods.rcl_get_zero_initialized_node();
            string     name               = "subscription_test";
            string     nodeNamespace      = "/ns";
            IntPtr     defaultNodeOptions = NativeMethods.rclcs_node_create_default_options();

            NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions);

            rcl_subscription_t subscription        = NativeMethods.rcl_get_zero_initialized_subscription();
            IntPtr             subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options();
            MethodInfo         m = typeof(std_msgs.msg.Bool).GetTypeInfo().GetDeclaredMethod("_GET_TYPE_SUPPORT");
            IntPtr             typeSupportHandle = (IntPtr)m.Invoke(null, new object[] { });

            ret = (RCLReturnEnum)NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString());

            // shutdown
            ret = (RCLReturnEnum)NativeMethods.rcl_subscription_fini(ref subscription, ref node);
            NativeMethods.rclcs_subscription_dispose_options(subscriptionOptions);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString());
            NativeMethods.rcl_node_fini(ref node);
            NativeMethods.rclcs_node_dispose_options(defaultNodeOptions);
            NativeMethods.rcl_shutdown(ref context);
            NativeMethods.rcl_context_fini(ref context);
        }
Esempio n. 3
0
        public void CreateClock()
        {
            rcl_allocator_t allocator   = NativeMethods.rcutils_get_default_allocator();
            IntPtr          clockHandle = NativeMethods.rclcs_ros_clock_create(ref allocator);

            NativeMethods.rclcs_ros_clock_dispose(clockHandle);
        }
Esempio n. 4
0
        public void InitOptionsInit()
        {
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcl_get_default_allocator();
            int ret = NativeMethods.rcl_init_options_init(ref init_options, allocator);

            Assert.That((RCLReturnEnum)ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));
        }
Esempio n. 5
0
        public void WaitSetInit()
        {
            rcl_wait_set_t  waitSet   = NativeMethods.rcl_get_zero_initialized_wait_set();
            rcl_allocator_t allocator = NativeMethods.rcl_get_default_allocator();

            TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_init(ref waitSet, 1, 0, 0, 0, 0, allocator));
            TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_fini(ref waitSet));
        }
Esempio n. 6
0
        public void ClockGetNow()
        {
            rcl_allocator_t allocator   = NativeMethods.rcutils_get_default_allocator();
            IntPtr          clockHandle = NativeMethods.rclcs_ros_clock_create(ref allocator);
            long            queryNow    = 0;

            NativeMethods.rcl_clock_get_now(clockHandle, ref queryNow);

            Assert.That(queryNow, Is.Not.EqualTo(0));

            NativeMethods.rclcs_ros_clock_dispose(clockHandle);
        }
Esempio n. 7
0
        public void SetUp()
        {
            RCLReturnEnum ret;

            NativeMethods.rcl_reset_error();
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcl_get_default_allocator();

            ret = (RCLReturnEnum)NativeMethods.rcl_init_options_init(ref init_options, allocator);

            context = NativeMethods.rcl_get_zero_initialized_context();

            ret = (RCLReturnEnum)NativeMethods.rcl_init(0, null, ref init_options, ref context);
        }
Esempio n. 8
0
        public void SetUp()
        {
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();

            allocator = NativeMethods.rcl_get_default_allocator();
            NativeMethods.rcl_init_options_init(ref init_options, allocator);
            context = NativeMethods.rcl_get_zero_initialized_context();
            NativeMethods.rcl_init(0, null, ref init_options, ref context);

            node = NativeMethods.rcl_get_zero_initialized_node();
            defaultNodeOptions = NativeMethods.rclcs_node_create_default_options();

            string        nodeName      = "node_test";
            string        nodeNamespace = "/ns";
            RCLReturnEnum ret           = (RCLReturnEnum)NativeMethods.rcl_node_init(ref node, nodeName, nodeNamespace, ref context, defaultNodeOptions);
        }
Esempio n. 9
0
        public void WaitSetAddSubscription()
        {
            NativeMethods.rcl_reset_error();

            rcl_allocator_t allocator = NativeMethods.rcutils_get_default_allocator();
            rcl_wait_set_t  waitSet   = NativeMethods.rcl_get_zero_initialized_wait_set();

            TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_init(ref waitSet, 1, 0, 0, 0, 0, 0, ref context, allocator));
            TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_clear(ref waitSet));

            Assert.That(NativeMethods.rcl_subscription_is_valid(ref subscription), Is.True);
            TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_add_subscription(ref waitSet, ref subscription, UIntPtr.Zero));

            RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_wait(ref waitSet, Utils.TimeoutSecToNsec(0.01));

            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_TIMEOUT));
        }
Esempio n. 10
0
        public static void InitRcl(ref rcl_context_t context)
        {
            RCLReturnEnum ret;

            NativeMethods.rcl_reset_error();
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcutils_get_default_allocator();

            ret = (RCLReturnEnum)NativeMethods.rcl_init_options_init(ref init_options, allocator);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));

            context = NativeMethods.rcl_get_zero_initialized_context();

            ret = (RCLReturnEnum)NativeMethods.rcl_init(0, null, ref init_options, ref context);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString());

            Assert.That(NativeMethods.rcl_context_is_valid(ref context), Is.True);
        }
Esempio n. 11
0
        public void InitValidArgs()
        {
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();
            rcl_allocator_t    allocator    = NativeMethods.rcl_get_default_allocator();

            NativeMethods.rcl_init_options_init(ref init_options, allocator);
            rcl_context_t context = NativeMethods.rcl_get_zero_initialized_context();

            RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_init(2, new string[] { "foo", "bar" }, ref init_options, ref context);

            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));

            Assert.That(NativeMethods.rcl_context_is_valid(ref context), Is.True);
            ret = (RCLReturnEnum)NativeMethods.rcl_shutdown(ref context);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));

            ret = (RCLReturnEnum)NativeMethods.rcl_context_fini(ref context);
            Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK));
        }
Esempio n. 12
0
        public void SetUp()
        {
            // init
            rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options();

            allocator = NativeMethods.rcl_get_default_allocator();
            NativeMethods.rcl_init_options_init(ref init_options, allocator);
            context = NativeMethods.rcl_get_zero_initialized_context();
            NativeMethods.rcl_init(0, null, ref init_options, ref context);
            node = NativeMethods.rcl_get_zero_initialized_node();
            string name          = "subscription_test";
            string nodeNamespace = "/ns";

            defaultNodeOptions = NativeMethods.rclcs_node_create_default_options();
            NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions);

            subscription        = NativeMethods.rcl_get_zero_initialized_subscription();
            subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options();
            MethodInfo m = typeof(std_msgs.msg.Bool).GetTypeInfo().GetDeclaredMethod("_GET_TYPE_SUPPORT");
            IntPtr     typeSupportHandle = (IntPtr)m.Invoke(null, new object[] { });

            NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions);
        }
Esempio n. 13
0
 public void GetDefaultAllocator()
 {
     rcl_allocator_t allocator = NativeMethods.rcl_get_default_allocator();
 }