diff --git a/app/lora/lora_mesh_uart_passthrough_manager.py b/app/lora/lora_mesh_uart_passthrough_manager.py index 7387b96..f2f79e4 100644 --- a/app/lora/lora_mesh_uart_passthrough_manager.py +++ b/app/lora/lora_mesh_uart_passthrough_manager.py @@ -136,9 +136,8 @@ class LoRaMeshUartPassthroughManager: # 2.3 检查包是否完整 payload_len = self._rx_buffer[1] - # 这里的 total_packet_len 计算方式存疑,它假设 payload_len 是 length 字段之后所有数据的长度。 - # 这与 send_packet 中的 length 计算方式可能不一致。 - total_packet_len = 1 + 1 + payload_len + # 物理层在末尾又加了2字节的源地址,所以完整包长需要+2。 + total_packet_len = 1 + 1 + payload_len + 2 log(f"LoRa: 帧头正确(ED)。声明的后续包长(payload_len): {payload_len}。计算出的总包长: {total_packet_len}。") if len(self._rx_buffer) < total_packet_len: