mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-19 22:23:33 +08:00
Fixing rebase conflicts
This commit is contained in:
committed by
Lorenz Meier
parent
d69c53827f
commit
c85039e413
@@ -0,0 +1,191 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima).
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software without
|
||||
# specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
import sys, os, argparse, shutil
|
||||
import px_generate_uorb_topic_files
|
||||
import subprocess, glob
|
||||
|
||||
def get_absolute_path(arg_parse_dir):
|
||||
root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
if isinstance(arg_parse_dir, list):
|
||||
dir = arg_parse_dir[0]
|
||||
else:
|
||||
dir = arg_parse_dir
|
||||
|
||||
if dir[0] != '/':
|
||||
dir = root_path + "/" + dir
|
||||
|
||||
return dir
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("-s", "--send", dest='send', metavar='*.msg', type=str, nargs='+', help="Topics to be sended")
|
||||
parser.add_argument("-r", "--receive", dest='receive', metavar='*.msg', type=str, nargs='+', help="Topics to be received")
|
||||
parser.add_argument("-a", "--agent", dest='agent', action="store_true", help="Flag for generate the agent, by default is true if -c is not specified")
|
||||
parser.add_argument("-c", "--client", dest='client', action="store_true", help="Flag for generate the client, by default is true if -a is not specified")
|
||||
parser.add_argument("-t", "--topic-msg-dir", dest='msgdir', type=str, nargs=1, help="Topics message dir, by default msg/", default="msg")
|
||||
parser.add_argument("-o", "--agent-outdir", dest='agentdir', type=str, nargs=1, help="Agent output dir, by default src/modules/micrortps_bridge/micrortps_agent", default="src/modules/micrortps_bridge/micrortps_agent")
|
||||
parser.add_argument("-u", "--client-outdir", dest='clientdir', type=str, nargs=1, help="Client output dir, by default src/modules/micrortps_bridge/micrortps_client", default="src/modules/micrortps_bridge/micrortps_client")
|
||||
parser.add_argument("-f", "--fastrtpsgen-dir", dest='fastrtpsgen', type=str, nargs='?', help="fastrtpsgen installation dir, only needed if fastrtpsgen is not in PATH, by default empty", default="")
|
||||
parser.add_argument("--delete-tree", dest='del_tree', action="store_true", help="Delete dir tree output dir(s)")
|
||||
|
||||
if len(sys.argv) <= 1:
|
||||
parser.print_usage()
|
||||
exit(-1)
|
||||
|
||||
# Parse arguments
|
||||
args = parser.parse_args()
|
||||
msg_folder = get_absolute_path(args.msgdir)
|
||||
msg_files_send = args.send
|
||||
msg_files_receive = args.receive
|
||||
agent = args.agent
|
||||
client = args.client
|
||||
del_tree = args.del_tree
|
||||
px_generate_uorb_topic_files.append_to_include_path({msg_folder}, px_generate_uorb_topic_files.INCL_DEFAULT)
|
||||
agent_out_dir = get_absolute_path(args.agentdir)
|
||||
client_out_dir = get_absolute_path(args.clientdir)
|
||||
|
||||
if args.fastrtpsgen is None or args.fastrtpsgen == "":
|
||||
# Assume fastrtpsgen is in PATH
|
||||
fastrtpsgen_path = "fastrtpsgen"
|
||||
else:
|
||||
# Path to fastrtpsgen is explicitly specified
|
||||
fastrtpsgen_path = get_absolute_path(args.fastrtpsgen) + "/fastrtpsgen"
|
||||
|
||||
# If nothing specified it's generated both
|
||||
if agent == False and client == False:
|
||||
agent = True
|
||||
client = True
|
||||
|
||||
if del_tree:
|
||||
if agent:
|
||||
_continue = str(raw_input("\nFiles in " + agent_out_dir + " will be erased, continue?[Y/n]\n"))
|
||||
if _continue == "N" or _continue == "n":
|
||||
print("Aborting execution...")
|
||||
exit(-1)
|
||||
else:
|
||||
if agent and os.path.isdir(agent_out_dir):
|
||||
shutil.rmtree(agent_out_dir)
|
||||
|
||||
if client:
|
||||
_continue = str(raw_input("\nFiles in " + client_out_dir + " will be erased, continue?[Y/n]\n"))
|
||||
if _continue == "N" or _continue == "n":
|
||||
print("Aborting execution...")
|
||||
exit(-1)
|
||||
else:
|
||||
if client and os.path.isdir(client_out_dir):
|
||||
shutil.rmtree(client_out_dir)
|
||||
|
||||
if agent and os.path.isdir(agent_out_dir + "/idl"):
|
||||
shutil.rmtree(agent_out_dir + "/idl")
|
||||
|
||||
uorb_templates_dir = msg_folder + "/templates/uorb"
|
||||
urtps_templates_dir = msg_folder + "/templates/urtps"
|
||||
|
||||
uRTPS_CLIENT_TEMPL_FILE = 'microRTPS_client.cpp.template'
|
||||
uRTPS_AGENT_TOPICS_H_TEMPL_FILE = 'RtpsTopics.h.template'
|
||||
uRTPS_AGENT_TOPICS_SRC_TEMPL_FILE = 'RtpsTopics.cxx.template'
|
||||
uRTPS_AGENT_TEMPL_FILE = 'microRTPS_agent.cxx.template'
|
||||
uRTPS_AGENT_CMAKELIST_TEMPL_FILE = 'microRTPS_agent_CMakeLists.txt.template'
|
||||
uRTPS_PUBLISHER_SRC_TEMPL_FILE = 'Publisher.cxx.template'
|
||||
uRTPS_PUBLISHER_H_TEMPL_FILE = 'Publisher.h.template'
|
||||
uRTPS_SUBSCRIBER_SRC_TEMPL_FILE = 'Subscriber.cxx.template'
|
||||
uRTPS_SUBSCRIBER_H_TEMPL_FILE = 'Subscriber.h.template'
|
||||
|
||||
def generate_agent(out_dir):
|
||||
|
||||
if msg_files_send:
|
||||
for msg_file in msg_files_send:
|
||||
px_generate_uorb_topic_files.generate_idl_file(msg_file, out_dir + "/idl", urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT)
|
||||
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, 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.INCL_DEFAULT, uRTPS_PUBLISHER_H_TEMPL_FILE)
|
||||
|
||||
if msg_files_receive:
|
||||
for msg_file in msg_files_receive:
|
||||
px_generate_uorb_topic_files.generate_idl_file(msg_file, out_dir + "/idl", urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT)
|
||||
px_generate_uorb_topic_files.generate_topic_file(msg_file, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, 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.INCL_DEFAULT, uRTPS_SUBSCRIBER_H_TEMPL_FILE)
|
||||
|
||||
px_generate_uorb_topic_files.generate_uRTPS_general(msg_files_send, msg_files_receive, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, uRTPS_AGENT_TEMPL_FILE)
|
||||
px_generate_uorb_topic_files.generate_uRTPS_general(msg_files_send, msg_files_receive, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, uRTPS_AGENT_TOPICS_H_TEMPL_FILE)
|
||||
px_generate_uorb_topic_files.generate_uRTPS_general(msg_files_send, msg_files_receive, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, uRTPS_AGENT_TOPICS_SRC_TEMPL_FILE)
|
||||
px_generate_uorb_topic_files.generate_uRTPS_general(msg_files_send, msg_files_receive, out_dir, urtps_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, uRTPS_AGENT_CMAKELIST_TEMPL_FILE)
|
||||
|
||||
# Final steps to install agent
|
||||
os.system("mkdir -p " + agent_out_dir + "/fastrtpsgen")
|
||||
for idl_file in glob.glob( agent_out_dir + "/idl/*.idl"):
|
||||
ret = os.system("cd " + agent_out_dir + "/fastrtpsgen && " + fastrtpsgen_path + " -example x64Linux2.6gcc " + idl_file)
|
||||
if ret:
|
||||
raise Exception("fastrtpsgen not found. Specify the location of fastrtpsgen with the -f flag")
|
||||
|
||||
os.system("rm " + agent_out_dir + "/fastrtpsgen/*PubSubMain.cxx "
|
||||
+ agent_out_dir + "/fastrtpsgen/makefile* "
|
||||
+ agent_out_dir + "/fastrtpsgen/*Publisher* "
|
||||
+ agent_out_dir + "/fastrtpsgen/*Subscriber*")
|
||||
os.system("cp " + agent_out_dir + "/fastrtpsgen/* " + agent_out_dir)
|
||||
os.system("rm -rf " + agent_out_dir + "/fastrtpsgen/")
|
||||
os.system("cp " + urtps_templates_dir + "/microRTPS_transport.* " + agent_out_dir)
|
||||
os.system("mv " + agent_out_dir + "/microRTPS_agent_CMakeLists.txt " + agent_out_dir + "/CMakeLists.txt")
|
||||
os.system("mkdir -p " + agent_out_dir + "/build")
|
||||
|
||||
return 0
|
||||
|
||||
def generate_client(out_dir):
|
||||
|
||||
px_generate_uorb_topic_files.generate_uRTPS_general(msg_files_send, msg_files_receive, out_dir, uorb_templates_dir,
|
||||
px_generate_uorb_topic_files.INCL_DEFAULT, uRTPS_CLIENT_TEMPL_FILE)
|
||||
|
||||
# Final steps to install client
|
||||
os.system("cp " + urtps_templates_dir + "/microRTPS_transport.* " + client_out_dir)
|
||||
|
||||
return 0
|
||||
|
||||
if agent:
|
||||
generate_agent(agent_out_dir)
|
||||
print("\nAgent created in: " + agent_out_dir)
|
||||
|
||||
if client:
|
||||
generate_client(client_out_dir)
|
||||
print("\nClient created in: " + client_out_dir)
|
||||
@@ -0,0 +1,108 @@
|
||||
|
||||
# Message identification constants
|
||||
|
||||
|
||||
msg_id_map = {
|
||||
'actuator_armed': 1,
|
||||
'actuator_controls': 2,
|
||||
'actuator_direct': 3,
|
||||
'actuator_outputs': 4,
|
||||
'adc_report': 5,
|
||||
'airspeed': 6,
|
||||
'att_pos_mocap': 7,
|
||||
'battery_status': 8,
|
||||
'camera_capture': 9,
|
||||
'camera_trigger': 10,
|
||||
'collision_report': 11,
|
||||
'commander_state': 12,
|
||||
'control_state': 13,
|
||||
'cpuload': 14,
|
||||
'debug_key_value': 15,
|
||||
'differential_pressure': 16,
|
||||
'distance_sensor': 17,
|
||||
'ekf2_innovations': 18,
|
||||
'ekf2_replay': 19,
|
||||
'ekf2_timestamps': 20,
|
||||
'esc_report': 21,
|
||||
'esc_status': 22,
|
||||
'estimator_status': 23,
|
||||
'fence': 24,
|
||||
'fence_vertex': 25,
|
||||
'filtered_bottom_flow': 26,
|
||||
'follow_target': 27,
|
||||
'fw_pos_ctrl_status': 28,
|
||||
'geofence_result': 29,
|
||||
'gps_dump': 30,
|
||||
'gps_inject_data': 31,
|
||||
'hil_sensor': 32,
|
||||
'home_position': 33,
|
||||
'input_rc': 34,
|
||||
'led_control': 35,
|
||||
'log_message': 36,
|
||||
'manual_control_setpoint': 37,
|
||||
'mavlink_log': 38,
|
||||
'mc_att_ctrl_status': 39,
|
||||
'mission': 40,
|
||||
'mission_result': 41,
|
||||
'mount_orientation': 42,
|
||||
'multirotor_motor_limits': 43,
|
||||
'offboard_control_mode': 44,
|
||||
'optical_flow': 45,
|
||||
'output_pwm': 46,
|
||||
'parameter_update': 47,
|
||||
'position_setpoint': 48,
|
||||
'position_setpoint_triplet': 49,
|
||||
'pwm_input': 50,
|
||||
'qshell_req': 51,
|
||||
'rc_channels': 52,
|
||||
'rc_parameter_map': 53,
|
||||
'safety': 54,
|
||||
'satellite_info': 55,
|
||||
'sensor_accel': 56,
|
||||
'sensor_baro': 57,
|
||||
'sensor_combined': 58,
|
||||
'sensor_correction': 59,
|
||||
'sensor_gyro': 60,
|
||||
'sensor_mag': 61,
|
||||
'sensor_preflight': 62,
|
||||
'sensor_selection': 63,
|
||||
'servorail_status': 64,
|
||||
'subsystem_info': 65,
|
||||
'system_power': 66,
|
||||
'task_stack_info': 67,
|
||||
'tecs_status': 68,
|
||||
'telemetry_status': 69,
|
||||
'test_motor': 70,
|
||||
'time_offset': 71,
|
||||
'transponder_report': 72,
|
||||
'uavcan_parameter_request': 73,
|
||||
'uavcan_parameter_value': 74,
|
||||
'ulog_stream_ack': 75,
|
||||
'ulog_stream': 76,
|
||||
'vehicle_attitude': 77,
|
||||
'vehicle_attitude_setpoint': 78,
|
||||
'vehicle_command_ack': 79,
|
||||
'vehicle_command': 80,
|
||||
'vehicle_control_mode': 81,
|
||||
'vehicle_force_setpoint': 82,
|
||||
'vehicle_global_position': 83,
|
||||
'vehicle_global_velocity_setpoint': 84,
|
||||
'vehicle_gps_position': 85,
|
||||
'vehicle_land_detected': 86,
|
||||
'vehicle_local_position': 87,
|
||||
'vehicle_local_position_setpoint': 88,
|
||||
'vehicle_rates_setpoint': 89,
|
||||
'vehicle_roi': 90,
|
||||
'vehicle_status_flags': 91,
|
||||
'vehicle_status': 92,
|
||||
'vtol_vehicle_status': 93,
|
||||
'wind_estimate': 94,
|
||||
}
|
||||
|
||||
def message_id(message):
|
||||
"""
|
||||
Get id of a message
|
||||
"""
|
||||
if message in msg_id_map:
|
||||
return msg_id_map[message]
|
||||
return 0
|
||||
@@ -42,8 +42,8 @@ import os
|
||||
import shutil
|
||||
import filecmp
|
||||
import argparse
|
||||
|
||||
import sys
|
||||
|
||||
px4_tools_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
sys.path.append(px4_tools_dir + "/genmsg/src")
|
||||
sys.path.append(px4_tools_dir + "/gencpp/src")
|
||||
@@ -82,7 +82,12 @@ OUTPUT_FILE_EXT = ['.h', '.cpp']
|
||||
INCL_DEFAULT = ['std_msgs:./msg/std_msgs']
|
||||
PACKAGE = 'px4'
|
||||
TOPICS_TOKEN = '# TOPICS '
|
||||
IDL_TEMPLATE_FILE = 'msg.idl.template'
|
||||
|
||||
class MsgScope:
|
||||
NONE = 0
|
||||
SEND = 1
|
||||
RECEIVE = 2
|
||||
|
||||
def get_multi_topics(filename):
|
||||
"""
|
||||
@@ -141,6 +146,102 @@ def generate_output_from_file(format_idx, filename, outputdir, templatedir, incl
|
||||
|
||||
return generate_by_template(output_file, template_file, em_globals)
|
||||
|
||||
def generate_idl_file(filename_msg, outputdir, templatedir, includepath):
|
||||
"""
|
||||
Generates an .idl from .msg file
|
||||
"""
|
||||
em_globals = get_em_globals(filename_msg, includepath, MsgScope.NONE)
|
||||
spec_short_name = em_globals["spec"].short_name
|
||||
|
||||
# Make sure output directory exists:
|
||||
if not os.path.isdir(outputdir):
|
||||
os.makedirs(outputdir)
|
||||
|
||||
template_file = os.path.join(templatedir, IDL_TEMPLATE_FILE)
|
||||
output_file = os.path.join(outputdir, IDL_TEMPLATE_FILE.replace("msg.idl.template", str(spec_short_name + "_.idl")))
|
||||
|
||||
return generate_by_template(output_file, template_file, em_globals)
|
||||
|
||||
def generate_uRTPS_general(filename_send_msgs, filename_received_msgs,
|
||||
outputdir, templatedir, includepath, template_name):
|
||||
"""
|
||||
Generates source file by UART msg content
|
||||
"""
|
||||
em_globals_list = []
|
||||
if filename_send_msgs:
|
||||
em_globals_list.extend([get_em_globals(f, includepath, MsgScope.SEND) for f in filename_send_msgs])
|
||||
|
||||
if filename_received_msgs:
|
||||
em_globals_list.extend([get_em_globals(f, includepath, MsgScope.RECEIVE) for f in filename_received_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)
|
||||
|
||||
template_file = os.path.join(templatedir, template_name)
|
||||
output_file = os.path.join(outputdir, template_name.replace(".template", ""))
|
||||
|
||||
return generate_by_template(output_file, template_file, merged_em_globals)
|
||||
|
||||
def generate_topic_file(filename_msg, outputdir, templatedir, includepath, template_name):
|
||||
"""
|
||||
Generates an .idl from .msg file
|
||||
"""
|
||||
em_globals = get_em_globals(filename_msg, includepath, MsgScope.NONE)
|
||||
spec_short_name = em_globals["spec"].short_name
|
||||
|
||||
# Make sure output directory exists:
|
||||
if not os.path.isdir(outputdir):
|
||||
os.makedirs(outputdir)
|
||||
|
||||
template_file = os.path.join(templatedir, template_name)
|
||||
output_file = os.path.join(outputdir, spec_short_name + "_" + template_name.replace(".template", ""))
|
||||
|
||||
return generate_by_template(output_file, template_file, em_globals)
|
||||
|
||||
def get_em_globals(filename_msg, includepath, scope):
|
||||
"""
|
||||
Generates em globals dictionary
|
||||
"""
|
||||
msg_context = genmsg.msg_loader.MsgContext.create_default()
|
||||
full_type_name = genmsg.gentools.compute_full_type_name(PACKAGE, os.path.basename(filename_msg))
|
||||
spec = genmsg.msg_loader.load_msg_from_file(msg_context, filename_msg, full_type_name)
|
||||
topics = get_multi_topics(filename_msg)
|
||||
if includepath:
|
||||
search_path = genmsg.command_line.includepath_to_dict(includepath)
|
||||
else:
|
||||
search_path = {}
|
||||
genmsg.msg_loader.load_depends(msg_context, spec, search_path)
|
||||
md5sum = genmsg.gentools.compute_md5(msg_context, spec)
|
||||
if len(topics) == 0:
|
||||
topics.append(spec.short_name)
|
||||
em_globals = {
|
||||
"file_name_in": filename_msg,
|
||||
"md5sum": md5sum,
|
||||
"search_path": search_path,
|
||||
"msg_context": msg_context,
|
||||
"spec": spec,
|
||||
"topics": topics,
|
||||
"scope": scope
|
||||
}
|
||||
|
||||
return em_globals
|
||||
|
||||
def merge_em_globals_list(em_globals_list):
|
||||
"""
|
||||
Merges a list of em_globals to a single dictionary where each attribute is a list
|
||||
"""
|
||||
if len(em_globals_list) < 1:
|
||||
return {}
|
||||
|
||||
merged_em_globals = {}
|
||||
for name in em_globals_list[0]:
|
||||
merged_em_globals[name] = [em_globals[name] for em_globals in em_globals_list]
|
||||
|
||||
return merged_em_globals
|
||||
|
||||
|
||||
|
||||
def generate_by_template(output_file, template_file, em_globals):
|
||||
"""
|
||||
@@ -151,7 +252,7 @@ def generate_by_template(output_file, template_file, em_globals):
|
||||
folder_name = os.path.dirname(output_file)
|
||||
if not os.path.exists(folder_name):
|
||||
os.makedirs(folder_name)
|
||||
|
||||
|
||||
ofile = open(output_file, 'w')
|
||||
# todo, reuse interpreter
|
||||
interpreter = em.Interpreter(output=ofile, globals=em_globals, options={em.RAW_OPT:True,em.BUFFERED_OPT:True})
|
||||
@@ -268,7 +369,7 @@ def generate_topics_list_file(msgdir, outputdir, templatedir):
|
||||
tl_template_file = os.path.join(templatedir, TOPICS_LIST_TEMPLATE_FILE)
|
||||
tl_out_file = os.path.join(outputdir, TOPICS_LIST_TEMPLATE_FILE.replace(".template", ""))
|
||||
generate_by_template(tl_out_file, tl_template_file, tl_globals)
|
||||
|
||||
|
||||
def generate_topics_list_file_from_files(files, outputdir, templatedir):
|
||||
# generate cpp file with topics list
|
||||
filenames = [os.path.basename(p) for p in files if os.path.basename(p).endswith(".msg")]
|
||||
|
||||
@@ -23,6 +23,36 @@ type_map = {
|
||||
'char': 'char',
|
||||
}
|
||||
|
||||
type_serialize_map = {
|
||||
'int8': 'SignedChar',
|
||||
'int16': 'Short',
|
||||
'int32': 'Int',
|
||||
'int64': 'Long',
|
||||
'uint8': 'UnsignedChar',
|
||||
'uint16': 'UnsignedShort',
|
||||
'uint32': 'UnsignedInt',
|
||||
'uint64': 'UnsignedLong',
|
||||
'float32': 'Float',
|
||||
'float64': 'Double',
|
||||
'bool': 'Bool',
|
||||
'char': 'Char',
|
||||
}
|
||||
|
||||
type_idl_map = {
|
||||
'int8': 'octet',
|
||||
'int16': 'short',
|
||||
'int32': 'long',
|
||||
'int64': 'long long',
|
||||
'uint8': 'octet',
|
||||
'uint16': 'unsigned short',
|
||||
'uint32': 'unsigned long',
|
||||
'uint64': 'unsigned long long',
|
||||
'float32': 'float',
|
||||
'float64': 'double',
|
||||
'bool': 'boolean',
|
||||
'char': 'char',
|
||||
}
|
||||
|
||||
msgtype_size_map = {
|
||||
'int8': 1,
|
||||
'int16': 2,
|
||||
|
||||
Reference in New Issue
Block a user