This commit is contained in:
NuoDaJia02
2026-01-15 14:06:59 +08:00
parent 59bc92e4f3
commit 595b1ad95e

View File

@@ -191,7 +191,8 @@ class CtrlGuiNode(Node):
self.last_arm_error[msg.arm_id] = msg
self.file_logger.error(f'Arm error: {msg}')
def call_clear_arm_error(self, arm_id: int, joint_num: int):
async def call_clear_arm_error(self, arm_id: int, joint_num: int):
import asyncio
self.file_logger.info(f'Calling ClearArmError for arm {arm_id}, joint {joint_num}')
if not self.clear_arm_err_client_.service_is_ready():
self.file_logger.error('Clear arm error service not available')
@@ -203,19 +204,20 @@ class CtrlGuiNode(Node):
req.joint_num = int(joint_num)
future = self.clear_arm_err_client_.call_async(req)
def done_callback(f):
try:
res = f.result()
if res.success:
self.file_logger.info(f'Clear arm error success: {res.message}')
ui.notify(f'Arm {arm_id} clear success', color='positive')
else:
self.file_logger.warning(f'Clear arm error failed: {res.message}')
ui.notify(f'Arm {arm_id} clear failed: {res.message}', color='negative')
except Exception as e:
self.file_logger.error(f'Clear arm error exception: {str(e)}')
ui.notify(f'Error: {str(e)}', color='negative')
future.add_done_callback(done_callback)
while not future.done():
await asyncio.sleep(0.1)
try:
res = future.result()
if res.success:
self.file_logger.info(f'Clear arm error success: {res.message}')
ui.notify(f'Arm {arm_id} clear success', color='positive')
else:
self.file_logger.warning(f'Clear arm error failed: {res.message}')
ui.notify(f'Arm {arm_id} clear failed: {res.message}', color='negative')
except Exception as e:
self.file_logger.error(f'Clear arm error exception: {str(e)}')
ui.notify(f'Error: {str(e)}', color='negative')
def _setup_file_logging(self):
"""Setup logging to a file with timestamp in filename."""