chiyu
Chiyu Chen 1 month ago
parent 8adb9c6bf3
commit 82d5e90460

@ -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)
@ -147,10 +147,13 @@ class XBeeFrameProcessor_Base(FrameProcessor):
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()
'''
================= 改版記錄 ============================

Loading…
Cancel
Save