(hot_fix)
1. 把測試用參數關閉 2. 臨時加入 node 失效後 自動重啟功能
This commit is contained in:
@@ -1218,6 +1218,8 @@ class Orchestrator:
|
||||
|
||||
def mainLoop(self):
|
||||
logger.info("Main orchestrator started <-")
|
||||
self.ros2_retry_time = None
|
||||
self.ros2_manual_stop = False
|
||||
try:
|
||||
# while not self.stop_evt.is_set():
|
||||
while self.panel_thread.is_alive():
|
||||
@@ -1249,6 +1251,17 @@ class Orchestrator:
|
||||
else:
|
||||
self.panelState.ros2_manager_state = 'Stopped'
|
||||
|
||||
# 這邊做一個簡易的重啟 掛掉要等待一秒再重啟 避免過度頻繁 # 算是高技術債的方式構建 但是未來有需要在還吧 (煙
|
||||
if not self.ros2_manual_stop:
|
||||
# logger.info(f"mark A {self.ros2_retry_time}")
|
||||
if self.ros2_retry_time:
|
||||
if (time.time() - self.ros2_retry_time) > 1:
|
||||
self.fc_ros_manager.start()
|
||||
self.fc_ros_manager.schedule_restart_node("command_service")
|
||||
self.ros2_retry_time = None
|
||||
else:
|
||||
self.ros2_retry_time = time.time()
|
||||
|
||||
# B. 更新載具列表(從 vehicle_registry 獲取)
|
||||
self._update_vehicles_list()
|
||||
|
||||
@@ -1337,8 +1350,10 @@ class Orchestrator:
|
||||
self.plumber.shutdown()
|
||||
elif cmd == "STOP_ROS_MANAGER":
|
||||
self.fc_ros_manager.stop()
|
||||
self.ros2_manual_stop = True
|
||||
elif cmd == "START_ROS_MANAGER":
|
||||
self.fc_ros_manager.start()
|
||||
self.ros2_manual_stop = False
|
||||
|
||||
except queue.Empty:
|
||||
pass
|
||||
|
||||
@@ -758,7 +758,7 @@ class MavlinkCommandService(Node):
|
||||
# 6) 處理回應封包
|
||||
if not fail_skip:
|
||||
ack_msg = _pending.result_mav_msg
|
||||
response.success = ServiceAckResult.FCSYS_MAVLINK_BREAK # dev 故意觸發錯誤用的
|
||||
# response.success = ServiceAckResult.FCSYS_MAVLINK_BREAK # dev 故意觸發錯誤用的
|
||||
response.success = (ack_msg.result == 0) # mavutil.mavlink.MAV_RESULT_ACCEPTED
|
||||
response.message = "" # 沒有消息就是好消息
|
||||
response.ack_result = ack_msg.result
|
||||
|
||||
Reference in New Issue
Block a user