Skip to content

Commit 8d8cca4

Browse files
committed
FEATURE: Add BRD_BOOT_DELAY to the reboot_time
1 parent 63f11fb commit 8d8cca4

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

MethodicConfigurator/backend_flightcontroller.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ def set_param(self, param_name: str, param_value: float):
345345
return self.master.param_set_send(param_name, param_value)
346346

347347
def reset_and_reconnect(self, reset_progress_callback=None, connection_progress_callback=None,
348-
sleep_time: int = None) -> str:
348+
extra_sleep_time: int = None) -> str:
349349
"""
350350
Reset the flight controller and reconnect.
351351
@@ -363,8 +363,10 @@ def reset_and_reconnect(self, reset_progress_callback=None, connection_progress_
363363

364364
current_step = 0
365365

366-
if sleep_time is None or sleep_time <= 7:
367-
sleep_time = self.__reboot_time
366+
if extra_sleep_time is None or extra_sleep_time < 0:
367+
extra_sleep_time = 0
368+
369+
sleep_time = self.__reboot_time + extra_sleep_time
368370

369371
while current_step != sleep_time:
370372
# Call the progress callback with the current progress

MethodicConfigurator/frontend_tkinter_parameter_editor.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
from webbrowser import open as webbrowser_open # to open the blog post documentation
2626

27+
from MethodicConfigurator.annotate_params import Par
28+
2729
from MethodicConfigurator.backend_filesystem import LocalFilesystem
2830
from MethodicConfigurator.backend_filesystem import is_within_tolerance
2931

@@ -532,8 +534,12 @@ def __reset_and_reconnect(self, fc_reset_required, fc_reset_unsure):
532534
if fc_reset_required:
533535
self.reset_progress_window = ProgressWindow(self.main_frame, "Resetting Flight Controller",
534536
"Waiting for {} of {} seconds")
537+
filesystem_boot_delay = self.local_filesystem.file_parameters[self.current_file].get('BRD_BOOT_DELAY', Par(0.0))
538+
flightcontroller_boot_delay = self.flight_controller.fc_parameters.get('BRD_BOOT_DELAY', 0)
539+
extra_sleep_time = max(filesystem_boot_delay.value, flightcontroller_boot_delay) // 1000 + 1 # round up
535540
# Call reset_and_reconnect with a callback to update the reset progress bar and the progress message
536-
error_message = self.flight_controller.reset_and_reconnect(self.reset_progress_window.update_progress_bar)
541+
error_message = self.flight_controller.reset_and_reconnect(self.reset_progress_window.update_progress_bar, None,
542+
extra_sleep_time)
537543
if error_message:
538544
logging_error(error_message)
539545
messagebox.showerror("ArduPilot methodic configurator", error_message)

0 commit comments

Comments
 (0)