Mixer Generation: Generate mixers for a new MultirotorMixer6dof class for 6-DoF vehicles

This commit is contained in:
Azarakhsh Keipour
2019-07-28 19:19:42 -04:00
parent 4bcf796a89
commit c53923d1d3
@@ -225,6 +225,12 @@ def generate_mixer_multirotor_header(geometries_list, use_normalized_mix=False,
from io import StringIO
buf = StringIO()
# Adapt fields based on options
if use_6dof:
mixer_class_name = "MultirotorMixer6dof"
else:
mixer_class_name = "MultirotorMixer"
# Print Header
buf.write(u"/*\n")
buf.write(u"* This file is automatically generated by px_generate_mixers.py - do not edit.\n")
@@ -252,7 +258,7 @@ def generate_mixer_multirotor_header(geometries_list, use_normalized_mix=False,
else:
mix = geometry['mix']['B']
buf.write(u"static constexpr MultirotorMixer::Rotor _config_{}[] {{\n".format(geometry['info']['name']))
buf.write(u"static constexpr {}::Rotor _config_{}[] {{\n".format(mixer_class_name, geometry['info']['name']))
for row in mix:
if use_6dof:
@@ -268,8 +274,8 @@ def generate_mixer_multirotor_header(geometries_list, use_normalized_mix=False,
buf.write(u"};\n\n")
# Print geometry indeces
buf.write(u"static constexpr const MultirotorMixer::Rotor *_config_index[] {\n")
# Print geometry indices
buf.write(u"static constexpr const {}::Rotor *_config_index[] {{\n".format(mixer_class_name))
for geometry in geometries_list:
buf.write(u"\t&_config_{}[0],\n".format(geometry['info']['name']))
buf.write(u"};\n\n")