From 82d5e904606c745de54bc86daa26bc9cd7815cd1 Mon Sep 17 00:00:00 2001 From: Chiyu Chen Date: Wed, 1 Jul 2026 11:39:28 +0800 Subject: [PATCH] wtf? --- .../fc_network_adapter/serialManager.py | 85 ++++++++++--------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/src/fc_network_adapter/fc_network_adapter/serialManager.py b/src/fc_network_adapter/fc_network_adapter/serialManager.py index 5327cda..afdcb70 100644 --- a/src/fc_network_adapter/fc_network_adapter/serialManager.py +++ b/src/fc_network_adapter/fc_network_adapter/serialManager.py @@ -37,7 +37,7 @@ from .utils import pollStrategy # ====================== 分割線 ===================== logger = setup_logger(os.path.basename(__file__)) -MODULE_VER = "2.00" +MODULE_VER = "2.02" rx_module_ack = RingBuffer(capacity=64, buffer_id=253) @@ -145,12 +145,15 @@ class XBeeFrameProcessor_Base(FrameProcessor): DEST_ADDR16_UNICAST = b'\xFF\xFE' DEST_ADDR16_BRAODCAST = b'\xFF\xFF' - DEST_ADDR64_BRAODCAST = b'\x00\x00\x00\x00\x00\x00\x00\x00' + DEST_ADDR64_BRAODCAST = b'\x00\x00\x00\x00\x00\x00\x00\x00' + def __init__(self, at_handler: "ATCommandHandler" = None): super().__init__() self.at_handler = at_handler + + # ---- 對外契約 ---- def process_incoming(self, data: bytes) -> bytes: """處理 XBee API 幀並提取 payload""" @@ -1398,51 +1401,51 @@ if __name__ == '__main__': # UDP_REMOTE_PORT = 14571 # sm.create_serial_link(SERIAL_PORT, SERIAL_BAUDRATE, UDP_REMOTE_PORT, SerialMode.STRAIGHT) - # 測試項二 - print("運行 測試項二") - SERIAL_PORT = '/dev/ttyUSB0' # 手動指定 - SERIAL_BAUDRATE = 115200 - UDP_REMOTE_PORT = 14561 - sm.create_serial_link(SERIAL_PORT, SERIAL_BAUDRATE, UDP_REMOTE_PORT, SerialMode.XBEEAPI2AT) - serial_id = 1 - device_sys_id = 10 + # # 測試項二 + # print("運行 測試項二") + # SERIAL_PORT = '/dev/ttyUSB0' # 手動指定 + # SERIAL_BAUDRATE = 115200 + # UDP_REMOTE_PORT = 14561 + # sm.create_serial_link(SERIAL_PORT, SERIAL_BAUDRATE, UDP_REMOTE_PORT, SerialMode.XBEEAPI2AT) + # serial_id = 1 + # device_sys_id = 10 - linked_serial = sm.get_serial_link() - print(f"連結完成 : {linked_serial}. 等待兩秒") + # linked_serial = sm.get_serial_link() + # print(f"連結完成 : {linked_serial}. 等待兩秒") - # 等 connection_made 完成 writer 注入,再發一筆 AT 指令測試 - time.sleep(2) - rssi_request = ATRequest(command=b'DB', parameter=b'', frame_id=device_sys_id) - print(f"手動送出 DB AT Command:") - for i in range(20): - sm.send_at_command(1, rssi_request) - time.sleep(1) + # # 等 connection_made 完成 writer 注入,再發一筆 AT 指令測試 + # time.sleep(2) + # rssi_request = ATRequest(command=b'DB', parameter=b'', frame_id=device_sys_id) + # print(f"手動送出 DB AT Command:") + # for i in range(20): + # sm.send_at_command(1, rssi_request) + # time.sleep(1) - sm.remove_serial_link(1) - time.sleep(2) - sm.shutdown() - print("結束運行") + # sm.remove_serial_link(1) + # time.sleep(2) + # sm.shutdown() + # print("結束運行") - # # 測試項三 - # SERIAL_PORT = '/dev/ttyUSB0' - # SERIAL_BAUDRATE = 115200 - # UDP_REMOTE_PORT = 14561 - # sm.create_serial_link(SERIAL_PORT, SERIAL_BAUDRATE, UDP_REMOTE_PORT, SerialMode.XBEEAPI_espv1) + # 測試項三 + SERIAL_PORT = '/dev/ttyUSB0' + SERIAL_BAUDRATE = 115200 + UDP_REMOTE_PORT = 14561 + sm.create_serial_link(SERIAL_PORT, SERIAL_BAUDRATE, UDP_REMOTE_PORT, SerialMode.XBEEAPI_espv1) - # time.sleep(2) # 等 serial 連線與 operator 啟動 + time.sleep(2) # 等 serial 連線與 operator 啟動 - # serial_id = 1 - # processor = sm.get_espv1_processor(serial_id) - # if processor is not None: - # processor.request_discovery() - # processor.request_poll(target_system_id=1) - # processor.request_poll(target_system_id=1, grant_bytes=200) - # print(processor.get_status_snapshot()) - # print(processor.get_gcs_queue_byte_count()) - - # sm.remove_serial_link(serial_id) - # time.sleep(30) - # sm.shutdown() + serial_id = 1 + processor = sm.get_espv1_processor(serial_id) + if processor is not None: + processor.request_discovery() + processor.request_poll(target_system_id=1) + processor.request_poll(target_system_id=1, grant_bytes=200) + print(processor.get_status_snapshot()) + print(processor.get_gcs_queue_byte_count()) + + time.sleep(120) + sm.remove_serial_link(serial_id) + sm.shutdown() ''' ================= 改版記錄 ============================