aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.autostart19
-rw-r--r--src/modules/systemlib/mixer/mixer_multirotor.cpp4
-rwxr-xr-xsrc/modules/systemlib/mixer/multi_tables.py8
3 files changed, 30 insertions, 1 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rc.autostart b/ROMFS/px4fmu_common/init.d/rc.autostart
index 0d6e0564a..097ea5efd 100644
--- a/ROMFS/px4fmu_common/init.d/rc.autostart
+++ b/ROMFS/px4fmu_common/init.d/rc.autostart
@@ -16,6 +16,7 @@
# 11000 .. 11999 Hexa Cox
# 12000 .. 12999 Octo Cox
# 13000 .. 13999 VTOL
+# 14000 .. 14999 Tri Y
#
# Simulation
@@ -266,3 +267,21 @@ if param compare SYS_AUTOSTART 13002
then
sh /etc/init.d/13002_firefly6
fi
+
+#
+# TriCopter Y Yaw+
+#
+if param compare SYS_AUTOSTART 14001
+then
+ sh /etc/init.d/14001_tri_y_yaw+
+fi
+
+#
+# TriCopter Y Yaw-
+#
+if param compare SYS_AUTOSTART 14002
+then
+ sh /etc/init.d/14002_tri_y_yaw-
+fi
+
+
diff --git a/src/modules/systemlib/mixer/mixer_multirotor.cpp b/src/modules/systemlib/mixer/mixer_multirotor.cpp
index 2ab5b5e8e..b354eb518 100644
--- a/src/modules/systemlib/mixer/mixer_multirotor.cpp
+++ b/src/modules/systemlib/mixer/mixer_multirotor.cpp
@@ -177,6 +177,10 @@ MultirotorMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handl
} else if (!strcmp(geomname, "2-")) {
geometry = MultirotorGeometry::TWIN_ENGINE;
+
+ } else if (!strcmp(geomname, "3y")) {
+ geometry = MultirotorGeometry::TRI_Y;
+
} else {
debug("unrecognised geometry '%s'", geomname);
return nullptr;
diff --git a/src/modules/systemlib/mixer/multi_tables.py b/src/modules/systemlib/mixer/multi_tables.py
index ba59e0536..e01fcaf8f 100755
--- a/src/modules/systemlib/mixer/multi_tables.py
+++ b/src/modules/systemlib/mixer/multi_tables.py
@@ -155,8 +155,14 @@ twin_engine = [
[-90, 0.0],
]
+tri_y = [
+ [ 60, 0.0],
+ [ -60, 0.0],
+ [ 180, 0.0],
+]
+
-tables = [quad_x, quad_plus, quad_v, quad_wide, quad_deadcat, hex_x, hex_plus, hex_cox, octa_x, octa_plus, octa_cox, twin_engine]
+tables = [quad_x, quad_plus, quad_v, quad_wide, quad_deadcat, hex_x, hex_plus, hex_cox, octa_x, octa_plus, octa_cox, twin_engine, tri_y]
def variableName(variable):
for variableName, value in list(globals().items()):