33It is a wrapper for u-blox's ubxfwupdate.exe. The actual updating is done by ubxfwupdate.exe.
44This GUI checks which device you are trying to update before calling ubxfwupdate.exe.
55This 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.)
88If 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 <<<<<\n Firmware 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 ])
0 commit comments