mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 02:55:07 +08:00
Mixer Generation: Generate mixers for a new MultirotorMixer6dof class for 6-DoF vehicles
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user