aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2015-01-06 10:34:53 +0100
committerThomas Gubler <thomasgubler@gmail.com>2015-01-06 10:34:53 +0100
commit94b9251a69ffbb94b7b1e4292f7ee2d9779cc8ff (patch)
tree5c969c358c5cef3de7ff8908517a4fd97d46c981 /src/modules
parent462a5fae9065f2476d833ff26c24dd98650f2bf7 (diff)
parenta42febc993ae4492e0f43002a5f30f02a0e02fa7 (diff)
downloadpx4-firmware-94b9251a69ffbb94b7b1e4292f7ee2d9779cc8ff.tar.gz
px4-firmware-94b9251a69ffbb94b7b1e4292f7ee2d9779cc8ff.tar.bz2
px4-firmware-94b9251a69ffbb94b7b1e4292f7ee2d9779cc8ff.zip
Merge remote-tracking branch 'upstream/multitablespython3' into dev_ros
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/systemlib/mixer/multi_tables.mk7
-rwxr-xr-xsrc/modules/systemlib/mixer/multi_tables.py (renamed from src/modules/systemlib/mixer/multi_tables)59
2 files changed, 34 insertions, 32 deletions
diff --git a/src/modules/systemlib/mixer/multi_tables.mk b/src/modules/systemlib/mixer/multi_tables.mk
index 6429961cc..c537c83a4 100644
--- a/src/modules/systemlib/mixer/multi_tables.mk
+++ b/src/modules/systemlib/mixer/multi_tables.mk
@@ -33,11 +33,10 @@
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
+MULTI_TABLES := $(SELF_DIR)multi_tables.py
# Add explicit dependency, as implicit one doesn't work often.
$(SELF_DIR)mixer_multirotor.cpp : $(SELF_DIR)mixer_multirotor.generated.h
-$(SELF_DIR)mixer_multirotor.generated.h : $(SELF_DIR)multi_tables
- $(SELF_DIR)multi_tables > $(SELF_DIR)mixer_multirotor.generated.h
- $(SELF_DIR)multi_tables
- \ No newline at end of file
+$(SELF_DIR)mixer_multirotor.generated.h : $(MULTI_TABLES)
+ $(Q) $(PYTHON) $(MULTI_TABLES) > $(SELF_DIR)mixer_multirotor.generated.h
diff --git a/src/modules/systemlib/mixer/multi_tables b/src/modules/systemlib/mixer/multi_tables.py
index a9edb357b..21c0affd9 100755
--- a/src/modules/systemlib/mixer/multi_tables
+++ b/src/modules/systemlib/mixer/multi_tables.py
@@ -36,15 +36,18 @@
# Generate multirotor mixer scale tables compatible with the ArduCopter layout
#
+# for python2.7 compatibility
+from __future__ import print_function
+
import math
-print "/*"
-print "* This file is automatically generated by multi_tables - do not edit."
-print "*/"
-print ""
-print "#ifndef _MIXER_MULTI_TABLES"
-print "#define _MIXER_MULTI_TABLES"
-print ""
+print("/*")
+print("* This file is automatically generated by multi_tables - do not edit.")
+print("*/")
+print("")
+print("#ifndef _MIXER_MULTI_TABLES")
+print("#define _MIXER_MULTI_TABLES")
+print("")
def rcos(angleInRadians):
return math.cos(math.radians(angleInRadians))
@@ -146,7 +149,7 @@ twin_engine = [
]
def variableName(variable):
- for variableName, value in list(globals().iteritems()):
+ for variableName, value in list(globals().items()):
if value is variable:
return variableName
@@ -154,44 +157,44 @@ tables = [quad_x, quad_plus, quad_v, quad_wide, hex_x, hex_plus, hex_cox, octa_x
def printEnum():
- print "enum class MultirotorGeometry : MultirotorGeometryUnderlyingType {"
+ print("enum class MultirotorGeometry : MultirotorGeometryUnderlyingType {")
for table in tables:
- print "\t{},".format(variableName(table).upper())
+ print("\t{},".format(variableName(table).upper()))
- print "\n\tMAX_GEOMETRY"
- print "}; // enum class MultirotorGeometry\n"
+ print("\n\tMAX_GEOMETRY")
+ print("}; // enum class MultirotorGeometry\n")
def printScaleTables():
for table in tables:
- print "const MultirotorMixer::Rotor _config_{}[] = {{".format(variableName(table))
+ print("const MultirotorMixer::Rotor _config_{}[] = {{".format(variableName(table)))
for (angle, yawScale) in table:
rollScale = rcos(angle + 90)
pitchScale = rcos(angle)
- print "\t{{ {:9f}, {:9f}, {:9f} }},".format(rollScale, pitchScale, yawScale)
- print "};\n"
-
+ print("\t{{ {:9f}, {:9f}, {:9f} }},".format(rollScale, pitchScale, yawScale))
+ print("};\n")
+
def printScaleTablesIndex():
- print "const MultirotorMixer::Rotor *_config_index[] = {"
+ print("const MultirotorMixer::Rotor *_config_index[] = {")
for table in tables:
- print "\t&_config_{}[0],".format(variableName(table))
- print "};\n"
+ print("\t&_config_{}[0],".format(variableName(table)))
+ print("};\n")
def printScaleTablesCounts():
- print "const unsigned _config_rotor_count[] = {"
+ print("const unsigned _config_rotor_count[] = {")
for table in tables:
- print "\t{}, /* {} */".format(len(table), variableName(table))
- print "};\n"
-
-
+ print("\t{}, /* {} */".format(len(table), variableName(table)))
+ print("};\n")
+
+
printEnum()
-print "namespace {"
+print("namespace {")
printScaleTables()
printScaleTablesIndex()
printScaleTablesCounts()
-print "} // anonymous namespace\n"
-print "#endif /* _MIXER_MULTI_TABLES */"
-print ""
+print("} // anonymous namespace\n")
+print("#endif /* _MIXER_MULTI_TABLES */")
+print("")