diff --git a/flight/OpenPilot/Modules/Actuator/matrixmixer/Actuator/actuator.c b/flight/OpenPilot/Modules/Actuator/matrixmixer/Actuator/actuator.c
index 174aab70d..63867556d 100644
--- a/flight/OpenPilot/Modules/Actuator/matrixmixer/Actuator/actuator.c
+++ b/flight/OpenPilot/Modules/Actuator/matrixmixer/Actuator/actuator.c
@@ -186,6 +186,9 @@ static int32_t RunMixers(ActuatorCommandData* command, ActuatorSettingsData* set
ManualControlCommandData manualControl;
ManualControlCommandGet(&manualControl);
+ bool armed = manualControl.Armed == MANUALCONTROLCOMMAND_ARMED_TRUE;
+ armed &= desired.Throttle > 0.05; //zero throttle stops the motors
+
float curve1 = MixerCurve(desired.Throttle,mixerSettings.ThrottleCurve1);
float curve2 = MixerCurve(desired.Throttle,mixerSettings.ThrottleCurve2);
@@ -197,10 +200,10 @@ static int32_t RunMixers(ActuatorCommandData* command, ActuatorSettingsData* set
settings->ChannelMax[ct],
settings->ChannelMin[ct],
settings->ChannelNeutral[ct]);
- if(manualControl.Armed != MANUALCONTROLCOMMAND_ARMED_TRUE &&
+ if(!armed &&
mixers[ct].type == MIXERSETTINGS_MIXER0TYPE_MOTOR)
{
- command->Channel[ct] = -1; //force zero throttle
+ command->Channel[ct] = settings->ChannelMin[ct]; //force zero throttle
}else
{
command->Channel[ct] = status[ct]; //servos always follow command
@@ -223,11 +226,11 @@ float ProcessMixer(const int index, const float curve1, const float curve2,
static float filterAccumulator[MAX_MIX_ACTUATORS]={0,0,0,0,0,0,0,0};
Mixer_t * mixers = (Mixer_t *)&mixerSettings->Mixer0Type; //pointer to array of mixers in UAVObjects
Mixer_t * mixer = &mixers[index];
- float result = (mixer->matrix[MIXERSETTINGS_MIXER0MATRIX_THROTTLECURVE1] * curve1) +
- (mixer->matrix[MIXERSETTINGS_MIXER0MATRIX_THROTTLECURVE2] * curve2) +
- (mixer->matrix[MIXERSETTINGS_MIXER0MATRIX_ROLL] * desired->Roll) +
- (mixer->matrix[MIXERSETTINGS_MIXER0MATRIX_PITCH] * desired->Pitch) +
- (mixer->matrix[MIXERSETTINGS_MIXER0MATRIX_YAW] * desired->Yaw);
+ float result = (mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE1] * curve1) +
+ (mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE2] * curve2) +
+ (mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_ROLL] * desired->Roll) +
+ (mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_PITCH] * desired->Pitch) +
+ (mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_YAW] * desired->Yaw);
if(mixer->type == MIXERSETTINGS_MIXER0TYPE_MOTOR)
{
if(result < 0) //idle throttle
diff --git a/flight/OpenPilot/UAVObjects/inc/mixersettings.h b/flight/OpenPilot/UAVObjects/inc/mixersettings.h
index cd64cd1b3..b488c361c 100644
--- a/flight/OpenPilot/UAVObjects/inc/mixersettings.h
+++ b/flight/OpenPilot/UAVObjects/inc/mixersettings.h
@@ -41,7 +41,7 @@
#define MIXERSETTINGS_H
// Object constants
-#define MIXERSETTINGS_OBJID 1614220618U
+#define MIXERSETTINGS_OBJID 3818217990U
#define MIXERSETTINGS_NAME "MixerSettings"
#define MIXERSETTINGS_METANAME "MixerSettingsMeta"
#define MIXERSETTINGS_ISSINGLEINST 1
@@ -78,21 +78,21 @@ typedef struct {
float ThrottleCurve1[5];
float ThrottleCurve2[5];
uint8_t Mixer0Type;
- float Mixer0Matrix[5];
+ float Mixer0Vector[5];
uint8_t Mixer1Type;
- float Mixer1Matrix[5];
+ float Mixer1Vector[5];
uint8_t Mixer2Type;
- float Mixer2Matrix[5];
+ float Mixer2Vector[5];
uint8_t Mixer3Type;
- float Mixer3Matrix[5];
+ float Mixer3Vector[5];
uint8_t Mixer4Type;
- float Mixer4Matrix[5];
+ float Mixer4Vector[5];
uint8_t Mixer5Type;
- float Mixer5Matrix[5];
+ float Mixer5Vector[5];
uint8_t Mixer6Type;
- float Mixer6Matrix[5];
+ float Mixer6Vector[5];
uint8_t Mixer7Type;
- float Mixer7Matrix[5];
+ float Mixer7Vector[5];
} __attribute__((packed)) MixerSettingsData;
@@ -114,67 +114,67 @@ typedef enum { MIXERSETTINGS_THROTTLECURVE2_0=0, MIXERSETTINGS_THROTTLECURVE2_25
// Field Mixer0Type information
/* Enumeration options for field Mixer0Type */
typedef enum { MIXERSETTINGS_MIXER0TYPE_DISABLED=0, MIXERSETTINGS_MIXER0TYPE_MOTOR=1, MIXERSETTINGS_MIXER0TYPE_SERVO=2 } MixerSettingsMixer0TypeOptions;
-// Field Mixer0Matrix information
-/* Array element names for field Mixer0Matrix */
-typedef enum { MIXERSETTINGS_MIXER0MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER0MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER0MATRIX_ROLL=2, MIXERSETTINGS_MIXER0MATRIX_PITCH=3, MIXERSETTINGS_MIXER0MATRIX_YAW=4 } MixerSettingsMixer0MatrixElem;
-/* Number of elements for field Mixer0Matrix */
-#define MIXERSETTINGS_MIXER0MATRIX_NUMELEM 5
+// Field Mixer0Vector information
+/* Array element names for field Mixer0Vector */
+typedef enum { MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER0VECTOR_ROLL=2, MIXERSETTINGS_MIXER0VECTOR_PITCH=3, MIXERSETTINGS_MIXER0VECTOR_YAW=4 } MixerSettingsMixer0VectorElem;
+/* Number of elements for field Mixer0Vector */
+#define MIXERSETTINGS_MIXER0VECTOR_NUMELEM 5
// Field Mixer1Type information
/* Enumeration options for field Mixer1Type */
typedef enum { MIXERSETTINGS_MIXER1TYPE_DISABLED=0, MIXERSETTINGS_MIXER1TYPE_MOTOR=1, MIXERSETTINGS_MIXER1TYPE_SERVO=2 } MixerSettingsMixer1TypeOptions;
-// Field Mixer1Matrix information
-/* Array element names for field Mixer1Matrix */
-typedef enum { MIXERSETTINGS_MIXER1MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER1MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER1MATRIX_ROLL=2, MIXERSETTINGS_MIXER1MATRIX_PITCH=3, MIXERSETTINGS_MIXER1MATRIX_YAW=4 } MixerSettingsMixer1MatrixElem;
-/* Number of elements for field Mixer1Matrix */
-#define MIXERSETTINGS_MIXER1MATRIX_NUMELEM 5
+// Field Mixer1Vector information
+/* Array element names for field Mixer1Vector */
+typedef enum { MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER1VECTOR_ROLL=2, MIXERSETTINGS_MIXER1VECTOR_PITCH=3, MIXERSETTINGS_MIXER1VECTOR_YAW=4 } MixerSettingsMixer1VectorElem;
+/* Number of elements for field Mixer1Vector */
+#define MIXERSETTINGS_MIXER1VECTOR_NUMELEM 5
// Field Mixer2Type information
/* Enumeration options for field Mixer2Type */
typedef enum { MIXERSETTINGS_MIXER2TYPE_DISABLED=0, MIXERSETTINGS_MIXER2TYPE_MOTOR=1, MIXERSETTINGS_MIXER2TYPE_SERVO=2 } MixerSettingsMixer2TypeOptions;
-// Field Mixer2Matrix information
-/* Array element names for field Mixer2Matrix */
-typedef enum { MIXERSETTINGS_MIXER2MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER2MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER2MATRIX_ROLL=2, MIXERSETTINGS_MIXER2MATRIX_PITCH=3, MIXERSETTINGS_MIXER2MATRIX_YAW=4 } MixerSettingsMixer2MatrixElem;
-/* Number of elements for field Mixer2Matrix */
-#define MIXERSETTINGS_MIXER2MATRIX_NUMELEM 5
+// Field Mixer2Vector information
+/* Array element names for field Mixer2Vector */
+typedef enum { MIXERSETTINGS_MIXER2VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER2VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER2VECTOR_ROLL=2, MIXERSETTINGS_MIXER2VECTOR_PITCH=3, MIXERSETTINGS_MIXER2VECTOR_YAW=4 } MixerSettingsMixer2VectorElem;
+/* Number of elements for field Mixer2Vector */
+#define MIXERSETTINGS_MIXER2VECTOR_NUMELEM 5
// Field Mixer3Type information
/* Enumeration options for field Mixer3Type */
typedef enum { MIXERSETTINGS_MIXER3TYPE_DISABLED=0, MIXERSETTINGS_MIXER3TYPE_MOTOR=1, MIXERSETTINGS_MIXER3TYPE_SERVO=2 } MixerSettingsMixer3TypeOptions;
-// Field Mixer3Matrix information
-/* Array element names for field Mixer3Matrix */
-typedef enum { MIXERSETTINGS_MIXER3MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER3MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER3MATRIX_ROLL=2, MIXERSETTINGS_MIXER3MATRIX_PITCH=3, MIXERSETTINGS_MIXER3MATRIX_YAW=4 } MixerSettingsMixer3MatrixElem;
-/* Number of elements for field Mixer3Matrix */
-#define MIXERSETTINGS_MIXER3MATRIX_NUMELEM 5
+// Field Mixer3Vector information
+/* Array element names for field Mixer3Vector */
+typedef enum { MIXERSETTINGS_MIXER3VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER3VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER3VECTOR_ROLL=2, MIXERSETTINGS_MIXER3VECTOR_PITCH=3, MIXERSETTINGS_MIXER3VECTOR_YAW=4 } MixerSettingsMixer3VectorElem;
+/* Number of elements for field Mixer3Vector */
+#define MIXERSETTINGS_MIXER3VECTOR_NUMELEM 5
// Field Mixer4Type information
/* Enumeration options for field Mixer4Type */
typedef enum { MIXERSETTINGS_MIXER4TYPE_DISABLED=0, MIXERSETTINGS_MIXER4TYPE_MOTOR=1, MIXERSETTINGS_MIXER4TYPE_SERVO=2 } MixerSettingsMixer4TypeOptions;
-// Field Mixer4Matrix information
-/* Array element names for field Mixer4Matrix */
-typedef enum { MIXERSETTINGS_MIXER4MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER4MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER4MATRIX_ROLL=2, MIXERSETTINGS_MIXER4MATRIX_PITCH=3, MIXERSETTINGS_MIXER4MATRIX_YAW=4 } MixerSettingsMixer4MatrixElem;
-/* Number of elements for field Mixer4Matrix */
-#define MIXERSETTINGS_MIXER4MATRIX_NUMELEM 5
+// Field Mixer4Vector information
+/* Array element names for field Mixer4Vector */
+typedef enum { MIXERSETTINGS_MIXER4VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER4VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER4VECTOR_ROLL=2, MIXERSETTINGS_MIXER4VECTOR_PITCH=3, MIXERSETTINGS_MIXER4VECTOR_YAW=4 } MixerSettingsMixer4VectorElem;
+/* Number of elements for field Mixer4Vector */
+#define MIXERSETTINGS_MIXER4VECTOR_NUMELEM 5
// Field Mixer5Type information
/* Enumeration options for field Mixer5Type */
typedef enum { MIXERSETTINGS_MIXER5TYPE_DISABLED=0, MIXERSETTINGS_MIXER5TYPE_MOTOR=1, MIXERSETTINGS_MIXER5TYPE_SERVO=2 } MixerSettingsMixer5TypeOptions;
-// Field Mixer5Matrix information
-/* Array element names for field Mixer5Matrix */
-typedef enum { MIXERSETTINGS_MIXER5MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER5MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER5MATRIX_ROLL=2, MIXERSETTINGS_MIXER5MATRIX_PITCH=3, MIXERSETTINGS_MIXER5MATRIX_YAW=4 } MixerSettingsMixer5MatrixElem;
-/* Number of elements for field Mixer5Matrix */
-#define MIXERSETTINGS_MIXER5MATRIX_NUMELEM 5
+// Field Mixer5Vector information
+/* Array element names for field Mixer5Vector */
+typedef enum { MIXERSETTINGS_MIXER5VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER5VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER5VECTOR_ROLL=2, MIXERSETTINGS_MIXER5VECTOR_PITCH=3, MIXERSETTINGS_MIXER5VECTOR_YAW=4 } MixerSettingsMixer5VectorElem;
+/* Number of elements for field Mixer5Vector */
+#define MIXERSETTINGS_MIXER5VECTOR_NUMELEM 5
// Field Mixer6Type information
/* Enumeration options for field Mixer6Type */
typedef enum { MIXERSETTINGS_MIXER6TYPE_DISABLED=0, MIXERSETTINGS_MIXER6TYPE_MOTOR=1, MIXERSETTINGS_MIXER6TYPE_SERVO=2 } MixerSettingsMixer6TypeOptions;
-// Field Mixer6Matrix information
-/* Array element names for field Mixer6Matrix */
-typedef enum { MIXERSETTINGS_MIXER6MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER6MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER6MATRIX_ROLL=2, MIXERSETTINGS_MIXER6MATRIX_PITCH=3, MIXERSETTINGS_MIXER6MATRIX_YAW=4 } MixerSettingsMixer6MatrixElem;
-/* Number of elements for field Mixer6Matrix */
-#define MIXERSETTINGS_MIXER6MATRIX_NUMELEM 5
+// Field Mixer6Vector information
+/* Array element names for field Mixer6Vector */
+typedef enum { MIXERSETTINGS_MIXER6VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER6VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER6VECTOR_ROLL=2, MIXERSETTINGS_MIXER6VECTOR_PITCH=3, MIXERSETTINGS_MIXER6VECTOR_YAW=4 } MixerSettingsMixer6VectorElem;
+/* Number of elements for field Mixer6Vector */
+#define MIXERSETTINGS_MIXER6VECTOR_NUMELEM 5
// Field Mixer7Type information
/* Enumeration options for field Mixer7Type */
typedef enum { MIXERSETTINGS_MIXER7TYPE_DISABLED=0, MIXERSETTINGS_MIXER7TYPE_MOTOR=1, MIXERSETTINGS_MIXER7TYPE_SERVO=2 } MixerSettingsMixer7TypeOptions;
-// Field Mixer7Matrix information
-/* Array element names for field Mixer7Matrix */
-typedef enum { MIXERSETTINGS_MIXER7MATRIX_THROTTLECURVE1=0, MIXERSETTINGS_MIXER7MATRIX_THROTTLECURVE2=1, MIXERSETTINGS_MIXER7MATRIX_ROLL=2, MIXERSETTINGS_MIXER7MATRIX_PITCH=3, MIXERSETTINGS_MIXER7MATRIX_YAW=4 } MixerSettingsMixer7MatrixElem;
-/* Number of elements for field Mixer7Matrix */
-#define MIXERSETTINGS_MIXER7MATRIX_NUMELEM 5
+// Field Mixer7Vector information
+/* Array element names for field Mixer7Vector */
+typedef enum { MIXERSETTINGS_MIXER7VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER7VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER7VECTOR_ROLL=2, MIXERSETTINGS_MIXER7VECTOR_PITCH=3, MIXERSETTINGS_MIXER7VECTOR_YAW=4 } MixerSettingsMixer7VectorElem;
+/* Number of elements for field Mixer7Vector */
+#define MIXERSETTINGS_MIXER7VECTOR_NUMELEM 5
// Generic interface functions
diff --git a/flight/OpenPilot/UAVObjects/mixersettings.c b/flight/OpenPilot/UAVObjects/mixersettings.c
index a003b2321..2f404ccf8 100644
--- a/flight/OpenPilot/UAVObjects/mixersettings.c
+++ b/flight/OpenPilot/UAVObjects/mixersettings.c
@@ -95,53 +95,53 @@ static void setDefaults(UAVObjHandle obj, uint16_t instId)
data.ThrottleCurve2[3] = -10;
data.ThrottleCurve2[4] = -10;
data.Mixer0Type = 0;
- data.Mixer0Matrix[0] = 0;
- data.Mixer0Matrix[1] = 0;
- data.Mixer0Matrix[2] = 0;
- data.Mixer0Matrix[3] = 0;
- data.Mixer0Matrix[4] = 0;
+ data.Mixer0Vector[0] = 0;
+ data.Mixer0Vector[1] = 0;
+ data.Mixer0Vector[2] = 0;
+ data.Mixer0Vector[3] = 0;
+ data.Mixer0Vector[4] = 0;
data.Mixer1Type = 0;
- data.Mixer1Matrix[0] = 0;
- data.Mixer1Matrix[1] = 0;
- data.Mixer1Matrix[2] = 0;
- data.Mixer1Matrix[3] = 0;
- data.Mixer1Matrix[4] = 0;
+ data.Mixer1Vector[0] = 0;
+ data.Mixer1Vector[1] = 0;
+ data.Mixer1Vector[2] = 0;
+ data.Mixer1Vector[3] = 0;
+ data.Mixer1Vector[4] = 0;
data.Mixer2Type = 0;
- data.Mixer2Matrix[0] = 0;
- data.Mixer2Matrix[1] = 0;
- data.Mixer2Matrix[2] = 0;
- data.Mixer2Matrix[3] = 0;
- data.Mixer2Matrix[4] = 0;
+ data.Mixer2Vector[0] = 0;
+ data.Mixer2Vector[1] = 0;
+ data.Mixer2Vector[2] = 0;
+ data.Mixer2Vector[3] = 0;
+ data.Mixer2Vector[4] = 0;
data.Mixer3Type = 0;
- data.Mixer3Matrix[0] = 0;
- data.Mixer3Matrix[1] = 0;
- data.Mixer3Matrix[2] = 0;
- data.Mixer3Matrix[3] = 0;
- data.Mixer3Matrix[4] = 0;
+ data.Mixer3Vector[0] = 0;
+ data.Mixer3Vector[1] = 0;
+ data.Mixer3Vector[2] = 0;
+ data.Mixer3Vector[3] = 0;
+ data.Mixer3Vector[4] = 0;
data.Mixer4Type = 0;
- data.Mixer4Matrix[0] = 0;
- data.Mixer4Matrix[1] = 0;
- data.Mixer4Matrix[2] = 0;
- data.Mixer4Matrix[3] = 0;
- data.Mixer4Matrix[4] = 0;
+ data.Mixer4Vector[0] = 0;
+ data.Mixer4Vector[1] = 0;
+ data.Mixer4Vector[2] = 0;
+ data.Mixer4Vector[3] = 0;
+ data.Mixer4Vector[4] = 0;
data.Mixer5Type = 0;
- data.Mixer5Matrix[0] = 0;
- data.Mixer5Matrix[1] = 0;
- data.Mixer5Matrix[2] = 0;
- data.Mixer5Matrix[3] = 0;
- data.Mixer5Matrix[4] = 0;
+ data.Mixer5Vector[0] = 0;
+ data.Mixer5Vector[1] = 0;
+ data.Mixer5Vector[2] = 0;
+ data.Mixer5Vector[3] = 0;
+ data.Mixer5Vector[4] = 0;
data.Mixer6Type = 0;
- data.Mixer6Matrix[0] = 0;
- data.Mixer6Matrix[1] = 0;
- data.Mixer6Matrix[2] = 0;
- data.Mixer6Matrix[3] = 0;
- data.Mixer6Matrix[4] = 0;
+ data.Mixer6Vector[0] = 0;
+ data.Mixer6Vector[1] = 0;
+ data.Mixer6Vector[2] = 0;
+ data.Mixer6Vector[3] = 0;
+ data.Mixer6Vector[4] = 0;
data.Mixer7Type = 0;
- data.Mixer7Matrix[0] = 0;
- data.Mixer7Matrix[1] = 0;
- data.Mixer7Matrix[2] = 0;
- data.Mixer7Matrix[3] = 0;
- data.Mixer7Matrix[4] = 0;
+ data.Mixer7Vector[0] = 0;
+ data.Mixer7Vector[1] = 0;
+ data.Mixer7Vector[2] = 0;
+ data.Mixer7Vector[3] = 0;
+ data.Mixer7Vector[4] = 0;
UAVObjSetInstanceData(obj, instId, &data);
diff --git a/ground/src/plugins/uavobjects/mixersettings.cpp b/ground/src/plugins/uavobjects/mixersettings.cpp
index f31eeb44f..405351aae 100644
--- a/ground/src/plugins/uavobjects/mixersettings.cpp
+++ b/ground/src/plugins/uavobjects/mixersettings.cpp
@@ -75,13 +75,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer0TypeEnumOptions.append("Motor");
Mixer0TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer0Type"), QString(""), UAVObjectField::ENUM, Mixer0TypeElemNames, Mixer0TypeEnumOptions) );
- QStringList Mixer0MatrixElemNames;
- Mixer0MatrixElemNames.append("ThrottleCurve1");
- Mixer0MatrixElemNames.append("ThrottleCurve2");
- Mixer0MatrixElemNames.append("Roll");
- Mixer0MatrixElemNames.append("Pitch");
- Mixer0MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer0Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer0MatrixElemNames, QStringList()) );
+ QStringList Mixer0VectorElemNames;
+ Mixer0VectorElemNames.append("ThrottleCurve1");
+ Mixer0VectorElemNames.append("ThrottleCurve2");
+ Mixer0VectorElemNames.append("Roll");
+ Mixer0VectorElemNames.append("Pitch");
+ Mixer0VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer0Vector"), QString(""), UAVObjectField::FLOAT32, Mixer0VectorElemNames, QStringList()) );
QStringList Mixer1TypeElemNames;
Mixer1TypeElemNames.append("0");
QStringList Mixer1TypeEnumOptions;
@@ -89,13 +89,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer1TypeEnumOptions.append("Motor");
Mixer1TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer1Type"), QString(""), UAVObjectField::ENUM, Mixer1TypeElemNames, Mixer1TypeEnumOptions) );
- QStringList Mixer1MatrixElemNames;
- Mixer1MatrixElemNames.append("ThrottleCurve1");
- Mixer1MatrixElemNames.append("ThrottleCurve2");
- Mixer1MatrixElemNames.append("Roll");
- Mixer1MatrixElemNames.append("Pitch");
- Mixer1MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer1Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer1MatrixElemNames, QStringList()) );
+ QStringList Mixer1VectorElemNames;
+ Mixer1VectorElemNames.append("ThrottleCurve1");
+ Mixer1VectorElemNames.append("ThrottleCurve2");
+ Mixer1VectorElemNames.append("Roll");
+ Mixer1VectorElemNames.append("Pitch");
+ Mixer1VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer1Vector"), QString(""), UAVObjectField::FLOAT32, Mixer1VectorElemNames, QStringList()) );
QStringList Mixer2TypeElemNames;
Mixer2TypeElemNames.append("0");
QStringList Mixer2TypeEnumOptions;
@@ -103,13 +103,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer2TypeEnumOptions.append("Motor");
Mixer2TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer2Type"), QString(""), UAVObjectField::ENUM, Mixer2TypeElemNames, Mixer2TypeEnumOptions) );
- QStringList Mixer2MatrixElemNames;
- Mixer2MatrixElemNames.append("ThrottleCurve1");
- Mixer2MatrixElemNames.append("ThrottleCurve2");
- Mixer2MatrixElemNames.append("Roll");
- Mixer2MatrixElemNames.append("Pitch");
- Mixer2MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer2Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer2MatrixElemNames, QStringList()) );
+ QStringList Mixer2VectorElemNames;
+ Mixer2VectorElemNames.append("ThrottleCurve1");
+ Mixer2VectorElemNames.append("ThrottleCurve2");
+ Mixer2VectorElemNames.append("Roll");
+ Mixer2VectorElemNames.append("Pitch");
+ Mixer2VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer2Vector"), QString(""), UAVObjectField::FLOAT32, Mixer2VectorElemNames, QStringList()) );
QStringList Mixer3TypeElemNames;
Mixer3TypeElemNames.append("0");
QStringList Mixer3TypeEnumOptions;
@@ -117,13 +117,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer3TypeEnumOptions.append("Motor");
Mixer3TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer3Type"), QString(""), UAVObjectField::ENUM, Mixer3TypeElemNames, Mixer3TypeEnumOptions) );
- QStringList Mixer3MatrixElemNames;
- Mixer3MatrixElemNames.append("ThrottleCurve1");
- Mixer3MatrixElemNames.append("ThrottleCurve2");
- Mixer3MatrixElemNames.append("Roll");
- Mixer3MatrixElemNames.append("Pitch");
- Mixer3MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer3Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer3MatrixElemNames, QStringList()) );
+ QStringList Mixer3VectorElemNames;
+ Mixer3VectorElemNames.append("ThrottleCurve1");
+ Mixer3VectorElemNames.append("ThrottleCurve2");
+ Mixer3VectorElemNames.append("Roll");
+ Mixer3VectorElemNames.append("Pitch");
+ Mixer3VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer3Vector"), QString(""), UAVObjectField::FLOAT32, Mixer3VectorElemNames, QStringList()) );
QStringList Mixer4TypeElemNames;
Mixer4TypeElemNames.append("0");
QStringList Mixer4TypeEnumOptions;
@@ -131,13 +131,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer4TypeEnumOptions.append("Motor");
Mixer4TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer4Type"), QString(""), UAVObjectField::ENUM, Mixer4TypeElemNames, Mixer4TypeEnumOptions) );
- QStringList Mixer4MatrixElemNames;
- Mixer4MatrixElemNames.append("ThrottleCurve1");
- Mixer4MatrixElemNames.append("ThrottleCurve2");
- Mixer4MatrixElemNames.append("Roll");
- Mixer4MatrixElemNames.append("Pitch");
- Mixer4MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer4Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer4MatrixElemNames, QStringList()) );
+ QStringList Mixer4VectorElemNames;
+ Mixer4VectorElemNames.append("ThrottleCurve1");
+ Mixer4VectorElemNames.append("ThrottleCurve2");
+ Mixer4VectorElemNames.append("Roll");
+ Mixer4VectorElemNames.append("Pitch");
+ Mixer4VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer4Vector"), QString(""), UAVObjectField::FLOAT32, Mixer4VectorElemNames, QStringList()) );
QStringList Mixer5TypeElemNames;
Mixer5TypeElemNames.append("0");
QStringList Mixer5TypeEnumOptions;
@@ -145,13 +145,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer5TypeEnumOptions.append("Motor");
Mixer5TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer5Type"), QString(""), UAVObjectField::ENUM, Mixer5TypeElemNames, Mixer5TypeEnumOptions) );
- QStringList Mixer5MatrixElemNames;
- Mixer5MatrixElemNames.append("ThrottleCurve1");
- Mixer5MatrixElemNames.append("ThrottleCurve2");
- Mixer5MatrixElemNames.append("Roll");
- Mixer5MatrixElemNames.append("Pitch");
- Mixer5MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer5Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer5MatrixElemNames, QStringList()) );
+ QStringList Mixer5VectorElemNames;
+ Mixer5VectorElemNames.append("ThrottleCurve1");
+ Mixer5VectorElemNames.append("ThrottleCurve2");
+ Mixer5VectorElemNames.append("Roll");
+ Mixer5VectorElemNames.append("Pitch");
+ Mixer5VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer5Vector"), QString(""), UAVObjectField::FLOAT32, Mixer5VectorElemNames, QStringList()) );
QStringList Mixer6TypeElemNames;
Mixer6TypeElemNames.append("0");
QStringList Mixer6TypeEnumOptions;
@@ -159,13 +159,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer6TypeEnumOptions.append("Motor");
Mixer6TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer6Type"), QString(""), UAVObjectField::ENUM, Mixer6TypeElemNames, Mixer6TypeEnumOptions) );
- QStringList Mixer6MatrixElemNames;
- Mixer6MatrixElemNames.append("ThrottleCurve1");
- Mixer6MatrixElemNames.append("ThrottleCurve2");
- Mixer6MatrixElemNames.append("Roll");
- Mixer6MatrixElemNames.append("Pitch");
- Mixer6MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer6Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer6MatrixElemNames, QStringList()) );
+ QStringList Mixer6VectorElemNames;
+ Mixer6VectorElemNames.append("ThrottleCurve1");
+ Mixer6VectorElemNames.append("ThrottleCurve2");
+ Mixer6VectorElemNames.append("Roll");
+ Mixer6VectorElemNames.append("Pitch");
+ Mixer6VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer6Vector"), QString(""), UAVObjectField::FLOAT32, Mixer6VectorElemNames, QStringList()) );
QStringList Mixer7TypeElemNames;
Mixer7TypeElemNames.append("0");
QStringList Mixer7TypeEnumOptions;
@@ -173,13 +173,13 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer7TypeEnumOptions.append("Motor");
Mixer7TypeEnumOptions.append("Servo");
fields.append( new UAVObjectField(QString("Mixer7Type"), QString(""), UAVObjectField::ENUM, Mixer7TypeElemNames, Mixer7TypeEnumOptions) );
- QStringList Mixer7MatrixElemNames;
- Mixer7MatrixElemNames.append("ThrottleCurve1");
- Mixer7MatrixElemNames.append("ThrottleCurve2");
- Mixer7MatrixElemNames.append("Roll");
- Mixer7MatrixElemNames.append("Pitch");
- Mixer7MatrixElemNames.append("Yaw");
- fields.append( new UAVObjectField(QString("Mixer7Matrix"), QString(""), UAVObjectField::FLOAT32, Mixer7MatrixElemNames, QStringList()) );
+ QStringList Mixer7VectorElemNames;
+ Mixer7VectorElemNames.append("ThrottleCurve1");
+ Mixer7VectorElemNames.append("ThrottleCurve2");
+ Mixer7VectorElemNames.append("Roll");
+ Mixer7VectorElemNames.append("Pitch");
+ Mixer7VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer7Vector"), QString(""), UAVObjectField::FLOAT32, Mixer7VectorElemNames, QStringList()) );
// Initialize object
initializeFields(fields, (quint8*)&data, NUMBYTES);
@@ -228,53 +228,53 @@ void MixerSettings::setDefaultFieldValues()
data.ThrottleCurve2[3] = -10;
data.ThrottleCurve2[4] = -10;
data.Mixer0Type = 0;
- data.Mixer0Matrix[0] = 0;
- data.Mixer0Matrix[1] = 0;
- data.Mixer0Matrix[2] = 0;
- data.Mixer0Matrix[3] = 0;
- data.Mixer0Matrix[4] = 0;
+ data.Mixer0Vector[0] = 0;
+ data.Mixer0Vector[1] = 0;
+ data.Mixer0Vector[2] = 0;
+ data.Mixer0Vector[3] = 0;
+ data.Mixer0Vector[4] = 0;
data.Mixer1Type = 0;
- data.Mixer1Matrix[0] = 0;
- data.Mixer1Matrix[1] = 0;
- data.Mixer1Matrix[2] = 0;
- data.Mixer1Matrix[3] = 0;
- data.Mixer1Matrix[4] = 0;
+ data.Mixer1Vector[0] = 0;
+ data.Mixer1Vector[1] = 0;
+ data.Mixer1Vector[2] = 0;
+ data.Mixer1Vector[3] = 0;
+ data.Mixer1Vector[4] = 0;
data.Mixer2Type = 0;
- data.Mixer2Matrix[0] = 0;
- data.Mixer2Matrix[1] = 0;
- data.Mixer2Matrix[2] = 0;
- data.Mixer2Matrix[3] = 0;
- data.Mixer2Matrix[4] = 0;
+ data.Mixer2Vector[0] = 0;
+ data.Mixer2Vector[1] = 0;
+ data.Mixer2Vector[2] = 0;
+ data.Mixer2Vector[3] = 0;
+ data.Mixer2Vector[4] = 0;
data.Mixer3Type = 0;
- data.Mixer3Matrix[0] = 0;
- data.Mixer3Matrix[1] = 0;
- data.Mixer3Matrix[2] = 0;
- data.Mixer3Matrix[3] = 0;
- data.Mixer3Matrix[4] = 0;
+ data.Mixer3Vector[0] = 0;
+ data.Mixer3Vector[1] = 0;
+ data.Mixer3Vector[2] = 0;
+ data.Mixer3Vector[3] = 0;
+ data.Mixer3Vector[4] = 0;
data.Mixer4Type = 0;
- data.Mixer4Matrix[0] = 0;
- data.Mixer4Matrix[1] = 0;
- data.Mixer4Matrix[2] = 0;
- data.Mixer4Matrix[3] = 0;
- data.Mixer4Matrix[4] = 0;
+ data.Mixer4Vector[0] = 0;
+ data.Mixer4Vector[1] = 0;
+ data.Mixer4Vector[2] = 0;
+ data.Mixer4Vector[3] = 0;
+ data.Mixer4Vector[4] = 0;
data.Mixer5Type = 0;
- data.Mixer5Matrix[0] = 0;
- data.Mixer5Matrix[1] = 0;
- data.Mixer5Matrix[2] = 0;
- data.Mixer5Matrix[3] = 0;
- data.Mixer5Matrix[4] = 0;
+ data.Mixer5Vector[0] = 0;
+ data.Mixer5Vector[1] = 0;
+ data.Mixer5Vector[2] = 0;
+ data.Mixer5Vector[3] = 0;
+ data.Mixer5Vector[4] = 0;
data.Mixer6Type = 0;
- data.Mixer6Matrix[0] = 0;
- data.Mixer6Matrix[1] = 0;
- data.Mixer6Matrix[2] = 0;
- data.Mixer6Matrix[3] = 0;
- data.Mixer6Matrix[4] = 0;
+ data.Mixer6Vector[0] = 0;
+ data.Mixer6Vector[1] = 0;
+ data.Mixer6Vector[2] = 0;
+ data.Mixer6Vector[3] = 0;
+ data.Mixer6Vector[4] = 0;
data.Mixer7Type = 0;
- data.Mixer7Matrix[0] = 0;
- data.Mixer7Matrix[1] = 0;
- data.Mixer7Matrix[2] = 0;
- data.Mixer7Matrix[3] = 0;
- data.Mixer7Matrix[4] = 0;
+ data.Mixer7Vector[0] = 0;
+ data.Mixer7Vector[1] = 0;
+ data.Mixer7Vector[2] = 0;
+ data.Mixer7Vector[3] = 0;
+ data.Mixer7Vector[4] = 0;
}
diff --git a/ground/src/plugins/uavobjects/mixersettings.h b/ground/src/plugins/uavobjects/mixersettings.h
index ea5d1dd39..19e789181 100644
--- a/ground/src/plugins/uavobjects/mixersettings.h
+++ b/ground/src/plugins/uavobjects/mixersettings.h
@@ -50,21 +50,21 @@ public:
float ThrottleCurve1[5];
float ThrottleCurve2[5];
quint8 Mixer0Type;
- float Mixer0Matrix[5];
+ float Mixer0Vector[5];
quint8 Mixer1Type;
- float Mixer1Matrix[5];
+ float Mixer1Vector[5];
quint8 Mixer2Type;
- float Mixer2Matrix[5];
+ float Mixer2Vector[5];
quint8 Mixer3Type;
- float Mixer3Matrix[5];
+ float Mixer3Vector[5];
quint8 Mixer4Type;
- float Mixer4Matrix[5];
+ float Mixer4Vector[5];
quint8 Mixer5Type;
- float Mixer5Matrix[5];
+ float Mixer5Vector[5];
quint8 Mixer6Type;
- float Mixer6Matrix[5];
+ float Mixer6Vector[5];
quint8 Mixer7Type;
- float Mixer7Matrix[5];
+ float Mixer7Vector[5];
} __attribute__((packed)) DataFields;
@@ -86,71 +86,71 @@ public:
// Field Mixer0Type information
/* Enumeration options for field Mixer0Type */
typedef enum { MIXER0TYPE_DISABLED=0, MIXER0TYPE_MOTOR=1, MIXER0TYPE_SERVO=2 } Mixer0TypeOptions;
- // Field Mixer0Matrix information
- /* Array element names for field Mixer0Matrix */
- typedef enum { MIXER0MATRIX_THROTTLECURVE1=0, MIXER0MATRIX_THROTTLECURVE2=1, MIXER0MATRIX_ROLL=2, MIXER0MATRIX_PITCH=3, MIXER0MATRIX_YAW=4 } Mixer0MatrixElem;
- /* Number of elements for field Mixer0Matrix */
- static const quint32 MIXER0MATRIX_NUMELEM = 5;
+ // Field Mixer0Vector information
+ /* Array element names for field Mixer0Vector */
+ typedef enum { MIXER0VECTOR_THROTTLECURVE1=0, MIXER0VECTOR_THROTTLECURVE2=1, MIXER0VECTOR_ROLL=2, MIXER0VECTOR_PITCH=3, MIXER0VECTOR_YAW=4 } Mixer0VectorElem;
+ /* Number of elements for field Mixer0Vector */
+ static const quint32 MIXER0VECTOR_NUMELEM = 5;
// Field Mixer1Type information
/* Enumeration options for field Mixer1Type */
typedef enum { MIXER1TYPE_DISABLED=0, MIXER1TYPE_MOTOR=1, MIXER1TYPE_SERVO=2 } Mixer1TypeOptions;
- // Field Mixer1Matrix information
- /* Array element names for field Mixer1Matrix */
- typedef enum { MIXER1MATRIX_THROTTLECURVE1=0, MIXER1MATRIX_THROTTLECURVE2=1, MIXER1MATRIX_ROLL=2, MIXER1MATRIX_PITCH=3, MIXER1MATRIX_YAW=4 } Mixer1MatrixElem;
- /* Number of elements for field Mixer1Matrix */
- static const quint32 MIXER1MATRIX_NUMELEM = 5;
+ // Field Mixer1Vector information
+ /* Array element names for field Mixer1Vector */
+ typedef enum { MIXER1VECTOR_THROTTLECURVE1=0, MIXER1VECTOR_THROTTLECURVE2=1, MIXER1VECTOR_ROLL=2, MIXER1VECTOR_PITCH=3, MIXER1VECTOR_YAW=4 } Mixer1VectorElem;
+ /* Number of elements for field Mixer1Vector */
+ static const quint32 MIXER1VECTOR_NUMELEM = 5;
// Field Mixer2Type information
/* Enumeration options for field Mixer2Type */
typedef enum { MIXER2TYPE_DISABLED=0, MIXER2TYPE_MOTOR=1, MIXER2TYPE_SERVO=2 } Mixer2TypeOptions;
- // Field Mixer2Matrix information
- /* Array element names for field Mixer2Matrix */
- typedef enum { MIXER2MATRIX_THROTTLECURVE1=0, MIXER2MATRIX_THROTTLECURVE2=1, MIXER2MATRIX_ROLL=2, MIXER2MATRIX_PITCH=3, MIXER2MATRIX_YAW=4 } Mixer2MatrixElem;
- /* Number of elements for field Mixer2Matrix */
- static const quint32 MIXER2MATRIX_NUMELEM = 5;
+ // Field Mixer2Vector information
+ /* Array element names for field Mixer2Vector */
+ typedef enum { MIXER2VECTOR_THROTTLECURVE1=0, MIXER2VECTOR_THROTTLECURVE2=1, MIXER2VECTOR_ROLL=2, MIXER2VECTOR_PITCH=3, MIXER2VECTOR_YAW=4 } Mixer2VectorElem;
+ /* Number of elements for field Mixer2Vector */
+ static const quint32 MIXER2VECTOR_NUMELEM = 5;
// Field Mixer3Type information
/* Enumeration options for field Mixer3Type */
typedef enum { MIXER3TYPE_DISABLED=0, MIXER3TYPE_MOTOR=1, MIXER3TYPE_SERVO=2 } Mixer3TypeOptions;
- // Field Mixer3Matrix information
- /* Array element names for field Mixer3Matrix */
- typedef enum { MIXER3MATRIX_THROTTLECURVE1=0, MIXER3MATRIX_THROTTLECURVE2=1, MIXER3MATRIX_ROLL=2, MIXER3MATRIX_PITCH=3, MIXER3MATRIX_YAW=4 } Mixer3MatrixElem;
- /* Number of elements for field Mixer3Matrix */
- static const quint32 MIXER3MATRIX_NUMELEM = 5;
+ // Field Mixer3Vector information
+ /* Array element names for field Mixer3Vector */
+ typedef enum { MIXER3VECTOR_THROTTLECURVE1=0, MIXER3VECTOR_THROTTLECURVE2=1, MIXER3VECTOR_ROLL=2, MIXER3VECTOR_PITCH=3, MIXER3VECTOR_YAW=4 } Mixer3VectorElem;
+ /* Number of elements for field Mixer3Vector */
+ static const quint32 MIXER3VECTOR_NUMELEM = 5;
// Field Mixer4Type information
/* Enumeration options for field Mixer4Type */
typedef enum { MIXER4TYPE_DISABLED=0, MIXER4TYPE_MOTOR=1, MIXER4TYPE_SERVO=2 } Mixer4TypeOptions;
- // Field Mixer4Matrix information
- /* Array element names for field Mixer4Matrix */
- typedef enum { MIXER4MATRIX_THROTTLECURVE1=0, MIXER4MATRIX_THROTTLECURVE2=1, MIXER4MATRIX_ROLL=2, MIXER4MATRIX_PITCH=3, MIXER4MATRIX_YAW=4 } Mixer4MatrixElem;
- /* Number of elements for field Mixer4Matrix */
- static const quint32 MIXER4MATRIX_NUMELEM = 5;
+ // Field Mixer4Vector information
+ /* Array element names for field Mixer4Vector */
+ typedef enum { MIXER4VECTOR_THROTTLECURVE1=0, MIXER4VECTOR_THROTTLECURVE2=1, MIXER4VECTOR_ROLL=2, MIXER4VECTOR_PITCH=3, MIXER4VECTOR_YAW=4 } Mixer4VectorElem;
+ /* Number of elements for field Mixer4Vector */
+ static const quint32 MIXER4VECTOR_NUMELEM = 5;
// Field Mixer5Type information
/* Enumeration options for field Mixer5Type */
typedef enum { MIXER5TYPE_DISABLED=0, MIXER5TYPE_MOTOR=1, MIXER5TYPE_SERVO=2 } Mixer5TypeOptions;
- // Field Mixer5Matrix information
- /* Array element names for field Mixer5Matrix */
- typedef enum { MIXER5MATRIX_THROTTLECURVE1=0, MIXER5MATRIX_THROTTLECURVE2=1, MIXER5MATRIX_ROLL=2, MIXER5MATRIX_PITCH=3, MIXER5MATRIX_YAW=4 } Mixer5MatrixElem;
- /* Number of elements for field Mixer5Matrix */
- static const quint32 MIXER5MATRIX_NUMELEM = 5;
+ // Field Mixer5Vector information
+ /* Array element names for field Mixer5Vector */
+ typedef enum { MIXER5VECTOR_THROTTLECURVE1=0, MIXER5VECTOR_THROTTLECURVE2=1, MIXER5VECTOR_ROLL=2, MIXER5VECTOR_PITCH=3, MIXER5VECTOR_YAW=4 } Mixer5VectorElem;
+ /* Number of elements for field Mixer5Vector */
+ static const quint32 MIXER5VECTOR_NUMELEM = 5;
// Field Mixer6Type information
/* Enumeration options for field Mixer6Type */
typedef enum { MIXER6TYPE_DISABLED=0, MIXER6TYPE_MOTOR=1, MIXER6TYPE_SERVO=2 } Mixer6TypeOptions;
- // Field Mixer6Matrix information
- /* Array element names for field Mixer6Matrix */
- typedef enum { MIXER6MATRIX_THROTTLECURVE1=0, MIXER6MATRIX_THROTTLECURVE2=1, MIXER6MATRIX_ROLL=2, MIXER6MATRIX_PITCH=3, MIXER6MATRIX_YAW=4 } Mixer6MatrixElem;
- /* Number of elements for field Mixer6Matrix */
- static const quint32 MIXER6MATRIX_NUMELEM = 5;
+ // Field Mixer6Vector information
+ /* Array element names for field Mixer6Vector */
+ typedef enum { MIXER6VECTOR_THROTTLECURVE1=0, MIXER6VECTOR_THROTTLECURVE2=1, MIXER6VECTOR_ROLL=2, MIXER6VECTOR_PITCH=3, MIXER6VECTOR_YAW=4 } Mixer6VectorElem;
+ /* Number of elements for field Mixer6Vector */
+ static const quint32 MIXER6VECTOR_NUMELEM = 5;
// Field Mixer7Type information
/* Enumeration options for field Mixer7Type */
typedef enum { MIXER7TYPE_DISABLED=0, MIXER7TYPE_MOTOR=1, MIXER7TYPE_SERVO=2 } Mixer7TypeOptions;
- // Field Mixer7Matrix information
- /* Array element names for field Mixer7Matrix */
- typedef enum { MIXER7MATRIX_THROTTLECURVE1=0, MIXER7MATRIX_THROTTLECURVE2=1, MIXER7MATRIX_ROLL=2, MIXER7MATRIX_PITCH=3, MIXER7MATRIX_YAW=4 } Mixer7MatrixElem;
- /* Number of elements for field Mixer7Matrix */
- static const quint32 MIXER7MATRIX_NUMELEM = 5;
+ // Field Mixer7Vector information
+ /* Array element names for field Mixer7Vector */
+ typedef enum { MIXER7VECTOR_THROTTLECURVE1=0, MIXER7VECTOR_THROTTLECURVE2=1, MIXER7VECTOR_ROLL=2, MIXER7VECTOR_PITCH=3, MIXER7VECTOR_YAW=4 } Mixer7VectorElem;
+ /* Number of elements for field Mixer7Vector */
+ static const quint32 MIXER7VECTOR_NUMELEM = 5;
// Constants
- static const quint32 OBJID = 1614220618U;
+ static const quint32 OBJID = 3818217990U;
static const QString NAME;
static const bool ISSINGLEINST = 1;
static const bool ISSETTINGS = 1;
diff --git a/ground/src/plugins/uavobjects/mixersettings.py b/ground/src/plugins/uavobjects/mixersettings.py
index 3e335a12a..cd76141c0 100644
--- a/ground/src/plugins/uavobjects/mixersettings.py
+++ b/ground/src/plugins/uavobjects/mixersettings.py
@@ -119,7 +119,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer0Matrix',
+ 'Mixer0Vector',
'f',
5,
[
@@ -146,7 +146,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer1Matrix',
+ 'Mixer1Vector',
'f',
5,
[
@@ -173,7 +173,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer2Matrix',
+ 'Mixer2Vector',
'f',
5,
[
@@ -200,7 +200,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer3Matrix',
+ 'Mixer3Vector',
'f',
5,
[
@@ -227,7 +227,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer4Matrix',
+ 'Mixer4Vector',
'f',
5,
[
@@ -254,7 +254,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer5Matrix',
+ 'Mixer5Vector',
'f',
5,
[
@@ -281,7 +281,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer6Matrix',
+ 'Mixer6Vector',
'f',
5,
[
@@ -308,7 +308,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
- 'Mixer7Matrix',
+ 'Mixer7Vector',
'f',
5,
[
@@ -326,7 +326,7 @@ _fields = [ \
class MixerSettings(uavobject.UAVObject):
## Object constants
- OBJID = 1614220618
+ OBJID = 3818217990
NAME = "MixerSettings"
METANAME = "MixerSettingsMeta"
ISSINGLEINST = 1
diff --git a/ground/src/shared/uavobjectdefinition/mixersettings.xml b/ground/src/shared/uavobjectdefinition/mixersettings.xml
index 6033e7f53..2b71d7286 100644
--- a/ground/src/shared/uavobjectdefinition/mixersettings.xml
+++ b/ground/src/shared/uavobjectdefinition/mixersettings.xml
@@ -8,21 +8,21 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+