diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui
index 16b0172a3..a9de06541 100644
--- a/ground/openpilotgcs/src/plugins/config/airframe.ui
+++ b/ground/openpilotgcs/src/plugins/config/airframe.ui
@@ -6,14 +6,14 @@
0
0
- 939
- 657
+ 833
+ 852
Form
-
+
-
@@ -23,551 +23,193 @@
Mixer Settings
-
+
- 5
+ 12
-
-
-
-
-
-
-
- 75
- true
-
-
-
- Vehicle type:
-
-
-
- -
-
-
- Select aircraft type here
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
+
+
+
+ 0
+ 0
+
-
-
- -
-
-
- 0
+
+
+ 0
+ 0
+
-
-
- true
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 779
+ 691
+
-
- false
-
-
-
-
-
+
+
-
+
+
+ QLayout::SetFixedSize
+
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Airplane type:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Vehicle type:
+
+
-
-
+
+
+ Select aircraft type here
+
+
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 230
- 100
-
-
-
- Output Channel Assignments
-
-
-
-
-
-
- Engine
-
-
-
- -
-
-
- Select output channel for the engine
-
-
-
- -
-
-
-
- 60
- 0
-
-
-
- Aileron 1
-
-
-
- -
-
-
- Select output channel for the first aileron (or elevon)
-
-
-
- -
-
-
- false
-
-
-
- 60
- 0
-
-
-
- Aileron 2
-
-
-
- -
-
-
- false
-
-
- Select output channel for the second aileron (or elevon)
-
-
-
- -
-
-
-
- 67
- 0
-
-
-
- Elevator 1
-
-
-
- -
-
-
- Select output channel for the first elevator
-
-
-
- -
-
-
- false
-
-
-
- 67
- 0
-
-
-
- Elevator 2
-
-
-
- -
-
-
- false
-
-
- Select output channel for a secondary elevator
-
-
-
- -
-
-
- Rudder 1
-
-
-
- -
-
-
- Select output channel for the first rudder
-
-
-
- -
-
-
- Rudder 2
-
-
-
- -
-
-
- Select output channel for a secondary rudder
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 20
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Elevon Mix
-
-
-
-
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 0
- 20
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 65
- 0
-
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- Rudder %
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
-
-
-
-
- 50
- 0
-
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- Pitch %
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
-
-
- Qt::AlignCenter
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 100
-
-
-
- Throttle Curve
-
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 0
- 0
-
-
-
-
- 500
- 500
-
-
-
-
- 10
- 10
-
-
-
-
- 300
- 350
-
-
-
-
-
-
-
-
-
- -
-
+
- Qt::Vertical
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
- 20
- 40
+ 2
+ 20
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- Mixer OK
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 775
+ 16777215
+
+
+
+ 1
+
+
+
+ true
+
+
+ false
+
+
-
-
+
-
-
+
-
-
+
+
+
+ 0
+ 0
+
+
75
@@ -575,19 +217,15 @@ margin:1px;
- Frame type:
+ Airplane type:
-
-
-
- Select the Multirotor frame type here.
-
-
+
-
-
+
Qt::Horizontal
@@ -602,13 +240,448 @@ margin:1px;
-
-
+
+
+ -
+
-
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 230
+ 100
+
+
+
+ Output Channel Assignments
+
+
+
-
+
+
+ Engine
+
+
+
+ -
+
+
+ Select output channel for the engine
+
+
+
+ -
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 1
+
+
+
+ -
+
+
+ Select output channel for the first aileron (or elevon)
+
+
+
+ -
+
+
+ false
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 2
+
+
+
+ -
+
+
+ false
+
+
+ Select output channel for the second aileron (or elevon)
+
+
+
+ -
+
+
+
+ 67
+ 0
+
+
+
+ Elevator 1
+
+
+
+ -
+
+
+ Select output channel for the first elevator
+
+
+
+ -
+
+
+ false
+
+
+
+ 67
+ 0
+
+
+
+ Elevator 2
+
+
+
+ -
+
+
+ false
+
+
+ Select output channel for a secondary elevator
+
+
+
+ -
+
+
+ Rudder 1
+
+
+
+ -
+
+
+ Select output channel for the first rudder
+
+
+
+ -
+
+
+ Rudder 2
+
+
+
+ -
+
+
+ Select output channel for a secondary rudder
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Elevon Mix
+
+
+
-
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 0
+ 20
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 65
+ 0
+
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ Rudder %
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 50
+ 0
+
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ Pitch %
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 100
+
+
+
+ Throttle Curve
+
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 500
+ 500
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 300
+ 350
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+ Mixer OK
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
-
+
-
-
+
-
-
+
75
@@ -616,12 +689,19 @@ margin:1px;
- Mix Level
+ Frame type:
-
-
+
+
+ Select the Multirotor frame type here.
+
+
+
+ -
+
Qt::Horizontal
@@ -636,279 +716,703 @@ margin:1px;
-
-
+
-
-
+
-
-
-
-
- 30
- 0
-
-
-
- 100
-
-
- Qt::AlignCenter
-
-
+
+
-
+
+
+
+ 75
+ true
+
+
+
+ Mix Level
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
-
-
-
-
- 35
- 0
-
-
-
- Weight of Roll mixing in percent.
+
+
-
+
+
-
+
+
+
+ 30
+ 0
+
+
+
+ 100
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 35
+ 0
+
+
+
+ Weight of Roll mixing in percent.
Typical values are 100% for + configuration and 50% for X configuration on quads.
-
-
- 100
-
-
- 100
-
-
- Qt::Vertical
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;
-
-
- R
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- 100
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 35
- 0
-
-
-
- Weight of Pitch mixing in percent.
+
+
+ R
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 100
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 35
+ 0
+
+
+
+ Weight of Pitch mixing in percent.
Typical values are 100% for + configuration and 50% for X configuration on quads.
-
-
- 100
-
-
- 100
-
-
- Qt::Vertical
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;
-
-
- P
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- 50
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 40
- 0
-
-
-
- Weight of Yaw mixing in percent.
+
+
+ P
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 50
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 40
+ 0
+
+
+
+ Weight of Yaw mixing in percent.
Typical value is 50% for + or X configuration on quads.
-
-
- -100
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- false
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+
+
+ -100
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ false
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;
-
-
- Y
-
-
- Qt::AlignCenter
-
-
+
+
+ Y
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 80
+
+
+
+ background:transparent
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+
-
-
+
-
+
0
0
- 110
- 110
+ 300
+ 300
-
- background:transparent
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
+
+ Throttle Curve
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 300
+ 350
+
+
+
+ background:transparent
+
+
+
+
+
-
-
- -
-
-
- Throttle Curve
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- 10
- 10
-
-
-
-
- 300
- 350
-
-
-
- background:transparent
-
-
-
-
-
-
-
-
- -
-
-
- 10
-
-
-
-
-
-
+
+
+ 10
+
-
-
+
+
-
+
+
-
+
+
+
+ 75
+ true
+
+
+
+ Tricopter Yaw
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Preferred
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ channel:
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 40
+ 0
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 10
+ 20
+
+
+
+
+ -
+
+
+ Motor output channels
+
+
+
+ 1
+
+
+ 1
+
+
-
+
+
+ QLayout::SetMaximumSize
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ 3
+
+
-
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 1
+
+
+
+ -
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 2
+
+
+
+ -
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 3
+
+
+
+ -
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 4
+
+
+
+ -
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 0
+ 20
+
+
+
+
+
+
+ -
+
+
+ QLayout::SetMaximumSize
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ 3
+
+
-
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 5
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 6
+
+
+
+ -
+
+
+ false
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 7
+
+
+
+ -
+
+
+ false
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
+color: rgb(255, 255, 255);
+border-radius: 5;
+font: bold 12px;
+margin:1px;
+
+
+ 8
+
+
+
+ -
+
+
+ false
+
+
+ Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
75
@@ -916,12 +1420,72 @@ margin:1px;
- Tricopter Yaw
+ Mixer OK
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ -
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Vehicle type:
-
-
+
+
+ -
+
Qt::Horizontal
@@ -936,40 +1500,402 @@ margin:1px;
-
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- channel:
-
-
+
+
-
+
+
+
+ 75
+ true
+
+
+
+ Channel Assignment
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
-
-
-
- false
-
-
-
- 0
- 0
-
-
-
-
- 40
- 0
-
-
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 100
+
+
+
+ Output channel asignmets
+
+
+
-
+
+
+
+ 77
+ 0
+
+
+
+ Engine
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Select output channel for the engine
+
+
+
+ -
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 1
+
+
+
+ -
+
+
+ Select output channel for the first aileron (or elevon)
+
+
+
+ -
+
+
+ false
+
+
+
+ 60
+ 0
+
+
+
+ Aileron 2
+
+
+
+ -
+
+
+ false
+
+
+ Select output channel for the second aileron (or elevon)
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Motor
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Select output channel for the first motor
+
+
+
+ -
+
+
+ false
+
+
+
+ 47
+ 0
+
+
+
+ Motor 2
+
+
+
+ -
+
+
+ false
+
+
+ Select output channel for a second motor
+
+
+
+ -
+
+
+ Front Steering
+
+
+
+ -
+
+
+ Select output channel for the first steering actuator
+
+
+
+ -
+
+
+ Rear Steering
+
+
+
+ -
+
+
+ Select output channel for a second steering actuator
+
+
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ Differential Steering Mix
+
+
+
-
+
+
-
+
+
-
+
+
+
+ 65
+ 0
+
+
+
+ Left %
+
+
+
+ -
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 50
+ 0
+
+
+
+ Right %
+
+
+
+ -
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ 50
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 100
+
+
+
+ Front throttle curve
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 500
+ 500
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 300
+ 350
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Rear throttle curve
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 500
+ 500
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 300
+ 350
+
+
+
+
+
+
+
+
-
-
+
Qt::Vertical
@@ -981,1488 +1907,760 @@ margin:1px;
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+ Mixer OK
+
+
+
+
+
- -
-
-
- Motor output channels
-
-
-
- 1
-
-
- 1
-
-
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 3
-
-
-
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 1
-
-
-
- -
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 2
-
-
-
- -
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 3
-
-
-
- -
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 4
-
-
-
- -
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 0
- 20
-
-
-
-
-
-
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 3
-
-
-
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 5
-
-
-
- -
-
-
- false
-
-
-
- 0
- 0
-
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 6
-
-
-
- -
-
-
- false
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 7
-
-
-
- -
-
-
- false
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
-color: rgb(255, 255, 255);
-border-radius: 5;
-font: bold 12px;
-margin:1px;
-
-
- 8
-
-
-
- -
-
-
- false
-
-
- Assign your motor output channels using the drawing above as a reference. Respect propeller rotation.
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
-
-
-
-
-
-
- -
-
+
+
+
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- Mixer OK
-
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- 0
-
- -
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
- false
-
-
- -
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Vehicle type:
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 75
- true
-
-
-
- Channel Assignment
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 100
-
-
-
- Output channel asignmets
-
-
-
-
-
-
-
- 77
- 0
-
-
-
- Engine
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Select output channel for the engine
-
-
-
- -
-
-
-
- 60
- 0
-
-
-
- Aileron 1
-
-
-
- -
-
-
- Select output channel for the first aileron (or elevon)
-
-
-
- -
-
-
- false
-
-
-
- 60
- 0
-
-
-
- Aileron 2
-
-
-
- -
-
-
- false
-
-
- Select output channel for the second aileron (or elevon)
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Motor
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Select output channel for the first motor
-
-
-
- -
-
-
- false
-
-
-
- 47
- 0
-
-
-
- Motor 2
-
-
-
- -
-
-
- false
-
-
- Select output channel for a second motor
-
-
-
- -
-
-
- Front Steering
-
-
-
- -
-
-
- Select output channel for the first steering actuator
-
-
-
- -
-
-
- Rear Steering
-
-
-
- -
-
-
- Select output channel for a second steering actuator
-
-
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
- Differential Steering Mix
-
-
-
-
-
-
-
-
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Curve 1
+
+
-
-
-
-
- 65
- 0
-
+
+
+
+ 1
+ 1
+
-
- Left %
-
-
-
- -
-
-
- 100
-
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
-
-
-
-
-
- -
-
-
-
-
50
- 0
+ 50
-
- Right %
+
+
+ 1000
+ 1000
+
-
-
- -
-
-
- 100
+
+
+ 10
+ 10
+
-
- 50
-
-
- Qt::Vertical
-
-
-
- -
-
-
- 50
+
+
+ 300
+ 350
+
-
-
-
-
-
-
- -
-
-
-
- 0
- 100
-
-
-
- Front throttle curve
-
-
-
-
-
-
-
- 0
- 0
-
+
+
+ -
+
+
+ Curve 2
+
+
+
-
+
+
+
+ 1
+ 1
+
+
+
+
+ 50
+ 50
+
+
+
+
+ 1000
+ 1000
+
+
+
+
+ 10
+ 10
+
+
+
+
+ 300
+ 350
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ 50
+
+
+ false
+
+
+
+ Type
-
-
- 0
- 0
-
+
+
+
+ Curve 1
-
-
- 500
- 500
-
+
+
+
+ Curve 2
-
-
- 10
- 10
-
+
+
+
+ Roll
-
-
- 300
- 350
-
+
+
+
+ Pitch
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Rear throttle curve
-
-
-
-
-
-
-
- 0
- 0
-
+
+
+
+ Yaw
-
-
- 0
- 0
-
+
+
+
+ Ch 1
-
-
- 500
- 500
-
+
+
+
+ Ch 2
-
-
- 10
- 10
-
+
+
+
+ Ch 3
-
-
- 300
- 350
-
+
+
+
+ Ch 4
-
-
-
-
+
+
+
+ Ch 5
+
+
+
+
+ Ch 6
+
+
+
+
+ Ch 7
+
+
+
+
+ Ch 8
+
+
+
+
+ Ch 9
+
+
+
+
+ Ch 10
+
+
+ -
+
+ -
+
+
+ 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
+
+
+ -
+
+ -
+
+
+ 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
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- Mixer OK
-
-
-
-
-
-
+
+
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Curve 1
-
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 50
- 50
-
-
-
-
- 1000
- 1000
-
-
-
-
- 10
- 10
-
-
-
-
- 300
- 350
-
-
-
-
-
-
-
- -
-
-
- Curve 2
-
-
-
-
-
-
-
- 1
- 1
-
-
-
-
- 50
- 50
-
-
-
-
- 1000
- 1000
-
-
-
-
- 10
- 10
-
-
-
-
- 300
- 350
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 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
-
-
-
-
- Ch 9
-
-
-
-
- Ch 10
-
-
- -
-
- -
-
-
- 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
-
-
- -
-
- -
-
-
- 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
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 20
+ 20
+
+
+
@@ -2475,400 +2673,518 @@ margin:1px;
Advanced Settings
+
+ 12
+
-
-
-
-
-
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 779
+ 679
+
+
+
-
-
-
-
- 75
- true
-
-
-
- Feed Forward
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
-
-
+
-
-
+
+
+
+ 75
+ true
+
+
- FeedForward
+ Feed Forward
-
-
-
+
+
+ Qt::Horizontal
+
+
- 30
- 0
+ 40
+ 20
-
- 000
-
-
+
- -
-
-
- true
+
-
+
+
+ QFormLayout::AllNonFixedFieldsGrow
-
- Qt::StrongFocus
-
-
- Overall level of feed forward (in percentage).
-
-
- 100
-
-
- 1
-
-
- Qt::Horizontal
-
-
- QSlider::NoTicks
-
-
-
- -
-
-
- Accel Time Constant
-
-
-
- -
-
-
- true
-
-
- Qt::StrongFocus
-
-
- In miliseconds.
+
-
+
+
-
+
+
+ FeedForward
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+ 000
+
+
+
+
+
+ -
+
+
+ true
+
+
+ Qt::StrongFocus
+
+
+ Overall level of feed forward (in percentage).
+
+
+ 100
+
+
+ 1
+
+
+ Qt::Horizontal
+
+
+ QSlider::NoTicks
+
+
+
+ -
+
+
+ Accel Time Constant
+
+
+
+ -
+
+
+ true
+
+
+ Qt::StrongFocus
+
+
+ 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
-
-
- Qt::StrongFocus
-
-
- When tuning: Slowly raise decel time from zero to just
+
+
+ 3
+
+
+ 100.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
+ Decel Time Constant
+
+
+
+ -
+
+
+ true
+
+
+ Qt::StrongFocus
+
+
+ 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
+
+
+ 3
+
+
+ 100.000000000000000
+
+
+ 0.010000000000000
- -
-
-
- 1000
+
-
+
+
-
+
+
+ MaxAccel
+
+
+
+ -
+
+
+ 1000
+
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Limits how much the engines can accelerate or decelerate.
+In 'units per second', a sound default is 1000.
+
+
+ 500
+
+
+ 2000
+
+
+ 1000
+
+
+ Qt::Horizontal
- -
-
-
- Qt::StrongFocus
-
-
- 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
+ Qt::Vertical
- 40
- 20
+ 20
+ 40
-
-
-
- Qt::StrongFocus
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ <!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>
-
-
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ <!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>
-
-
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ <!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
-
-
+
+
+ Enable FF tuning
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
-
-
-
- Qt::Horizontal
+
+
+
+ 0
+ 0
+
-
+
- 40
- 20
+ 0
+ 40
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 40
-
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+
+ <!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;">
+</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
<tr>
<td style="border: none;">
-<p align="center" 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:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD NEEDS CAUTION</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"></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:'Lucida Grande'; font-size:13pt;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</span></p></td></tr></table></body></html>
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
+<p align="center" 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:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD REQUIRES CAUTION</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</p></td></tr></table></body></html>
+
+
+
+
+
+
+
+ -
+
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 32
- 32
-
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 32
- 32
-
-
-
- true
-
-
-
- -
-
-
- Send to board, but don't save permanently (flash or SD).
-
-
- Apply
-
-
-
- -
-
-
- Applies and Saves all settings to flash or SD depending on board.
-
-
- Save
-
-
-
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 75
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
+ QLayout::SetFixedSize
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 32
+
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 32
+ 32
+
+
+
+ true
+
+
+
+ -
+
+
+ Send to board, but don't save permanently (flash or SD).
+
+
+ Apply
+
+
+
+ -
+
+
+ Applies and Saves all settings to flash or SD depending on board.
+
+
+ Save
+
+
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/coreplugin/coreplugin.cpp b/ground/openpilotgcs/src/plugins/coreplugin/coreplugin.cpp
index 254f07865..6f6492f92 100644
--- a/ground/openpilotgcs/src/plugins/coreplugin/coreplugin.cpp
+++ b/ground/openpilotgcs/src/plugins/coreplugin/coreplugin.cpp
@@ -29,7 +29,7 @@
#include "coreplugin.h"
#include "coreimpl.h"
#include "mainwindow.h"
-
+#include
#include
#include
@@ -78,4 +78,4 @@ void CorePlugin::shutdown()
m_mainWindow->shutdown();
}
-Q_EXPORT_PLUGIN(CorePlugin)
+Q_EXPORT_PLUGIN2(Core,CorePlugin)
diff --git a/ground/openpilotgcs/src/plugins/coreplugin/generalsettings.h b/ground/openpilotgcs/src/plugins/coreplugin/generalsettings.h
index 6c77ab065..8b41d9b0f 100644
--- a/ground/openpilotgcs/src/plugins/coreplugin/generalsettings.h
+++ b/ground/openpilotgcs/src/plugins/coreplugin/generalsettings.h
@@ -41,7 +41,7 @@ namespace Ui {
class GeneralSettings;
}
-class GeneralSettings : public IOptionsPage
+class CORE_EXPORT GeneralSettings : public IOptionsPage
{
Q_OBJECT
diff --git a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/smartsavebutton.cpp b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/smartsavebutton.cpp
index 9b0268a4e..42a6d5e62 100644
--- a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/smartsavebutton.cpp
+++ b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/smartsavebutton.cpp
@@ -83,14 +83,19 @@ void smartSaveButton::processOperation(QPushButton * button,bool save)
current_object=obj;
for(int i=0;i<3;++i)
{
-
+ qDebug()<<"SMARTSAVEBUTTON"<<"Upload try number"<getName();
connect(obj,SIGNAL(transactionCompleted(UAVObject*,bool)),this,SLOT(transaction_finished(UAVObject*, bool)));
connect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
obj->updated();
timer.start(3000);
//qDebug()<<"begin loop";
loop.exec();
- //qDebug()<<"end loop";
+ if(timer.isActive())
+ {
+ qDebug()<<"SMARTSAVEBUTTON"<<"Upload did not timeout"<getName();
+ }
+ else
+ qDebug()<<"SMARTSAVEBUTTON"<<"Upload TIMEOUT"<getName();
timer.stop();
disconnect(obj,SIGNAL(transactionCompleted(UAVObject*,bool)),this,SLOT(transaction_finished(UAVObject*, bool)));
disconnect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
@@ -99,7 +104,7 @@ void smartSaveButton::processOperation(QPushButton * button,bool save)
}
if(up_result==false)
{
- qDebug()<<"Object upload error:"<getName();
+ qDebug()<<"SMARTSAVEBUTTON"<<"Object upload error:"<getName();
error=true;
continue;
}
@@ -109,12 +114,18 @@ void smartSaveButton::processOperation(QPushButton * button,bool save)
{
for(int i=0;i<3;++i)
{
- qDebug()<<"try to save:"<getName();
+ qDebug()<<"SMARTSAVEBUTTON"<<"Save try number"<getName();
connect(utilMngr,SIGNAL(saveCompleted(int,bool)),this,SLOT(saving_finished(int,bool)));
connect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
utilMngr->saveObjectToSD(obj);
timer.start(3000);
loop.exec();
+ if(timer.isActive())
+ {
+ qDebug()<<"SMARTSAVEBUTTON"<<"Saving did not timeout"<getName();
+ }
+ else
+ qDebug()<<"SMARTSAVEBUTTON"<<"Saving TIMEOUT"<getName();
timer.stop();
disconnect(utilMngr,SIGNAL(saveCompleted(int,bool)),this,SLOT(saving_finished(int,bool)));
disconnect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
@@ -123,7 +134,7 @@ void smartSaveButton::processOperation(QPushButton * button,bool save)
}
if(sv_result==false)
{
- qDebug()<<"failed to save:"<getName();
+ qDebug()<<"SMARTSAVEBUTTON"<<"failed to save:"<getName();
error=true;
}
}