From 7e56d5b190a7228d4453b3cf823d29ad46b47779 Mon Sep 17 00:00:00 2001 From: Chiyu Chen Date: Mon, 10 Aug 2026 16:07:38 +0800 Subject: [PATCH] tmpCommit1 --- .../fc_network_adapter/serialManager.py | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/fc_network_adapter/fc_network_adapter/serialManager.py b/src/fc_network_adapter/fc_network_adapter/serialManager.py index d1539c8..d80268c 100644 --- a/src/fc_network_adapter/fc_network_adapter/serialManager.py +++ b/src/fc_network_adapter/fc_network_adapter/serialManager.py @@ -683,14 +683,14 @@ class XBeeFrameProcessor_ESPv1(XBeeFrameProcessor_Base): # logger.debug(f"Done! payload size:{remote_device.received_len} / time(ms):{transmit_time:.2f}") - # if vehicle and not vehicle.rf_module: - # vehicle.rf_module.poll_total_size -= vehicle.rf_module.poll_data_sizes[0] - # vehicle.rf_module.poll_total_size += remote_device.received_len - # vehicle.rf_module.poll_total_time -= vehicle.rf_module.poll_data_times[0] - # vehicle.rf_module.poll_total_time += transmit_time - # vehicle.rf_module.poll_data_sizes.append(remote_device.received_len) - # vehicle.rf_module.poll_data_times.append(transmit_time) - # logger.debug(f"{vehicle.rf_module.poll_total_size}") + if vehicle and not vehicle.rf_module: + vehicle.rf_module.poll_total_size -= vehicle.rf_module.poll_data_sizes[0] + vehicle.rf_module.poll_total_size += remote_device.received_len + vehicle.rf_module.poll_total_time -= vehicle.rf_module.poll_data_times[0] + vehicle.rf_module.poll_total_time += transmit_time + vehicle.rf_module.poll_data_sizes.append(remote_device.received_len) + vehicle.rf_module.poll_data_times.append(transmit_time) + logger.debug(f"{vehicle.rf_module.poll_total_size}") remote_device.received_len = 0 remote_device.last_done_time = time.time() @@ -879,6 +879,8 @@ class XBeeFrameProcessor_ESPv1(XBeeFrameProcessor_Base): INFO.esp_state = 2 elif vehicle and INFO.esp_state == 2: + vehicle.rf_module.remain_bytes = INFO.remain_bytes + # vehicle.rf_module.rssi = something # TODO pass @@ -1070,8 +1072,9 @@ class ATCommandHandler: b'SL': self._handle_serial_low, # 可擴展其他 AT 指令 } + self.at_response_buffer = deque(maxlen=N) # dict {topic:value} - # ---- 發送端 ---- # 這個不應該出現在這 越權了 + # ---- 發送端 ---- # 這個不應該出現在這 越權了? def set_writer(self, writer): self.writer = writer @@ -1161,8 +1164,6 @@ class ATCommandHandler: def _handle_rssi(self, response: ATResponse): """處理 DB (RSSI) 回應:單 byte 無號值,單位 dBm""" - ack_time = (time.time() - self.send_command_time)*1000 # for dev - # logger.debug(f"{ack_time:.2f}") # for dev logger.debug(f"[{self.serial_port}] RSSI = -{response.data[0]} dBm / AT ack time:{ack_time}") # dev def _handle_serial_high(self, response: ATResponse): @@ -1664,12 +1665,13 @@ if __name__ == '__main__': # for i in range(3): # deadline = time.time() + 5.0 # 最多等 5 秒,避免永遠卡住 # while processor.operator_busy and time.time() < deadline: - # time.sleep(0.01) - # sm.send_at_command(1, rssi_request) - # time.sleep(1) + # time.sleep(0.01) + # sm.send_at_command(1, rssi_request) + # time.sleep(5) for i in range(20): print(f"received: {processor.tx_interval_bytes}") + print(f"remain: {processor.remain_bytes}") time.sleep(1)