first commit
This commit is contained in:
37
midware/drivers/__init__.py
Normal file
37
midware/drivers/__init__.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# midware/drivers/__init__.py
|
||||
"""
|
||||
总线驱动模块:统一管理所有总线驱动的导入和初始化
|
||||
"""
|
||||
from .base_driver import BaseBusDriver
|
||||
from .bus_1553b import Bus1553BDriver
|
||||
from .bus_can import BusCANDriver
|
||||
from .bus_uart import BusUARTDriver
|
||||
from .bus_ad import BusADDriver
|
||||
from .bus_oc import BusOCDriver
|
||||
from .bus_network import BusNetworkDriver
|
||||
from loguru import logger
|
||||
|
||||
# 驱动映射表:协议名称 → 驱动类(与bus_udp_decoupler.py中的协议名对齐)
|
||||
DRIVER_MAPPING = {
|
||||
"1553B": Bus1553BDriver,
|
||||
"CAN": BusCANDriver,
|
||||
"UART": BusUARTDriver,
|
||||
"AD": BusADDriver,
|
||||
"OC": BusOCDriver,
|
||||
"网络": BusNetworkDriver
|
||||
}
|
||||
|
||||
def create_bus_driver(protocol: str, config: dict = None) -> BaseBusDriver:
|
||||
"""
|
||||
工厂函数:根据协议名称创建驱动实例
|
||||
:param protocol: 协议名称(如"1553B")
|
||||
:param config: 驱动配置
|
||||
:return: 驱动实例
|
||||
"""
|
||||
if protocol not in DRIVER_MAPPING:
|
||||
raise ValueError(f"未知协议 {protocol},无对应驱动")
|
||||
|
||||
driver_class = DRIVER_MAPPING[protocol]
|
||||
driver = driver_class(config=config)
|
||||
logger.info(f"创建 {protocol} 驱动实例成功:{driver.__class__.__name__}")
|
||||
return driver
|
||||
Reference in New Issue
Block a user