26 #ifndef GUIVEHICLECONFIG_H
27 #define GUIVEHICLECONFIG_H
30 #define PACK(__Declaration__) __pragma(pack(push, 1)) __Declaration__ __pragma(pack(pop))
32 #define PACK(__Declaration__) __Declaration__ __attribute__((__packed__))
39 #include "mixersettings.h"
40 #include "systemsettings.h"
58 multiGUISettingsStruct;
61 uint SwashplateType : 3;
62 uint FirstServoIndex : 2;
63 uint CorrectionAngle : 9;
64 uint ccpmCollectivePassthroughState : 1;
65 uint ccpmLinkCyclicState : 1;
66 uint ccpmLinkRollState : 1;
67 uint SliderValue0 : 7;
68 uint SliderValue1 : 7;
69 uint SliderValue2 : 7;
79 heliGUISettingsStruct;
82 uint FixedWingThrottle : 4;
83 uint FixedWingRoll1 : 4;
84 uint FixedWingRoll2 : 4;
85 uint FixedWingPitch1 : 4;
86 uint FixedWingPitch2 : 4;
87 uint FixedWingYaw1 : 4;
88 uint FixedWingYaw2 : 4;
94 fixedGUISettingsStruct;
97 uint GroundVehicleThrottle1 : 4;
98 uint GroundVehicleThrottle2 : 4;
99 uint GroundVehicleSteering1 : 4;
100 uint GroundVehicleSteering2 : 4;
106 groundGUISettingsStruct;
126 SystemSettings::AirframeTypeOptions vehicle);
129 static void enableComboBoxes(QWidget *owner, QString boxName,
int boxCount,
bool enable);
131 MixerSettings::Mixer1VectorElem elementName);
133 MixerSettings::Mixer1VectorElem elementName,
double value);
138 MixerSettings::Mixer1TypeOptions mixerType);
159 void setLabelText(QWidget *owner,
const QString &boxName,
const QStringList &labels);
173 #endif // GUIVEHICLECONFIG_H
VehicleConfig(QWidget *parent=nullptr)
QStringList mixerTypeDescriptions
QString getMixerType(UAVDataObject *mixer, int channel)
static void SetConfigData(GUIConfigDataUnion configData, SystemSettings::AirframeTypeOptions vehicle)
static GUIConfigDataUnion GetConfigData()
static void resetField(UAVObjectField *field)
static const double mixerRange
PACK(typedef struct{uint VTOLMotorN:4;uint VTOLMotorS:4;uint VTOLMotorE:4;uint VTOLMotorW:4;uint VTOLMotorNW:4;uint VTOLMotorNE:4;uint VTOLMotorSW:4;uint VTOLMotorSE:4;uint TRIYaw:4;quint32 padding:28;quint32 padding1;quint32 padding2;}) multiGUISettingsStruct
bool isValidThrottleCurve(QList< double > *curve)
double getMixerVectorValue(UAVDataObject *mixer, int channel, MixerSettings::Mixer1VectorElem elementName)
groundGUISettingsStruct ground
fixedGUISettingsStruct fixedwing
virtual void ResetActuators(GUIConfigDataUnion *configData)
void getThrottleCurve(UAVDataObject *mixer, MixerSettings::Mixer1VectorElem curveType, QList< double > *curve)
double getMixerValue(UAVDataObject *mixer, QString elementName)
void resetMixerVector(UAVDataObject *mixer, int channel)
void resetMixers(UAVDataObject *mixer)
void setMixerType(UAVDataObject *mixer, int channel, MixerSettings::Mixer1TypeOptions mixerType)
heliGUISettingsStruct heli
multiGUISettingsStruct multi
void setMixerVectorValue(UAVDataObject *mixer, int channel, MixerSettings::Mixer1VectorElem elementName, double value)
static void enableComboBoxes(QWidget *owner, QString boxName, int boxCount, bool enable)
void setThrottleCurve(UAVDataObject *mixer, MixerSettings::Mixer1VectorElem curveType, QList< double > curve)
double getCurveMax(QList< double > *curve)
void setMixerValue(UAVDataObject *mixer, QString elementName, double value)
void setLabelText(QWidget *owner, const QString &boxName, const QStringList &labels)
static const double mixerScale
double getCurveMin(QList< double > *curve)
static void setComboCurrentIndex(QComboBox *box, int index)