mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-28 17:54:15 +01:00
OP-893 Added Auto Update functionality to the firmware page.
This commit is contained in:
parent
649667d338
commit
864300d975
@ -77,7 +77,7 @@ void AutoUpdatePage::updateStatus(uploader::AutoUpdateStep status, QVariant valu
|
|||||||
getWizard()->setWindowIcon(qApp->windowIcon());
|
getWizard()->setWindowIcon(qApp->windowIcon());
|
||||||
enableButtons(true);
|
enableButtons(true);
|
||||||
getWizard()->show();
|
getWizard()->show();
|
||||||
ui->statusLabel->setText("Something went wrong, you will have to manualy upgrade the board using the uploader plugin");
|
ui->statusLabel->setText("Something went wrong, you will have to manually upgrade the board using the uploader plugin");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>822</width>
|
<width>822</width>
|
||||||
<height>350</height>
|
<height>523</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -15,215 +15,316 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<widget class="QScrollArea" name="scrollArea">
|
||||||
<item>
|
<property name="frameShape">
|
||||||
<widget class="QPushButton" name="haltButton">
|
<enum>QFrame::NoFrame</enum>
|
||||||
<property name="enabled">
|
</property>
|
||||||
<bool>false</bool>
|
<property name="widgetResizable">
|
||||||
</property>
|
<bool>true</bool>
|
||||||
<property name="toolTip">
|
</property>
|
||||||
<string>Tells the mainboard to go down
|
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>804</width>
|
||||||
|
<height>505</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="buttonFrame">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<property name="lineWidth">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="autoUpdateButton">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Start a guided procedure to manually
|
||||||
|
recover a system which does not boot.
|
||||||
|
|
||||||
|
Rescue is possible in USB mode only.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Auto Update</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="haltButton">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Tells the mainboard to go down
|
||||||
to bootloader mode.
|
to bootloader mode.
|
||||||
(Only enabled if telemetry link is established, either
|
(Only enabled if telemetry link is established, either
|
||||||
through serial or USB)</string>
|
through serial or USB)</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Halt</string>
|
<string>Halt</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="bootButton">
|
<widget class="QPushButton" name="resetButton">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Boots the system.
|
<string>Reset the system.
|
||||||
|
(Only enabled if telemetry link is established, either
|
||||||
|
through serial or USB)</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Reset</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="bootButton">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Boots the system.
|
||||||
Only useful if the system is halted
|
Only useful if the system is halted
|
||||||
(mainboard blue LED blinking slowly, green LED on)
|
(mainboard blue LED blinking slowly, green LED on)
|
||||||
|
|
||||||
If telemetry is not running, select the link using the dropdown
|
If telemetry is not running, select the link using the dropdown
|
||||||
menu on the right.</string>
|
menu on the right.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Boot</string>
|
<string>Boot</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="safeBootButton">
|
<widget class="QPushButton" name="safeBootButton">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Boots the system into safe mode (ie. default HwSettings).
|
<string>Boots the system into safe mode (ie. default HwSettings).
|
||||||
Only useful if the system is halted
|
Only useful if the system is halted
|
||||||
(mainboard blue LED blinking slowly, orange LED off)
|
(mainboard blue LED blinking slowly, orange LED off)
|
||||||
|
|
||||||
If telemetry is not running, select the link using the dropdown
|
If telemetry is not running, select the link using the dropdown
|
||||||
menu on the right.</string>
|
menu on the right.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Safe Boot</string>
|
<string>Safe Boot</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="eraseBootButton">
|
<widget class="QPushButton" name="rescueButton">
|
||||||
<property name="enabled">
|
<property name="toolTip">
|
||||||
<bool>true</bool>
|
<string>Start a guided procedure to manually
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>Reboot the board and clear its settings memory.</p><p> Useful if the board cannot boot properly.</p><p> Blue led starts blinking quick for 20-30 seconds than the board will start normally</p><p><br/></p><p>If telemetry is not running, select the link using the dropdown</p><p>menu on the right.</p><p>PLEASE NOTE: Supported with bootloader versions 4.0 and earlier</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Erase settings</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="resetButton">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Reset the system.
|
|
||||||
(Only enabled if telemetry link is established, either
|
|
||||||
through serial or USB)</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Reset</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="rescueButton">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Start a guided procedure to manually
|
|
||||||
recover a system which does not boot.
|
recover a system which does not boot.
|
||||||
|
|
||||||
Rescue is possible in USB mode only.</string>
|
Rescue is possible in USB mode only.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Rescue</string>
|
<string>Rescue</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer">
|
<widget class="QPushButton" name="eraseBootButton">
|
||||||
<property name="orientation">
|
<property name="enabled">
|
||||||
<enum>Qt::Horizontal</enum>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="toolTip">
|
||||||
<size>
|
<string><html><head/><body><p>Reboot the board and clear its settings memory.</p><p> Useful if the board cannot boot properly.</p><p> Blue led starts blinking quick for 20-30 seconds than the board will start normally</p><p><br/></p><p>If telemetry is not running, select the link using the dropdown</p><p>menu on the right.</p><p>PLEASE NOTE: Supported with bootloader versions 4.0 and earlier</p></body></html></string>
|
||||||
<width>40</width>
|
</property>
|
||||||
<height>20</height>
|
<property name="text">
|
||||||
</size>
|
<string>Erase settings</string>
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="telemetryLink">
|
<spacer name="horizontalSpacer">
|
||||||
<property name="toolTip">
|
<property name="orientation">
|
||||||
<string>When telemetry is not connected, select the communication
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="telemetryLink">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>When telemetry is not connected, select the communication
|
||||||
method using this combo box.
|
method using this combo box.
|
||||||
|
|
||||||
You can use this to force a communication channel when doing
|
You can use this to force a communication channel when doing
|
||||||
a "Boot" (button on the left). It is updated automatically when
|
a "Boot" (button on the left). It is updated automatically when
|
||||||
halting a running board.</string>
|
halting a running board.</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="refreshPorts">
|
<widget class="QToolButton" name="refreshPorts">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Refresh the list of serial ports</string>
|
<string>Refresh the list of serial ports</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>...</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="boardStatus">
|
<widget class="QLabel" name="boardStatus">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<weight>75</weight>
|
<weight>75</weight>
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Running</string>
|
<string>Running</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pbHelp">
|
<widget class="QPushButton" name="pbHelp">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../coreplugin/core.qrc">
|
<iconset resource="../coreplugin/core.qrc">
|
||||||
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
<normaloff>:/core/images/helpicon.svg</normaloff>:/core/images/helpicon.svg</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
<size>
|
<size>
|
||||||
<width>30</width>
|
<width>30</width>
|
||||||
<height>30</height>
|
<height>30</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="flat">
|
<property name="flat">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
</layout>
|
||||||
<widget class="QSplitter" name="splitter">
|
</widget>
|
||||||
<property name="orientation">
|
</item>
|
||||||
<enum>Qt::Vertical</enum>
|
<item>
|
||||||
</property>
|
<widget class="QGroupBox" name="autoUpdateGroupBox">
|
||||||
<widget class="QTabWidget" name="systemElements">
|
<property name="title">
|
||||||
<property name="currentIndex">
|
<string>Auto update</string>
|
||||||
<number>0</number>
|
</property>
|
||||||
</property>
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<widget class="QWidget" name="defaultTab">
|
<item row="1" column="1">
|
||||||
<attribute name="title">
|
<widget class="QPushButton" name="autoUpdateOkButton">
|
||||||
<string>Mainboard</string>
|
<property name="text">
|
||||||
</attribute>
|
<string>OK</string>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
</property>
|
||||||
<item>
|
</widget>
|
||||||
<widget class="QTextEdit" name="textEdit">
|
</item>
|
||||||
<property name="html">
|
<item row="1" column="0">
|
||||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<widget class="QProgressBar" name="autoUpdateProgressBar">
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="textVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="autoUpdateLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Progress</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSplitter" name="splitter">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<widget class="QTabWidget" name="systemElements">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="defaultTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Mainboard</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEdit">
|
||||||
|
<property name="html">
|
||||||
|
<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">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
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:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
|
||||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">To upgrade the firmware in your boards, proceed as follows:</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:'Ubuntu'; font-size:11pt;">To upgrade the firmware in your boards,</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:'Ubuntu'; font-size:11pt;">press Auto Update and follow instructions</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:'Ubuntu'; font-size:11pt;">or</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:'Ubuntu'; font-size:11pt;">proceed as follows:</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="-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;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- Connect telemetry</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:'Ubuntu'; font-size:11pt;">- Connect telemetry</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:'Ubuntu'; font-size:11pt;">- Once telemetry is running, press &quot;Halt&quot; above</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:'Ubuntu'; font-size:11pt;">- Once telemetry is running, press &quot;Halt&quot; above</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:'Ubuntu'; font-size:11pt;">- You will get a list of devices.</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:'Ubuntu'; font-size:11pt;">- You will get a list of devices.</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:'Ubuntu'; font-size:11pt;">- You can then upload/download to/from each board as you wish</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:'Ubuntu'; font-size:11pt;">- You can then upload/download to/from each board as you wish</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:'Ubuntu'; font-size:11pt;">- You can resume operations by pressing &quot;Boot&quot;</span></p></body></html></string>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">- You can resume operations by pressing &quot;Boot&quot;</span></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
<widget class="QTextBrowser" name="textBrowser">
|
||||||
</layout>
|
<property name="horizontalScrollBarPolicy">
|
||||||
</widget>
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
</widget>
|
</property>
|
||||||
<widget class="QTextBrowser" name="textBrowser">
|
<property name="html">
|
||||||
<property name="horizontalScrollBarPolicy">
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<property name="html">
|
|
||||||
<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">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
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:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
|
||||||
<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></body></html></string>
|
<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></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -60,6 +60,11 @@ UploaderGadgetWidget::UploaderGadgetWidget(QWidget *parent) : QWidget(parent)
|
|||||||
connect(cm, SIGNAL(deviceConnected(QIODevice *)), this, SLOT(onPhisicalHWConnect()));
|
connect(cm, SIGNAL(deviceConnected(QIODevice *)), this, SLOT(onPhisicalHWConnect()));
|
||||||
getSerialPorts();
|
getSerialPorts();
|
||||||
|
|
||||||
|
m_config->autoUpdateButton->setEnabled(autoUpdateCapable());
|
||||||
|
connect(m_config->autoUpdateButton, SIGNAL(clicked()), this, SLOT(startAutoUpdate()));
|
||||||
|
connect(m_config->autoUpdateOkButton, SIGNAL(clicked()), this, SLOT(closeAutoUpdate()));
|
||||||
|
m_config->autoUpdateGroupBox->setVisible(false);
|
||||||
|
|
||||||
QIcon rbi;
|
QIcon rbi;
|
||||||
rbi.addFile(QString(":uploader/images/view-refresh.svg"));
|
rbi.addFile(QString(":uploader/images/view-refresh.svg"));
|
||||||
m_config->refreshPorts->setIcon(rbi);
|
m_config->refreshPorts->setIcon(rbi);
|
||||||
@ -816,6 +821,68 @@ void UploaderGadgetWidget::downloadEnded(bool succeed)
|
|||||||
m_config->rescueButton->setEnabled(true);
|
m_config->rescueButton->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UploaderGadgetWidget::startAutoUpdate()
|
||||||
|
{
|
||||||
|
m_config->buttonFrame->setEnabled(false);
|
||||||
|
m_config->splitter->setEnabled(false);
|
||||||
|
m_config->autoUpdateGroupBox->setVisible(true);
|
||||||
|
m_config->autoUpdateOkButton->setEnabled(false);
|
||||||
|
connect(this, SIGNAL(autoUpdateSignal(uploader::AutoUpdateStep, QVariant)), this, SLOT(autoUpdateStatus(uploader::AutoUpdateStep, QVariant)));
|
||||||
|
autoUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UploaderGadgetWidget::finishAutoUpdate()
|
||||||
|
{
|
||||||
|
disconnect(this, SIGNAL(autoUpdateSignal(uploader::AutoUpdateStep, QVariant)), this, SLOT(autoUpdateStatus(uploader::AutoUpdateStep, QVariant)));
|
||||||
|
m_config->autoUpdateOkButton->setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UploaderGadgetWidget::closeAutoUpdate()
|
||||||
|
{
|
||||||
|
m_config->autoUpdateGroupBox->setVisible(false);
|
||||||
|
m_config->buttonFrame->setEnabled(true);
|
||||||
|
m_config->splitter->setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UploaderGadgetWidget::autoUpdateStatus(uploader::AutoUpdateStep status, QVariant value)
|
||||||
|
{
|
||||||
|
switch(status)
|
||||||
|
{
|
||||||
|
case uploader::WAITING_DISCONNECT:
|
||||||
|
m_config->autoUpdateLabel->setText("Waiting for all OpenPilot boards to be disconnected from USB.");
|
||||||
|
break;
|
||||||
|
case uploader::WAITING_CONNECT:
|
||||||
|
m_config->autoUpdateLabel->setText("Please connect the OpenPilot board to the USB port.");
|
||||||
|
m_config->autoUpdateProgressBar->setValue(value.toInt());
|
||||||
|
break;
|
||||||
|
case uploader::JUMP_TO_BL:
|
||||||
|
m_config->autoUpdateProgressBar->setValue(0);
|
||||||
|
m_config->autoUpdateLabel->setText("Bringing the board into boot loader mode.");
|
||||||
|
break;
|
||||||
|
case uploader::LOADING_FW:
|
||||||
|
m_config->autoUpdateLabel->setText("Preparing to upload firmware to the board.");
|
||||||
|
break;
|
||||||
|
case uploader::UPLOADING_FW:
|
||||||
|
m_config->autoUpdateLabel->setText("Uploading firmware to the board.");
|
||||||
|
m_config->autoUpdateProgressBar->setValue(value.toInt());
|
||||||
|
break;
|
||||||
|
case uploader::UPLOADING_DESC:
|
||||||
|
m_config->autoUpdateLabel->setText("Uploading description of the new firmware to the board.");
|
||||||
|
break;
|
||||||
|
case uploader::BOOTING:
|
||||||
|
m_config->autoUpdateLabel->setText("Rebooting the board.");
|
||||||
|
break;
|
||||||
|
case uploader::SUCCESS:
|
||||||
|
m_config->autoUpdateLabel->setText("<font color='green'>Board was updated successfully, press OK to finish.</font>");
|
||||||
|
finishAutoUpdate();
|
||||||
|
break;
|
||||||
|
case uploader::FAILURE:
|
||||||
|
m_config->autoUpdateLabel->setText("<font color='red'>Something went wrong, you will have to manually upgrade the board. Press OK to continue.</font>");
|
||||||
|
finishAutoUpdate();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Update log entry
|
Update log entry
|
||||||
*/
|
*/
|
||||||
|
@ -118,6 +118,11 @@ private slots:
|
|||||||
void uploadEnded(bool succeed);
|
void uploadEnded(bool succeed);
|
||||||
void downloadStarted();
|
void downloadStarted();
|
||||||
void downloadEnded(bool succeed);
|
void downloadEnded(bool succeed);
|
||||||
|
void startAutoUpdate();
|
||||||
|
void finishAutoUpdate();
|
||||||
|
void closeAutoUpdate();
|
||||||
|
void autoUpdateStatus(uploader::AutoUpdateStep status, QVariant value);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // UPLOADERGADGETWIDGET_H
|
#endif // UPLOADERGADGETWIDGET_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user