microRTPS_bridge: structural change to make possible to generate pub/sub code for multi-topics/aliased msgs

This commit is contained in:
TSC21
2019-07-26 15:05:54 +02:00
committed by Beat Küng
parent a747116eab
commit 3d9f83a4f2
23 changed files with 290 additions and 153 deletions
+81 -44
View File
@@ -3,7 +3,7 @@
################################################################################
#
# Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima).
# 2018 PX4 Pro Development Team. All rights reserved.
# 2018-2019 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
@@ -62,61 +62,66 @@ def check_rtps_id_uniqueness(classifier):
repeated_ids = dict()
full_send_list = dict(list(msg for msg in classifier.msgs_to_send.items()) + list(msg[0].items()[0] for msg in classifier.alias_msgs_to_send))
full_receive_list = dict(list(msg for msg in classifier.msgs_to_receive.items()) + list(msg[0].items()[0] for msg in classifier.alias_msgs_to_receive))
full_ignore_list = dict(list(msg for msg in classifier.msgs_to_ignore.items()) + list(msg[0].items()[0] for msg in classifier.alias_msgs_to_ignore))
# check if there are repeated ID's on the messages to send
for key, value in classifier.msgs_to_send.items():
for key, value in full_send_list.items():
if sys.version_info[0] < 3:
if classifier.msgs_to_send.values().count(value) > 1:
if full_send_list.values().count(value) > 1:
repeated_ids.update({key: value})
else:
if list(classifier.msgs_to_send.values()).count(value) > 1:
if list(full_send_list.values()).count(value) > 1:
repeated_ids.update({key: value})
# check if there are repeated ID's on the messages to receive
for key, value in classifier.msgs_to_receive.items():
for key, value in full_receive_list.items():
if sys.version_info[0] < 3:
if classifier.msgs_to_receive.values().count(value) > 1:
if full_receive_list.values().count(value) > 1:
repeated_ids.update({key: value})
else:
if list(classifier.msgs_to_receive.values()).count(value) > 1:
if list(full_receive_list.values()).count(value) > 1:
repeated_ids.update({key: value})
# check if there are repeated ID's on the messages to ignore
for key, value in classifier.msgs_to_ignore.items():
for key, value in full_ignore_list.items():
if sys.version_info[0] < 3:
if classifier.msgs_to_ignore.values().count(value) > 1:
if full_ignore_list.values().count(value) > 1:
repeated_ids.update({key: value})
else:
if list(classifier.msgs_to_ignore.values()).count(value) > 1:
if list(full_ignore_list.values()).count(value) > 1:
repeated_ids.update({key: value})
# check if there are repeated IDs between classified and unclassified msgs
# check send and ignore lists
send_ignore_common_ids = list(set(classifier.msgs_to_ignore.values(
)).intersection(classifier.msgs_to_send.values()))
for item in zip(classifier.msgs_to_send.items(), classifier.msgs_to_ignore.items()):
send_ignore_common_ids = list(set(full_ignore_list.values(
)).intersection(full_send_list.values()))
for item in full_send_list.items():
for repeated in send_ignore_common_ids:
if item[1] == repeated:
repeated_ids.update({item[0]: item[1]})
for item in classifier.msgs_to_ignore.items():
for item in full_ignore_list.items():
for repeated in send_ignore_common_ids:
if item[1] == repeated:
repeated_ids.update({item[0]: item[1]})
# check receive and ignore lists
receive_ignore_common_ids = list(set(classifier.msgs_to_ignore.values(
)).intersection(classifier.msgs_to_receive.values()))
for item in classifier.msgs_to_receive.items():
receive_ignore_common_ids = list(set(full_ignore_list.values(
)).intersection(full_receive_list.values()))
for item in full_receive_list.items():
for repeated in receive_ignore_common_ids:
if item[1] == repeated:
repeated_ids.update({item[0]: item[1]})
for item in classifier.msgs_to_ignore.items():
for item in full_ignore_list.items():
for repeated in receive_ignore_common_ids:
if item[1] == repeated:
repeated_ids.update({item[0]: item[1]})
all_msgs = classifier.msgs_to_send
all_msgs.update(classifier.msgs_to_receive)
all_msgs.update(classifier.msgs_to_ignore)
all_msgs = {}
all_msgs.update(full_send_list)
all_msgs.update(full_receive_list)
all_msgs.update(full_ignore_list)
all_ids = list()
if sys.version_info[0] < 3:
all_ids = all_msgs.values()
@@ -277,44 +282,76 @@ uRTPS_SUBSCRIBER_H_TEMPL_FILE = 'Subscriber.h.em'
def generate_agent(out_dir):
if classifier.msg_files_send:
for msg_file in classifier.msg_files_send:
# raise Exception(classifier.msgs_to_receive)
if classifier.msgs_to_send:
for msg_file in classifier.msgs_to_send:
if gen_idl:
if out_dir != agent_out_dir:
px_generate_uorb_topic_files.generate_idl_file(msg_file, os.path.join(out_dir, "/idl"), urtps_templates_dir,
px_generate_uorb_topic_files.generate_idl_file(msg_file, msg_dir, "", os.path.join(out_dir, "/idl"), urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
else:
px_generate_uorb_topic_files.generate_idl_file(msg_file, idl_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_idl_file(msg_file, msg_dir, "", idl_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_topic_file(msg_file, msg_dir, "", out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_PUBLISHER_SRC_TEMPL_FILE)
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_topic_file(msg_file, msg_dir, "", out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_PUBLISHER_H_TEMPL_FILE)
if classifier.msg_files_receive:
for msg_file in classifier.msg_files_receive:
if classifier.alias_msgs_to_send:
for msg_file in classifier.alias_msgs_to_send:
msg_alias = msg_file[0].keys()[0]
msg_name = msg_file[1]
if gen_idl:
if out_dir != agent_out_dir:
px_generate_uorb_topic_files.generate_idl_file(msg_file, os.path.join(out_dir, "/idl"), urtps_templates_dir,
px_generate_uorb_topic_files.generate_idl_file(msg_name, msg_dir, msg_alias, os.path.join(out_dir, "/idl"), urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
else:
px_generate_uorb_topic_files.generate_idl_file(msg_file, idl_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_idl_file(msg_name, msg_dir, msg_alias, idl_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_topic_file(msg_name, msg_dir, msg_alias, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_PUBLISHER_SRC_TEMPL_FILE)
px_generate_uorb_topic_files.generate_topic_file(msg_name, msg_dir, msg_alias, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_PUBLISHER_H_TEMPL_FILE)
if classifier.msgs_to_receive:
for msg_file in classifier.msgs_to_receive:
if gen_idl:
if out_dir != agent_out_dir:
px_generate_uorb_topic_files.generate_idl_file(msg_file, msg_dir, "", os.path.join(out_dir, "/idl"), urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
else:
px_generate_uorb_topic_files.generate_idl_file(msg_file, msg_dir, "", idl_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
px_generate_uorb_topic_files.generate_topic_file(msg_file, msg_dir, "", out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_SUBSCRIBER_SRC_TEMPL_FILE)
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
px_generate_uorb_topic_files.generate_topic_file(msg_file, msg_dir, "", out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_SUBSCRIBER_H_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msg_files_send, classifier.msg_files_receive, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msg_files_send, classifier.msg_files_receive, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TOPICS_H_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msg_files_send, classifier.msg_files_receive, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TOPICS_SRC_TEMPL_FILE)
if classifier.alias_msgs_to_receive:
for msg_file in classifier.alias_msgs_to_receive:
msg_alias = msg_file[0].keys()[0]
msg_name = msg_file[1]
if gen_idl:
if out_dir != agent_out_dir:
px_generate_uorb_topic_files.generate_idl_file(msg_name, msg_dir, msg_alias, os.path.join(out_dir, "/idl"), urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
else:
px_generate_uorb_topic_files.generate_idl_file(msg_name, msg_dir, msg_alias, idl_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map)
px_generate_uorb_topic_files.generate_topic_file(msg_name, msg_dir, msg_alias, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_SUBSCRIBER_SRC_TEMPL_FILE)
px_generate_uorb_topic_files.generate_topic_file(msg_name, msg_dir, msg_alias, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_SUBSCRIBER_H_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msgs_to_send, classifier.alias_msgs_to_send, classifier.msgs_to_receive, classifier.alias_msgs_to_receive, msg_dir, out_dir,
urtps_templates_dir, package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msgs_to_send, classifier.alias_msgs_to_send, classifier.msgs_to_receive, classifier.alias_msgs_to_receive, msg_dir, out_dir,
urtps_templates_dir, package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TOPICS_H_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msgs_to_send, classifier.alias_msgs_to_send, classifier.msgs_to_receive, classifier.alias_msgs_to_receive, msg_dir, out_dir,
urtps_templates_dir, package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_TOPICS_SRC_TEMPL_FILE)
if cmakelists:
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msg_files_send, classifier.msg_files_receive, out_dir, urtps_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_CMAKELISTS_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msgs_to_send, classifier.alias_msgs_to_send, classifier.msgs_to_receive, classifier.alias_msgs_to_receive, msg_dir, out_dir,
urtps_templates_dir, package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_AGENT_CMAKELISTS_TEMPL_FILE)
# Final steps to install agent
mkdir_p(os.path.join(out_dir, "fastrtpsgen"))
@@ -387,8 +424,8 @@ def generate_client(out_dir):
if os.path.isfile(def_file):
os.rename(def_file, def_file.replace(".h", ".h_"))
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msg_files_send, classifier.msg_files_receive, out_dir, uorb_templates_dir,
package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_CLIENT_TEMPL_FILE)
px_generate_uorb_topic_files.generate_uRTPS_general(classifier.msgs_to_send, classifier.alias_msgs_to_send, classifier.msgs_to_receive, classifier.alias_msgs_to_receive, msg_dir,
out_dir, uorb_templates_dir, package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_CLIENT_TEMPL_FILE)
# Final steps to install client
cp_wildcard(os.path.join(urtps_templates_dir,
+60 -19
View File
@@ -170,13 +170,24 @@ def generate_output_from_file(format_idx, filename, outputdir, package, template
return generate_by_template(output_file, template_file, em_globals)
def generate_idl_file(filename_msg, outputdir, templatedir, package, includepath, ids):
def generate_idl_file(filename_msg, msg_dir, alias, outputdir, templatedir, package, includepath, ids):
"""
Generates an .idl from .msg file
"""
em_globals = get_em_globals(
filename_msg, package, includepath, ids, MsgScope.NONE)
spec_short_name = em_globals["spec"].short_name
# Make sure input msg directory exists:
if not os.path.isdir(msg_dir):
os.makedirs(msg_dir)
msg = os.path.join(msg_dir, filename_msg + ".msg")
if (alias != ""):
em_globals = get_em_globals(
msg, alias , package, includepath, ids, MsgScope.NONE)
spec_short_name = alias
else:
em_globals = get_em_globals(
msg, "", package, includepath, ids, MsgScope.NONE)
spec_short_name = em_globals["spec"].short_name
# Make sure output directory exists:
if not os.path.isdir(outputdir):
@@ -189,21 +200,39 @@ def generate_idl_file(filename_msg, outputdir, templatedir, package, includepath
return generate_by_template(output_file, template_file, em_globals)
def generate_uRTPS_general(filename_send_msgs, filename_received_msgs,
outputdir, templatedir, package, includepath, ids, template_name):
def generate_uRTPS_general(filename_send_msgs, filename_alias_send_msgs, filename_receive_msgs, filename_alias_receive_msgs,
msg_dir, outputdir, templatedir, package, includepath, ids, template_name):
"""
Generates source file by msg content
"""
em_globals_list = []
if filename_send_msgs:
em_globals_list.extend([get_em_globals(
f, package, includepath, ids, MsgScope.SEND) for f in filename_send_msgs])
# Make sure input msg directory exists:
if not os.path.isdir(msg_dir):
os.makedirs(msg_dir)
if filename_received_msgs:
send_msgs = list(os.path.join(msg_dir, msg + ".msg") for msg in filename_send_msgs)
alias_send_msgs = list([os.path.join(msg_dir, msg[1] + ".msg"), msg[0].keys()[0]] for msg in filename_alias_send_msgs)
receive_msgs = list(os.path.join(msg_dir, msg + ".msg") for msg in filename_receive_msgs)
alias_receive_msgs = list([os.path.join(msg_dir, msg[1] + ".msg"), msg[0].keys()[0]] for msg in filename_alias_receive_msgs)
em_globals_list = []
if send_msgs:
em_globals_list.extend([get_em_globals(
f, package, includepath, ids, MsgScope.RECEIVE) for f in filename_received_msgs])
f, "", package, includepath, ids, MsgScope.SEND) for f in send_msgs])
if alias_send_msgs:
em_globals_list.extend([get_em_globals(
f[0], f[1], package, includepath, ids, MsgScope.SEND) for f in alias_send_msgs])
if receive_msgs:
em_globals_list.extend([get_em_globals(
f, "", package, includepath, ids, MsgScope.RECEIVE) for f in receive_msgs])
if alias_receive_msgs:
em_globals_list.extend([get_em_globals(
f[0], f[1], package, includepath, ids, MsgScope.RECEIVE) for f in alias_receive_msgs])
merged_em_globals = merge_em_globals_list(em_globals_list)
# Make sure output directory exists:
if not os.path.isdir(outputdir):
os.makedirs(outputdir)
@@ -215,13 +244,24 @@ def generate_uRTPS_general(filename_send_msgs, filename_received_msgs,
return generate_by_template(output_file, template_file, merged_em_globals)
def generate_topic_file(filename_msg, outputdir, templatedir, package, includepath, ids, template_name):
def generate_topic_file(filename_msg, msg_dir, alias, outputdir, templatedir, package, includepath, ids, template_name):
"""
Generates an .idl from .msg file
Generates a sources and headers from .msg file
"""
em_globals = get_em_globals(
filename_msg, package, includepath, ids, MsgScope.NONE)
spec_short_name = em_globals["spec"].short_name
# Make sure input msg directory exists:
if not os.path.isdir(msg_dir):
os.makedirs(msg_dir)
msg = os.path.join(msg_dir, filename_msg + ".msg")
if (alias):
em_globals = get_em_globals(
msg, alias, package, includepath, ids, MsgScope.NONE)
spec_short_name = alias
else:
em_globals = get_em_globals(
msg, "", package, includepath, ids, MsgScope.NONE)
spec_short_name = em_globals["spec"].short_name
# Make sure output directory exists:
if not os.path.isdir(outputdir):
@@ -234,7 +274,7 @@ def generate_topic_file(filename_msg, outputdir, templatedir, package, includepa
return generate_by_template(output_file, template_file, em_globals)
def get_em_globals(filename_msg, package, includepath, ids, scope):
def get_em_globals(filename_msg, alias, package, includepath, ids, scope):
"""
Generates em globals dictionary
"""
@@ -261,7 +301,8 @@ def get_em_globals(filename_msg, package, includepath, ids, scope):
"topics": topics,
"ids": ids,
"scope": scope,
"package": package
"package": package,
"alias": alias
}
return em_globals
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env python
#############################################################################
#
# Copyright (C) 2013-2018 PX4 Pro Development Team. All rights reserved.
# Copyright (C) 2013-2019 PX4 Pro Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
+46 -17
View File
@@ -50,9 +50,9 @@ class Classifier():
self.msg_id_map = self.parse_yaml_msg_id_file(yaml_file)
self.check_if_listed(yaml_file)
self.msgs_to_send = self.set_msgs_to_send()
self.msgs_to_receive = self.set_msgs_to_receive()
self.msgs_to_ignore = self.set_msgs_to_ignore()
self.msgs_to_send, self.alias_msgs_to_send = self.set_msgs_to_send()
self.msgs_to_receive, self.alias_msgs_to_receive = self.set_msgs_to_receive()
self.msgs_to_ignore, self.alias_msgs_to_ignore = self.set_msgs_to_ignore()
self.msg_files_send = self.set_msg_files_send()
self.msg_files_receive = self.set_msg_files_receive()
self.msg_files_ignore = self.set_msg_files_ignore()
@@ -67,24 +67,36 @@ class Classifier():
def set_msgs_to_send(self):
send = {}
send_alias = []
for dict in self.msg_id_map['rtps']:
if 'send' in dict.keys():
send.update({dict['msg']: dict['id']})
return send
if 'alias' in dict.keys():
send_alias.append(({dict['msg']: dict['id']}, dict['alias']))
else:
send.update({dict['msg']: dict['id']})
return send, send_alias
def set_msgs_to_receive(self):
receive = {}
receive_alias = []
for dict in self.msg_id_map['rtps']:
if 'receive' in dict.keys():
receive.update({dict['msg']: dict['id']})
return receive
if 'alias' in dict.keys():
receive_alias.append(({dict['msg']: dict['id']}, dict['alias']))
else:
receive.update({dict['msg']: dict['id']})
return receive, receive_alias
def set_msgs_to_ignore(self):
ignore = {}
ignore_alias = []
for dict in self.msg_id_map['rtps']:
if ('send' not in dict.keys()) and ('receive' not in dict.keys()):
ignore.update({dict['msg']: dict['id']})
return ignore
if (('send' not in dict.keys()) and ('receive' not in dict.keys())):
if 'alias' in dict.keys():
ignore_alias.append(({dict['msg']: dict['id']}, dict['alias']))
else:
ignore.update({dict['msg']: dict['id']})
return ignore, ignore_alias
def set_msg_files_send(self):
return [os.path.join(self.msg_folder, msg + ".msg")
@@ -141,7 +153,9 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-s", "--send", dest='send',
action="store_true", help="Get topics to be sended")
action="store_true", help="Get topics to be sent")
parser.add_argument("-a", "--alias", dest='alias',
action="store_true", help="Get alias topics")
parser.add_argument("-r", "--receive", dest='receive',
action="store_true", help="Get topics to be received")
parser.add_argument("-i", "--ignore", dest='ignore',
@@ -170,19 +184,34 @@ if __name__ == "__main__":
print ('send files: ' + ', '.join(str(msg_file)
for msg_file in classifier.msgs_files_send) + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_send.keys()) + '\n')
if args.alias:
print (', '.join(str(msg)
for msg in classifier.msgs_to_send.keys()) + (' alias ' + ', '.join(str(msg[0].keys()[0])
for msg in classifier.alias_msgs_to_send) if len(classifier.alias_msgs_to_send) > 0 else '') + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_send.keys()))
if args.receive:
if args.path:
print ('receive files: ' + ', '.join(str(msg_file)
for msg_file in classifier.msgs_files_receive) + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_receive.keys()) + '\n')
if args.alias:
print (', '.join(str(msg)
for msg in classifier.msgs_to_receive.keys()) + (' alias ' + ', '.join(str(msg[0].keys()[0])
for msg in classifier.alias_msgs_to_receive) if len(classifier.alias_msgs_to_receive) > 0 else '') + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_receive.keys()))
if args.ignore:
if args.path:
print ('ignore files: ' + ', '.join(str(msg_file)
for msg_file in classifier.msgs_files_ignore) + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_ignore.keys()) + '\n')
if args.alias:
print (', '.join(str(msg)
for msg in classifier.msgs_to_ignore.keys()) + (' alias ' + ', '.join(str(msg[0].keys()[0])
for msg in classifier.alias_msgs_to_ignore) if len(classifier.alias_msgs_to_ignore) > 0 else '') + '\n')
else:
print (', '.join(str(msg)
for msg in classifier.msgs_to_ignore.keys()))
+22 -14
View File
@@ -98,7 +98,7 @@ rtps:
id: 40
- msg: mount_orientation
id: 41
- msg: multirotor_motor_limit
- msg: multirotor_motor_limits
id: 42
- msg: obstacle_distance
id: 43
@@ -207,7 +207,7 @@ rtps:
id: 89
- msg: vehicle_command_ack
id: 90
- msg: vehicle_constraint
- msg: vehicle_constraints
id: 91
- msg: vehicle_control_mode
id: 92
@@ -246,46 +246,54 @@ rtps:
- msg: collision_constraints
id: 107
send: true
- msg: multirotor_motor_limits
id: 108
- msg: vehicle_constraints
id: 109
- msg: orbit_status
id: 110
id: 108
- msg: power_monitor
id: 111
id: 109
- msg: landing_gear
id: 112
id: 110
# multi topics
- msg: actuator_controls_0
id: 120
alias: actuactor_controls
- msg: actuator_controls_1
id: 121
alias: actuactor_controls
- msg: actuator_controls_2
id: 122
alias: actuactor_controls
- msg: actuator_controls_3
id: 123
alias: actuactor_controls
- msg: actuator_controls_virtual_fw
id: 124
alias: actuactor_controls
- msg: actuator_controls_virtual_mc
id: 125
alias: actuactor_controls
- msg: mc_virtual_attitude_setpoint
id: 126
alias: vehicle_attitude_setpoint
- msg: fw_virtual_attitude_setpoint
id: 127
alias: vehicle_attitude_setpoint
- msg: vehicle_attitude_groundtruth
id: 128
alias: vehicle_attitude
- msg: vehicle_global_position_groundtruth
id: 129
alias: vehicle_global_position
- msg: vehicle_local_position_groundtruth
id: 130
alias: vehicle_local_position
- msg: vehicle_mocap_odometry
alias: vehicle_odometry
id: 131
receive: true
- msg: vehicle_visual_odometry
id: 132
- msg: mc_virtual_rates_setpoint
id: 133
- msg: fw_virtual_rates_setpoint
id: 134
alias: vehicle_odometry
receive: true
- msg: vehicle_trajectory_waypoint_desired
id: 135
id: 133
alias: vehicle_trajectory_waypoint