定义 LoRaMeshUartPassthroughManager

This commit is contained in:
2025-10-09 17:01:52 +08:00
parent f30d0e0865
commit 7bc7a95379
6 changed files with 91 additions and 12 deletions

View File

@@ -19,9 +19,9 @@ from config import config
import uqueue # 导入我们自己创建的本地uqueue模块
# 导入接口和实现
from lora.lora_interface import ILoraHandler
from lora.lora_interface import ILoraManager
from bus.bus_interface import IBusManager
from lora.lora_handler import LoRaHandler
from lora.lora_mesh_uart_passthrough_manager import LoRaMeshUartPassthroughManager
from bus.rs485_manager import RS485Manager
from processor import Processor
@@ -30,7 +30,7 @@ from worker import worker_task
from logs.logger import log
# --- 模块级变量定义 (带有类型提示) ---
lora_controller: ILoraHandler | None = None
lora_manager: ILoraManager | None = None
bus_manager: IBusManager | None = None
processor: Processor | None = None
task_queue: uqueue.Queue | None = None
@@ -40,15 +40,15 @@ def setup():
"""
初始化函数,负责创建所有对象实例、共享队列,并启动工作线程。
"""
global lora_controller, bus_manager, processor, task_queue
global lora_manager, bus_manager, processor, task_queue
log("--- 系统初始化开始 ---")
# 1. 初始化硬件驱动和业务处理器
lora_controller = LoRaHandler()
lora_manager = LoRaMeshUartPassthroughManager(config.LORA_CONFIG)
bus_manager = RS485Manager(config.BUS_CONFIG, config.DEFAULT_TIMEOUTS)
processor = Processor(lora_handler=lora_controller, bus_manager=bus_manager)
processor = Processor(lora_handler=lora_manager, bus_manager=bus_manager)
# 2. 从配置文件读取队列长度,并创建线程安全的队列
queue_size = config.SYSTEM_PARAMS.get('task_queue_max_size', 10)
@@ -66,7 +66,7 @@ def loop():
主线程循环函数 (生产者)。
只负责监听LoRa并将数据放入队列。
"""
packet = lora_controller.receive_packet()
packet = lora_manager.receive_packet()
if packet:
if task_queue.full():