Skip to content

Commit 4f912bf

Browse files
committed
Default to No FIS; no Safeboot. Add warning when No FIS is deselected
1 parent 2ef13f2 commit 4f912bf

File tree

3 files changed

+27
-13
lines changed

3 files changed

+27
-13
lines changed

u-blox_Update_GUI/RTK_u-blox_Update_GUI.py

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
It is a wrapper for u-blox's ubxfwupdate.exe. The actual updating is done by ubxfwupdate.exe.
44
This GUI checks which device you are trying to update before calling ubxfwupdate.exe.
55
This is to avoid you accidentally updating a NEO-D9S with ZED-F9P firmware and vice versa.
6-
(Don't worry if that happens. You can recover. But you need access to the SafeBoot pin to
6+
(Don't worry if that happens. You can recover. But you may need access to the SafeBoot pin to
77
force the module into a safe state for re-updating.)
88
If you _really_ know what you are doing, you can disable this check with the "Override" option.
99
@@ -109,9 +109,9 @@ def __init__(self, parent: QWidget = None) -> None:
109109
self.fis_browse_btn.setEnabled(True)
110110
self.fis_browse_btn.pressed.connect(self.on_browse_fis_btn_pressed)
111111

112-
# Clear (Default FIS) Button
113-
self.clear_fis_btn = QPushButton(self.tr('Default FIS'))
114-
self.clear_fis_btn.clicked.connect(self.on_clear_fis_btn_pressed)
112+
# Default FIS Button
113+
self.default_fis_btn = QPushButton(self.tr('Default FIS'))
114+
self.default_fis_btn.clicked.connect(self.on_default_fis_btn_pressed)
115115

116116
# Port Combobox
117117
self.port_label = QLabel(self.tr('COM Port:'))
@@ -148,12 +148,13 @@ def __init__(self, parent: QWidget = None) -> None:
148148

149149
# Safeboot Button
150150
self.safeboot_btn = QCheckBox(self.tr('Enter Safeboot'))
151-
self.safeboot_btn.setChecked(True)
151+
self.safeboot_btn.setChecked(False)
152152
self.safeboot_btn.toggled.connect(lambda:self.button_state(self.safeboot_btn))
153153

154154
# Training Button
155155
self.training_btn = QCheckBox(self.tr('Training Sequence'))
156-
self.training_btn.setChecked(True)
156+
self.training_btn.setChecked(False)
157+
self.training_btn.setEnabled(False)
157158

158159
# Reset After Button
159160
self.reset_btn = QCheckBox(self.tr('Reset After Update'))
@@ -166,6 +167,7 @@ def __init__(self, parent: QWidget = None) -> None:
166167
# No FIS Button
167168
self.no_fis_btn = QCheckBox(self.tr('No FIS'))
168169
self.no_fis_btn.setChecked(True)
170+
self.no_fis_btn.toggled.connect(lambda:self.button_state(self.no_fis_btn))
169171

170172
# Override Button
171173
self.override_btn = QCheckBox(self.tr('Override'))
@@ -191,7 +193,7 @@ def __init__(self, parent: QWidget = None) -> None:
191193
layout.addWidget(self.fis_label, 2, 0)
192194
layout.addWidget(self.fisLocation_lineedit, 2, 1)
193195
layout.addWidget(self.fis_browse_btn, 2, 2)
194-
layout.addWidget(self.clear_fis_btn, 2, 3)
196+
layout.addWidget(self.default_fis_btn, 2, 3)
195197
layout.addWidget(self.no_fis_btn, 2, 4)
196198

197199
layout.addWidget(self.port_label, 3, 0)
@@ -231,6 +233,11 @@ def button_state(self, b) -> None:
231233
elif b.text() == "Override":
232234
if b.isChecked() == True:
233235
self.show_warning_message(">>>>> Override enabled <<<<<\nFirmware version check is disabled")
236+
elif b.text() == "No FIS":
237+
if b.isChecked() == True:
238+
self.fisLocation_lineedit.clear()
239+
else:
240+
self.show_warning_message(">>> Expert users only <<<\n\"No FIS\" is recommended")
234241

235242
def writeMessage(self, msg) -> None:
236243
self.messageBox.moveCursor(QTextCursor.End)
@@ -279,6 +286,8 @@ def _load_settings(self) -> None:
279286
self.fisLocation_lineedit.setText(lastFile)
280287
if self.theFisName != '':
281288
self.no_fis_btn.setChecked(False)
289+
else:
290+
self.no_fis_btn.setChecked(True)
282291
else:
283292
self.fisLocation_lineedit.clear()
284293
self.no_fis_btn.setChecked(True)
@@ -397,11 +406,13 @@ def on_browse_fis_btn_pressed(self) -> None:
397406
if fileName:
398407
self.fisLocation_lineedit.setText(fileName)
399408
self.no_fis_btn.setChecked(False)
409+
self.show_warning_message(">>> Expert users only <<<\n\"No FIS\" is recommended")
400410

401-
def on_clear_fis_btn_pressed(self) -> None:
402-
"""Clear the FIS filename."""
403-
self.fisLocation_lineedit.clear()
411+
def on_default_fis_btn_pressed(self) -> None:
412+
"""Set the FIS filename to Default FIS."""
413+
self.fisLocation_lineedit.setText("Default FIS")
404414
self.no_fis_btn.setChecked(False)
415+
self.show_warning_message(">>> Expert users only <<<\n\"No FIS\" is recommended")
405416

406417
def update_finished(self) -> None:
407418
"""The update QProcess has finished."""
@@ -443,10 +454,13 @@ def on_upload_btn_pressed(self) -> None:
443454
return
444455
f.close()
445456

446-
if self.theFisName != '':
457+
if self.no_fis_btn.isChecked() == False:
447458
fisExists = False
459+
filename = self.theFisName
460+
if filename == "Default FIS":
461+
filename = resource_path("flash.xml")
448462
try:
449-
f = open(self.theFisName)
463+
f = open(filename)
450464
fisExists = True
451465
except IOError:
452466
fisExists = False
@@ -537,7 +551,7 @@ def on_upload_btn_pressed(self) -> None:
537551

538552
if self.no_fis_btn.isChecked() == True:
539553
command.extend(["--no-fis", "1"])
540-
elif self.fisLocation_lineedit.text() == '':
554+
elif (self.theFisName == '') or (self.theFisName == "Default FIS"):
541555
command.extend(["-F", resource_path("flash.xml")])
542556
else:
543557
command.extend(["-F", self.theFisName])
Loading
Binary file not shown.

0 commit comments

Comments
 (0)