aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnton Matosov <anton.matosov@gmail.com>2014-11-10 00:09:27 +0200
committerAnton Matosov <anton.matosov@gmail.com>2015-01-05 12:02:31 +0200
commit59fa170e54a4a88b4bdad86622e75183e9fbdc51 (patch)
tree3f67717dc40f2dde301dea9c5e95082e00c12c38 /src
parentc3ed35f5cc8e2617e61747e904dbaa652d1cc2c8 (diff)
downloadpx4-firmware-59fa170e54a4a88b4bdad86622e75183e9fbdc51.tar.gz
px4-firmware-59fa170e54a4a88b4bdad86622e75183e9fbdc51.tar.bz2
px4-firmware-59fa170e54a4a88b4bdad86622e75183e9fbdc51.zip
Automated updates of the C++ code generated by the multi_tables script, now it is placed into the mixer_multirotor.generated.h file which is generated by makefile
Diffstat (limited to 'src')
-rw-r--r--src/modules/systemlib/mixer/mixer_multirotor.cpp114
-rw-r--r--src/modules/systemlib/mixer/module.mk7
-rwxr-xr-xsrc/modules/systemlib/mixer/multi_tables9
3 files changed, 17 insertions, 113 deletions
diff --git a/src/modules/systemlib/mixer/mixer_multirotor.cpp b/src/modules/systemlib/mixer/mixer_multirotor.cpp
index eb1aef6c1..bb3868c34 100644
--- a/src/modules/systemlib/mixer/mixer_multirotor.cpp
+++ b/src/modules/systemlib/mixer/mixer_multirotor.cpp
@@ -73,118 +73,8 @@ float constrain(float val, float min, float max)
return (val < min) ? min : ((val > max) ? max : val);
}
-/*
- * These tables automatically generated by multi_tables - do not edit.
- */
-
-const MultirotorMixer::Rotor _config_quad_x[] = {
- { -0.707107, 0.707107, 1.000000 },
- { 0.707107, -0.707107, 1.000000 },
- { 0.707107, 0.707107, -1.000000 },
- { -0.707107, -0.707107, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_quad_plus[] = {
- { -1.000000, 0.000000, 1.000000 },
- { 1.000000, 0.000000, 1.000000 },
- { 0.000000, 1.000000, -1.000000 },
- { -0.000000, -1.000000, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_quad_v[] = {
- { -0.322266, 0.946649, 0.424200 },
- { 0.322266, 0.946649, 1.000000 },
- { 0.322266, 0.946649, -0.424200 },
- { -0.322266, 0.946649, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_quad_wide[] = {
- { -0.927184, 0.374607, 1.000000 },
- { 0.777146, -0.629320, 1.000000 },
- { 0.927184, 0.374607, -1.000000 },
- { -0.777146, -0.629320, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_hex_x[] = {
- { -1.000000, 0.000000, -1.000000 },
- { 1.000000, 0.000000, 1.000000 },
- { 0.500000, 0.866025, -1.000000 },
- { -0.500000, -0.866025, 1.000000 },
- { -0.500000, 0.866025, 1.000000 },
- { 0.500000, -0.866025, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_hex_plus[] = {
- { 0.000000, 1.000000, -1.000000 },
- { -0.000000, -1.000000, 1.000000 },
- { 0.866025, -0.500000, -1.000000 },
- { -0.866025, 0.500000, 1.000000 },
- { 0.866025, 0.500000, 1.000000 },
- { -0.866025, -0.500000, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_hex_cox[] = {
- { -0.866025, 0.500000, -1.000000 },
- { -0.866025, 0.500000, 1.000000 },
- { -0.000000, -1.000000, -1.000000 },
- { -0.000000, -1.000000, 1.000000 },
- { 0.866025, 0.500000, -1.000000 },
- { 0.866025, 0.500000, 1.000000 },
-};
-const MultirotorMixer::Rotor _config_octa_x[] = {
- { -0.382683, 0.923880, -1.000000 },
- { 0.382683, -0.923880, -1.000000 },
- { -0.923880, 0.382683, 1.000000 },
- { -0.382683, -0.923880, 1.000000 },
- { 0.382683, 0.923880, 1.000000 },
- { 0.923880, -0.382683, 1.000000 },
- { 0.923880, 0.382683, -1.000000 },
- { -0.923880, -0.382683, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_octa_plus[] = {
- { 0.000000, 1.000000, -1.000000 },
- { -0.000000, -1.000000, -1.000000 },
- { -0.707107, 0.707107, 1.000000 },
- { -0.707107, -0.707107, 1.000000 },
- { 0.707107, 0.707107, 1.000000 },
- { 0.707107, -0.707107, 1.000000 },
- { 1.000000, 0.000000, -1.000000 },
- { -1.000000, 0.000000, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_octa_cox[] = {
- { -0.707107, 0.707107, 1.000000 },
- { 0.707107, 0.707107, -1.000000 },
- { 0.707107, -0.707107, 1.000000 },
- { -0.707107, -0.707107, -1.000000 },
- { 0.707107, 0.707107, 1.000000 },
- { -0.707107, 0.707107, -1.000000 },
- { -0.707107, -0.707107, 1.000000 },
- { 0.707107, -0.707107, -1.000000 },
-};
-const MultirotorMixer::Rotor _config_twin_engine[] = {
- { -1.000000, 0.000000, 0.000000 },
- { 1.000000, 0.000000, 0.000000 },
-};
-const MultirotorMixer::Rotor *_config_index[MultirotorMixer::MAX_GEOMETRY] = {
- &_config_quad_x[0],
- &_config_quad_plus[0],
- &_config_quad_v[0],
- &_config_quad_wide[0],
- &_config_hex_x[0],
- &_config_hex_plus[0],
- &_config_hex_cox[0],
- &_config_octa_x[0],
- &_config_octa_plus[0],
- &_config_octa_cox[0],
- &_config_twin_engine[0],
-};
-const unsigned _config_rotor_count[MultirotorMixer::MAX_GEOMETRY] = {
- 4, /* quad_x */
- 4, /* quad_plus */
- 4, /* quad_v */
- 4, /* quad_wide */
- 6, /* hex_x */
- 6, /* hex_plus */
- 6, /* hex_cox */
- 8, /* octa_x */
- 8, /* octa_plus */
- 8, /* octa_cox */
- 2, /* twin_engine */
-};
+// This file is generated by the multi_tables script which is invoked during the build process
+#include "mixer_multirotor.generated.h"
}
diff --git a/src/modules/systemlib/mixer/module.mk b/src/modules/systemlib/mixer/module.mk
index fc7485e20..683631324 100644
--- a/src/modules/systemlib/mixer/module.mk
+++ b/src/modules/systemlib/mixer/module.mk
@@ -31,13 +31,18 @@
#
############################################################################
+
#
# mixer library
#
LIBNAME = mixerlib
-
+
SRCS = mixer.cpp \
mixer_group.cpp \
mixer_multirotor.cpp \
mixer_simple.cpp \
mixer_load.c
+
+SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
+$(SELF_DIR)mixer_multirotor.generated.h : $(SELF_DIR)multi_tables
+ $(SELF_DIR)multi_tables > $(SELF_DIR)mixer_multirotor.generated.h
diff --git a/src/modules/systemlib/mixer/multi_tables b/src/modules/systemlib/mixer/multi_tables
index bdb62f812..1f47ca63d 100755
--- a/src/modules/systemlib/mixer/multi_tables
+++ b/src/modules/systemlib/mixer/multi_tables
@@ -3,6 +3,12 @@
# Generate multirotor mixer scale tables compatible with the ArduCopter layout
#
+
+puts "/*"
+puts "* These tables automatically generated by multi_tables - do not edit."
+puts "*/"
+puts ""
+
proc rad {a} { expr ($a / 360.0) * 2 * acos(-1) }
proc rcos {a} { expr cos([rad $a])}
@@ -133,3 +139,6 @@ foreach table $tables {
puts [format "\t%u, /* %s */" [expr [llength $angles] / 2] $table]
}
puts "};"
+
+# Newline at the end of file
+puts ""