|
|
|
|
@ -491,6 +491,10 @@ class ControlPanel:
|
|
|
|
|
menu_stack.pop()
|
|
|
|
|
idx_stack.pop()
|
|
|
|
|
|
|
|
|
|
elif selected.action == "DO_DISCOVERY_PANEL":
|
|
|
|
|
if hasattr(selected, 'serial_id'):
|
|
|
|
|
cmd_q.put(("DO_DISCOVERY", selected.serial_id))
|
|
|
|
|
|
|
|
|
|
# related with -> 列表選單
|
|
|
|
|
elif selected.action in ("PREV_PAGE", "NEXT_PAGE"):
|
|
|
|
|
if hasattr(selected, 'page'):
|
|
|
|
|
@ -868,6 +872,7 @@ class ControlPanel:
|
|
|
|
|
obj_menu = MenuNode(f"Serial #{serial_id}", f"連結口 {serial_id}", None, children=[
|
|
|
|
|
MenuNode("Info", "查看詳細資訊", "INSPECT_LINKED_SERIAL"),
|
|
|
|
|
MenuNode("Remove", "移除此連結口", "REMOVE_LINKED_SERIAL"),
|
|
|
|
|
MenuNode("Discovery", "搜尋遠端RF(Only XBEE-ESP32)", "DO_DISCOVERY_PANEL"),
|
|
|
|
|
# MenuNode("Change UDP Target", "變更目標 UDP (工程)", "CHANGE_LINKED_SERIAL_TARGET"),
|
|
|
|
|
MenuNode("GoUp", "回到列表", "BACK"),
|
|
|
|
|
])
|
|
|
|
|
@ -1319,6 +1324,11 @@ class Orchestrator:
|
|
|
|
|
elif action == "REMOVE_LINKED_SERIAL":
|
|
|
|
|
serial_id = cmd[1]
|
|
|
|
|
self.plumber.remove_serial_link(serial_id)
|
|
|
|
|
elif action == "DO_DISCOVERY":
|
|
|
|
|
serial_id = cmd[1]
|
|
|
|
|
processor = self.plumber.get_espv1_processor(serial_id)
|
|
|
|
|
if processor:
|
|
|
|
|
processor.request_discovery()
|
|
|
|
|
|
|
|
|
|
elif action == "INSPECT_VEHICLE":
|
|
|
|
|
sysid, compid = cmd[1], cmd[2]
|
|
|
|
|
|