diff --git a/flight/OpenPilot/Modules/Actuator/actuator.c b/flight/OpenPilot/Modules/Actuator/actuator.c
index a83a46546..e5fd7d2a9 100644
--- a/flight/OpenPilot/Modules/Actuator/actuator.c
+++ b/flight/OpenPilot/Modules/Actuator/actuator.c
@@ -166,10 +166,10 @@ static void actuatorTask(void* parameters)
ActuatorSettingsGet(&settings);
int nMixers = 0;
- Mixer_t * mixers = (Mixer_t *)&mixerSettings.Mixer0Type;
+ Mixer_t * mixers = (Mixer_t *)&mixerSettings.Mixer1Type;
for(int ct=0; ct < MAX_MIX_ACTUATORS; ct++)
{
- if(mixers[ct].type != MIXERSETTINGS_MIXER0TYPE_DISABLED)
+ if(mixers[ct].type != MIXERSETTINGS_MIXER1TYPE_DISABLED)
{
nMixers ++;
}
@@ -189,12 +189,12 @@ static void actuatorTask(void* parameters)
float curve2 = MixerCurve(desired.Throttle,mixerSettings.ThrottleCurve2);
for(int ct=0; ct < MAX_MIX_ACTUATORS; ct++)
{
- if(mixers[ct].type != MIXERSETTINGS_MIXER0TYPE_DISABLED)
+ if(mixers[ct].type != MIXERSETTINGS_MIXER1TYPE_DISABLED)
{
status[ct] = ProcessMixer(ct, curve1, curve2, &mixerSettings, &desired, dT);
if(!armed &&
- mixers[ct].type == MIXERSETTINGS_MIXER0TYPE_MOTOR)
+ mixers[ct].type == MIXERSETTINGS_MIXER1TYPE_MOTOR)
{
command.Channel[ct] = settings.ChannelMin[ct]; //force zero throttle
filterAccumulator[ct] = 0;
@@ -232,14 +232,14 @@ static void actuatorTask(void* parameters)
float ProcessMixer(const int index, const float curve1, const float curve2,
MixerSettingsData* mixerSettings, ActuatorDesiredData* desired, const float period)
{
- Mixer_t * mixers = (Mixer_t *)&mixerSettings->Mixer0Type; //pointer to array of mixers in UAVObjects
+ Mixer_t * mixers = (Mixer_t *)&mixerSettings->Mixer1Type; //pointer to array of mixers in UAVObjects
Mixer_t * mixer = &mixers[index];
- float result = ((mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE1] / 128.0f) * curve1) +
- ((mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_THROTTLECURVE2] / 128.0f) * curve2) +
- ((mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_ROLL] / 128.0f) * desired->Roll) +
- ((mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_PITCH] / 128.0f) * desired->Pitch) +
- ((mixer->matrix[MIXERSETTINGS_MIXER0VECTOR_YAW] / 128.0f) * desired->Yaw);
- if(mixer->type == MIXERSETTINGS_MIXER0TYPE_MOTOR)
+ float result = ((mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE1] / 128.0f) * curve1) +
+ ((mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE2] / 128.0f) * curve2) +
+ ((mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_ROLL] / 128.0f) * desired->Roll) +
+ ((mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_PITCH] / 128.0f) * desired->Pitch) +
+ ((mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_YAW] / 128.0f) * desired->Yaw);
+ if(mixer->type == MIXERSETTINGS_MIXER1TYPE_MOTOR)
{
if(result < 0) //idle throttle
{
@@ -364,12 +364,12 @@ static void setFailsafe()
MixerSettingsData mixerSettings;
MixerSettingsGet (&mixerSettings);
- Mixer_t * mixers = (Mixer_t *)&mixerSettings.Mixer0Type; //pointer to array of mixers in UAVObjects
+ Mixer_t * mixers = (Mixer_t *)&mixerSettings.Mixer1Type; //pointer to array of mixers in UAVObjects
// Reset ActuatorCommand to safe values
for (int n = 0; n < ACTUATORCOMMAND_CHANNEL_NUMELEM; ++n)
{
- if(mixers[n].type == MIXERSETTINGS_MIXER0TYPE_MOTOR)
+ if(mixers[n].type == MIXERSETTINGS_MIXER1TYPE_MOTOR)
{
command.Channel[n] = settings.ChannelMin[n];
}
diff --git a/flight/OpenPilot/UAVObjects/inc/actuatorsettings.h b/flight/OpenPilot/UAVObjects/inc/actuatorsettings.h
index 42f94c03c..dd5e1b682 100644
--- a/flight/OpenPilot/UAVObjects/inc/actuatorsettings.h
+++ b/flight/OpenPilot/UAVObjects/inc/actuatorsettings.h
@@ -95,46 +95,46 @@ typedef struct {
// Field information
// Field FixedWingRoll1 information
/* Enumeration options for field FixedWingRoll1 */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGROLL1_NONE=8 } ActuatorSettingsFixedWingRoll1Options;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGROLL1_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGROLL1_NONE=8 } ActuatorSettingsFixedWingRoll1Options;
// Field FixedWingRoll2 information
/* Enumeration options for field FixedWingRoll2 */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGROLL2_NONE=8 } ActuatorSettingsFixedWingRoll2Options;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGROLL2_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGROLL2_NONE=8 } ActuatorSettingsFixedWingRoll2Options;
// Field FixedWingPitch1 information
/* Enumeration options for field FixedWingPitch1 */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGPITCH1_NONE=8 } ActuatorSettingsFixedWingPitch1Options;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGPITCH1_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGPITCH1_NONE=8 } ActuatorSettingsFixedWingPitch1Options;
// Field FixedWingPitch2 information
/* Enumeration options for field FixedWingPitch2 */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGPITCH2_NONE=8 } ActuatorSettingsFixedWingPitch2Options;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGPITCH2_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGPITCH2_NONE=8 } ActuatorSettingsFixedWingPitch2Options;
// Field FixedWingYaw information
/* Enumeration options for field FixedWingYaw */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGYAW_NONE=8 } ActuatorSettingsFixedWingYawOptions;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGYAW_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGYAW_NONE=8 } ActuatorSettingsFixedWingYawOptions;
// Field FixedWingThrottle information
/* Enumeration options for field FixedWingThrottle */
-typedef enum { ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL0=0, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL1=1, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL2=2, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL3=3, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL4=4, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL5=5, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL6=6, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL7=7, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_NONE=8 } ActuatorSettingsFixedWingThrottleOptions;
+typedef enum { ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL1=0, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL2=1, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL3=2, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL4=3, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL5=4, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL6=5, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL7=6, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_CHANNEL8=7, ACTUATORSETTINGS_FIXEDWINGTHROTTLE_NONE=8 } ActuatorSettingsFixedWingThrottleOptions;
// Field VTOLMotorN information
/* Enumeration options for field VTOLMotorN */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORN_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORN_NONE=8 } ActuatorSettingsVTOLMotorNOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORN_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORN_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORN_NONE=8 } ActuatorSettingsVTOLMotorNOptions;
// Field VTOLMotorNE information
/* Enumeration options for field VTOLMotorNE */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORNE_NONE=8 } ActuatorSettingsVTOLMotorNEOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORNE_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORNE_NONE=8 } ActuatorSettingsVTOLMotorNEOptions;
// Field VTOLMotorE information
/* Enumeration options for field VTOLMotorE */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORE_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORE_NONE=8 } ActuatorSettingsVTOLMotorEOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORE_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORE_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORE_NONE=8 } ActuatorSettingsVTOLMotorEOptions;
// Field VTOLMotorSE information
/* Enumeration options for field VTOLMotorSE */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORSE_NONE=8 } ActuatorSettingsVTOLMotorSEOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORSE_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORSE_NONE=8 } ActuatorSettingsVTOLMotorSEOptions;
// Field VTOLMotorS information
/* Enumeration options for field VTOLMotorS */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORS_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORS_NONE=8 } ActuatorSettingsVTOLMotorSOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORS_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORS_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORS_NONE=8 } ActuatorSettingsVTOLMotorSOptions;
// Field VTOLMotorSW information
/* Enumeration options for field VTOLMotorSW */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORSW_NONE=8 } ActuatorSettingsVTOLMotorSWOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORSW_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORSW_NONE=8 } ActuatorSettingsVTOLMotorSWOptions;
// Field VTOLMotorW information
/* Enumeration options for field VTOLMotorW */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORW_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORW_NONE=8 } ActuatorSettingsVTOLMotorWOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORW_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORW_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORW_NONE=8 } ActuatorSettingsVTOLMotorWOptions;
// Field VTOLMotorNW information
/* Enumeration options for field VTOLMotorNW */
-typedef enum { ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL0=0, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL1=1, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL2=2, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL3=3, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL4=4, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL5=5, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL6=6, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL7=7, ACTUATORSETTINGS_VTOLMOTORNW_NONE=8 } ActuatorSettingsVTOLMotorNWOptions;
+typedef enum { ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL1=0, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL2=1, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL3=2, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL4=3, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL5=4, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL6=5, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL7=6, ACTUATORSETTINGS_VTOLMOTORNW_CHANNEL8=7, ACTUATORSETTINGS_VTOLMOTORNW_NONE=8 } ActuatorSettingsVTOLMotorNWOptions;
// Field ChannelUpdateFreq information
/* Number of elements for field ChannelUpdateFreq */
#define ACTUATORSETTINGS_CHANNELUPDATEFREQ_NUMELEM 2
diff --git a/flight/OpenPilot/UAVObjects/inc/manualcontrolsettings.h b/flight/OpenPilot/UAVObjects/inc/manualcontrolsettings.h
index 77367f48d..50d1c1695 100644
--- a/flight/OpenPilot/UAVObjects/inc/manualcontrolsettings.h
+++ b/flight/OpenPilot/UAVObjects/inc/manualcontrolsettings.h
@@ -99,28 +99,28 @@ typedef struct {
typedef enum { MANUALCONTROLSETTINGS_INPUTMODE_PWM=0, MANUALCONTROLSETTINGS_INPUTMODE_PPM=1, MANUALCONTROLSETTINGS_INPUTMODE_SPEKTRUM=2 } ManualControlSettingsInputModeOptions;
// Field Roll information
/* Enumeration options for field Roll */
-typedef enum { MANUALCONTROLSETTINGS_ROLL_CHANNEL0=0, MANUALCONTROLSETTINGS_ROLL_CHANNEL1=1, MANUALCONTROLSETTINGS_ROLL_CHANNEL2=2, MANUALCONTROLSETTINGS_ROLL_CHANNEL3=3, MANUALCONTROLSETTINGS_ROLL_CHANNEL4=4, MANUALCONTROLSETTINGS_ROLL_CHANNEL5=5, MANUALCONTROLSETTINGS_ROLL_CHANNEL6=6, MANUALCONTROLSETTINGS_ROLL_CHANNEL7=7, MANUALCONTROLSETTINGS_ROLL_NONE=8 } ManualControlSettingsRollOptions;
+typedef enum { MANUALCONTROLSETTINGS_ROLL_CHANNEL1=0, MANUALCONTROLSETTINGS_ROLL_CHANNEL2=1, MANUALCONTROLSETTINGS_ROLL_CHANNEL3=2, MANUALCONTROLSETTINGS_ROLL_CHANNEL4=3, MANUALCONTROLSETTINGS_ROLL_CHANNEL5=4, MANUALCONTROLSETTINGS_ROLL_CHANNEL6=5, MANUALCONTROLSETTINGS_ROLL_CHANNEL7=6, MANUALCONTROLSETTINGS_ROLL_CHANNEL8=7, MANUALCONTROLSETTINGS_ROLL_NONE=8 } ManualControlSettingsRollOptions;
// Field Pitch information
/* Enumeration options for field Pitch */
-typedef enum { MANUALCONTROLSETTINGS_PITCH_CHANNEL0=0, MANUALCONTROLSETTINGS_PITCH_CHANNEL1=1, MANUALCONTROLSETTINGS_PITCH_CHANNEL2=2, MANUALCONTROLSETTINGS_PITCH_CHANNEL3=3, MANUALCONTROLSETTINGS_PITCH_CHANNEL4=4, MANUALCONTROLSETTINGS_PITCH_CHANNEL5=5, MANUALCONTROLSETTINGS_PITCH_CHANNEL6=6, MANUALCONTROLSETTINGS_PITCH_CHANNEL7=7, MANUALCONTROLSETTINGS_PITCH_NONE=8 } ManualControlSettingsPitchOptions;
+typedef enum { MANUALCONTROLSETTINGS_PITCH_CHANNEL1=0, MANUALCONTROLSETTINGS_PITCH_CHANNEL2=1, MANUALCONTROLSETTINGS_PITCH_CHANNEL3=2, MANUALCONTROLSETTINGS_PITCH_CHANNEL4=3, MANUALCONTROLSETTINGS_PITCH_CHANNEL5=4, MANUALCONTROLSETTINGS_PITCH_CHANNEL6=5, MANUALCONTROLSETTINGS_PITCH_CHANNEL7=6, MANUALCONTROLSETTINGS_PITCH_CHANNEL8=7, MANUALCONTROLSETTINGS_PITCH_NONE=8 } ManualControlSettingsPitchOptions;
// Field Yaw information
/* Enumeration options for field Yaw */
-typedef enum { MANUALCONTROLSETTINGS_YAW_CHANNEL0=0, MANUALCONTROLSETTINGS_YAW_CHANNEL1=1, MANUALCONTROLSETTINGS_YAW_CHANNEL2=2, MANUALCONTROLSETTINGS_YAW_CHANNEL3=3, MANUALCONTROLSETTINGS_YAW_CHANNEL4=4, MANUALCONTROLSETTINGS_YAW_CHANNEL5=5, MANUALCONTROLSETTINGS_YAW_CHANNEL6=6, MANUALCONTROLSETTINGS_YAW_CHANNEL7=7, MANUALCONTROLSETTINGS_YAW_NONE=8 } ManualControlSettingsYawOptions;
+typedef enum { MANUALCONTROLSETTINGS_YAW_CHANNEL1=0, MANUALCONTROLSETTINGS_YAW_CHANNEL2=1, MANUALCONTROLSETTINGS_YAW_CHANNEL3=2, MANUALCONTROLSETTINGS_YAW_CHANNEL4=3, MANUALCONTROLSETTINGS_YAW_CHANNEL5=4, MANUALCONTROLSETTINGS_YAW_CHANNEL6=5, MANUALCONTROLSETTINGS_YAW_CHANNEL7=6, MANUALCONTROLSETTINGS_YAW_CHANNEL8=7, MANUALCONTROLSETTINGS_YAW_NONE=8 } ManualControlSettingsYawOptions;
// Field Throttle information
/* Enumeration options for field Throttle */
-typedef enum { MANUALCONTROLSETTINGS_THROTTLE_CHANNEL0=0, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL1=1, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL2=2, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL3=3, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL4=4, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL5=5, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL6=6, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL7=7, MANUALCONTROLSETTINGS_THROTTLE_NONE=8 } ManualControlSettingsThrottleOptions;
+typedef enum { MANUALCONTROLSETTINGS_THROTTLE_CHANNEL1=0, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL2=1, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL3=2, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL4=3, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL5=4, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL6=5, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL7=6, MANUALCONTROLSETTINGS_THROTTLE_CHANNEL8=7, MANUALCONTROLSETTINGS_THROTTLE_NONE=8 } ManualControlSettingsThrottleOptions;
// Field FlightMode information
/* Enumeration options for field FlightMode */
-typedef enum { MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL0=0, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL1=1, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL2=2, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL3=3, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL4=4, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL5=5, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL6=6, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL7=7, MANUALCONTROLSETTINGS_FLIGHTMODE_NONE=8 } ManualControlSettingsFlightModeOptions;
+typedef enum { MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL1=0, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL2=1, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL3=2, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL4=3, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL5=4, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL6=5, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL7=6, MANUALCONTROLSETTINGS_FLIGHTMODE_CHANNEL8=7, MANUALCONTROLSETTINGS_FLIGHTMODE_NONE=8 } ManualControlSettingsFlightModeOptions;
// Field Accessory1 information
/* Enumeration options for field Accessory1 */
-typedef enum { MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL0=0, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL1=1, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL2=2, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL3=3, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL4=4, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL5=5, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL6=6, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL7=7, MANUALCONTROLSETTINGS_ACCESSORY1_NONE=8 } ManualControlSettingsAccessory1Options;
+typedef enum { MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL1=0, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL2=1, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL3=2, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL4=3, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL5=4, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL6=5, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL7=6, MANUALCONTROLSETTINGS_ACCESSORY1_CHANNEL8=7, MANUALCONTROLSETTINGS_ACCESSORY1_NONE=8 } ManualControlSettingsAccessory1Options;
// Field Accessory2 information
/* Enumeration options for field Accessory2 */
-typedef enum { MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL0=0, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL1=1, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL2=2, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL3=3, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL4=4, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL5=5, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL6=6, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL7=7, MANUALCONTROLSETTINGS_ACCESSORY2_NONE=8 } ManualControlSettingsAccessory2Options;
+typedef enum { MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL1=0, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL2=1, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL3=2, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL4=3, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL5=4, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL6=5, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL7=6, MANUALCONTROLSETTINGS_ACCESSORY2_CHANNEL8=7, MANUALCONTROLSETTINGS_ACCESSORY2_NONE=8 } ManualControlSettingsAccessory2Options;
// Field Accessory3 information
/* Enumeration options for field Accessory3 */
-typedef enum { MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL0=0, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL1=1, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL2=2, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL3=3, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL4=4, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL5=5, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL6=6, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL7=7, MANUALCONTROLSETTINGS_ACCESSORY3_NONE=8 } ManualControlSettingsAccessory3Options;
+typedef enum { MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL1=0, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL2=1, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL3=2, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL4=3, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL5=4, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL6=5, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL7=6, MANUALCONTROLSETTINGS_ACCESSORY3_CHANNEL8=7, MANUALCONTROLSETTINGS_ACCESSORY3_NONE=8 } ManualControlSettingsAccessory3Options;
// Field Pos1StabilizationSettings information
/* Enumeration options for field Pos1StabilizationSettings */
typedef enum { MANUALCONTROLSETTINGS_POS1STABILIZATIONSETTINGS_NONE=0, MANUALCONTROLSETTINGS_POS1STABILIZATIONSETTINGS_RATE=1, MANUALCONTROLSETTINGS_POS1STABILIZATIONSETTINGS_ATTITUDE=2 } ManualControlSettingsPos1StabilizationSettingsOptions;
diff --git a/flight/OpenPilot/UAVObjects/inc/mixersettings.h b/flight/OpenPilot/UAVObjects/inc/mixersettings.h
index 6d4af05fb..d54908986 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 1945801048U
+#define MIXERSETTINGS_OBJID 1336817486U
#define MIXERSETTINGS_NAME "MixerSettings"
#define MIXERSETTINGS_METANAME "MixerSettingsMeta"
#define MIXERSETTINGS_ISSINGLEINST 1
@@ -77,8 +77,6 @@ typedef struct {
float DecelTime;
float ThrottleCurve1[5];
float ThrottleCurve2[5];
- uint8_t Mixer0Type;
- int8_t Mixer0Vector[5];
uint8_t Mixer1Type;
int8_t Mixer1Vector[5];
uint8_t Mixer2Type;
@@ -93,6 +91,8 @@ typedef struct {
int8_t Mixer6Vector[5];
uint8_t Mixer7Type;
int8_t Mixer7Vector[5];
+ uint8_t Mixer8Type;
+ int8_t Mixer8Vector[5];
} __attribute__((packed)) MixerSettingsData;
@@ -111,14 +111,6 @@ typedef enum { MIXERSETTINGS_THROTTLECURVE1_0=0, MIXERSETTINGS_THROTTLECURVE1_25
typedef enum { MIXERSETTINGS_THROTTLECURVE2_0=0, MIXERSETTINGS_THROTTLECURVE2_25=1, MIXERSETTINGS_THROTTLECURVE2_50=2, MIXERSETTINGS_THROTTLECURVE2_75=3, MIXERSETTINGS_THROTTLECURVE2_100=4 } MixerSettingsThrottleCurve2Elem;
/* Number of elements for field ThrottleCurve2 */
#define MIXERSETTINGS_THROTTLECURVE2_NUMELEM 5
-// Field Mixer0Type information
-/* Enumeration options for field Mixer0Type */
-typedef enum { MIXERSETTINGS_MIXER0TYPE_DISABLED=0, MIXERSETTINGS_MIXER0TYPE_MOTOR=1, MIXERSETTINGS_MIXER0TYPE_SERVO=2 } MixerSettingsMixer0TypeOptions;
-// 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;
@@ -175,6 +167,14 @@ typedef enum { MIXERSETTINGS_MIXER7TYPE_DISABLED=0, MIXERSETTINGS_MIXER7TYPE_MOT
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
+// Field Mixer8Type information
+/* Enumeration options for field Mixer8Type */
+typedef enum { MIXERSETTINGS_MIXER8TYPE_DISABLED=0, MIXERSETTINGS_MIXER8TYPE_MOTOR=1, MIXERSETTINGS_MIXER8TYPE_SERVO=2 } MixerSettingsMixer8TypeOptions;
+// Field Mixer8Vector information
+/* Array element names for field Mixer8Vector */
+typedef enum { MIXERSETTINGS_MIXER8VECTOR_THROTTLECURVE1=0, MIXERSETTINGS_MIXER8VECTOR_THROTTLECURVE2=1, MIXERSETTINGS_MIXER8VECTOR_ROLL=2, MIXERSETTINGS_MIXER8VECTOR_PITCH=3, MIXERSETTINGS_MIXER8VECTOR_YAW=4 } MixerSettingsMixer8VectorElem;
+/* Number of elements for field Mixer8Vector */
+#define MIXERSETTINGS_MIXER8VECTOR_NUMELEM 5
// Generic interface functions
diff --git a/flight/OpenPilot/UAVObjects/inc/mixerstatus.h b/flight/OpenPilot/UAVObjects/inc/mixerstatus.h
index 570aa5e0f..cd8a1f4f7 100644
--- a/flight/OpenPilot/UAVObjects/inc/mixerstatus.h
+++ b/flight/OpenPilot/UAVObjects/inc/mixerstatus.h
@@ -41,7 +41,7 @@
#define MIXERSTATUS_H
// Object constants
-#define MIXERSTATUS_OBJID 2468388390U
+#define MIXERSTATUS_OBJID 4137893648U
#define MIXERSTATUS_NAME "MixerStatus"
#define MIXERSTATUS_METANAME "MixerStatusMeta"
#define MIXERSTATUS_ISSINGLEINST 1
@@ -71,7 +71,6 @@
// Object data
typedef struct {
- float Mixer0;
float Mixer1;
float Mixer2;
float Mixer3;
@@ -79,11 +78,11 @@ typedef struct {
float Mixer5;
float Mixer6;
float Mixer7;
+ float Mixer8;
} __attribute__((packed)) MixerStatusData;
// Field information
-// Field Mixer0 information
// Field Mixer1 information
// Field Mixer2 information
// Field Mixer3 information
@@ -91,6 +90,7 @@ typedef struct {
// Field Mixer5 information
// Field Mixer6 information
// Field Mixer7 information
+// Field Mixer8 information
// Generic interface functions
diff --git a/flight/OpenPilot/UAVObjects/mixersettings.c b/flight/OpenPilot/UAVObjects/mixersettings.c
index 43f267dde..a71e77787 100644
--- a/flight/OpenPilot/UAVObjects/mixersettings.c
+++ b/flight/OpenPilot/UAVObjects/mixersettings.c
@@ -94,12 +94,6 @@ static void setDefaults(UAVObjHandle obj, uint16_t instId)
data.ThrottleCurve2[2] = 0.5;
data.ThrottleCurve2[3] = 0.75;
data.ThrottleCurve2[4] = 1;
- data.Mixer0Type = 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.Mixer1Vector[0] = 0;
data.Mixer1Vector[1] = 0;
@@ -142,6 +136,12 @@ static void setDefaults(UAVObjHandle obj, uint16_t instId)
data.Mixer7Vector[2] = 0;
data.Mixer7Vector[3] = 0;
data.Mixer7Vector[4] = 0;
+ data.Mixer8Type = 0;
+ data.Mixer8Vector[0] = 0;
+ data.Mixer8Vector[1] = 0;
+ data.Mixer8Vector[2] = 0;
+ data.Mixer8Vector[3] = 0;
+ data.Mixer8Vector[4] = 0;
UAVObjSetInstanceData(obj, instId, &data);
diff --git a/ground/src/plugins/config/airframe.ui b/ground/src/plugins/config/airframe.ui
index aa2793d7f..f49a33e41 100644
--- a/ground/src/plugins/config/airframe.ui
+++ b/ground/src/plugins/config/airframe.ui
@@ -1,2253 +1,2247 @@
-
-
- AircraftWidget
-
-
-
- 0
- 0
- 730
- 559
-
-
-
- Form
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
- 5
-
-
-
-
-
-
-
-
- Aircraft type:
-
-
-
- -
-
-
-
- 10
-
-
-
- Select aircraft type here
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- 2
-
-
-
- true
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Airplane type:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- Mixer OK
-
-
-
-
-
- -
-
-
- Channel Assignment
-
-
-
- -
-
-
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
-
-
-
- Engine
-
-
-
- -
-
-
- -
-
-
-
- 60
- 0
-
-
-
- Aileron 1
-
-
-
- -
-
-
- -
-
-
- false
-
-
-
- 60
- 0
-
-
-
- Aileron 2
-
-
-
- -
-
-
-
- 67
- 0
-
-
-
- Elevator 1
-
-
-
- -
-
-
- -
-
-
- Rudder
-
-
-
- -
-
-
- -
-
-
- false
-
-
-
- -
-
-
- false
-
-
-
- 67
- 0
-
-
-
- Elevator 2
-
-
-
- -
-
-
- false
-
-
-
-
-
- -
-
-
- Elevon Mix
-
-
-
-
-
-
-
-
-
-
-
-
-
- 65
- 0
-
-
-
- Rudder %
-
-
-
- -
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
-
-
-
-
-
- -
-
-
-
-
-
-
- 50
- 0
-
-
-
- Pitch %
-
-
-
- -
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
-
-
-
-
- Throttle Curve
-
-
-
- -
-
-
- Reset
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 100
-
-
-
-
- 200
- 200
-
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
- Val: 0.00
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- Frame type:
-
-
-
- -
-
-
- Select the Multirotor frame type here.
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- Mixer OK
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- Mix Level
-
-
-
- -
-
-
-
-
-
-
-
-
- 100
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Weight of Roll mixing in percent.
-Typical values are 100% for + configuration and 50% for X configuration on quads.
-
-
- 100
-
-
- 100
-
-
- Qt::Vertical
-
-
-
- -
-
-
- R
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
-
-
-
- 100
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Weight of Pitch mixing in percent.
-Typical values are 100% for + configuration and 50% for X configuration on quads.
-
-
- 100
-
-
- 100
-
-
- Qt::Vertical
-
-
-
- -
-
-
- P
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
-
-
-
- 50
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Weight of Yaw mixing in percent.
-Typical value is 50% for + or X configuration on quads.
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- false
-
-
- Y
-
-
- Qt::AlignCenter
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 75
- true
-
-
-
- Feed Forward
-
-
-
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
-
-
-
-
-
-
- FeedForward
-
-
-
- -
-
-
-
- 30
- 0
-
-
-
- 000
-
-
-
-
-
- -
-
-
- true
-
-
- Overall level of feed forward (in percentage).
-
-
- 100
-
-
- 1
-
-
- Qt::Horizontal
-
-
- QSlider::NoTicks
-
-
-
- -
-
-
- Accel Time Constant
-
-
-
- -
-
-
- true
-
-
- In miliseconds.
-When tuning: Slowly raise accel time from zero to just
-under the level where the motor starts to overshoot
-its target speed.
-
-
- 3
-
-
- 100.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
- Decel Time Constant
-
-
-
- -
-
-
- true
-
-
- When tuning: Slowly raise decel time from zero to just
-under the level where the motor starts to undershoot
-its target speed when decelerating.
-
-Do it after accel time is setup.
-
-
- 3
-
-
- 100.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
-
-
-
- MaxAccel
-
-
-
- -
-
-
- 1000
-
-
-
-
-
- -
-
-
- Limits how much the engines can accelerate or decelerate.
-In 'units per second', a sound default is 1000.
-
-
- 500
-
-
- 2000
-
-
- 1000
-
-
- Qt::Horizontal
-
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
-
-
-
-
-
-
- -
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
-
-
-
-
-
-
- -
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
-
-
- Enable FF tuning
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 40
-
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:10pt; font-weight:600;">Beware</span><span style=" font-family:'Ubuntu'; font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p></body></html>
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
- -
-
-
- QLayout::SetDefaultConstraint
-
-
-
-
-
-
-
-
- Throttle Curve
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 10
-
-
-
- Reset
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 110
- 110
-
-
-
-
- -
-
-
- Val: 0.00
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- Cyclic Rate
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
-
- 40
- 0
-
-
-
-
- -
-
-
- Tricopter Yaw Ch
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
-
- 40
- 0
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
- -
-
-
- Motors
-
-
-
- 1
-
-
- 1
-
-
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 3
-
-
-
-
-
- 1
-
-
-
- -
-
-
-
- 8
-
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans'; font-size:8pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Assign your motor channels using the drawing</p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">on the right as a reference. Respect propeller rotation!</p></body></html>
-
-
-
- -
-
-
- 2
-
-
-
- -
-
-
-
- 8
-
-
-
-
- -
-
-
- 3
-
-
-
- -
-
-
-
- 8
-
-
-
-
- -
-
-
- 4
-
-
-
- -
-
-
-
- 8
-
-
-
-
-
-
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 3
-
-
-
-
-
- 5
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
-
- 8
-
-
-
-
- -
-
-
- 6
-
-
-
- -
-
-
- false
-
-
-
- 8
-
-
-
-
- -
-
-
- 7
-
-
-
- -
-
-
- false
-
-
-
- 8
-
-
-
-
- -
-
-
- 8
-
-
-
- -
-
-
- false
-
-
-
- 8
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 110
- 110
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 0
-
- -
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9
-
-
-
- Throttle Curve 1
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- 9
-
-
-
- Reset
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 100
-
-
-
-
- 200
- 200
-
-
-
-
- -
-
-
- Val: 0.00
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 9
-
-
-
- Throttle Curve 2
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 9
-
-
-
- Reset
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 100
- 100
-
-
-
-
- 200
- 200
-
-
-
-
- -
-
-
- Val: 0.00
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- FeedForward
-
-
-
- -
-
-
-
- 30
- 0
-
-
-
- 000
-
-
-
-
-
- -
-
-
- 100
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- AccelTime
-
-
-
- -
-
-
- -
-
-
- DecelTime
-
-
-
- -
-
-
- -
-
-
-
-
-
- MaxAccel
-
-
-
- -
-
-
- 1000
-
-
-
-
-
- -
-
-
- 500
-
-
- 2000
-
-
- 1000
-
-
- Qt::Horizontal
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 8
-
-
-
- true
-
-
- 50
-
-
- false
-
-
- false
-
-
- 50
-
-
-
- Type
-
-
-
-
- Curve 1
-
-
-
-
- Curve 2
-
-
-
-
- Roll
-
-
-
-
- Pitch
-
-
-
-
- Yaw
-
-
-
-
- Ch 0
-
-
-
-
- Ch 1
-
-
-
-
- Ch 2
-
-
-
-
- Ch 3
-
-
-
-
- Ch 4
-
-
-
-
- Ch 5
-
-
-
-
- Ch 6
-
-
-
-
- Ch 7
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Retrieve settings from OpenPilot
-
-
- Get Current
-
-
-
- -
-
-
- Send to OpenPilot but don't write in SD.
-
-
- Save to RAM
-
-
-
- -
-
-
- Applies and Saves all settings to SD
-
-
- Save to SD
-
-
-
-
-
-
-
-
-
-
-
-
- MixerCurveWidget
- QWidget
-
- 1
-
-
- ConfigccpmWidget
- QWidget
-
- 1
-
-
-
-
-
- elevonSlider2
- valueChanged(int)
- label_25
- setNum(int)
-
-
- 97
- 100
-
-
- 97
- 100
-
-
-
-
- elevonSlider1
- valueChanged(int)
- label_18
- setNum(int)
-
-
- 93
- 100
-
-
- 93
- 100
-
-
-
-
- feedForwardSlider
- valueChanged(int)
- feedForwardValue
- setNum(int)
-
-
- 118
- 91
-
-
- 118
- 91
-
-
-
-
- maxAccelSlider
- valueChanged(int)
- label_33
- setNum(int)
-
-
- 118
- 91
-
-
- 118
- 91
-
-
-
-
- mrPitchMixLevel
- valueChanged(int)
- label_44
- setNum(int)
-
-
- 95
- 91
-
-
- 99
- 91
-
-
-
-
- mrYawMixLevel
- valueChanged(int)
- label_45
- setNum(int)
-
-
- 118
- 91
-
-
- 118
- 91
-
-
-
-
- mrRollMixLevel
- valueChanged(int)
- label_43
- setNum(int)
-
-
- 58
- 91
-
-
- 62
- 91
-
-
-
-
- customFFSlider
- valueChanged(int)
- customFeedForwardValue
- setNum(int)
-
-
- 641
- 86
-
-
- 584
- 87
-
-
-
-
- customFFMaxAccel
- valueChanged(int)
- label_OSD
- setNum(int)
-
-
- 664
- 189
-
-
- 569
- 191
-
-
-
-
-
+
+
+ AircraftWidget
+
+
+
+ 0
+ 0
+ 730
+ 559
+
+
+
+ Form
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 5
+
+
-
+
+
-
+
+
+ Aircraft type:
+
+
+
+ -
+
+
+
+ 10
+
+
+
+ Select aircraft type here
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ 0
+
+
+
+ true
+
+
+ false
+
+
+
-
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Airplane type:
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+ Mixer OK
+
+
+
+
+
+ -
+
+
+ Channel Assignment
+
+
+
+ -
+
+
-
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
-
+
+
+ Engine
+
+
+
+ -
+
+
+ -
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 1
+
+
+
+ -
+
+
+ -
+
+
+ false
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 2
+
+
+
+ -
+
+
+
+ 67
+ 0
+
+
+
+ Elevator 1
+
+
+
+ -
+
+
+ -
+
+
+ Rudder
+
+
+
+ -
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ false
+
+
+
+ 67
+ 0
+
+
+
+ Elevator 2
+
+
+
+ -
+
+
+ false
+
+
+
+
+
+ -
+
+
+ Elevon Mix
+
+
+
-
+
+
-
+
+
-
+
+
+
+ 65
+ 0
+
+
+
+ Rudder %
+
+
+
+ -
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 50
+ 0
+
+
+
+ Pitch %
+
+
+
+ -
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+ Throttle Curve
+
+
+
+ -
+
+
+ Reset
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 100
+
+
+
+
+ 200
+ 200
+
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+ Val: 0.00
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+ Frame type:
+
+
+
+ -
+
+
+ Select the Multirotor frame type here.
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+ Mixer OK
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 75
+ true
+
+
+
+ Mix Level
+
+
+
+ -
+
+
-
+
+
-
+
+
+ 100
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Weight of Roll mixing in percent.
+Typical values are 100% for + configuration and 50% for X configuration on quads.
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ R
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
-
+
+
+ 100
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Weight of Pitch mixing in percent.
+Typical values are 100% for + configuration and 50% for X configuration on quads.
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ P
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
-
+
+
+ 50
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Weight of Yaw mixing in percent.
+Typical value is 50% for + or X configuration on quads.
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ false
+
+
+ Y
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 75
+ true
+
+
+
+ Feed Forward
+
+
+
+ -
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
-
+
+
-
+
+
+ FeedForward
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+ 000
+
+
+
+
+
+ -
+
+
+ true
+
+
+ Overall level of feed forward (in percentage).
+
+
+ 100
+
+
+ 1
+
+
+ Qt::Horizontal
+
+
+ QSlider::NoTicks
+
+
+
+ -
+
+
+ Accel Time Constant
+
+
+
+ -
+
+
+ true
+
+
+ In miliseconds.
+When tuning: Slowly raise accel time from zero to just
+under the level where the motor starts to overshoot
+its target speed.
+
+
+ 3
+
+
+ 100.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
+ Decel Time Constant
+
+
+
+ -
+
+
+ true
+
+
+ When tuning: Slowly raise decel time from zero to just
+under the level where the motor starts to undershoot
+its target speed when decelerating.
+
+Do it after accel time is setup.
+
+
+ 3
+
+
+ 100.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
-
+
+
+ MaxAccel
+
+
+
+ -
+
+
+ 1000
+
+
+
+
+
+ -
+
+
+ Limits how much the engines can accelerate or decelerate.
+In 'units per second', a sound default is 1000.
+
+
+ 500
+
+
+ 2000
+
+
+ 1000
+
+
+ Qt::Horizontal
+
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
+
+
+
+
+
+
+ -
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
+
+
+
+
+
+
+ -
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html>
+
+
+ Enable FF tuning
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 40
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Beware</span><span style=" font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p></body></html>
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+ -
+
+
+ QLayout::SetDefaultConstraint
+
+
-
+
+
-
+
+
+ Throttle Curve
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 10
+
+
+
+ Reset
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 110
+ 110
+
+
+
+
+ -
+
+
+ Val: 0.00
+
+
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+ Cyclic Rate
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ -
+
+
+ Tricopter Yaw Ch
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+ -
+
+
+ Motors
+
+
+
+ 1
+
+
+ 1
+
+
-
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ 3
+
+
-
+
+
+ 1
+
+
+
+ -
+
+
+
+ 8
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans'; font-size:8pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Assign your motor channels using the drawing</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">on the right as a reference. Respect propeller rotation!</p></body></html>
+
+
+
+ -
+
+
+ 2
+
+
+
+ -
+
+
+
+ 8
+
+
+
+
+ -
+
+
+ 3
+
+
+
+ -
+
+
+
+ 8
+
+
+
+
+ -
+
+
+ 4
+
+
+
+ -
+
+
+
+ 8
+
+
+
+
+
+
+ -
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ 3
+
+
-
+
+
+ 5
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 8
+
+
+
+
+ -
+
+
+ 6
+
+
+
+ -
+
+
+ false
+
+
+
+ 8
+
+
+
+
+ -
+
+
+ 7
+
+
+
+ -
+
+
+ false
+
+
+
+ 8
+
+
+
+
+ -
+
+
+ 8
+
+
+
+ -
+
+
+ false
+
+
+
+ 8
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 110
+ 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+
+ -
+
+
+ 2
+
+
-
+
+
-
+
+
-
+
+
-
+
+
+
+ 9
+
+
+
+ Throttle Curve 1
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 9
+
+
+
+ Reset
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 100
+
+
+
+
+ 200
+ 200
+
+
+
+
+ -
+
+
+ Val: 0.00
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 9
+
+
+
+ Throttle Curve 2
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 9
+
+
+
+ Reset
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 100
+
+
+
+
+ 200
+ 200
+
+
+
+
+ -
+
+
+ Val: 0.00
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+ FeedForward
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+ 000
+
+
+
+
+
+ -
+
+
+ 100
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ AccelTime
+
+
+
+ -
+
+
+ -
+
+
+ DecelTime
+
+
+
+ -
+
+
+ -
+
+
-
+
+
+ MaxAccel
+
+
+
+ -
+
+
+ 1000
+
+
+
+
+
+ -
+
+
+ 500
+
+
+ 2000
+
+
+ 1000
+
+
+ Qt::Horizontal
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 8
+
+
+
+ true
+
+
+ 50
+
+
+ false
+
+
+
+ Type
+
+
+
+
+ Curve 1
+
+
+
+
+ Curve 2
+
+
+
+
+ Roll
+
+
+
+
+ Pitch
+
+
+
+
+ Yaw
+
+
+
+
+ Ch 1
+
+
+
+
+ Ch 2
+
+
+
+
+ Ch 3
+
+
+
+
+ Ch 4
+
+
+
+
+ Ch 5
+
+
+
+
+ Ch 6
+
+
+
+
+ Ch 7
+
+
+
+
+ Ch 8
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Retrieve settings from OpenPilot
+
+
+ Get Current
+
+
+
+ -
+
+
+ Send to OpenPilot but don't write in SD.
+
+
+ Save to RAM
+
+
+
+ -
+
+
+ Applies and Saves all settings to SD
+
+
+ Save to SD
+
+
+
+
+
+
+
+
+
+
+
+
+ MixerCurveWidget
+ QWidget
+
+ 1
+
+
+ ConfigccpmWidget
+ QWidget
+
+ 1
+
+
+
+
+
+ elevonSlider2
+ valueChanged(int)
+ label_25
+ setNum(int)
+
+
+ 97
+ 100
+
+
+ 97
+ 100
+
+
+
+
+ elevonSlider1
+ valueChanged(int)
+ label_18
+ setNum(int)
+
+
+ 93
+ 100
+
+
+ 93
+ 100
+
+
+
+
+ feedForwardSlider
+ valueChanged(int)
+ feedForwardValue
+ setNum(int)
+
+
+ 118
+ 91
+
+
+ 118
+ 91
+
+
+
+
+ maxAccelSlider
+ valueChanged(int)
+ label_33
+ setNum(int)
+
+
+ 118
+ 91
+
+
+ 118
+ 91
+
+
+
+
+ mrPitchMixLevel
+ valueChanged(int)
+ label_44
+ setNum(int)
+
+
+ 95
+ 91
+
+
+ 99
+ 91
+
+
+
+
+ mrYawMixLevel
+ valueChanged(int)
+ label_45
+ setNum(int)
+
+
+ 118
+ 91
+
+
+ 118
+ 91
+
+
+
+
+ mrRollMixLevel
+ valueChanged(int)
+ label_43
+ setNum(int)
+
+
+ 58
+ 91
+
+
+ 62
+ 91
+
+
+
+
+ customFFSlider
+ valueChanged(int)
+ customFeedForwardValue
+ setNum(int)
+
+
+ 641
+ 86
+
+
+ 584
+ 87
+
+
+
+
+ customFFMaxAccel
+ valueChanged(int)
+ label_OSD
+ setNum(int)
+
+
+ 664
+ 189
+
+
+ 569
+ 191
+
+
+
+
+
diff --git a/ground/src/plugins/config/ccpm.ui b/ground/src/plugins/config/ccpm.ui
index 9d6fdc1ca..a25ea3009 100644
--- a/ground/src/plugins/config/ccpm.ui
+++ b/ground/src/plugins/config/ccpm.ui
@@ -1,2535 +1,2517 @@
-
-
- ccpmWidget
-
-
-
- 0
- 0
- 660
- 572
-
-
-
-
- 0
- 0
-
-
-
-
- 300
- 300
-
-
-
- Form
-
-
- false
-
-
- -
-
-
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 0
-
-
-
-
-
- Swashplate config:
-
-
-
- -
-
-
-
- 10
-
-
-
- Select aircraft type here
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 400
- 300
-
-
-
- 0
-
-
-
- Basic settings
-
-
-
- 0
-
-
- 2
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Outputs
-
-
-
- 3
-
-
- 2
-
-
- 3
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Tail Rotor
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Engine
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Swashplate Outputs
-
-
-
- 3
-
-
- 2
-
-
- 3
-
-
-
-
-
- true
-
-
-
- 1
- 1
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Servo W
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
-
- 1
- 1
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Servo X
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
-
- Front
-
-
- -
-
- Right
-
-
- -
-
- Rear
-
-
- -
-
- Left
-
-
-
-
- -
-
-
-
- 1
- 1
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Single Servo
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
-
- -
-
-
-
- 1
- 1
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Servo Z
-
-
-
- -
-
-
- true
-
-
-
- 1
- 1
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Servo Y
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 70
- 0
-
-
-
- Swashplate Servo Angles
-
-
-
- 3
-
-
- 2
-
-
- 3
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
- 0
-
-
- 360.000000000000000
-
-
- 15.000000000000000
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Angle W
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Angle X
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Angle Y
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- Angle Z
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 80
- 0
-
-
-
-
- 80
- 16777215
-
-
-
- CorrectionAngle
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
- 0
-
-
- 360.000000000000000
-
-
- 15.000000000000000
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
- 0
-
-
- 360.000000000000000
-
-
- 15.000000000000000
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
- 0
-
-
- 360.000000000000000
-
-
- 15.000000000000000
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 0
-
-
-
-
- 85
- 16777215
-
-
-
- 0
-
-
- 360.000000000000000
-
-
- 15.000000000000000
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
- -
-
-
-
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 50
- 100
-
-
-
-
- 50
- 400
-
-
-
-
- 8
-
-
-
- CCPM
-
-
- Qt::AlignCenter
-
-
-
- 0
-
-
- 3
-
-
-
-
-
- true
-
-
-
- 7
-
-
-
- Collective
-
-
- true
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 5
- 25
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 0
- 100
-
-
-
- 100
-
-
- 5
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 5
- 25
-
-
-
-
-
-
- -
-
-
- true
-
-
-
- 7
-
-
-
- Cyclic
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- 100
-
-
- 5
-
-
- 50
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 50
- 100
-
-
-
-
- 400
- 400
-
-
-
- REVO
-
-
-
- 0
-
-
- 3
-
-
-
-
-
- false
-
-
-
- 7
-
-
-
- 100%
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 5
- 25
-
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
-
- 0
- 100
-
-
-
- 100
-
-
- 5
-
-
- Qt::Vertical
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 5
- 25
-
-
-
-
-
-
- -
-
-
- false
-
-
-
- 7
-
-
-
- 0%
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 200
- 200
-
-
-
-
- 600
- 600
-
-
-
-
- 10
- 10
-
-
-
-
- 200
- 200
-
-
-
- Swashplate Layout
-
-
- Qt::AlignHCenter|Qt::AlignTop
-
-
- false
-
-
- false
-
-
-
- 3
-
-
- 3
-
-
-
-
-
- Qt::Vertical
-
-
-
-
- 1
- 1
-
-
-
-
- 200
- 200
-
-
-
-
- 500
- 500
-
-
-
-
- 10
- 10
-
-
-
-
- 200
- 200
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- 0
-
-
- Qt::ScrollBarAlwaysOn
-
-
- Qt::ScrollBarAlwaysOn
-
-
-
-
- 220
- 220
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
- Qt::AlignHCenter|Qt::AlignTop
-
-
- QGraphicsView::AnchorViewCenter
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Curve settings
-
-
-
- 0
-
-
- 2
-
- -
-
-
- 4
-
-
-
-
-
-
-
-
-
- 150
- 0
-
-
-
-
- 10
-
-
-
- Select aircraft type here
-
-
-
-
- Linear
-
-
- -
-
- Flat
-
-
- -
-
- Step
-
-
- -
-
- Exp
-
-
- -
-
- Log
-
-
- -
-
- Custom
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Number of points
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 2
-
-
- 10
-
-
- 5
-
-
-
-
-
- -
-
-
-
-
-
- Min
-
-
-
- -
-
-
- Max
-
-
-
- -
-
-
- Step point
-
-
-
- -
-
-
- 1
-
-
- 10.000000000000000
-
-
-
- -
-
-
- 1
-
-
- 10.000000000000000
-
-
- 1.000000000000000
-
-
-
- -
-
-
- 1
-
-
- 100.000000000000000
-
-
- 50.000000000000000
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 150
- 0
-
-
-
-
- 10
-
-
-
- Select aircraft type here
-
-
-
-
- Throttle
-
-
- -
-
- Pitch
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 150
- 0
-
-
-
- Generate curves based on settings
-
-
- <-- Generate Curve
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 142
- 148
-
-
-
-
- 250
- 273
-
-
-
-
- 8
-
-
-
- Qt::ScrollBarAsNeeded
-
-
- Qt::ScrollBarAsNeeded
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- 25
-
-
- 25
-
-
- 25
-
-
- true
-
-
- true
-
-
- 25
-
-
-
- 0%
-
-
-
-
- 25%
-
-
-
-
- 50%
-
-
-
-
- 75%
-
-
-
-
- 100%
-
-
-
-
- none
-
-
-
-
- none
-
-
-
-
- none
-
-
-
-
- none
-
-
-
-
- none
-
-
-
-
- Throttle Curve
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
-
-
- Blade Pitch Curve
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.000
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.000
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.250
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.250
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.500
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.500
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.750
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 0.750
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 1.000
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- 1.000
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Preferred
-
-
-
- 20
- 40
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 0
- 0
-
-
-
-
- 10
- 10
-
-
-
-
- 100
- 100
-
-
-
- Qt::LeftToRight
-
-
- Throttle Curve
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- false
-
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 50
- 50
-
-
-
-
- 1000
- 1000
-
-
-
-
- 10
- 10
-
-
-
-
- 200
- 200
-
-
-
-
-
-
-
- -
-
-
-
- 1
- 1
-
-
-
-
- 10
- 10
-
-
-
-
- 100
- 100
-
-
-
- Pitch Curve
-
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 50
- 50
-
-
-
-
- 1000
- 1000
-
-
-
-
- 10
- 10
-
-
-
-
- 200
- 200
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Preferred
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Advanced settings
-
-
-
- 0
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 200
-
-
-
-
- 1000
- 203
-
-
-
- Qt::ScrollBarAlwaysOff
-
-
- Qt::ScrollBarAlwaysOff
-
-
- true
-
-
- true
-
-
- QAbstractItemView::NoSelection
-
-
- false
-
-
- true
-
-
- 75
-
-
- 20
-
-
- 20
-
-
- 75
-
-
-
- Engine
-
-
-
-
- Tail Rotor
-
-
-
-
- Servo W
-
-
-
-
- Servo X
-
-
-
-
- Servo Y
-
-
-
-
- Servo Z
-
-
-
-
- Channel
-
-
-
-
- Curve 1
-
-
-
-
- Curve 2
-
-
-
-
- Roll
-
-
-
-
- Pitch
-
-
-
-
- Yaw
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
- -
-
- -
-
-
- AlignHCenter|AlignVCenter|AlignCenter
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::MinimumExpanding
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MixerCurveWidget
- QWidget
-
- 1
-
-
-
- TabObject
- ccpmType
- ccpmCollectivespinBox
- ccpmRevoSlider
- ccpmREVOspinBox
- SwashplateImage
- CurveType
- CurveValue1
- CurveValue2
- CurveValue3
- ccpmAdvancedSettingsTable
-
-
-
-
- ccpmCollectiveSlider
- sliderMoved(int)
- ccpmCollectivespinBox
- setValue(int)
-
-
- 246
- 309
-
-
- 259
- 467
-
-
-
-
- ccpmCollectivespinBox
- valueChanged(int)
- ccpmCollectiveSlider
- setValue(int)
-
-
- 259
- 467
-
-
- 243
- 391
-
-
-
-
- ccpmREVOspinBox
- valueChanged(int)
- ccpmRevoSlider
- setValue(int)
-
-
- 344
- 467
-
-
- 326
- 393
-
-
-
-
- ccpmRevoSlider
- sliderMoved(int)
- ccpmREVOspinBox
- setValue(int)
-
-
- 303
- 222
-
-
- 344
- 467
-
-
-
-
-
+
+
+ ccpmWidget
+
+
+
+ 0
+ 0
+ 660
+ 572
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 300
+ 300
+
+
+
+ Form
+
+
+ false
+
+
+ -
+
+
-
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ 0
+
+
-
+
+
+ Swashplate config:
+
+
+
+ -
+
+
+
+ 10
+
+
+
+ Select aircraft type here
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 400
+ 300
+
+
+
+ 0
+
+
+
+ Basic settings
+
+
+
+ 0
+
+
+ 2
+
+
-
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Outputs
+
+
+
+ 3
+
+
+ 2
+
+
+ 3
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Tail Rotor
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Engine
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Swashplate Outputs
+
+
+
+ 3
+
+
+ 2
+
+
+ 3
+
+
-
+
+
+ true
+
+
+
+ 1
+ 1
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Servo W
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+
+ 1
+ 1
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Servo X
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
-
+
+ Front
+
+
+ -
+
+ Right
+
+
+ -
+
+ Rear
+
+
+ -
+
+ Left
+
+
+
+
+ -
+
+
+
+ 1
+ 1
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Single Servo
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+
+ -
+
+
+
+ 1
+ 1
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Servo Z
+
+
+
+ -
+
+
+ true
+
+
+
+ 1
+ 1
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Servo Y
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 70
+ 0
+
+
+
+ Swashplate Servo Angles
+
+
+
+ 3
+
+
+ 2
+
+
+ 3
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+ 0
+
+
+ 360.000000000000000
+
+
+ 15.000000000000000
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Angle W
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Angle X
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Angle Y
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ Angle Z
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ CorrectionAngle
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+ 0
+
+
+ 360.000000000000000
+
+
+ 15.000000000000000
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+ 0
+
+
+ 360.000000000000000
+
+
+ 15.000000000000000
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+ 0
+
+
+ 360.000000000000000
+
+
+ 15.000000000000000
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 0
+
+
+
+
+ 85
+ 16777215
+
+
+
+ 0
+
+
+ 360.000000000000000
+
+
+ 15.000000000000000
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 100
+
+
+
+
+ 50
+ 400
+
+
+
+
+ 8
+
+
+
+ CCPM
+
+
+ Qt::AlignCenter
+
+
+
+ 0
+
+
+ 3
+
+
-
+
+
+ true
+
+
+
+ 7
+
+
+
+ Collective
+
+
+ true
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 5
+ 25
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 100
+
+
+
+ 100
+
+
+ 5
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 5
+ 25
+
+
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 7
+
+
+
+ Cyclic
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ 100
+
+
+ 5
+
+
+ 50
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ 100
+
+
+
+
+ 400
+ 400
+
+
+
+ REVO
+
+
+
+ 0
+
+
+ 3
+
+
-
+
+
+ false
+
+
+
+ 7
+
+
+
+ 100%
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 5
+ 25
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 100
+
+
+
+ 100
+
+
+ 5
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 5
+ 25
+
+
+
+
+
+
+ -
+
+
+ false
+
+
+
+ 7
+
+
+
+ 0%
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 200
+ 200
+
+
+
+
+ 600
+ 600
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 200
+ 200
+
+
+
+ Swashplate Layout
+
+
+ Qt::AlignHCenter|Qt::AlignTop
+
+
+ false
+
+
+ false
+
+
+
+ 3
+
+
+ 3
+
+
-
+
+
+ Qt::Vertical
+
+
+
+
+ 1
+ 1
+
+
+
+
+ 200
+ 200
+
+
+
+
+ 500
+ 500
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 200
+ 200
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ 0
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+
+
+ 220
+ 220
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ Qt::AlignHCenter|Qt::AlignTop
+
+
+ QGraphicsView::AnchorViewCenter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Curve settings
+
+
+
+ 0
+
+
+ 2
+
+ -
+
+
+ 4
+
+
-
+
+
-
+
+
+
+ 150
+ 0
+
+
+
+
+ 10
+
+
+
+ Select aircraft type here
+
+
-
+
+ Linear
+
+
+ -
+
+ Flat
+
+
+ -
+
+ Step
+
+
+ -
+
+ Exp
+
+
+ -
+
+ Log
+
+
+ -
+
+ Custom
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Number of points
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 2
+
+
+ 10
+
+
+ 5
+
+
+
+
+
+ -
+
+
-
+
+
+ Min
+
+
+
+ -
+
+
+ Max
+
+
+
+ -
+
+
+ Step point
+
+
+
+ -
+
+
+ 1
+
+
+ 10.000000000000000
+
+
+
+ -
+
+
+ 1
+
+
+ 10.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ -
+
+
+ 1
+
+
+ 100.000000000000000
+
+
+ 50.000000000000000
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 150
+ 0
+
+
+
+
+ 10
+
+
+
+ Select aircraft type here
+
+
-
+
+ Throttle
+
+
+ -
+
+ Pitch
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 150
+ 0
+
+
+
+ Generate curves based on settings
+
+
+ <-- Generate Curve
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 142
+ 148
+
+
+
+
+ 250
+ 273
+
+
+
+
+ 8
+
+
+
+ Qt::ScrollBarAsNeeded
+
+
+ Qt::ScrollBarAsNeeded
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ 25
+
+
+ 25
+
+
+
+ 0%
+
+
+
+
+ 25%
+
+
+
+
+ 50%
+
+
+
+
+ 75%
+
+
+
+
+ 100%
+
+
+
+
+ none
+
+
+
+
+ none
+
+
+
+
+ none
+
+
+
+
+ none
+
+
+
+
+ none
+
+
+
+
+ Throttle Curve
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
+
+ Blade Pitch Curve
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.000
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.000
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.250
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.250
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.500
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.500
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.750
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 0.750
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 1.000
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ 1.000
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Preferred
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 100
+ 100
+
+
+
+ Qt::LeftToRight
+
+
+ Throttle Curve
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 50
+ 50
+
+
+
+
+ 1000
+ 1000
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 200
+ 200
+
+
+
+
+
+
+
+ -
+
+
+
+ 1
+ 1
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 100
+ 100
+
+
+
+ Pitch Curve
+
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 50
+ 50
+
+
+
+
+ 1000
+ 1000
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 200
+ 200
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Preferred
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Advanced settings
+
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 200
+
+
+
+
+ 1000
+ 203
+
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ true
+
+
+ true
+
+
+ QAbstractItemView::NoSelection
+
+
+ false
+
+
+ true
+
+
+ 75
+
+
+ 20
+
+
+
+ Engine
+
+
+
+
+ Tail Rotor
+
+
+
+
+ Servo W
+
+
+
+
+ Servo X
+
+
+
+
+ Servo Y
+
+
+
+
+ Servo Z
+
+
+
+
+ Channel
+
+
+
+
+ Curve 1
+
+
+
+
+ Curve 2
+
+
+
+
+ Roll
+
+
+
+
+ Pitch
+
+
+
+
+ Yaw
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MixerCurveWidget
+ QWidget
+
+ 1
+
+
+
+ TabObject
+ ccpmType
+ ccpmCollectivespinBox
+ ccpmRevoSlider
+ ccpmREVOspinBox
+ SwashplateImage
+ CurveType
+ CurveValue1
+ CurveValue2
+ CurveValue3
+ ccpmAdvancedSettingsTable
+
+
+
+
+ ccpmCollectiveSlider
+ sliderMoved(int)
+ ccpmCollectivespinBox
+ setValue(int)
+
+
+ 246
+ 309
+
+
+ 259
+ 467
+
+
+
+
+ ccpmCollectivespinBox
+ valueChanged(int)
+ ccpmCollectiveSlider
+ setValue(int)
+
+
+ 259
+ 467
+
+
+ 243
+ 391
+
+
+
+
+ ccpmREVOspinBox
+ valueChanged(int)
+ ccpmRevoSlider
+ setValue(int)
+
+
+ 344
+ 467
+
+
+ 326
+ 393
+
+
+
+
+ ccpmRevoSlider
+ sliderMoved(int)
+ ccpmREVOspinBox
+ setValue(int)
+
+
+ 303
+ 222
+
+
+ 344
+ 467
+
+
+
+
+
diff --git a/ground/src/plugins/config/configairframewidget.cpp b/ground/src/plugins/config/configairframewidget.cpp
index 6bc72bda4..a74873868 100644
--- a/ground/src/plugins/config/configairframewidget.cpp
+++ b/ground/src/plugins/config/configairframewidget.cpp
@@ -92,10 +92,10 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p
ffTuningInProgress = false;
ffTuningPhase = false;
- mixerTypes << "Mixer0Type" << "Mixer1Type" << "Mixer2Type" << "Mixer3Type"
- << "Mixer4Type" << "Mixer5Type" << "Mixer6Type" << "Mixer7Type";
- mixerVectors << "Mixer0Vector" << "Mixer1Vector" << "Mixer2Vector" << "Mixer3Vector"
- << "Mixer4Vector" << "Mixer5Vector" << "Mixer6Vector" << "Mixer7Vector";
+ mixerTypes << "Mixer1Type" << "Mixer2Type" << "Mixer3Type"
+ << "Mixer4Type" << "Mixer5Type" << "Mixer6Type" << "Mixer7Type" << "Mixer8Type";
+ mixerVectors << "Mixer1Vector" << "Mixer2Vector" << "Mixer3Vector"
+ << "Mixer4Vector" << "Mixer5Vector" << "Mixer6Vector" << "Mixer7Vector" << "Mixer8Vector";
QStringList airframeTypes;
airframeTypes << "Fixed Wing" << "Multirotor" << "Helicopter" << "Custom";
@@ -114,8 +114,8 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p
QStringList channels;
- channels << "None" << "Channel0" << "Channel1" << "Channel2" <<
- "Channel3" << "Channel4" << "Channel5" << "Channel6" << "Channel7";
+ channels << "None" << "Channel1" << "Channel2" << "Channel3" <<
+ "Channel4" << "Channel5" << "Channel6" << "Channel7" << "Channel8";
// Now load all the channel assignements for fixed wing
m_aircraft->fwElevator1Channel->addItems(channels);
m_aircraft->fwElevator2Channel->addItems(channels);
@@ -148,7 +148,7 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p
// Put combo boxes in line one of the custom mixer table:
UAVDataObject* obj = dynamic_cast(getObjectManager()->getObject(QString("MixerSettings")));
- UAVObjectField* field = obj->getField(QString("Mixer0Type"));
+ UAVObjectField* field = obj->getField(QString("Mixer1Type"));
QStringList list = field->getOptions();
for (int i=0;i<8;i++) {
QComboBox* qb = new QComboBox(m_aircraft->customMixerTable);
diff --git a/ground/src/plugins/config/configccpmwidget.cpp b/ground/src/plugins/config/configccpmwidget.cpp
index 005f02639..d3c7ed468 100644
--- a/ground/src/plugins/config/configccpmwidget.cpp
+++ b/ground/src/plugins/config/configccpmwidget.cpp
@@ -118,8 +118,8 @@ ConfigccpmWidget::ConfigccpmWidget(QWidget *parent) : ConfigTaskWidget(parent)
QStringList channels;
- channels << "Channel0" << "Channel1" << "Channel2" <<
- "Channel3" << "Channel4" << "Channel5" << "Channel6" << "Channel7" << "None" ;
+ channels << "Channel1" << "Channel2" <<
+ "Channel3" << "Channel4" << "Channel5" << "Channel6" << "Channel7" << "Channel8" << "None" ;
m_ccpm->ccpmEngineChannel->addItems(channels);
m_ccpm->ccpmEngineChannel->setCurrentIndex(8);
m_ccpm->ccpmTailChannel->addItems(channels);
@@ -699,10 +699,10 @@ void ConfigccpmWidget::UpdateMixer()
ThisEnable[4] = m_ccpm->ccpmServoYChannel->isEnabled();
ThisEnable[5] = m_ccpm->ccpmServoZChannel->isEnabled();
- ServoWText->setPlainText(QString("%1").arg( MixerChannelData[2] ));
- ServoXText->setPlainText(QString("%1").arg( MixerChannelData[3] ));
- ServoYText->setPlainText(QString("%1").arg( MixerChannelData[4] ));
- ServoZText->setPlainText(QString("%1").arg( MixerChannelData[5] ));
+ ServoWText->setPlainText(QString("%1").arg( MixerChannelData[2]+1 ));
+ ServoXText->setPlainText(QString("%1").arg( MixerChannelData[3]+1 ));
+ ServoYText->setPlainText(QString("%1").arg( MixerChannelData[4]+1 ));
+ ServoZText->setPlainText(QString("%1").arg( MixerChannelData[5]+1 ));
//go through the user data and update the mixer matrix
@@ -719,7 +719,7 @@ void ConfigccpmWidget::UpdateMixer()
*/
if ((MixerChannelData[i]<8)&&((ThisEnable[i])||(i<2)))
{
- m_ccpm->ccpmAdvancedSettingsTable->item(i,0)->setText(QString("%1").arg( MixerChannelData[i] ));
+ m_ccpm->ccpmAdvancedSettingsTable->item(i,0)->setText(QString("%1").arg( MixerChannelData[i]+1 ));
//config the vector
if (i==0)
{//motor-engine
@@ -759,7 +759,7 @@ void ConfigccpmWidget::UpdateMixer()
for (i=0;i<6;i++)
{
Channel =m_ccpm->ccpmAdvancedSettingsTable->item(i,0)->text();
- if (Channel == "-") Channel = QString("8");
+ if (Channel == "-") Channel = QString("9");
MixerChannelData[i]= Channel.toInt();
}
}
@@ -797,7 +797,7 @@ void ConfigccpmWidget::requestccpmUpdate()
//go through the user data and update the mixer matrix
for (i=0;i<8;i++)
{
- field = obj->getField(tr( "Mixer%1Vector" ).arg(i));
+ field = obj->getField(tr( "Mixer%1Vector" ).arg(i+1));
//config the vector
for (j=0;j<5;j++)
{
@@ -807,7 +807,7 @@ void ConfigccpmWidget::requestccpmUpdate()
}
for (i=0;i<8;i++)
{
- field = obj->getField(tr( "Mixer%1Type" ).arg(i));
+ field = obj->getField(tr( "Mixer%1Type" ).arg(i+1));
MixerOutputType[i] = field->getValue().toString();
}
@@ -1064,7 +1064,7 @@ void ConfigccpmWidget::sendccpmUpdate()
//clear the output types
for (i=0;i<8;i++)
{
- field = obj->getField(tr( "Mixer%1Type" ).arg( i ));
+ field = obj->getField(tr( "Mixer%1Type" ).arg( i+1 ));
//clear the mixer type
field->setValue("Disabled");
}
@@ -1085,7 +1085,7 @@ void ConfigccpmWidget::sendccpmUpdate()
if (MixerChannelData[i]<8)
{
//select the correct mixer for this config element
- field = obj->getField(tr( "Mixer%1Type" ).arg( MixerChannelData[i] ));
+ field = obj->getField(tr( "Mixer%1Type" ).arg( MixerChannelData[i]+1 ));
//set the mixer type
if (i==0)
{
@@ -1097,7 +1097,7 @@ void ConfigccpmWidget::sendccpmUpdate()
}
//select the correct mixer for this config element
- field = obj->getField(tr( "Mixer%1Vector" ).arg( MixerChannelData[i] ));
+ field = obj->getField(tr( "Mixer%1Vector" ).arg( MixerChannelData[i]+1 ));
//config the vector
for (j=0;j<5;j++)
{
diff --git a/ground/src/plugins/config/configservowidget.cpp b/ground/src/plugins/config/configservowidget.cpp
index 5db4e8133..e25853db5 100644
--- a/ground/src/plugins/config/configservowidget.cpp
+++ b/ground/src/plugins/config/configservowidget.cpp
@@ -42,6 +42,9 @@ ConfigServoWidget::ConfigServoWidget(QWidget *parent) : ConfigTaskWidget(parent)
// First of all, put all the channel widgets into lists, so that we can
// manipulate those:
+
+ // NOTE: for historical reasons, we have objects below called ch0 to ch7, but the
+ // convention for OP is Channel 1 to Channel 8.
outLabels << m_config->ch0OutValue
<< m_config->ch1OutValue
<< m_config->ch2OutValue
@@ -163,7 +166,7 @@ ConfigServoWidget::ConfigServoWidget(QWidget *parent) : ConfigTaskWidget(parent)
m_config->ch1Output->addItem(field->getName());
m_config->ch2Output->addItem(field->getName());
m_config->ch3Output->addItem(field->getName());
- m_config->ch4Output->addItem(field->getName());
+ m_config->ch4Output->addItem(field->getName());
m_config->ch5Output->addItem(field->getName());
m_config->ch6Output->addItem(field->getName());
m_config->ch7Output->addItem(field->getName());
@@ -303,7 +306,7 @@ void ConfigServoWidget::requestRCOutputUpdate()
QList fieldList = obj->getFields();
foreach (UAVObjectField* field, fieldList) {
if (field->getUnits().contains("channel")) {
- assignOutputChannel(obj,field,field->getName());
+ assignOutputChannel(obj,field->getName());
}
}
@@ -590,7 +593,7 @@ void ConfigServoWidget::requestRCInputUpdate()
QList fieldList = obj->getFields();
foreach (UAVObjectField* field, fieldList) {
if (field->getUnits().contains("channel")) {
- assignChannel(obj, field, field->getName());
+ assignChannel(obj, field->getName());
}
}
@@ -765,9 +768,9 @@ void ConfigServoWidget::saveRCInputObject()
/**
* Set the dropdown option for a channel Input assignement
*/
-void ConfigServoWidget::assignChannel(UAVDataObject *obj, UAVObjectField *field, QString str)
+void ConfigServoWidget::assignChannel(UAVDataObject *obj, QString str)
{
- field = obj->getField(str);
+ UAVObjectField* field = obj->getField(str);
QStringList options = field->getOptions();
switch (options.indexOf(field->getValue().toString())) {
case 0:
@@ -800,9 +803,9 @@ void ConfigServoWidget::assignChannel(UAVDataObject *obj, UAVObjectField *field,
/**
* Set the dropdown option for a channel output assignement
*/
-void ConfigServoWidget::assignOutputChannel(UAVDataObject *obj, UAVObjectField *field, QString str)
+void ConfigServoWidget::assignOutputChannel(UAVDataObject *obj, QString str)
{
- field = obj->getField(str);
+ UAVObjectField* field = obj->getField(str);
QStringList options = field->getOptions();
switch (options.indexOf(field->getValue().toString())) {
case 0:
diff --git a/ground/src/plugins/config/configservowidget.h b/ground/src/plugins/config/configservowidget.h
index 7f8be7b08..095df6cf9 100644
--- a/ground/src/plugins/config/configservowidget.h
+++ b/ground/src/plugins/config/configservowidget.h
@@ -50,8 +50,8 @@ private:
Ui_SettingsWidget *m_config;
QList sliders;
void updateChannelSlider(QSlider* slider, QLabel* min, QLabel* Max, QCheckBox* rev, int value);
- void assignChannel(UAVDataObject *obj, UAVObjectField *field, QString str);
- void assignOutputChannel(UAVDataObject *obj, UAVObjectField *field, QString str);
+ void assignChannel(UAVDataObject *obj, QString str);
+ void assignOutputChannel(UAVDataObject *obj, QString str);
int mccDataRate;
UAVObject::Metadata accInitialData;
QList outSliders;
diff --git a/ground/src/plugins/config/settingswidget.ui b/ground/src/plugins/config/settingswidget.ui
index 50dc0410e..4982bc228 100644
--- a/ground/src/plugins/config/settingswidget.ui
+++ b/ground/src/plugins/config/settingswidget.ui
@@ -1125,7 +1125,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 0
+ Channel 1
@@ -1138,7 +1138,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 1
+ Channel 2
@@ -1151,7 +1151,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 2
+ Channel 3
@@ -1164,7 +1164,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 3
+ Channel 4
@@ -1177,7 +1177,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 4
+ Channel 5
@@ -1190,7 +1190,7 @@ Neutral should be put at the bottom of the slider for the throttle.
- Channel 5
+ Channel 6
@@ -1325,7 +1325,7 @@ p, li { white-space: pre-wrap; }
- Channel 6
+ Channel 7
@@ -1338,7 +1338,7 @@ p, li { white-space: pre-wrap; }
- Channel 7
+ Channel 8
diff --git a/ground/src/plugins/uavobjects/OPLogConvert.m b/ground/src/plugins/uavobjects/OPLogConvert.m
index aeedb7eaf..10f35b545 100644
--- a/ground/src/plugins/uavobjects/OPLogConvert.m
+++ b/ground/src/plugins/uavobjects/OPLogConvert.m
@@ -245,8 +245,6 @@ function [] = OPLogConvert()
MixerSettings(1).DecelTime = 0;
MixerSettings(1).ThrottleCurve1 = zeros(1,5);
MixerSettings(1).ThrottleCurve2 = zeros(1,5);
- MixerSettings(1).Mixer0Type = 0;
- MixerSettings(1).Mixer0Vector = zeros(1,5);
MixerSettings(1).Mixer1Type = 0;
MixerSettings(1).Mixer1Vector = zeros(1,5);
MixerSettings(1).Mixer2Type = 0;
@@ -261,10 +259,11 @@ function [] = OPLogConvert()
MixerSettings(1).Mixer6Vector = zeros(1,5);
MixerSettings(1).Mixer7Type = 0;
MixerSettings(1).Mixer7Vector = zeros(1,5);
+ MixerSettings(1).Mixer8Type = 0;
+ MixerSettings(1).Mixer8Vector = zeros(1,5);
mixerstatusIdx = 1;
MixerStatus.timestamp = 0;
- MixerStatus(1).Mixer0 = 0;
MixerStatus(1).Mixer1 = 0;
MixerStatus(1).Mixer2 = 0;
MixerStatus(1).Mixer3 = 0;
@@ -272,6 +271,7 @@ function [] = OPLogConvert()
MixerStatus(1).Mixer5 = 0;
MixerStatus(1).Mixer6 = 0;
MixerStatus(1).Mixer7 = 0;
+ MixerStatus(1).Mixer8 = 0;
objectpersistenceIdx = 1;
ObjectPersistence.timestamp = 0;
@@ -465,10 +465,10 @@ function [] = OPLogConvert()
case 157988682
ManualControlSettings(manualcontrolsettingsIdx) = ReadManualControlSettingsObject(fid, timestamp);
manualcontrolsettingsIdx = manualcontrolsettingsIdx + 1;
- case 1945801048
+ case 1336817486
MixerSettings(mixersettingsIdx) = ReadMixerSettingsObject(fid, timestamp);
mixersettingsIdx = mixersettingsIdx + 1;
- case 2468388390
+ case 4137893648
MixerStatus(mixerstatusIdx) = ReadMixerStatusObject(fid, timestamp);
mixerstatusIdx = mixerstatusIdx + 1;
case 572614706
@@ -990,8 +990,6 @@ function [MixerSettings] = ReadMixerSettingsObject(fid, timestamp)
MixerSettings.DecelTime = double(fread(fid, 1, 'float32'));
MixerSettings.ThrottleCurve1 = double(fread(fid, 5, 'float32'));
MixerSettings.ThrottleCurve2 = double(fread(fid, 5, 'float32'));
- MixerSettings.Mixer0Type = double(fread(fid, 1, 'uint8'));
- MixerSettings.Mixer0Vector = double(fread(fid, 5, 'int8'));
MixerSettings.Mixer1Type = double(fread(fid, 1, 'uint8'));
MixerSettings.Mixer1Vector = double(fread(fid, 5, 'int8'));
MixerSettings.Mixer2Type = double(fread(fid, 1, 'uint8'));
@@ -1006,6 +1004,8 @@ function [MixerSettings] = ReadMixerSettingsObject(fid, timestamp)
MixerSettings.Mixer6Vector = double(fread(fid, 5, 'int8'));
MixerSettings.Mixer7Type = double(fread(fid, 1, 'uint8'));
MixerSettings.Mixer7Vector = double(fread(fid, 5, 'int8'));
+ MixerSettings.Mixer8Type = double(fread(fid, 1, 'uint8'));
+ MixerSettings.Mixer8Vector = double(fread(fid, 5, 'int8'));
% read CRC
fread(fid, 1, 'uint8');
end
@@ -1019,7 +1019,6 @@ function [MixerStatus] = ReadMixerStatusObject(fid, timestamp)
end
MixerStatus.timestamp = timestamp;
- MixerStatus.Mixer0 = double(fread(fid, 1, 'float32'));
MixerStatus.Mixer1 = double(fread(fid, 1, 'float32'));
MixerStatus.Mixer2 = double(fread(fid, 1, 'float32'));
MixerStatus.Mixer3 = double(fread(fid, 1, 'float32'));
@@ -1027,6 +1026,7 @@ function [MixerStatus] = ReadMixerStatusObject(fid, timestamp)
MixerStatus.Mixer5 = double(fread(fid, 1, 'float32'));
MixerStatus.Mixer6 = double(fread(fid, 1, 'float32'));
MixerStatus.Mixer7 = double(fread(fid, 1, 'float32'));
+ MixerStatus.Mixer8 = double(fread(fid, 1, 'float32'));
% read CRC
fread(fid, 1, 'uint8');
end
diff --git a/ground/src/plugins/uavobjects/actuatorsettings.cpp b/ground/src/plugins/uavobjects/actuatorsettings.cpp
index b595bb631..e18579d0f 100644
--- a/ground/src/plugins/uavobjects/actuatorsettings.cpp
+++ b/ground/src/plugins/uavobjects/actuatorsettings.cpp
@@ -45,7 +45,6 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
QStringList FixedWingRoll1ElemNames;
FixedWingRoll1ElemNames.append("0");
QStringList FixedWingRoll1EnumOptions;
- FixedWingRoll1EnumOptions.append("Channel0");
FixedWingRoll1EnumOptions.append("Channel1");
FixedWingRoll1EnumOptions.append("Channel2");
FixedWingRoll1EnumOptions.append("Channel3");
@@ -53,12 +52,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingRoll1EnumOptions.append("Channel5");
FixedWingRoll1EnumOptions.append("Channel6");
FixedWingRoll1EnumOptions.append("Channel7");
+ FixedWingRoll1EnumOptions.append("Channel8");
FixedWingRoll1EnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingRoll1"), QString("channel"), UAVObjectField::ENUM, FixedWingRoll1ElemNames, FixedWingRoll1EnumOptions) );
QStringList FixedWingRoll2ElemNames;
FixedWingRoll2ElemNames.append("0");
QStringList FixedWingRoll2EnumOptions;
- FixedWingRoll2EnumOptions.append("Channel0");
FixedWingRoll2EnumOptions.append("Channel1");
FixedWingRoll2EnumOptions.append("Channel2");
FixedWingRoll2EnumOptions.append("Channel3");
@@ -66,12 +65,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingRoll2EnumOptions.append("Channel5");
FixedWingRoll2EnumOptions.append("Channel6");
FixedWingRoll2EnumOptions.append("Channel7");
+ FixedWingRoll2EnumOptions.append("Channel8");
FixedWingRoll2EnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingRoll2"), QString("channel"), UAVObjectField::ENUM, FixedWingRoll2ElemNames, FixedWingRoll2EnumOptions) );
QStringList FixedWingPitch1ElemNames;
FixedWingPitch1ElemNames.append("0");
QStringList FixedWingPitch1EnumOptions;
- FixedWingPitch1EnumOptions.append("Channel0");
FixedWingPitch1EnumOptions.append("Channel1");
FixedWingPitch1EnumOptions.append("Channel2");
FixedWingPitch1EnumOptions.append("Channel3");
@@ -79,12 +78,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingPitch1EnumOptions.append("Channel5");
FixedWingPitch1EnumOptions.append("Channel6");
FixedWingPitch1EnumOptions.append("Channel7");
+ FixedWingPitch1EnumOptions.append("Channel8");
FixedWingPitch1EnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingPitch1"), QString("channel"), UAVObjectField::ENUM, FixedWingPitch1ElemNames, FixedWingPitch1EnumOptions) );
QStringList FixedWingPitch2ElemNames;
FixedWingPitch2ElemNames.append("0");
QStringList FixedWingPitch2EnumOptions;
- FixedWingPitch2EnumOptions.append("Channel0");
FixedWingPitch2EnumOptions.append("Channel1");
FixedWingPitch2EnumOptions.append("Channel2");
FixedWingPitch2EnumOptions.append("Channel3");
@@ -92,12 +91,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingPitch2EnumOptions.append("Channel5");
FixedWingPitch2EnumOptions.append("Channel6");
FixedWingPitch2EnumOptions.append("Channel7");
+ FixedWingPitch2EnumOptions.append("Channel8");
FixedWingPitch2EnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingPitch2"), QString("channel"), UAVObjectField::ENUM, FixedWingPitch2ElemNames, FixedWingPitch2EnumOptions) );
QStringList FixedWingYawElemNames;
FixedWingYawElemNames.append("0");
QStringList FixedWingYawEnumOptions;
- FixedWingYawEnumOptions.append("Channel0");
FixedWingYawEnumOptions.append("Channel1");
FixedWingYawEnumOptions.append("Channel2");
FixedWingYawEnumOptions.append("Channel3");
@@ -105,12 +104,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingYawEnumOptions.append("Channel5");
FixedWingYawEnumOptions.append("Channel6");
FixedWingYawEnumOptions.append("Channel7");
+ FixedWingYawEnumOptions.append("Channel8");
FixedWingYawEnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingYaw"), QString("channel"), UAVObjectField::ENUM, FixedWingYawElemNames, FixedWingYawEnumOptions) );
QStringList FixedWingThrottleElemNames;
FixedWingThrottleElemNames.append("0");
QStringList FixedWingThrottleEnumOptions;
- FixedWingThrottleEnumOptions.append("Channel0");
FixedWingThrottleEnumOptions.append("Channel1");
FixedWingThrottleEnumOptions.append("Channel2");
FixedWingThrottleEnumOptions.append("Channel3");
@@ -118,12 +117,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
FixedWingThrottleEnumOptions.append("Channel5");
FixedWingThrottleEnumOptions.append("Channel6");
FixedWingThrottleEnumOptions.append("Channel7");
+ FixedWingThrottleEnumOptions.append("Channel8");
FixedWingThrottleEnumOptions.append("None");
fields.append( new UAVObjectField(QString("FixedWingThrottle"), QString("channel"), UAVObjectField::ENUM, FixedWingThrottleElemNames, FixedWingThrottleEnumOptions) );
QStringList VTOLMotorNElemNames;
VTOLMotorNElemNames.append("0");
QStringList VTOLMotorNEnumOptions;
- VTOLMotorNEnumOptions.append("Channel0");
VTOLMotorNEnumOptions.append("Channel1");
VTOLMotorNEnumOptions.append("Channel2");
VTOLMotorNEnumOptions.append("Channel3");
@@ -131,12 +130,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorNEnumOptions.append("Channel5");
VTOLMotorNEnumOptions.append("Channel6");
VTOLMotorNEnumOptions.append("Channel7");
+ VTOLMotorNEnumOptions.append("Channel8");
VTOLMotorNEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorN"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNElemNames, VTOLMotorNEnumOptions) );
QStringList VTOLMotorNEElemNames;
VTOLMotorNEElemNames.append("0");
QStringList VTOLMotorNEEnumOptions;
- VTOLMotorNEEnumOptions.append("Channel0");
VTOLMotorNEEnumOptions.append("Channel1");
VTOLMotorNEEnumOptions.append("Channel2");
VTOLMotorNEEnumOptions.append("Channel3");
@@ -144,12 +143,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorNEEnumOptions.append("Channel5");
VTOLMotorNEEnumOptions.append("Channel6");
VTOLMotorNEEnumOptions.append("Channel7");
+ VTOLMotorNEEnumOptions.append("Channel8");
VTOLMotorNEEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorNE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNEElemNames, VTOLMotorNEEnumOptions) );
QStringList VTOLMotorEElemNames;
VTOLMotorEElemNames.append("0");
QStringList VTOLMotorEEnumOptions;
- VTOLMotorEEnumOptions.append("Channel0");
VTOLMotorEEnumOptions.append("Channel1");
VTOLMotorEEnumOptions.append("Channel2");
VTOLMotorEEnumOptions.append("Channel3");
@@ -157,12 +156,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorEEnumOptions.append("Channel5");
VTOLMotorEEnumOptions.append("Channel6");
VTOLMotorEEnumOptions.append("Channel7");
+ VTOLMotorEEnumOptions.append("Channel8");
VTOLMotorEEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorEElemNames, VTOLMotorEEnumOptions) );
QStringList VTOLMotorSEElemNames;
VTOLMotorSEElemNames.append("0");
QStringList VTOLMotorSEEnumOptions;
- VTOLMotorSEEnumOptions.append("Channel0");
VTOLMotorSEEnumOptions.append("Channel1");
VTOLMotorSEEnumOptions.append("Channel2");
VTOLMotorSEEnumOptions.append("Channel3");
@@ -170,12 +169,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorSEEnumOptions.append("Channel5");
VTOLMotorSEEnumOptions.append("Channel6");
VTOLMotorSEEnumOptions.append("Channel7");
+ VTOLMotorSEEnumOptions.append("Channel8");
VTOLMotorSEEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorSE"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSEElemNames, VTOLMotorSEEnumOptions) );
QStringList VTOLMotorSElemNames;
VTOLMotorSElemNames.append("0");
QStringList VTOLMotorSEnumOptions;
- VTOLMotorSEnumOptions.append("Channel0");
VTOLMotorSEnumOptions.append("Channel1");
VTOLMotorSEnumOptions.append("Channel2");
VTOLMotorSEnumOptions.append("Channel3");
@@ -183,12 +182,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorSEnumOptions.append("Channel5");
VTOLMotorSEnumOptions.append("Channel6");
VTOLMotorSEnumOptions.append("Channel7");
+ VTOLMotorSEnumOptions.append("Channel8");
VTOLMotorSEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorS"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSElemNames, VTOLMotorSEnumOptions) );
QStringList VTOLMotorSWElemNames;
VTOLMotorSWElemNames.append("0");
QStringList VTOLMotorSWEnumOptions;
- VTOLMotorSWEnumOptions.append("Channel0");
VTOLMotorSWEnumOptions.append("Channel1");
VTOLMotorSWEnumOptions.append("Channel2");
VTOLMotorSWEnumOptions.append("Channel3");
@@ -196,12 +195,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorSWEnumOptions.append("Channel5");
VTOLMotorSWEnumOptions.append("Channel6");
VTOLMotorSWEnumOptions.append("Channel7");
+ VTOLMotorSWEnumOptions.append("Channel8");
VTOLMotorSWEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorSW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorSWElemNames, VTOLMotorSWEnumOptions) );
QStringList VTOLMotorWElemNames;
VTOLMotorWElemNames.append("0");
QStringList VTOLMotorWEnumOptions;
- VTOLMotorWEnumOptions.append("Channel0");
VTOLMotorWEnumOptions.append("Channel1");
VTOLMotorWEnumOptions.append("Channel2");
VTOLMotorWEnumOptions.append("Channel3");
@@ -209,12 +208,12 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorWEnumOptions.append("Channel5");
VTOLMotorWEnumOptions.append("Channel6");
VTOLMotorWEnumOptions.append("Channel7");
+ VTOLMotorWEnumOptions.append("Channel8");
VTOLMotorWEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorWElemNames, VTOLMotorWEnumOptions) );
QStringList VTOLMotorNWElemNames;
VTOLMotorNWElemNames.append("0");
QStringList VTOLMotorNWEnumOptions;
- VTOLMotorNWEnumOptions.append("Channel0");
VTOLMotorNWEnumOptions.append("Channel1");
VTOLMotorNWEnumOptions.append("Channel2");
VTOLMotorNWEnumOptions.append("Channel3");
@@ -222,6 +221,7 @@ ActuatorSettings::ActuatorSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTI
VTOLMotorNWEnumOptions.append("Channel5");
VTOLMotorNWEnumOptions.append("Channel6");
VTOLMotorNWEnumOptions.append("Channel7");
+ VTOLMotorNWEnumOptions.append("Channel8");
VTOLMotorNWEnumOptions.append("None");
fields.append( new UAVObjectField(QString("VTOLMotorNW"), QString("channel"), UAVObjectField::ENUM, VTOLMotorNWElemNames, VTOLMotorNWEnumOptions) );
QStringList ChannelUpdateFreqElemNames;
diff --git a/ground/src/plugins/uavobjects/actuatorsettings.h b/ground/src/plugins/uavobjects/actuatorsettings.h
index d307d27ab..2e3dd56d3 100644
--- a/ground/src/plugins/uavobjects/actuatorsettings.h
+++ b/ground/src/plugins/uavobjects/actuatorsettings.h
@@ -67,46 +67,46 @@ public:
// Field information
// Field FixedWingRoll1 information
/* Enumeration options for field FixedWingRoll1 */
- typedef enum { FIXEDWINGROLL1_CHANNEL0=0, FIXEDWINGROLL1_CHANNEL1=1, FIXEDWINGROLL1_CHANNEL2=2, FIXEDWINGROLL1_CHANNEL3=3, FIXEDWINGROLL1_CHANNEL4=4, FIXEDWINGROLL1_CHANNEL5=5, FIXEDWINGROLL1_CHANNEL6=6, FIXEDWINGROLL1_CHANNEL7=7, FIXEDWINGROLL1_NONE=8 } FixedWingRoll1Options;
+ typedef enum { FIXEDWINGROLL1_CHANNEL1=0, FIXEDWINGROLL1_CHANNEL2=1, FIXEDWINGROLL1_CHANNEL3=2, FIXEDWINGROLL1_CHANNEL4=3, FIXEDWINGROLL1_CHANNEL5=4, FIXEDWINGROLL1_CHANNEL6=5, FIXEDWINGROLL1_CHANNEL7=6, FIXEDWINGROLL1_CHANNEL8=7, FIXEDWINGROLL1_NONE=8 } FixedWingRoll1Options;
// Field FixedWingRoll2 information
/* Enumeration options for field FixedWingRoll2 */
- typedef enum { FIXEDWINGROLL2_CHANNEL0=0, FIXEDWINGROLL2_CHANNEL1=1, FIXEDWINGROLL2_CHANNEL2=2, FIXEDWINGROLL2_CHANNEL3=3, FIXEDWINGROLL2_CHANNEL4=4, FIXEDWINGROLL2_CHANNEL5=5, FIXEDWINGROLL2_CHANNEL6=6, FIXEDWINGROLL2_CHANNEL7=7, FIXEDWINGROLL2_NONE=8 } FixedWingRoll2Options;
+ typedef enum { FIXEDWINGROLL2_CHANNEL1=0, FIXEDWINGROLL2_CHANNEL2=1, FIXEDWINGROLL2_CHANNEL3=2, FIXEDWINGROLL2_CHANNEL4=3, FIXEDWINGROLL2_CHANNEL5=4, FIXEDWINGROLL2_CHANNEL6=5, FIXEDWINGROLL2_CHANNEL7=6, FIXEDWINGROLL2_CHANNEL8=7, FIXEDWINGROLL2_NONE=8 } FixedWingRoll2Options;
// Field FixedWingPitch1 information
/* Enumeration options for field FixedWingPitch1 */
- typedef enum { FIXEDWINGPITCH1_CHANNEL0=0, FIXEDWINGPITCH1_CHANNEL1=1, FIXEDWINGPITCH1_CHANNEL2=2, FIXEDWINGPITCH1_CHANNEL3=3, FIXEDWINGPITCH1_CHANNEL4=4, FIXEDWINGPITCH1_CHANNEL5=5, FIXEDWINGPITCH1_CHANNEL6=6, FIXEDWINGPITCH1_CHANNEL7=7, FIXEDWINGPITCH1_NONE=8 } FixedWingPitch1Options;
+ typedef enum { FIXEDWINGPITCH1_CHANNEL1=0, FIXEDWINGPITCH1_CHANNEL2=1, FIXEDWINGPITCH1_CHANNEL3=2, FIXEDWINGPITCH1_CHANNEL4=3, FIXEDWINGPITCH1_CHANNEL5=4, FIXEDWINGPITCH1_CHANNEL6=5, FIXEDWINGPITCH1_CHANNEL7=6, FIXEDWINGPITCH1_CHANNEL8=7, FIXEDWINGPITCH1_NONE=8 } FixedWingPitch1Options;
// Field FixedWingPitch2 information
/* Enumeration options for field FixedWingPitch2 */
- typedef enum { FIXEDWINGPITCH2_CHANNEL0=0, FIXEDWINGPITCH2_CHANNEL1=1, FIXEDWINGPITCH2_CHANNEL2=2, FIXEDWINGPITCH2_CHANNEL3=3, FIXEDWINGPITCH2_CHANNEL4=4, FIXEDWINGPITCH2_CHANNEL5=5, FIXEDWINGPITCH2_CHANNEL6=6, FIXEDWINGPITCH2_CHANNEL7=7, FIXEDWINGPITCH2_NONE=8 } FixedWingPitch2Options;
+ typedef enum { FIXEDWINGPITCH2_CHANNEL1=0, FIXEDWINGPITCH2_CHANNEL2=1, FIXEDWINGPITCH2_CHANNEL3=2, FIXEDWINGPITCH2_CHANNEL4=3, FIXEDWINGPITCH2_CHANNEL5=4, FIXEDWINGPITCH2_CHANNEL6=5, FIXEDWINGPITCH2_CHANNEL7=6, FIXEDWINGPITCH2_CHANNEL8=7, FIXEDWINGPITCH2_NONE=8 } FixedWingPitch2Options;
// Field FixedWingYaw information
/* Enumeration options for field FixedWingYaw */
- typedef enum { FIXEDWINGYAW_CHANNEL0=0, FIXEDWINGYAW_CHANNEL1=1, FIXEDWINGYAW_CHANNEL2=2, FIXEDWINGYAW_CHANNEL3=3, FIXEDWINGYAW_CHANNEL4=4, FIXEDWINGYAW_CHANNEL5=5, FIXEDWINGYAW_CHANNEL6=6, FIXEDWINGYAW_CHANNEL7=7, FIXEDWINGYAW_NONE=8 } FixedWingYawOptions;
+ typedef enum { FIXEDWINGYAW_CHANNEL1=0, FIXEDWINGYAW_CHANNEL2=1, FIXEDWINGYAW_CHANNEL3=2, FIXEDWINGYAW_CHANNEL4=3, FIXEDWINGYAW_CHANNEL5=4, FIXEDWINGYAW_CHANNEL6=5, FIXEDWINGYAW_CHANNEL7=6, FIXEDWINGYAW_CHANNEL8=7, FIXEDWINGYAW_NONE=8 } FixedWingYawOptions;
// Field FixedWingThrottle information
/* Enumeration options for field FixedWingThrottle */
- typedef enum { FIXEDWINGTHROTTLE_CHANNEL0=0, FIXEDWINGTHROTTLE_CHANNEL1=1, FIXEDWINGTHROTTLE_CHANNEL2=2, FIXEDWINGTHROTTLE_CHANNEL3=3, FIXEDWINGTHROTTLE_CHANNEL4=4, FIXEDWINGTHROTTLE_CHANNEL5=5, FIXEDWINGTHROTTLE_CHANNEL6=6, FIXEDWINGTHROTTLE_CHANNEL7=7, FIXEDWINGTHROTTLE_NONE=8 } FixedWingThrottleOptions;
+ typedef enum { FIXEDWINGTHROTTLE_CHANNEL1=0, FIXEDWINGTHROTTLE_CHANNEL2=1, FIXEDWINGTHROTTLE_CHANNEL3=2, FIXEDWINGTHROTTLE_CHANNEL4=3, FIXEDWINGTHROTTLE_CHANNEL5=4, FIXEDWINGTHROTTLE_CHANNEL6=5, FIXEDWINGTHROTTLE_CHANNEL7=6, FIXEDWINGTHROTTLE_CHANNEL8=7, FIXEDWINGTHROTTLE_NONE=8 } FixedWingThrottleOptions;
// Field VTOLMotorN information
/* Enumeration options for field VTOLMotorN */
- typedef enum { VTOLMOTORN_CHANNEL0=0, VTOLMOTORN_CHANNEL1=1, VTOLMOTORN_CHANNEL2=2, VTOLMOTORN_CHANNEL3=3, VTOLMOTORN_CHANNEL4=4, VTOLMOTORN_CHANNEL5=5, VTOLMOTORN_CHANNEL6=6, VTOLMOTORN_CHANNEL7=7, VTOLMOTORN_NONE=8 } VTOLMotorNOptions;
+ typedef enum { VTOLMOTORN_CHANNEL1=0, VTOLMOTORN_CHANNEL2=1, VTOLMOTORN_CHANNEL3=2, VTOLMOTORN_CHANNEL4=3, VTOLMOTORN_CHANNEL5=4, VTOLMOTORN_CHANNEL6=5, VTOLMOTORN_CHANNEL7=6, VTOLMOTORN_CHANNEL8=7, VTOLMOTORN_NONE=8 } VTOLMotorNOptions;
// Field VTOLMotorNE information
/* Enumeration options for field VTOLMotorNE */
- typedef enum { VTOLMOTORNE_CHANNEL0=0, VTOLMOTORNE_CHANNEL1=1, VTOLMOTORNE_CHANNEL2=2, VTOLMOTORNE_CHANNEL3=3, VTOLMOTORNE_CHANNEL4=4, VTOLMOTORNE_CHANNEL5=5, VTOLMOTORNE_CHANNEL6=6, VTOLMOTORNE_CHANNEL7=7, VTOLMOTORNE_NONE=8 } VTOLMotorNEOptions;
+ typedef enum { VTOLMOTORNE_CHANNEL1=0, VTOLMOTORNE_CHANNEL2=1, VTOLMOTORNE_CHANNEL3=2, VTOLMOTORNE_CHANNEL4=3, VTOLMOTORNE_CHANNEL5=4, VTOLMOTORNE_CHANNEL6=5, VTOLMOTORNE_CHANNEL7=6, VTOLMOTORNE_CHANNEL8=7, VTOLMOTORNE_NONE=8 } VTOLMotorNEOptions;
// Field VTOLMotorE information
/* Enumeration options for field VTOLMotorE */
- typedef enum { VTOLMOTORE_CHANNEL0=0, VTOLMOTORE_CHANNEL1=1, VTOLMOTORE_CHANNEL2=2, VTOLMOTORE_CHANNEL3=3, VTOLMOTORE_CHANNEL4=4, VTOLMOTORE_CHANNEL5=5, VTOLMOTORE_CHANNEL6=6, VTOLMOTORE_CHANNEL7=7, VTOLMOTORE_NONE=8 } VTOLMotorEOptions;
+ typedef enum { VTOLMOTORE_CHANNEL1=0, VTOLMOTORE_CHANNEL2=1, VTOLMOTORE_CHANNEL3=2, VTOLMOTORE_CHANNEL4=3, VTOLMOTORE_CHANNEL5=4, VTOLMOTORE_CHANNEL6=5, VTOLMOTORE_CHANNEL7=6, VTOLMOTORE_CHANNEL8=7, VTOLMOTORE_NONE=8 } VTOLMotorEOptions;
// Field VTOLMotorSE information
/* Enumeration options for field VTOLMotorSE */
- typedef enum { VTOLMOTORSE_CHANNEL0=0, VTOLMOTORSE_CHANNEL1=1, VTOLMOTORSE_CHANNEL2=2, VTOLMOTORSE_CHANNEL3=3, VTOLMOTORSE_CHANNEL4=4, VTOLMOTORSE_CHANNEL5=5, VTOLMOTORSE_CHANNEL6=6, VTOLMOTORSE_CHANNEL7=7, VTOLMOTORSE_NONE=8 } VTOLMotorSEOptions;
+ typedef enum { VTOLMOTORSE_CHANNEL1=0, VTOLMOTORSE_CHANNEL2=1, VTOLMOTORSE_CHANNEL3=2, VTOLMOTORSE_CHANNEL4=3, VTOLMOTORSE_CHANNEL5=4, VTOLMOTORSE_CHANNEL6=5, VTOLMOTORSE_CHANNEL7=6, VTOLMOTORSE_CHANNEL8=7, VTOLMOTORSE_NONE=8 } VTOLMotorSEOptions;
// Field VTOLMotorS information
/* Enumeration options for field VTOLMotorS */
- typedef enum { VTOLMOTORS_CHANNEL0=0, VTOLMOTORS_CHANNEL1=1, VTOLMOTORS_CHANNEL2=2, VTOLMOTORS_CHANNEL3=3, VTOLMOTORS_CHANNEL4=4, VTOLMOTORS_CHANNEL5=5, VTOLMOTORS_CHANNEL6=6, VTOLMOTORS_CHANNEL7=7, VTOLMOTORS_NONE=8 } VTOLMotorSOptions;
+ typedef enum { VTOLMOTORS_CHANNEL1=0, VTOLMOTORS_CHANNEL2=1, VTOLMOTORS_CHANNEL3=2, VTOLMOTORS_CHANNEL4=3, VTOLMOTORS_CHANNEL5=4, VTOLMOTORS_CHANNEL6=5, VTOLMOTORS_CHANNEL7=6, VTOLMOTORS_CHANNEL8=7, VTOLMOTORS_NONE=8 } VTOLMotorSOptions;
// Field VTOLMotorSW information
/* Enumeration options for field VTOLMotorSW */
- typedef enum { VTOLMOTORSW_CHANNEL0=0, VTOLMOTORSW_CHANNEL1=1, VTOLMOTORSW_CHANNEL2=2, VTOLMOTORSW_CHANNEL3=3, VTOLMOTORSW_CHANNEL4=4, VTOLMOTORSW_CHANNEL5=5, VTOLMOTORSW_CHANNEL6=6, VTOLMOTORSW_CHANNEL7=7, VTOLMOTORSW_NONE=8 } VTOLMotorSWOptions;
+ typedef enum { VTOLMOTORSW_CHANNEL1=0, VTOLMOTORSW_CHANNEL2=1, VTOLMOTORSW_CHANNEL3=2, VTOLMOTORSW_CHANNEL4=3, VTOLMOTORSW_CHANNEL5=4, VTOLMOTORSW_CHANNEL6=5, VTOLMOTORSW_CHANNEL7=6, VTOLMOTORSW_CHANNEL8=7, VTOLMOTORSW_NONE=8 } VTOLMotorSWOptions;
// Field VTOLMotorW information
/* Enumeration options for field VTOLMotorW */
- typedef enum { VTOLMOTORW_CHANNEL0=0, VTOLMOTORW_CHANNEL1=1, VTOLMOTORW_CHANNEL2=2, VTOLMOTORW_CHANNEL3=3, VTOLMOTORW_CHANNEL4=4, VTOLMOTORW_CHANNEL5=5, VTOLMOTORW_CHANNEL6=6, VTOLMOTORW_CHANNEL7=7, VTOLMOTORW_NONE=8 } VTOLMotorWOptions;
+ typedef enum { VTOLMOTORW_CHANNEL1=0, VTOLMOTORW_CHANNEL2=1, VTOLMOTORW_CHANNEL3=2, VTOLMOTORW_CHANNEL4=3, VTOLMOTORW_CHANNEL5=4, VTOLMOTORW_CHANNEL6=5, VTOLMOTORW_CHANNEL7=6, VTOLMOTORW_CHANNEL8=7, VTOLMOTORW_NONE=8 } VTOLMotorWOptions;
// Field VTOLMotorNW information
/* Enumeration options for field VTOLMotorNW */
- typedef enum { VTOLMOTORNW_CHANNEL0=0, VTOLMOTORNW_CHANNEL1=1, VTOLMOTORNW_CHANNEL2=2, VTOLMOTORNW_CHANNEL3=3, VTOLMOTORNW_CHANNEL4=4, VTOLMOTORNW_CHANNEL5=5, VTOLMOTORNW_CHANNEL6=6, VTOLMOTORNW_CHANNEL7=7, VTOLMOTORNW_NONE=8 } VTOLMotorNWOptions;
+ typedef enum { VTOLMOTORNW_CHANNEL1=0, VTOLMOTORNW_CHANNEL2=1, VTOLMOTORNW_CHANNEL3=2, VTOLMOTORNW_CHANNEL4=3, VTOLMOTORNW_CHANNEL5=4, VTOLMOTORNW_CHANNEL6=5, VTOLMOTORNW_CHANNEL7=6, VTOLMOTORNW_CHANNEL8=7, VTOLMOTORNW_NONE=8 } VTOLMotorNWOptions;
// Field ChannelUpdateFreq information
/* Number of elements for field ChannelUpdateFreq */
static const quint32 CHANNELUPDATEFREQ_NUMELEM = 2;
diff --git a/ground/src/plugins/uavobjects/actuatorsettings.py b/ground/src/plugins/uavobjects/actuatorsettings.py
index 3ec6cb061..0122913ea 100644
--- a/ground/src/plugins/uavobjects/actuatorsettings.py
+++ b/ground/src/plugins/uavobjects/actuatorsettings.py
@@ -45,14 +45,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -64,14 +64,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -83,14 +83,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -102,14 +102,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -121,14 +121,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -140,14 +140,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -159,14 +159,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -178,14 +178,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -197,14 +197,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -216,14 +216,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -235,14 +235,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -254,14 +254,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -273,14 +273,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -292,14 +292,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
diff --git a/ground/src/plugins/uavobjects/manualcontrolsettings.cpp b/ground/src/plugins/uavobjects/manualcontrolsettings.cpp
index 3d0aeb491..3b1613177 100644
--- a/ground/src/plugins/uavobjects/manualcontrolsettings.cpp
+++ b/ground/src/plugins/uavobjects/manualcontrolsettings.cpp
@@ -52,7 +52,6 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
QStringList RollElemNames;
RollElemNames.append("0");
QStringList RollEnumOptions;
- RollEnumOptions.append("Channel0");
RollEnumOptions.append("Channel1");
RollEnumOptions.append("Channel2");
RollEnumOptions.append("Channel3");
@@ -60,12 +59,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
RollEnumOptions.append("Channel5");
RollEnumOptions.append("Channel6");
RollEnumOptions.append("Channel7");
+ RollEnumOptions.append("Channel8");
RollEnumOptions.append("None");
fields.append( new UAVObjectField(QString("Roll"), QString("channel"), UAVObjectField::ENUM, RollElemNames, RollEnumOptions) );
QStringList PitchElemNames;
PitchElemNames.append("0");
QStringList PitchEnumOptions;
- PitchEnumOptions.append("Channel0");
PitchEnumOptions.append("Channel1");
PitchEnumOptions.append("Channel2");
PitchEnumOptions.append("Channel3");
@@ -73,12 +72,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
PitchEnumOptions.append("Channel5");
PitchEnumOptions.append("Channel6");
PitchEnumOptions.append("Channel7");
+ PitchEnumOptions.append("Channel8");
PitchEnumOptions.append("None");
fields.append( new UAVObjectField(QString("Pitch"), QString("channel"), UAVObjectField::ENUM, PitchElemNames, PitchEnumOptions) );
QStringList YawElemNames;
YawElemNames.append("0");
QStringList YawEnumOptions;
- YawEnumOptions.append("Channel0");
YawEnumOptions.append("Channel1");
YawEnumOptions.append("Channel2");
YawEnumOptions.append("Channel3");
@@ -86,12 +85,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
YawEnumOptions.append("Channel5");
YawEnumOptions.append("Channel6");
YawEnumOptions.append("Channel7");
+ YawEnumOptions.append("Channel8");
YawEnumOptions.append("None");
fields.append( new UAVObjectField(QString("Yaw"), QString("channel"), UAVObjectField::ENUM, YawElemNames, YawEnumOptions) );
QStringList ThrottleElemNames;
ThrottleElemNames.append("0");
QStringList ThrottleEnumOptions;
- ThrottleEnumOptions.append("Channel0");
ThrottleEnumOptions.append("Channel1");
ThrottleEnumOptions.append("Channel2");
ThrottleEnumOptions.append("Channel3");
@@ -99,12 +98,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
ThrottleEnumOptions.append("Channel5");
ThrottleEnumOptions.append("Channel6");
ThrottleEnumOptions.append("Channel7");
+ ThrottleEnumOptions.append("Channel8");
ThrottleEnumOptions.append("None");
fields.append( new UAVObjectField(QString("Throttle"), QString("channel"), UAVObjectField::ENUM, ThrottleElemNames, ThrottleEnumOptions) );
QStringList FlightModeElemNames;
FlightModeElemNames.append("0");
QStringList FlightModeEnumOptions;
- FlightModeEnumOptions.append("Channel0");
FlightModeEnumOptions.append("Channel1");
FlightModeEnumOptions.append("Channel2");
FlightModeEnumOptions.append("Channel3");
@@ -112,12 +111,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
FlightModeEnumOptions.append("Channel5");
FlightModeEnumOptions.append("Channel6");
FlightModeEnumOptions.append("Channel7");
+ FlightModeEnumOptions.append("Channel8");
FlightModeEnumOptions.append("None");
fields.append( new UAVObjectField(QString("FlightMode"), QString("channel"), UAVObjectField::ENUM, FlightModeElemNames, FlightModeEnumOptions) );
QStringList Accessory1ElemNames;
Accessory1ElemNames.append("0");
QStringList Accessory1EnumOptions;
- Accessory1EnumOptions.append("Channel0");
Accessory1EnumOptions.append("Channel1");
Accessory1EnumOptions.append("Channel2");
Accessory1EnumOptions.append("Channel3");
@@ -125,12 +124,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
Accessory1EnumOptions.append("Channel5");
Accessory1EnumOptions.append("Channel6");
Accessory1EnumOptions.append("Channel7");
+ Accessory1EnumOptions.append("Channel8");
Accessory1EnumOptions.append("None");
fields.append( new UAVObjectField(QString("Accessory1"), QString("channel"), UAVObjectField::ENUM, Accessory1ElemNames, Accessory1EnumOptions) );
QStringList Accessory2ElemNames;
Accessory2ElemNames.append("0");
QStringList Accessory2EnumOptions;
- Accessory2EnumOptions.append("Channel0");
Accessory2EnumOptions.append("Channel1");
Accessory2EnumOptions.append("Channel2");
Accessory2EnumOptions.append("Channel3");
@@ -138,12 +137,12 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
Accessory2EnumOptions.append("Channel5");
Accessory2EnumOptions.append("Channel6");
Accessory2EnumOptions.append("Channel7");
+ Accessory2EnumOptions.append("Channel8");
Accessory2EnumOptions.append("None");
fields.append( new UAVObjectField(QString("Accessory2"), QString("channel"), UAVObjectField::ENUM, Accessory2ElemNames, Accessory2EnumOptions) );
QStringList Accessory3ElemNames;
Accessory3ElemNames.append("0");
QStringList Accessory3EnumOptions;
- Accessory3EnumOptions.append("Channel0");
Accessory3EnumOptions.append("Channel1");
Accessory3EnumOptions.append("Channel2");
Accessory3EnumOptions.append("Channel3");
@@ -151,6 +150,7 @@ ManualControlSettings::ManualControlSettings(): UAVDataObject(OBJID, ISSINGLEINS
Accessory3EnumOptions.append("Channel5");
Accessory3EnumOptions.append("Channel6");
Accessory3EnumOptions.append("Channel7");
+ Accessory3EnumOptions.append("Channel8");
Accessory3EnumOptions.append("None");
fields.append( new UAVObjectField(QString("Accessory3"), QString("channel"), UAVObjectField::ENUM, Accessory3ElemNames, Accessory3EnumOptions) );
QStringList Pos1StabilizationSettingsElemNames;
diff --git a/ground/src/plugins/uavobjects/manualcontrolsettings.h b/ground/src/plugins/uavobjects/manualcontrolsettings.h
index 174e3e12f..99f6788af 100644
--- a/ground/src/plugins/uavobjects/manualcontrolsettings.h
+++ b/ground/src/plugins/uavobjects/manualcontrolsettings.h
@@ -71,28 +71,28 @@ public:
typedef enum { INPUTMODE_PWM=0, INPUTMODE_PPM=1, INPUTMODE_SPEKTRUM=2 } InputModeOptions;
// Field Roll information
/* Enumeration options for field Roll */
- typedef enum { ROLL_CHANNEL0=0, ROLL_CHANNEL1=1, ROLL_CHANNEL2=2, ROLL_CHANNEL3=3, ROLL_CHANNEL4=4, ROLL_CHANNEL5=5, ROLL_CHANNEL6=6, ROLL_CHANNEL7=7, ROLL_NONE=8 } RollOptions;
+ typedef enum { ROLL_CHANNEL1=0, ROLL_CHANNEL2=1, ROLL_CHANNEL3=2, ROLL_CHANNEL4=3, ROLL_CHANNEL5=4, ROLL_CHANNEL6=5, ROLL_CHANNEL7=6, ROLL_CHANNEL8=7, ROLL_NONE=8 } RollOptions;
// Field Pitch information
/* Enumeration options for field Pitch */
- typedef enum { PITCH_CHANNEL0=0, PITCH_CHANNEL1=1, PITCH_CHANNEL2=2, PITCH_CHANNEL3=3, PITCH_CHANNEL4=4, PITCH_CHANNEL5=5, PITCH_CHANNEL6=6, PITCH_CHANNEL7=7, PITCH_NONE=8 } PitchOptions;
+ typedef enum { PITCH_CHANNEL1=0, PITCH_CHANNEL2=1, PITCH_CHANNEL3=2, PITCH_CHANNEL4=3, PITCH_CHANNEL5=4, PITCH_CHANNEL6=5, PITCH_CHANNEL7=6, PITCH_CHANNEL8=7, PITCH_NONE=8 } PitchOptions;
// Field Yaw information
/* Enumeration options for field Yaw */
- typedef enum { YAW_CHANNEL0=0, YAW_CHANNEL1=1, YAW_CHANNEL2=2, YAW_CHANNEL3=3, YAW_CHANNEL4=4, YAW_CHANNEL5=5, YAW_CHANNEL6=6, YAW_CHANNEL7=7, YAW_NONE=8 } YawOptions;
+ typedef enum { YAW_CHANNEL1=0, YAW_CHANNEL2=1, YAW_CHANNEL3=2, YAW_CHANNEL4=3, YAW_CHANNEL5=4, YAW_CHANNEL6=5, YAW_CHANNEL7=6, YAW_CHANNEL8=7, YAW_NONE=8 } YawOptions;
// Field Throttle information
/* Enumeration options for field Throttle */
- typedef enum { THROTTLE_CHANNEL0=0, THROTTLE_CHANNEL1=1, THROTTLE_CHANNEL2=2, THROTTLE_CHANNEL3=3, THROTTLE_CHANNEL4=4, THROTTLE_CHANNEL5=5, THROTTLE_CHANNEL6=6, THROTTLE_CHANNEL7=7, THROTTLE_NONE=8 } ThrottleOptions;
+ typedef enum { THROTTLE_CHANNEL1=0, THROTTLE_CHANNEL2=1, THROTTLE_CHANNEL3=2, THROTTLE_CHANNEL4=3, THROTTLE_CHANNEL5=4, THROTTLE_CHANNEL6=5, THROTTLE_CHANNEL7=6, THROTTLE_CHANNEL8=7, THROTTLE_NONE=8 } ThrottleOptions;
// Field FlightMode information
/* Enumeration options for field FlightMode */
- typedef enum { FLIGHTMODE_CHANNEL0=0, FLIGHTMODE_CHANNEL1=1, FLIGHTMODE_CHANNEL2=2, FLIGHTMODE_CHANNEL3=3, FLIGHTMODE_CHANNEL4=4, FLIGHTMODE_CHANNEL5=5, FLIGHTMODE_CHANNEL6=6, FLIGHTMODE_CHANNEL7=7, FLIGHTMODE_NONE=8 } FlightModeOptions;
+ typedef enum { FLIGHTMODE_CHANNEL1=0, FLIGHTMODE_CHANNEL2=1, FLIGHTMODE_CHANNEL3=2, FLIGHTMODE_CHANNEL4=3, FLIGHTMODE_CHANNEL5=4, FLIGHTMODE_CHANNEL6=5, FLIGHTMODE_CHANNEL7=6, FLIGHTMODE_CHANNEL8=7, FLIGHTMODE_NONE=8 } FlightModeOptions;
// Field Accessory1 information
/* Enumeration options for field Accessory1 */
- typedef enum { ACCESSORY1_CHANNEL0=0, ACCESSORY1_CHANNEL1=1, ACCESSORY1_CHANNEL2=2, ACCESSORY1_CHANNEL3=3, ACCESSORY1_CHANNEL4=4, ACCESSORY1_CHANNEL5=5, ACCESSORY1_CHANNEL6=6, ACCESSORY1_CHANNEL7=7, ACCESSORY1_NONE=8 } Accessory1Options;
+ typedef enum { ACCESSORY1_CHANNEL1=0, ACCESSORY1_CHANNEL2=1, ACCESSORY1_CHANNEL3=2, ACCESSORY1_CHANNEL4=3, ACCESSORY1_CHANNEL5=4, ACCESSORY1_CHANNEL6=5, ACCESSORY1_CHANNEL7=6, ACCESSORY1_CHANNEL8=7, ACCESSORY1_NONE=8 } Accessory1Options;
// Field Accessory2 information
/* Enumeration options for field Accessory2 */
- typedef enum { ACCESSORY2_CHANNEL0=0, ACCESSORY2_CHANNEL1=1, ACCESSORY2_CHANNEL2=2, ACCESSORY2_CHANNEL3=3, ACCESSORY2_CHANNEL4=4, ACCESSORY2_CHANNEL5=5, ACCESSORY2_CHANNEL6=6, ACCESSORY2_CHANNEL7=7, ACCESSORY2_NONE=8 } Accessory2Options;
+ typedef enum { ACCESSORY2_CHANNEL1=0, ACCESSORY2_CHANNEL2=1, ACCESSORY2_CHANNEL3=2, ACCESSORY2_CHANNEL4=3, ACCESSORY2_CHANNEL5=4, ACCESSORY2_CHANNEL6=5, ACCESSORY2_CHANNEL7=6, ACCESSORY2_CHANNEL8=7, ACCESSORY2_NONE=8 } Accessory2Options;
// Field Accessory3 information
/* Enumeration options for field Accessory3 */
- typedef enum { ACCESSORY3_CHANNEL0=0, ACCESSORY3_CHANNEL1=1, ACCESSORY3_CHANNEL2=2, ACCESSORY3_CHANNEL3=3, ACCESSORY3_CHANNEL4=4, ACCESSORY3_CHANNEL5=5, ACCESSORY3_CHANNEL6=6, ACCESSORY3_CHANNEL7=7, ACCESSORY3_NONE=8 } Accessory3Options;
+ typedef enum { ACCESSORY3_CHANNEL1=0, ACCESSORY3_CHANNEL2=1, ACCESSORY3_CHANNEL3=2, ACCESSORY3_CHANNEL4=3, ACCESSORY3_CHANNEL5=4, ACCESSORY3_CHANNEL6=5, ACCESSORY3_CHANNEL7=6, ACCESSORY3_CHANNEL8=7, ACCESSORY3_NONE=8 } Accessory3Options;
// Field Pos1StabilizationSettings information
/* Enumeration options for field Pos1StabilizationSettings */
typedef enum { POS1STABILIZATIONSETTINGS_NONE=0, POS1STABILIZATIONSETTINGS_RATE=1, POS1STABILIZATIONSETTINGS_ATTITUDE=2 } Pos1StabilizationSettingsOptions;
diff --git a/ground/src/plugins/uavobjects/manualcontrolsettings.py b/ground/src/plugins/uavobjects/manualcontrolsettings.py
index 26e7958fd..a20d330d5 100644
--- a/ground/src/plugins/uavobjects/manualcontrolsettings.py
+++ b/ground/src/plugins/uavobjects/manualcontrolsettings.py
@@ -58,14 +58,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -77,14 +77,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -96,14 +96,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -115,14 +115,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -134,14 +134,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -153,14 +153,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -172,14 +172,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
@@ -191,14 +191,14 @@ _fields = [ \
'0',
],
{
- '0' : 'Channel0',
- '1' : 'Channel1',
- '2' : 'Channel2',
- '3' : 'Channel3',
- '4' : 'Channel4',
- '5' : 'Channel5',
- '6' : 'Channel6',
- '7' : 'Channel7',
+ '0' : 'Channel1',
+ '1' : 'Channel2',
+ '2' : 'Channel3',
+ '3' : 'Channel4',
+ '4' : 'Channel5',
+ '5' : 'Channel6',
+ '6' : 'Channel7',
+ '7' : 'Channel8',
'8' : 'None',
}
),
diff --git a/ground/src/plugins/uavobjects/mixersettings.cpp b/ground/src/plugins/uavobjects/mixersettings.cpp
index 0b98c43a6..dba5e1893 100644
--- a/ground/src/plugins/uavobjects/mixersettings.cpp
+++ b/ground/src/plugins/uavobjects/mixersettings.cpp
@@ -68,20 +68,6 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
ThrottleCurve2ElemNames.append("75");
ThrottleCurve2ElemNames.append("100");
fields.append( new UAVObjectField(QString("ThrottleCurve2"), QString("percent"), UAVObjectField::FLOAT32, ThrottleCurve2ElemNames, QStringList()) );
- QStringList Mixer0TypeElemNames;
- Mixer0TypeElemNames.append("0");
- QStringList Mixer0TypeEnumOptions;
- Mixer0TypeEnumOptions.append("Disabled");
- Mixer0TypeEnumOptions.append("Motor");
- Mixer0TypeEnumOptions.append("Servo");
- fields.append( new UAVObjectField(QString("Mixer0Type"), QString(""), UAVObjectField::ENUM, Mixer0TypeElemNames, Mixer0TypeEnumOptions) );
- 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::INT8, Mixer0VectorElemNames, QStringList()) );
QStringList Mixer1TypeElemNames;
Mixer1TypeElemNames.append("0");
QStringList Mixer1TypeEnumOptions;
@@ -180,6 +166,20 @@ MixerSettings::MixerSettings(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, N
Mixer7VectorElemNames.append("Pitch");
Mixer7VectorElemNames.append("Yaw");
fields.append( new UAVObjectField(QString("Mixer7Vector"), QString(""), UAVObjectField::INT8, Mixer7VectorElemNames, QStringList()) );
+ QStringList Mixer8TypeElemNames;
+ Mixer8TypeElemNames.append("0");
+ QStringList Mixer8TypeEnumOptions;
+ Mixer8TypeEnumOptions.append("Disabled");
+ Mixer8TypeEnumOptions.append("Motor");
+ Mixer8TypeEnumOptions.append("Servo");
+ fields.append( new UAVObjectField(QString("Mixer8Type"), QString(""), UAVObjectField::ENUM, Mixer8TypeElemNames, Mixer8TypeEnumOptions) );
+ QStringList Mixer8VectorElemNames;
+ Mixer8VectorElemNames.append("ThrottleCurve1");
+ Mixer8VectorElemNames.append("ThrottleCurve2");
+ Mixer8VectorElemNames.append("Roll");
+ Mixer8VectorElemNames.append("Pitch");
+ Mixer8VectorElemNames.append("Yaw");
+ fields.append( new UAVObjectField(QString("Mixer8Vector"), QString(""), UAVObjectField::INT8, Mixer8VectorElemNames, QStringList()) );
// Initialize object
initializeFields(fields, (quint8*)&data, NUMBYTES);
@@ -227,12 +227,6 @@ void MixerSettings::setDefaultFieldValues()
data.ThrottleCurve2[2] = 0.5;
data.ThrottleCurve2[3] = 0.75;
data.ThrottleCurve2[4] = 1;
- data.Mixer0Type = 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.Mixer1Vector[0] = 0;
data.Mixer1Vector[1] = 0;
@@ -275,6 +269,12 @@ void MixerSettings::setDefaultFieldValues()
data.Mixer7Vector[2] = 0;
data.Mixer7Vector[3] = 0;
data.Mixer7Vector[4] = 0;
+ data.Mixer8Type = 0;
+ data.Mixer8Vector[0] = 0;
+ data.Mixer8Vector[1] = 0;
+ data.Mixer8Vector[2] = 0;
+ data.Mixer8Vector[3] = 0;
+ data.Mixer8Vector[4] = 0;
}
diff --git a/ground/src/plugins/uavobjects/mixersettings.h b/ground/src/plugins/uavobjects/mixersettings.h
index 05bea39cc..005e7a481 100644
--- a/ground/src/plugins/uavobjects/mixersettings.h
+++ b/ground/src/plugins/uavobjects/mixersettings.h
@@ -49,8 +49,6 @@ public:
float DecelTime;
float ThrottleCurve1[5];
float ThrottleCurve2[5];
- quint8 Mixer0Type;
- qint8 Mixer0Vector[5];
quint8 Mixer1Type;
qint8 Mixer1Vector[5];
quint8 Mixer2Type;
@@ -65,6 +63,8 @@ public:
qint8 Mixer6Vector[5];
quint8 Mixer7Type;
qint8 Mixer7Vector[5];
+ quint8 Mixer8Type;
+ qint8 Mixer8Vector[5];
} __attribute__((packed)) DataFields;
@@ -83,14 +83,6 @@ public:
typedef enum { THROTTLECURVE2_0=0, THROTTLECURVE2_25=1, THROTTLECURVE2_50=2, THROTTLECURVE2_75=3, THROTTLECURVE2_100=4 } ThrottleCurve2Elem;
/* Number of elements for field ThrottleCurve2 */
static const quint32 THROTTLECURVE2_NUMELEM = 5;
- // Field Mixer0Type information
- /* Enumeration options for field Mixer0Type */
- typedef enum { MIXER0TYPE_DISABLED=0, MIXER0TYPE_MOTOR=1, MIXER0TYPE_SERVO=2 } Mixer0TypeOptions;
- // 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;
@@ -147,10 +139,18 @@ public:
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;
+ // Field Mixer8Type information
+ /* Enumeration options for field Mixer8Type */
+ typedef enum { MIXER8TYPE_DISABLED=0, MIXER8TYPE_MOTOR=1, MIXER8TYPE_SERVO=2 } Mixer8TypeOptions;
+ // Field Mixer8Vector information
+ /* Array element names for field Mixer8Vector */
+ typedef enum { MIXER8VECTOR_THROTTLECURVE1=0, MIXER8VECTOR_THROTTLECURVE2=1, MIXER8VECTOR_ROLL=2, MIXER8VECTOR_PITCH=3, MIXER8VECTOR_YAW=4 } Mixer8VectorElem;
+ /* Number of elements for field Mixer8Vector */
+ static const quint32 MIXER8VECTOR_NUMELEM = 5;
// Constants
- static const quint32 OBJID = 1945801048U;
+ static const quint32 OBJID = 1336817486U;
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 90a377a07..38cc34121 100644
--- a/ground/src/plugins/uavobjects/mixersettings.py
+++ b/ground/src/plugins/uavobjects/mixersettings.py
@@ -105,33 +105,6 @@ _fields = [ \
{
}
),
- uavobject.UAVObjectField(
- 'Mixer0Type',
- 'b',
- 1,
- [
- '0',
- ],
- {
- '0' : 'Disabled',
- '1' : 'Motor',
- '2' : 'Servo',
- }
- ),
- uavobject.UAVObjectField(
- 'Mixer0Vector',
- 'b',
- 5,
- [
- 'ThrottleCurve1',
- 'ThrottleCurve2',
- 'Roll',
- 'Pitch',
- 'Yaw',
- ],
- {
- }
- ),
uavobject.UAVObjectField(
'Mixer1Type',
'b',
@@ -321,12 +294,39 @@ _fields = [ \
{
}
),
+ uavobject.UAVObjectField(
+ 'Mixer8Type',
+ 'b',
+ 1,
+ [
+ '0',
+ ],
+ {
+ '0' : 'Disabled',
+ '1' : 'Motor',
+ '2' : 'Servo',
+ }
+ ),
+ uavobject.UAVObjectField(
+ 'Mixer8Vector',
+ 'b',
+ 5,
+ [
+ 'ThrottleCurve1',
+ 'ThrottleCurve2',
+ 'Roll',
+ 'Pitch',
+ 'Yaw',
+ ],
+ {
+ }
+ ),
]
class MixerSettings(uavobject.UAVObject):
## Object constants
- OBJID = 1945801048
+ OBJID = 1336817486
NAME = "MixerSettings"
METANAME = "MixerSettingsMeta"
ISSINGLEINST = 1
diff --git a/ground/src/plugins/uavobjects/mixerstatus.cpp b/ground/src/plugins/uavobjects/mixerstatus.cpp
index 677963f36..17aef4fed 100644
--- a/ground/src/plugins/uavobjects/mixerstatus.cpp
+++ b/ground/src/plugins/uavobjects/mixerstatus.cpp
@@ -42,9 +42,6 @@ MixerStatus::MixerStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
{
// Create fields
QList fields;
- QStringList Mixer0ElemNames;
- Mixer0ElemNames.append("0");
- fields.append( new UAVObjectField(QString("Mixer0"), QString(""), UAVObjectField::FLOAT32, Mixer0ElemNames, QStringList()) );
QStringList Mixer1ElemNames;
Mixer1ElemNames.append("0");
fields.append( new UAVObjectField(QString("Mixer1"), QString(""), UAVObjectField::FLOAT32, Mixer1ElemNames, QStringList()) );
@@ -66,6 +63,9 @@ MixerStatus::MixerStatus(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
QStringList Mixer7ElemNames;
Mixer7ElemNames.append("0");
fields.append( new UAVObjectField(QString("Mixer7"), QString(""), UAVObjectField::FLOAT32, Mixer7ElemNames, QStringList()) );
+ QStringList Mixer8ElemNames;
+ Mixer8ElemNames.append("0");
+ fields.append( new UAVObjectField(QString("Mixer8"), QString(""), UAVObjectField::FLOAT32, Mixer8ElemNames, QStringList()) );
// Initialize object
initializeFields(fields, (quint8*)&data, NUMBYTES);
diff --git a/ground/src/plugins/uavobjects/mixerstatus.h b/ground/src/plugins/uavobjects/mixerstatus.h
index 82c22e3a2..316210313 100644
--- a/ground/src/plugins/uavobjects/mixerstatus.h
+++ b/ground/src/plugins/uavobjects/mixerstatus.h
@@ -43,7 +43,6 @@ class UAVOBJECTS_EXPORT MixerStatus: public UAVDataObject
public:
// Field structure
typedef struct {
- float Mixer0;
float Mixer1;
float Mixer2;
float Mixer3;
@@ -51,11 +50,11 @@ public:
float Mixer5;
float Mixer6;
float Mixer7;
+ float Mixer8;
} __attribute__((packed)) DataFields;
// Field information
- // Field Mixer0 information
// Field Mixer1 information
// Field Mixer2 information
// Field Mixer3 information
@@ -63,10 +62,11 @@ public:
// Field Mixer5 information
// Field Mixer6 information
// Field Mixer7 information
+ // Field Mixer8 information
// Constants
- static const quint32 OBJID = 2468388390U;
+ static const quint32 OBJID = 4137893648U;
static const QString NAME;
static const bool ISSINGLEINST = 1;
static const bool ISSETTINGS = 0;
diff --git a/ground/src/plugins/uavobjects/mixerstatus.py b/ground/src/plugins/uavobjects/mixerstatus.py
index e5424bcf4..9110fc56c 100644
--- a/ground/src/plugins/uavobjects/mixerstatus.py
+++ b/ground/src/plugins/uavobjects/mixerstatus.py
@@ -37,16 +37,6 @@ from collections import namedtuple
# This is a list of instances of the data fields contained in this object
_fields = [ \
- uavobject.UAVObjectField(
- 'Mixer0',
- 'f',
- 1,
- [
- '0',
- ],
- {
- }
- ),
uavobject.UAVObjectField(
'Mixer1',
'f',
@@ -117,12 +107,22 @@ _fields = [ \
{
}
),
+ uavobject.UAVObjectField(
+ 'Mixer8',
+ 'f',
+ 1,
+ [
+ '0',
+ ],
+ {
+ }
+ ),
]
class MixerStatus(uavobject.UAVObject):
## Object constants
- OBJID = 2468388390
+ OBJID = 4137893648
NAME = "MixerStatus"
METANAME = "MixerStatusMeta"
ISSINGLEINST = 1
diff --git a/ground/src/shared/uavobjectdefinition/actuatorsettings.xml b/ground/src/shared/uavobjectdefinition/actuatorsettings.xml
index f78908d2e..eb444b560 100644
--- a/ground/src/shared/uavobjectdefinition/actuatorsettings.xml
+++ b/ground/src/shared/uavobjectdefinition/actuatorsettings.xml
@@ -1,20 +1,20 @@