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 @@ - + - + - + - + - + - + - + - +