msg: generation and parsing scripts: add Python3 support

This commit is contained in:
TSC21
2019-11-23 18:21:58 +00:00
committed by Nuno Marques
parent 4329de9e3b
commit 2be7ca08ba
6 changed files with 93 additions and 147 deletions

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
#############################################################################
#
# Copyright (C) 2013-2019 PX4 Pro Development Team. All rights reserved.
@@ -254,10 +254,10 @@ def print_field(field):
else:
for i in range(array_length):
print("PX4_INFO_RAW(\"\\t" + field.type +
" " + field.name + "[" + str(i) + "]\");")
print(" print_message(message." +
field.name + "[" + str(i) + "]);")
print(("PX4_INFO_RAW(\"\\t" + field.type +
" " + field.name + "[" + str(i) + "]\");"))
print((" print_message(message." +
field.name + "[" + str(i) + "]);"))
return
for i in range(array_length):
@@ -291,23 +291,23 @@ def print_field(field):
field_name = "(" + field_name + " ? \"True\" : \"False\")"
else:
print("PX4_INFO_RAW(\"\\n\\t" + field.name + "\");")
print("\tprint_message(message." + field.name + ");")
print(("PX4_INFO_RAW(\"\\n\\t" + field.name + "\");"))
print(("\tprint_message(message." + field.name + ");"))
return
if field.name == 'timestamp':
print("if (message.timestamp != 0) {\n\t\tPX4_INFO_RAW(\"\\t" + field.name +
print(("if (message.timestamp != 0) {\n\t\tPX4_INFO_RAW(\"\\t" + field.name +
": " + c_type + " (%.6f seconds ago)\\n\", " + field_name +
", hrt_elapsed_time(&message.timestamp) / 1e6);\n\t} else {\n\t\tPX4_INFO_RAW(\"\\n\");\n\t}")
", hrt_elapsed_time(&message.timestamp) / 1e6);\n\t} else {\n\t\tPX4_INFO_RAW(\"\\n\");\n\t}"))
elif field.name == 'device_id':
print("char device_id_buffer[80];")
print("device::Device::device_id_print_buffer(device_id_buffer, sizeof(device_id_buffer), message.device_id);")
print("PX4_INFO_RAW(\"\\tdevice_id: %d (%s) \\n\", message.device_id, device_id_buffer);")
elif is_array and 'char' in field.type:
print("PX4_INFO_RAW(\"\\t" + field.name + ": \\\"%." + str(array_length) + "s\\\" \\n\", message." + field.name + ");")
print(("PX4_INFO_RAW(\"\\t" + field.name + ": \\\"%." + str(array_length) + "s\\\" \\n\", message." + field.name + ");"))
else:
print("PX4_INFO_RAW(\"\\t" + field.name + ": " +
c_type + "\\n\", " + field_name + ");")
print(("PX4_INFO_RAW(\"\\t" + field.name + ": " +
c_type + "\\n\", " + field_name + ");"))
def print_field_def(field):
@@ -347,8 +347,8 @@ def print_field_def(field):
if field.name.startswith('_padding'):
comment = ' // required for logger'
print('\t%s%s%s %s%s;%s' % (type_prefix, type_px4, type_appendix, field.name,
array_size, comment))
print(('\t%s%s%s %s%s;%s' % (type_prefix, type_px4, type_appendix, field.name,
array_size, comment)))
def check_available_ids(used_msg_ids_list):