1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-29 14:52:12 +01:00

Mixer: zero throttle shuts off motors and changed MixernMatrix to MixernVector

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1710 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
les 2010-09-21 19:31:17 +00:00 committed by les
parent b6bffaeb27
commit ef7ee86d45
7 changed files with 261 additions and 258 deletions

View File

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

View File

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

View File

@ -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);

View File

@ -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;
}

View File

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

View File

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

View File

@ -8,21 +8,21 @@
<field name="ThrottleCurve1" units="percent" type="float" elements="5" elementnames="0,25,50,75,100" defaultvalue="-10"/>
<field name="ThrottleCurve2" units="percent" type="float" elements="5" elementnames="0,25,50,75,100" defaultvalue="-10"/>
<field name="Mixer0Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer0Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer0Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer1Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer1Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer1Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer2Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer2Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer2Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer3Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer3Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer3Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer4Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer4Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer4Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer5Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer5Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer5Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer6Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer6Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer6Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer7Type" units="" type="enum" elements="1" options="Disabled,Motor,Servo" defaultvalue="Disabled"/>
<field name="Mixer7Matrix" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<field name="Mixer7Vector" units="" type="float" elements="5" elementnames="ThrottleCurve1,ThrottleCurve2,Roll,Pitch,Yaw" defaultvalue="0"/>
<access gcs="readwrite" flight="readwrite"/>
<telemetrygcs acked="true" updatemode="onchange" period="0"/>
<telemetryflight acked="true" updatemode="onchange" period="0"/>