mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-18 03:52:11 +01:00
Merge remote-tracking branch 'origin/kenz/PT_UI_fixes' into next
Conflicts: flight/OpenPilot/System/openpilot.c shared/uavobjectdefinition/positionactual.xml shared/uavobjectdefinition/positiondesired.xml shared/uavobjectdefinition/velocityactual.xml shared/uavobjectdefinition/velocitydesired.xml
This commit is contained in:
commit
3ef01569b8
@ -84,7 +84,20 @@ int main()
|
||||
/* swap the stack to use the IRQ stack */
|
||||
Stack_Change();
|
||||
|
||||
/* Start the FreeRTOS scheduler which should never returns.*/
|
||||
/* Start the FreeRTOS scheduler, which should never return.
|
||||
*
|
||||
* NOTE: OpenPilot runs an operating system (FreeRTOS), which constantly calls
|
||||
* (schedules) function files (modules). These functions never return from their
|
||||
* while loops, which explains why each module has a while(1){} segment. Thus,
|
||||
* the OpenPilot software actually starts at the vTaskStartScheduler() function,
|
||||
* even though this is somewhat obscure.
|
||||
*
|
||||
* In addition, there are many main() functions in the OpenPilot firmware source tree
|
||||
* This is because each main() refers to a separate hardware platform. Of course,
|
||||
* C only allows one main(), so only the relevant main() function is compiled when
|
||||
* making a specific firmware.
|
||||
*
|
||||
*/
|
||||
vTaskStartScheduler();
|
||||
|
||||
/* If all is well we will never reach here as the scheduler will now be running. */
|
||||
|
@ -1272,9 +1272,9 @@
|
||||
style="opacity:0.98000004;fill:#ffffff;fill-opacity:1;stroke:#e31717;stroke-width:3.18836617;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="value"
|
||||
width="132.66878"
|
||||
height="13.323594"
|
||||
x="15.425945"
|
||||
y="33.75214"
|
||||
height="23"
|
||||
x="15"
|
||||
y="41"
|
||||
ry="3.4474616"
|
||||
inkscape:label="#rect2989" />
|
||||
<g
|
||||
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
@ -982,8 +982,8 @@
|
||||
style="fill:#ff0606;fill-opacity:1;stroke:none"
|
||||
id="value"
|
||||
width="47.775032"
|
||||
height="25.001274"
|
||||
x="11.616754"
|
||||
y="43.612305"
|
||||
height="30"
|
||||
x="15"
|
||||
y="48"
|
||||
inkscape:label="#rect4044" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
@ -2571,6 +2571,9 @@ margin:1px;</string>
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Overall level of feed forward (in percentage).</string>
|
||||
</property>
|
||||
@ -2600,6 +2603,9 @@ margin:1px;</string>
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>In miliseconds.
|
||||
When tuning: Slowly raise accel time from zero to just
|
||||
@ -2629,6 +2635,9 @@ its target speed.</string>
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>When tuning: Slowly raise decel time from zero to just
|
||||
under the level where the motor starts to undershoot
|
||||
@ -2667,6 +2676,9 @@ Do it after accel time is setup.</string>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSlider" name="maxAccelSlider">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Limits how much the engines can accelerate or decelerate.
|
||||
In 'units per second', a sound default is 1000.</string>
|
||||
@ -2704,6 +2716,9 @@ In 'units per second', a sound default is 1000.</string>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ffTestBox1">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><!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">
|
||||
@ -2719,6 +2734,9 @@ p, li { white-space: pre-wrap; }
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ffTestBox2">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><!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">
|
||||
@ -2734,6 +2752,9 @@ p, li { white-space: pre-wrap; }
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ffTestBox3">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><!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">
|
||||
|
@ -51,6 +51,9 @@ QGroupBox::title {
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="enableCameraStabilization">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Enable CameraStabilization module</string>
|
||||
</property>
|
||||
@ -106,6 +109,9 @@ QGroupBox::title {
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
<item row="3" column="3">
|
||||
<widget class="QSpinBox" name="yawOutputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Camera yaw angle for 100% output value, deg.
|
||||
|
||||
@ -122,6 +128,9 @@ have to define channel output range using Output configuration tab.</string>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSpinBox" name="pitchOutputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Camera pitch angle for 100% output value, deg.
|
||||
|
||||
@ -138,6 +147,9 @@ have to define channel output range using Output configuration tab.</string>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QSpinBox" name="rollOutputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Camera roll angle for 100% output value, deg.
|
||||
|
||||
@ -154,6 +166,9 @@ have to define channel output range using Output configuration tab.</string>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="yawChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Yaw output channel for camera gimbal</string>
|
||||
</property>
|
||||
@ -166,6 +181,9 @@ have to define channel output range using Output configuration tab.</string>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QComboBox" name="pitchChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Pitch output channel for camera gimbal</string>
|
||||
</property>
|
||||
@ -178,6 +196,9 @@ have to define channel output range using Output configuration tab.</string>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="rollChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Roll output channel for camera gimbal</string>
|
||||
</property>
|
||||
@ -356,6 +377,9 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="yawInputChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input channel to control camera yaw
|
||||
|
||||
@ -370,6 +394,9 @@ Don't forget to map this channel using Input configuration tab.</string>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QComboBox" name="pitchInputChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input channel to control camera pitch
|
||||
|
||||
@ -384,6 +411,9 @@ Don't forget to map this channel using Input configuration tab.</string>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="rollInputChannel">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input channel to control camera roll
|
||||
|
||||
@ -405,6 +435,9 @@ Don't forget to map this channel using Input configuration tab.</string>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QComboBox" name="yawStabilizationMode">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Axis stabilization mode
|
||||
|
||||
@ -420,6 +453,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QSpinBox" name="yawInputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera yaw deflection for 100% input in Attitude mode, deg.</string>
|
||||
</property>
|
||||
@ -433,6 +469,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="QSpinBox" name="yawInputRate">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera yaw rate for 100% input in AxisLock mode, deg/s.</string>
|
||||
</property>
|
||||
@ -446,6 +485,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<widget class="QSpinBox" name="yawResponseTime">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input low-pass filter response time for yaw axis, ms.
|
||||
|
||||
@ -461,6 +503,9 @@ This option smoothes the stick input. Zero value disables LPF.</string>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QComboBox" name="pitchStabilizationMode">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Axis stabilization mode
|
||||
|
||||
@ -476,6 +521,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSpinBox" name="pitchInputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera pitch deflection for 100% input in Attitude mode, deg.</string>
|
||||
</property>
|
||||
@ -489,6 +537,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QSpinBox" name="pitchInputRate">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera pitch rate for 100% input in AxisLock mode, deg/s.</string>
|
||||
</property>
|
||||
@ -502,6 +553,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QSpinBox" name="pitchResponseTime">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input low-pass filter response time for pitch axis, ms.
|
||||
|
||||
@ -517,6 +571,9 @@ This option smoothes the stick input. Zero value disables LPF.</string>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="rollStabilizationMode">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Axis stabilization mode
|
||||
|
||||
@ -532,6 +589,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="rollInputRange">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera roll deflection for 100% input in Attitude mode, deg.</string>
|
||||
</property>
|
||||
@ -545,6 +605,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="rollInputRate">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum camera roll rate for 100% input in AxisLock mode, deg/s.</string>
|
||||
</property>
|
||||
@ -558,6 +621,9 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSpinBox" name="rollResponseTime">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Input low-pass filter response time for roll axis, ms.
|
||||
|
||||
@ -615,6 +681,9 @@ This option smoothes the stick input. Zero value disables LPF.</string>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QDoubleSpinBox" name="MaxAxisLockRate">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Stick input deadband for all axes in AxisLock mode, deg/s.
|
||||
|
||||
|
@ -89,6 +89,8 @@ ConfigCameraStabilizationWidget::ConfigCameraStabilizationWidget(QWidget *parent
|
||||
connect(m_camerastabilization->camerastabilizationSaveRAM, SIGNAL(clicked()), this, SLOT(applySettings()));
|
||||
connect(m_camerastabilization->camerastabilizationSaveSD, SIGNAL(clicked()), this, SLOT(saveSettings()));
|
||||
connect(m_camerastabilization->camerastabilizationHelp, SIGNAL(clicked()), this, SLOT(openHelp()));
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
ConfigCameraStabilizationWidget::~ConfigCameraStabilizationWidget()
|
||||
|
@ -41,7 +41,6 @@ class ConfigCameraStabilizationWidget: public ConfigTaskWidget
|
||||
public:
|
||||
ConfigCameraStabilizationWidget(QWidget *parent = 0);
|
||||
~ConfigCameraStabilizationWidget();
|
||||
|
||||
private:
|
||||
Ui_CameraStabilizationWidget *m_camerastabilization;
|
||||
virtual void enableControls(bool enable);
|
||||
|
@ -52,6 +52,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
|
||||
connect(m_stabilization->checkBox_3,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
|
||||
|
||||
connect(this,SIGNAL(widgetContentsChanged(QWidget*)),this,SLOT(processLinkedWidgets(QWidget*)));
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
|
||||
|
@ -67,6 +67,8 @@ ConfigTxPIDWidget::ConfigTxPIDWidget(QWidget *parent) : ConfigTaskWidget(parent)
|
||||
enableControls(false);
|
||||
populateWidgets();
|
||||
refreshWidgetsValues();
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
ConfigTxPIDWidget::~ConfigTxPIDWidget()
|
||||
|
@ -37,7 +37,6 @@ class ConfigTxPIDWidget : public ConfigTaskWidget
|
||||
public:
|
||||
ConfigTxPIDWidget(QWidget *parent = 0);
|
||||
~ConfigTxPIDWidget();
|
||||
|
||||
private:
|
||||
Ui_TxPIDWidget *m_txpid;
|
||||
|
||||
|
@ -233,6 +233,7 @@ ConfigVehicleTypeWidget::ConfigVehicleTypeWidget(QWidget *parent) : ConfigTaskWi
|
||||
setupGroundVehicleUI( m_aircraft->groundVehicleType->currentText() );
|
||||
setupFixedWingUI( m_aircraft->fixedWingType->currentText() );
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
|
||||
@ -244,7 +245,6 @@ ConfigVehicleTypeWidget::~ConfigVehicleTypeWidget()
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Slot for switching the airframe type. We do it explicitely
|
||||
rather than a signal in the UI, because we want to force a fitInView of the quad shapes.
|
||||
|
@ -291,6 +291,9 @@ margin:1px;</string>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
@ -301,6 +304,9 @@ margin:1px;</string>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
@ -311,6 +317,9 @@ margin:1px;</string>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@ -324,13 +333,25 @@ margin:1px;</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="fmsSsPos2Roll"/>
|
||||
<widget class="QComboBox" name="fmsSsPos2Roll">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QComboBox" name="fmsSsPos2Pitch"/>
|
||||
<widget class="QComboBox" name="fmsSsPos2Pitch">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QComboBox" name="fmsSsPos2Yaw"/>
|
||||
<widget class="QComboBox" name="fmsSsPos2Yaw">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_22">
|
||||
@ -343,13 +364,25 @@ margin:1px;</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="fmsSsPos3Roll"/>
|
||||
<widget class="QComboBox" name="fmsSsPos3Roll">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QComboBox" name="fmsSsPos3Pitch"/>
|
||||
<widget class="QComboBox" name="fmsSsPos3Pitch">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QComboBox" name="fmsSsPos3Yaw"/>
|
||||
<widget class="QComboBox" name="fmsSsPos3Yaw">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_8">
|
||||
@ -424,6 +457,9 @@ margin:1px;</string>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="fmsModePos3">
|
||||
<property name="geometry">
|
||||
@ -434,6 +470,9 @@ margin:1px;</string>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select the stabilization mode on this position (manual/stabilized/auto)</string>
|
||||
</property>
|
||||
@ -460,6 +499,9 @@ margin:1px;</string>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="geometry">
|
||||
@ -499,6 +541,9 @@ margin:1px;</string>
|
||||
<height>81</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>This slider moves when you move the flight mode switch
|
||||
on your remote. Setup the flightmode channel on the RC Input tab
|
||||
@ -572,6 +617,9 @@ if you have not done so already.</string>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="armControl">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Indicate the control used for arming the airframe, in addition to setting the throttle to its minimum position. In other terms "Throttle Off".</string>
|
||||
</property>
|
||||
@ -603,6 +651,9 @@ if you have not done so already.</string>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="armTimeout">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>After the time indicated here, the frame go back to disarmed state.</string>
|
||||
</property>
|
||||
@ -733,17 +784,30 @@ Applies and Saves all settings to SD</string>
|
||||
<tabstops>
|
||||
<tabstop>fmsSlider</tabstop>
|
||||
<tabstop>fmsModePos3</tabstop>
|
||||
<tabstop>fmsSsPos3Roll</tabstop>
|
||||
<tabstop>fmsSsPos3Pitch</tabstop>
|
||||
<tabstop>fmsSsPos3Yaw</tabstop>
|
||||
<tabstop>fmsModePos2</tabstop>
|
||||
<tabstop>fmsSsPos2Roll</tabstop>
|
||||
<tabstop>fmsSsPos2Pitch</tabstop>
|
||||
<tabstop>fmsSsPos2Yaw</tabstop>
|
||||
<tabstop>fmsModePos1</tabstop>
|
||||
<tabstop>fmsSsPos1Roll</tabstop>
|
||||
<tabstop>fmsSsPos1Pitch</tabstop>
|
||||
<tabstop>fmsSsPos1Yaw</tabstop>
|
||||
<tabstop>fmsSsPos2Roll</tabstop>
|
||||
<tabstop>fmsSsPos2Pitch</tabstop>
|
||||
<tabstop>fmsSsPos2Yaw</tabstop>
|
||||
<tabstop>fmsSsPos3Roll</tabstop>
|
||||
<tabstop>fmsSsPos3Pitch</tabstop>
|
||||
<tabstop>fmsSsPos3Yaw</tabstop>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
<tabstop>deadband</tabstop>
|
||||
<tabstop>configurationWizard</tabstop>
|
||||
<tabstop>runCalibration</tabstop>
|
||||
<tabstop>graphicsView</tabstop>
|
||||
<tabstop>wzBack</tabstop>
|
||||
<tabstop>wzNext</tabstop>
|
||||
<tabstop>wzCancel</tabstop>
|
||||
<tabstop>armControl</tabstop>
|
||||
<tabstop>armTimeout</tabstop>
|
||||
<tabstop>inputHelp</tabstop>
|
||||
<tabstop>saveRCInputToRAM</tabstop>
|
||||
<tabstop>saveRCInputToSD</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../coreplugin/core.qrc"/>
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "manualcontrolsettings.h"
|
||||
|
||||
inputChannelForm::inputChannelForm(QWidget *parent,bool showlegend) :
|
||||
QWidget(parent),
|
||||
ConfigTaskWidget(parent),
|
||||
ui(new Ui::inputChannelForm)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@ -36,12 +36,16 @@ inputChannelForm::inputChannelForm(QWidget *parent,bool showlegend) :
|
||||
// a spin box fixes this
|
||||
connect(ui->channelNumberDropdown,SIGNAL(currentIndexChanged(int)),this,SLOT(channelDropdownUpdated(int)));
|
||||
connect(ui->channelNumber,SIGNAL(valueChanged(int)),this,SLOT(channelNumberUpdated(int)));
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
|
||||
inputChannelForm::~inputChannelForm()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void inputChannelForm::setName(QString &name)
|
||||
{
|
||||
ui->channelName->setText(name);
|
||||
|
@ -7,7 +7,7 @@ namespace Ui {
|
||||
class inputChannelForm;
|
||||
}
|
||||
|
||||
class inputChannelForm : public QWidget
|
||||
class inputChannelForm : public ConfigTaskWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -65,6 +65,9 @@
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
@ -75,6 +78,9 @@
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::NoButtons</enum>
|
||||
</property>
|
||||
@ -94,6 +100,9 @@
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::NoButtons</enum>
|
||||
</property>
|
||||
@ -275,6 +284,9 @@ font:bold;</string>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -300,6 +312,9 @@ font:bold;</string>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>7</number>
|
||||
</property>
|
||||
@ -471,6 +486,15 @@ font:bold;</string>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>channelNumber</tabstop>
|
||||
<tabstop>channelGroup</tabstop>
|
||||
<tabstop>channelNumberDropdown</tabstop>
|
||||
<tabstop>channelMin</tabstop>
|
||||
<tabstop>channelNeutral</tabstop>
|
||||
<tabstop>channelMax</tabstop>
|
||||
<tabstop>channelRev</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "configoutputwidget.h"
|
||||
|
||||
OutputChannelForm::OutputChannelForm(const int index, QWidget *parent, const bool showLegend) :
|
||||
QWidget(parent),
|
||||
ConfigTaskWidget(parent),
|
||||
ui(),
|
||||
m_index(index),
|
||||
m_inChannelTest(false)
|
||||
@ -70,6 +70,8 @@ OutputChannelForm::OutputChannelForm(const int index, QWidget *parent, const boo
|
||||
ui.actuatorLink->setChecked(false);
|
||||
connect(ui.actuatorLink, SIGNAL(toggled(bool)),
|
||||
this, SLOT(linkToggled(bool)));
|
||||
|
||||
disbleMouseWheelEvents();
|
||||
}
|
||||
|
||||
OutputChannelForm::~OutputChannelForm()
|
||||
|
@ -29,10 +29,9 @@
|
||||
|
||||
#include <QWidget>
|
||||
#include "ui_outputchannelform.h"
|
||||
#include "configtaskwidget.h"
|
||||
|
||||
class ConfigOnputWidget;
|
||||
|
||||
class OutputChannelForm : public QWidget
|
||||
class OutputChannelForm : public ConfigTaskWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -10198,7 +10198,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Full Stick
|
||||
Angle</string>
|
||||
Angle (deg)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@ -10226,7 +10226,7 @@ Angle</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10245,7 +10245,7 @@ Angle</string>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10269,17 +10269,17 @@ Angle</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10322,7 +10322,7 @@ Angle</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10341,7 +10341,7 @@ Angle</string>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10365,17 +10365,17 @@ Angle</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10418,7 +10418,7 @@ Angle</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10437,7 +10437,7 @@ Angle</string>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10461,17 +10461,17 @@ Angle</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>scale:1.0</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10490,7 +10490,7 @@ Angle</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Full Stick
|
||||
Rate</string>
|
||||
Rate (deg/s)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@ -10518,7 +10518,7 @@ Rate</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10538,7 +10538,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10562,10 +10562,10 @@ Rate</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
@ -10573,7 +10573,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10600,7 +10600,7 @@ Rate</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10620,7 +10620,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10644,10 +10644,10 @@ Rate</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
@ -10655,7 +10655,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10682,7 +10682,7 @@ Rate</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10702,7 +10702,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10726,10 +10726,10 @@ Rate</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
<number>180</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
@ -10737,7 +10737,7 @@ Rate</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10784,7 +10784,7 @@ Attitude</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10804,7 +10804,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10828,7 +10828,7 @@ Attitude</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
@ -10839,7 +10839,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10866,7 +10866,7 @@ Attitude</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10886,7 +10886,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10910,7 +10910,7 @@ Attitude</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
@ -10921,7 +10921,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10948,7 +10948,7 @@ Attitude</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
@ -10968,7 +10968,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -10992,7 +10992,7 @@ Attitude</string>
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>200</number>
|
||||
<number>500</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>200</number>
|
||||
@ -11003,7 +11003,7 @@ Attitude</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
@ -11885,7 +11885,7 @@ border-radius: 4;
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>-403</y>
|
||||
<y>0</y>
|
||||
<width>673</width>
|
||||
<height>1079</height>
|
||||
</rect>
|
||||
@ -14743,7 +14743,7 @@ Then lower the value by 20% or so.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -14791,7 +14791,7 @@ Then lower the value by 20% or so.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -14841,7 +14841,7 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -14924,7 +14924,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -14988,7 +14988,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -15052,7 +15052,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
@ -15299,7 +15299,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
@ -15346,7 +15346,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
@ -15396,7 +15396,7 @@ value as the Kp.</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
@ -18302,7 +18302,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18346,7 +18346,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18393,7 +18393,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18475,7 +18475,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18535,7 +18535,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18598,7 +18598,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18676,7 +18676,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18720,7 +18720,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
@ -18767,7 +18767,7 @@ border-radius: 5;</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
|
@ -34,6 +34,9 @@
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="TxPIDEnable">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>This module will periodically update values of stabilization PID settings
|
||||
depending on configured input control channels. New values of stabilization
|
||||
@ -191,6 +194,9 @@ margin:1px;</string>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="PID1">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select PID option or option pair to update.
|
||||
Set to Disabled if not used.</string>
|
||||
@ -199,6 +205,9 @@ Set to Disabled if not used.</string>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QComboBox" name="Input1">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select input used as a control source for this instance.
|
||||
It can be one of Accessory channels or Throttle channel.
|
||||
@ -219,6 +228,9 @@ used, for instance, to decrease PID value when increasing Throttle.</string>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QDoubleSpinBox" name="MinPID1">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Minimum PID value mapped to Accessory channel = 0 or
|
||||
Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
@ -233,6 +245,9 @@ Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QDoubleSpinBox" name="MaxPID1">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum PID value mapped to Accessory channel = 1 or
|
||||
Throttle channel greater or equal to Throttle Max value.</string>
|
||||
@ -254,6 +269,9 @@ Throttle channel greater or equal to Throttle Max value.</string>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QComboBox" name="PID2">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select PID option or option pair to update.
|
||||
Set to Disabled if not used.</string>
|
||||
@ -262,6 +280,9 @@ Set to Disabled if not used.</string>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QComboBox" name="Input2">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select input used as a control source for this instance.
|
||||
It can be one of Accessory channels or Throttle channel.
|
||||
@ -282,6 +303,9 @@ used, for instance, to decrease PID value when increasing Throttle.</string>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QDoubleSpinBox" name="MinPID2">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Minimum PID value mapped to Accessory channel = 0 or
|
||||
Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
@ -296,6 +320,9 @@ Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QDoubleSpinBox" name="MaxPID2">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum PID value mapped to Accessory channel = 1 or
|
||||
Throttle channel greater or equal to Throttle Max value.</string>
|
||||
@ -317,6 +344,9 @@ Throttle channel greater or equal to Throttle Max value.</string>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="PID3">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select PID option or option pair to update.
|
||||
Set to Disabled if not used.</string>
|
||||
@ -325,6 +355,9 @@ Set to Disabled if not used.</string>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QComboBox" name="Input3">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select input used as a control source for this instance.
|
||||
It can be one of Accessory channels or Throttle channel.
|
||||
@ -345,6 +378,9 @@ used, for instance, to decrease PID value when increasing Throttle.</string>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QDoubleSpinBox" name="MinPID3">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Minimum PID value mapped to Accessory channel = 0 or
|
||||
Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
@ -359,6 +395,9 @@ Throttle channel lesser or equal to Throttle Min value.</string>
|
||||
</item>
|
||||
<item row="4" column="4">
|
||||
<widget class="QDoubleSpinBox" name="MaxPID3">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Maximum PID value mapped to Accessory channel = 1 or
|
||||
Throttle channel greater or equal to Throttle Max value.</string>
|
||||
@ -380,6 +419,9 @@ Throttle channel greater or equal to Throttle Max value.</string>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QComboBox" name="UpdateMode">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>PID values update mode which can be set to:
|
||||
- Never: this disables PID updates (but module still will be run if enabled),
|
||||
@ -403,6 +445,9 @@ only when system is armed without disabling the module.</string>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QDoubleSpinBox" name="ThrottleMin">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Throttle channel lower bound mapped to PID Min value</string>
|
||||
</property>
|
||||
@ -416,6 +461,9 @@ only when system is armed without disabling the module.</string>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QDoubleSpinBox" name="ThrottleMax">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Throttle channel upper bound mapped to PID Max value</string>
|
||||
</property>
|
||||
@ -578,6 +626,21 @@ margin:1px;</string>
|
||||
<tabstop>Apply</tabstop>
|
||||
<tabstop>Save</tabstop>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>PID1</tabstop>
|
||||
<tabstop>Input1</tabstop>
|
||||
<tabstop>MinPID1</tabstop>
|
||||
<tabstop>MaxPID1</tabstop>
|
||||
<tabstop>PID2</tabstop>
|
||||
<tabstop>Input2</tabstop>
|
||||
<tabstop>MinPID2</tabstop>
|
||||
<tabstop>MaxPID2</tabstop>
|
||||
<tabstop>PID3</tabstop>
|
||||
<tabstop>Input3</tabstop>
|
||||
<tabstop>MinPID3</tabstop>
|
||||
<tabstop>MaxPID3</tabstop>
|
||||
<tabstop>ThrottleMin</tabstop>
|
||||
<tabstop>ThrottleMax</tabstop>
|
||||
<tabstop>UpdateMode</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -49,6 +49,7 @@ const char * const GCS_VERSION_LONG = GCS_VERSION;
|
||||
const char * const GCS_AUTHOR = "OpenPilot Project";
|
||||
const char * const GCS_YEAR = "2011";
|
||||
|
||||
const char * const GCS_HELP = "http://wiki.openpilot.org";
|
||||
#ifdef GCS_REVISION
|
||||
const char * const GCS_REVISION_STR = STRINGIFY(GCS_REVISION);
|
||||
#else
|
||||
|
@ -83,6 +83,7 @@
|
||||
#include <QtGui/QWizard>
|
||||
#include <QtGui/QToolButton>
|
||||
#include <QtGui/QMessageBox>
|
||||
#include <QDesktopServices>
|
||||
|
||||
/*
|
||||
#ifdef Q_OS_UNIX
|
||||
@ -731,10 +732,7 @@ void MainWindow::registerDefaultActions()
|
||||
cmd = am->registerAction(tmpaction, Constants::G_HELP_HELP, m_globalContext);
|
||||
mhelp->addAction(cmd, Constants::G_HELP_HELP);
|
||||
tmpaction->setEnabled(true);
|
||||
#ifdef Q_WS_MAC
|
||||
cmd->action()->setMenuRole(QAction::ApplicationSpecificRole);
|
||||
#endif
|
||||
connect(tmpaction, SIGNAL(triggered()), this, SLOT(aboutPlugins()));
|
||||
connect(tmpaction, SIGNAL(triggered()), this, SLOT(showHelp()));
|
||||
|
||||
// About sep
|
||||
#ifndef Q_WS_MAC // doesn't have the "About" actions in the Help menu
|
||||
@ -870,6 +868,11 @@ void MainWindow::applyTabBarSettings(QTabWidget::TabPosition pos, bool movable)
|
||||
m_modeStack->setMovable(movable);
|
||||
}
|
||||
|
||||
void MainWindow::showHelp()
|
||||
{
|
||||
QDesktopServices::openUrl( QUrl(Constants::GCS_HELP, QUrl::StrictMode) );
|
||||
}
|
||||
|
||||
ActionManager *MainWindow::actionManager() const
|
||||
{
|
||||
return m_actionManager;
|
||||
|
@ -163,6 +163,7 @@ private slots:
|
||||
void modeChanged(Core::IMode *mode);
|
||||
void showUavGadgetMenus(bool show, bool hasSplitter);
|
||||
void applyTabBarSettings(QTabWidget::TabPosition pos, bool movable);
|
||||
void showHelp();
|
||||
|
||||
private:
|
||||
void updateContextObject(IContext *context);
|
||||
|
@ -304,7 +304,7 @@ void PFDGadgetWidget::updateAirspeed(UAVObject *object) {
|
||||
UAVObjectField* eastField = object->getField("East");
|
||||
if (northField && eastField) {
|
||||
double val = floor(sqrt(pow(northField->getDouble(),2) + pow(eastField->getDouble(),2))*10)/10;
|
||||
groundspeedTarget = 3.6*val*speedScaleHeight/3000;
|
||||
groundspeedTarget = 3.6*val*speedScaleHeight/30;
|
||||
|
||||
if (!dialTimer.isActive())
|
||||
dialTimer.start(); // Rearm the dial Timer which might be stopped.
|
||||
@ -321,7 +321,7 @@ void PFDGadgetWidget::updateAltitude(UAVObject *object) {
|
||||
UAVObjectField* downField = object->getField("Down");
|
||||
if (downField) {
|
||||
// The altitude scale represents 30 meters
|
||||
altitudeTarget = -floor(downField->getDouble()*10)/10*altitudeScaleHeight/3000;
|
||||
altitudeTarget = -floor(downField->getDouble()*10)/10*altitudeScaleHeight/30;
|
||||
if (!dialTimer.isActive())
|
||||
dialTimer.start(); // Rearm the dial Timer which might be stopped.
|
||||
|
||||
|
@ -367,7 +367,7 @@ void ConfigTaskWidget::forceShadowUpdates()
|
||||
setDirty(true);
|
||||
}
|
||||
/**
|
||||
* SLOT function called when on of the widgets contents added to the framework changes
|
||||
* SLOT function called when one of the widgets contents added to the framework changes
|
||||
*/
|
||||
void ConfigTaskWidget::widgetsContentsChanged()
|
||||
{
|
||||
@ -412,7 +412,8 @@ void ConfigTaskWidget::widgetsContentsChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
smartsave->resetIcons();
|
||||
if(smartsave)
|
||||
smartsave->resetIcons();
|
||||
setDirty(true);
|
||||
}
|
||||
/**
|
||||
@ -1144,6 +1145,30 @@ void ConfigTaskWidget::loadWidgetLimits(QWidget * widget,UAVObjectField * field,
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::disbleMouseWheelEvents()
|
||||
{
|
||||
//Disable mouse wheel events
|
||||
foreach( QSpinBox * sp, findChildren<QSpinBox*>() ) {
|
||||
sp->installEventFilter( this );
|
||||
}
|
||||
foreach( QDoubleSpinBox * sp, findChildren<QDoubleSpinBox*>() ) {
|
||||
sp->installEventFilter( this );
|
||||
}
|
||||
foreach( QSlider * sp, findChildren<QSlider*>() ) {
|
||||
sp->installEventFilter( this );
|
||||
}
|
||||
}
|
||||
|
||||
bool ConfigTaskWidget::eventFilter( QObject * obj, QEvent * evt ) {
|
||||
//Filter all wheel events, and ignore them
|
||||
if ( evt->type() == QEvent::Wheel &&
|
||||
(qobject_cast<QAbstractSpinBox*>( obj ) || qobject_cast<QAbstractSlider*>( obj ) ))
|
||||
{
|
||||
evt->ignore();
|
||||
return true;
|
||||
}
|
||||
return QWidget::eventFilter( obj, evt );
|
||||
}
|
||||
/**
|
||||
@}
|
||||
@}
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include "uavobjectwidgetutils_global.h"
|
||||
#include <QDesktopServices>
|
||||
#include <QUrl>
|
||||
#include <QEvent>
|
||||
|
||||
class UAVOBJECTWIDGETUTILS_EXPORT ConfigTaskWidget: public QWidget
|
||||
{
|
||||
@ -85,6 +86,9 @@ public:
|
||||
ConfigTaskWidget(QWidget *parent = 0);
|
||||
~ConfigTaskWidget();
|
||||
|
||||
void disbleMouseWheelEvents();
|
||||
bool eventFilter( QObject * obj, QEvent * evt );
|
||||
|
||||
void saveObjectToSD(UAVObject *obj);
|
||||
UAVObjectManager* getObjectManager();
|
||||
static double listMean(QList<double> list);
|
||||
|
@ -71,18 +71,23 @@ void ImportSummaryDialog::addLine(QString uavObjectName, QString text, bool stat
|
||||
{
|
||||
ui->importSummaryList->setRowCount(ui->importSummaryList->rowCount()+1);
|
||||
int row = ui->importSummaryList->rowCount()-1;
|
||||
ui->progressBar->setMaximum(row);
|
||||
ui->importSummaryList->setCellWidget(row,0,new QCheckBox(ui->importSummaryList));
|
||||
QTableWidgetItem *objName = new QTableWidgetItem(uavObjectName);
|
||||
ui->importSummaryList->setItem(row, 1, objName);
|
||||
QCheckBox *box = dynamic_cast<QCheckBox*>(ui->importSummaryList->cellWidget(row,0));
|
||||
ui->importSummaryList->setItem(row,2,new QTableWidgetItem(text));
|
||||
|
||||
//Disable editability and selectability in table elements
|
||||
ui->importSummaryList->item(row,1)->setFlags(!Qt::ItemIsEditable);
|
||||
ui->importSummaryList->item(row,2)->setFlags(!Qt::ItemIsEditable);
|
||||
|
||||
if (status) {
|
||||
box->setChecked(true);
|
||||
} else {
|
||||
box->setChecked(false);
|
||||
box->setEnabled(false);
|
||||
}
|
||||
|
||||
this->repaint();
|
||||
this->showEvent(NULL);
|
||||
}
|
||||
@ -92,11 +97,22 @@ void ImportSummaryDialog::addLine(QString uavObjectName, QString text, bool stat
|
||||
*/
|
||||
void ImportSummaryDialog::doTheSaving()
|
||||
{
|
||||
int itemCount=0;
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||
UAVObjectUtilManager *utilManager = pm->getObject<UAVObjectUtilManager>();
|
||||
connect(utilManager, SIGNAL(saveCompleted(int,bool)), this, SLOT(updateSaveCompletion()));
|
||||
|
||||
for(int i=0; i < ui->importSummaryList->rowCount(); i++) {
|
||||
QCheckBox *box = dynamic_cast<QCheckBox*>(ui->importSummaryList->cellWidget(i,0));
|
||||
if (box->isChecked()) {
|
||||
++itemCount;
|
||||
}
|
||||
}
|
||||
if(itemCount==0)
|
||||
return;
|
||||
ui->progressBar->setMaximum(itemCount+1);
|
||||
ui->progressBar->setValue(1);
|
||||
for(int i=0; i < ui->importSummaryList->rowCount(); i++) {
|
||||
QString uavObjectName = ui->importSummaryList->item(i,1)->text();
|
||||
QCheckBox *box = dynamic_cast<QCheckBox*>(ui->importSummaryList->cellWidget(i,0));
|
||||
@ -106,12 +122,21 @@ void ImportSummaryDialog::doTheSaving()
|
||||
this->repaint();
|
||||
}
|
||||
}
|
||||
|
||||
ui->saveToFlash->setEnabled(false);
|
||||
ui->closeButton->setEnabled(false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ImportSummaryDialog::updateSaveCompletion()
|
||||
{
|
||||
ui->progressBar->setValue(ui->progressBar->value()+1);
|
||||
if(ui->progressBar->value()==ui->progressBar->maximum())
|
||||
{
|
||||
ui->saveToFlash->setEnabled(true);
|
||||
ui->closeButton->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
void ImportSummaryDialog::changeEvent(QEvent *e)
|
||||
|
@ -79,14 +79,14 @@ UAVSettingsImportExportFactory::UAVSettingsImportExportFactory(QObject *parent):
|
||||
ac->addAction(cmd, Core::Constants::G_FILE_SAVE);
|
||||
connect(cmd->action(), SIGNAL(triggered(bool)), this, SLOT(importUAVSettings()));
|
||||
|
||||
ac = am->actionContainer(Core::Constants::M_HELP);
|
||||
cmd = am->registerAction(new QAction(this),
|
||||
"UAVSettingsImportExportPlugin.UAVDataExport",
|
||||
QList<int>() <<
|
||||
Core::Constants::C_GLOBAL_ID);
|
||||
cmd->action()->setText(tr("Export UAV Data..."));
|
||||
ac->addAction(cmd, Core::Constants::G_FILE_SAVE);
|
||||
ac->addAction(cmd, Core::Constants::G_HELP_HELP);
|
||||
connect(cmd->action(), SIGNAL(triggered(bool)), this, SLOT(exportUAVData()));
|
||||
|
||||
}
|
||||
|
||||
// Slot called by the menu manager on user action
|
||||
|
@ -516,22 +516,47 @@ void deviceWidget::setProgress(int percent)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Opens an open file dialog.
|
||||
|
||||
*/
|
||||
*Opens an open file dialog.
|
||||
*/
|
||||
QString deviceWidget::setOpenFileName()
|
||||
{
|
||||
QFileDialog::Options options;
|
||||
QString selectedFilter;
|
||||
QString fwDirectoryStr;
|
||||
QDir fwDirectory;
|
||||
|
||||
//Format filename for file chooser
|
||||
#ifdef Q_OS_WIN
|
||||
fwDirectoryStr=QCoreApplication::applicationDirPath();
|
||||
fwDirectory=QDir(fwDirectoryStr);
|
||||
fwDirectory.cdUp();
|
||||
fwDirectory.cd("firmware");
|
||||
fwDirectoryStr=fwDirectory.absolutePath();
|
||||
#elif defined Q_OS_LINUX
|
||||
fwDirectoryStr=QCoreApplication::applicationDirPath();
|
||||
fwDirectory=QDir(fwDirectoryStr);
|
||||
fwDirectory.cd("../../..");
|
||||
fwDirectoryStr=fwDirectory.absolutePath();
|
||||
fwDirectoryStr=fwDirectoryStr+"/fw_"+myDevice->lblBrdName->text().toLower()+"/fw_"+myDevice->lblBrdName->text().toLower()+".opfw";
|
||||
#elif defined Q_OS_MAC
|
||||
fwDirectoryStr=QCoreApplication::applicationDirPath();
|
||||
fwDirectory=QDir(fwDirectoryStr);
|
||||
fwDirectory.cd("../../../../../..");
|
||||
fwDirectoryStr=fwDirectory.absolutePath();
|
||||
fwDirectoryStr=fwDirectoryStr+"/fw_"+myDevice->lblBrdName->text().toLower()+"/fw_"+myDevice->lblBrdName->text().toLower()+".opfw";
|
||||
#endif
|
||||
QString fileName = QFileDialog::getOpenFileName(this,
|
||||
tr("Select firmware file"),
|
||||
"",
|
||||
fwDirectoryStr,
|
||||
tr("Firmware Files (*.opfw *.bin)"),
|
||||
&selectedFilter,
|
||||
options);
|
||||
return fileName;
|
||||
}
|
||||
|
||||
/**
|
||||
*Set the save file name
|
||||
*/
|
||||
QString deviceWidget::setSaveFileName()
|
||||
{
|
||||
QFileDialog::Options options;
|
||||
|
@ -40,6 +40,8 @@
|
||||
#include <QCryptographicHash>
|
||||
#include "uavobjectutilmanager.h"
|
||||
#include "devicedescriptorstruct.h"
|
||||
#include <QDir>
|
||||
#include <QCoreApplication>
|
||||
using namespace OP_DFU;
|
||||
class deviceWidget : public QWidget
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user