def talker(message_name, number_of_cycles): from message_fixtures import get_test_msg import rclpy from rclpy.impl.rmw_implementation_tools import select_rmw_implementation from rclpy.qos import qos_profile_default message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) select_rmw_implementation(os.environ['RCLPY_IMPLEMENTATION']) rclpy.init([]) node = rclpy.create_node('talker') chatter_pub = node.create_publisher(msg_mod, 'test_message_' + message_name, qos_profile_default) cycle_count = 0 print('talker: beginning loop') msgs = get_test_msg(message_name) while rclpy.ok() and cycle_count < number_of_cycles: cycle_count += 1 msg_count = 0 for msg in msgs: chatter_pub.publish(msg) msg_count += 1 print('publishing message #%d' % msg_count) time.sleep(1) rclpy.shutdown()
def talker(message_name, number_of_cycles): from message_fixtures import get_test_msg import rclpy from rclpy.qos import qos_profile_default message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) rclpy.init([]) node = rclpy.create_node('talker') chatter_pub = node.create_publisher(msg_mod, 'test_message_' + message_name, qos_profile_default) cycle_count = 0 print('talker: beginning loop') msgs = get_test_msg(message_name) while rclpy.ok() and cycle_count < number_of_cycles: msg_count = 0 for msg in msgs: chatter_pub.publish(msg) msg_count += 1 print('publishing message #%d' % msg_count) time.sleep(0.01) cycle_count += 1 time.sleep(0.1) rclpy.shutdown()
def listener(message_name): from message_fixtures import get_test_msg import rclpy message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) rclpy.init(args=[]) node = rclpy.create_node('listener') received_messages = [] expected_msgs = get_test_msg(message_name) chatter_callback = functools.partial(listener_cb, received_messages=received_messages, expected_msgs=expected_msgs) node.create_subscription(msg_mod, 'test_message_' + message_name, chatter_callback) spin_count = 1 print('subscriber: beginning loop') while (rclpy.ok() and len(received_messages) != len(expected_msgs)): rclpy.spin_once(node) spin_count += 1 print('spin_count: ' + str(spin_count)) node.destroy_node() rclpy.shutdown() assert len(received_messages) == len(expected_msgs),\ 'Should have received {} {} messages from talker'.format(len(expected_msgs), message_name)
def talker(message_name, rmw_implementation, number_of_cycles): import rclpy from rclpy.qos import qos_profile_default from rclpy.impl.rmw_implementation_tools import select_rmw_implementation from message_fixtures import get_test_msg message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) select_rmw_implementation(rmw_implementation) rclpy.init([]) node = rclpy.create_node('talker') chatter_pub = node.create_publisher( msg_mod, 'test_message_' + message_name, qos_profile_default) cycle_count = 0 print('talker: beginning loop') msgs = get_test_msg(message_name) while rclpy.ok() and cycle_count < number_of_cycles: cycle_count += 1 msg_count = 0 for msg in msgs: chatter_pub.publish(msg) msg_count += 1 print('publishing message #%d' % msg_count) time.sleep(0.1) time.sleep(1) rclpy.shutdown()
def listener(message_name, number_of_cycles): from message_fixtures import get_test_msg import rclpy from rclpy.impl.rmw_implementation_tools import select_rmw_implementation from rclpy.qos import qos_profile_default message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) select_rmw_implementation(os.environ['RCLPY_IMPLEMENTATION']) rclpy.init([]) node = rclpy.create_node('listener') received_messages = [] expected_msgs = get_test_msg(message_name) chatter_callback = functools.partial(listener_cb, received_messages=received_messages, expected_msgs=expected_msgs) node.create_subscription(msg_mod, 'test_message_' + message_name, chatter_callback, qos_profile_default) spin_count = 1 print('subscriber: beginning loop') while (rclpy.ok() and spin_count < number_of_cycles and len(received_messages) != len(expected_msgs)): rclpy.spin_once(node) spin_count += 1 print('spin_count: ' + str(spin_count)) rclpy.shutdown() assert len(received_messages) == len(expected_msgs),\ 'Should have received {} {} messages from talker'.format(len(expected_msgs), message_name)
def listener(message_name, rmw_implementation, number_of_cycles): import rclpy from rclpy.qos import qos_profile_default from rclpy.impl.rmw_implementation_tools import select_rmw_implementation from message_fixtures import get_test_msg message_pkg = 'test_communication' module = importlib.import_module(message_pkg + '.msg') msg_mod = getattr(module, message_name) select_rmw_implementation(rmw_implementation) rclpy.init([]) node = rclpy.create_node('listener') received_messages = [] expected_msgs = get_test_msg(message_name) chatter_callback = functools.partial( listener_cb, received_messages=received_messages, expected_msgs=expected_msgs) node.create_subscription( msg_mod, 'test_message_' + message_name, chatter_callback, qos_profile_default) spin_count = 1 print('subscriber: beginning loop') while (rclpy.ok() and spin_count < number_of_cycles and len(received_messages) != len(expected_msgs)): rclpy.spin_once(node) spin_count += 1 rclpy.shutdown() assert len(received_messages) == len(expected_msgs),\ 'Should have received {} {} messages from talker'.format(len(expected_msgs), message_name)