|
|
|
@ -130,6 +130,16 @@ const MultirotorMixer::Rotor _config_octa_plus[] = {
@@ -130,6 +130,16 @@ const MultirotorMixer::Rotor _config_octa_plus[] = {
|
|
|
|
|
{ 1.000000, 0.000000, -1.00 }, |
|
|
|
|
{ -1.000000, 0.000000, -1.00 }, |
|
|
|
|
}; |
|
|
|
|
const MultirotorMixer::Rotor _config_octa_cox[] = { |
|
|
|
|
{ -0.707107, 0.707107, 1.00 }, |
|
|
|
|
{ 0.707107, 0.707107, -1.00 }, |
|
|
|
|
{ 0.707107, -0.707107, 1.00 }, |
|
|
|
|
{ -0.707107, -0.707107, -1.00 }, |
|
|
|
|
{ 0.707107, 0.707107, 1.00 }, |
|
|
|
|
{ -0.707107, 0.707107, -1.00 }, |
|
|
|
|
{ -0.707107, -0.707107, 1.00 }, |
|
|
|
|
{ 0.707107, -0.707107, -1.00 }, |
|
|
|
|
}; |
|
|
|
|
const MultirotorMixer::Rotor *_config_index[MultirotorMixer::MAX_GEOMETRY] = { |
|
|
|
|
&_config_quad_x[0], |
|
|
|
|
&_config_quad_plus[0], |
|
|
|
@ -139,6 +149,7 @@ const MultirotorMixer::Rotor *_config_index[MultirotorMixer::MAX_GEOMETRY] = {
@@ -139,6 +149,7 @@ const MultirotorMixer::Rotor *_config_index[MultirotorMixer::MAX_GEOMETRY] = {
|
|
|
|
|
&_config_hex_plus[0], |
|
|
|
|
&_config_octa_x[0], |
|
|
|
|
&_config_octa_plus[0], |
|
|
|
|
&_config_octa_cox[0], |
|
|
|
|
}; |
|
|
|
|
const unsigned _config_rotor_count[MultirotorMixer::MAX_GEOMETRY] = { |
|
|
|
|
4, /* quad_x */ |
|
|
|
@ -149,6 +160,7 @@ const unsigned _config_rotor_count[MultirotorMixer::MAX_GEOMETRY] = {
@@ -149,6 +160,7 @@ const unsigned _config_rotor_count[MultirotorMixer::MAX_GEOMETRY] = {
|
|
|
|
|
6, /* hex_plus */ |
|
|
|
|
8, /* octa_x */ |
|
|
|
|
8, /* octa_plus */ |
|
|
|
|
8, /* octa_cox */ |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -241,6 +253,9 @@ MultirotorMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handl
@@ -241,6 +253,9 @@ MultirotorMixer::from_text(Mixer::ControlCallback control_cb, uintptr_t cb_handl
|
|
|
|
|
} else if (!strcmp(geomname, "8x")) { |
|
|
|
|
geometry = MultirotorMixer::OCTA_X; |
|
|
|
|
|
|
|
|
|
} else if (!strcmp(geomname, "8c")) { |
|
|
|
|
geometry = MultirotorMixer::OCTA_COX; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
debug("unrecognised geometry '%s'", geomname); |
|
|
|
|
return nullptr; |
|
|
|
|