Files
virtual_simulation_midware/midware/drivers/__pycache__/base_driver.cpython-311.pyc

48 lines
4.2 KiB
Plaintext
Raw Normal View History

2026-06-16 15:40:19 +08:00
<EFBFBD>
<00>w<EFBFBD>iX
<00><00>V<00>dZddlmZmZddlmZmZmZddlm Z Gd<05>de<02><00>Z
dS)u<>
Tan mingyan
2026/3/9
驱动基类base_driver.py—— 定义标准接口(核心)
所有总线驱动继承该基类,保证接口统一,解耦 bus_udp_decoupler.py 与具体驱动实现:
<EFBFBD>)<02>ABC<42>abstractmethod)<03>Optional<61>Dict<63>Any)<01>loggerc<00><><00>eZdZdZddeeeeffd<04>Zd<05>Z e
de fd<07><04><00>Z e
de fd<08><04><00>Z e
d ede fd
<EFBFBD><04><00>Ze
dd edeefd <0A><05><00>Zde fd<0E>Zd<0F>ZdS)<12> BaseBusDriveru<72>
总线驱动基类:定义所有总线必须实现的标准接口
遵循「开闭原则」:新增总线只需继承该类实现接口,无需修改现有代码
N<>configc<00>N<00>|pi|_d|_|<00><00><00>dS)uh
初始化驱动
:param config: 驱动配置如波特率、端口、IP等
FN)r <00> is_connected<65> _init_config)<02>selfr s <20>he:\小卫星\2026\虚拟平台\中间层软件\virtual_simulation_midware\midware\drivers\base_driver.py<70>__init__zBaseBusDriver.__init__s/<00><00>
<1D>l<EFBFBD><02><04> <0B>!<21><04><19> <0C><19><19><1B><1B><1B><1B><1B>c<00>J<00>tjd|jj<00>d<02><03><00>dS)u*初始化默认配置子类可重写u
初始化 u 默认配置N)r<00>info<66> __class__<5F>__name__<5F>rs rrzBaseBusDriver._init_configs)<00><00><0E> <0B>G<><14><1E>!8<>G<>G<>G<>H<>H<>H<>H<>Hr<00>returnc<00><00>dS)u<>
连接总线如打开串口、建立CAN通道、连接1553B板卡
:return: 连接成功返回True失败返回False
N<>rs r<00>connectzBaseBusDriver.connect<00> <00><00> <0A>rc<00><00>dS)u`
断开总线连接
:return: 断开成功返回True失败返回False
Nrrs r<00>
disconnectzBaseBusDriver.disconnect'rr<00>datac <00><00>dS)u<>
发送数据到总线
:param data: 待发送的原始字节数据
:param kwargs: 扩展参数如优先级、地址、帧ID等
:return: 发送成功返回True失败返回False
Nr)rr<00>kwargss r<00>sendzBaseBusDriver.send/<00> <00><00> <0A>r<><E79A99><EFBFBD><EFBFBD><EFBFBD>?<3F>timeoutc <00><00>dS)u<>
从总线接收数据
:param timeout: 接收超时时间(秒)
:param kwargs: 扩展参数(如过滤条件、地址等)
:return: 接收到的字节数据,超时/失败返回None
Nr)rr%r!s r<00>recvzBaseBusDriver.recv9r#rc<00><00>|jS)u<>
检查驱动状态(默认实现,子类可重写)
:return: 驱动正常返回True异常返回False
)r rs r<00> check_statuszBaseBusDriver.check_statusCs <00><00>
<14> <20> rc<00><><00>|jr7|<00><00><00>tj|jj<00>d<01><02><00>dSdS)u!析构函数自动断开连接u 自动断开连接N)r rrrrrrs r<00>__del__zBaseBusDriver.__del__JsN<00><00> <0F> <1C> I<01> <10>O<EFBFBD>O<EFBFBD> <1D> <1D> <1D> <12>K<EFBFBD>4<EFBFBD>><3E>2<>G<>G<>G<> H<> H<> H<> H<> H<> I<01> Ir)N)r$)r<00>
__module__<EFBFBD> __qualname__<5F>__doc__rr<00>strrrrr<00>boolrr<00>bytesr"<00>floatr'r)r+rrrr
r
s?<00><00><00><00><00><00><08><08><1C><1C>x<EFBFBD><04>S<EFBFBD>#<23>X<EFBFBD><0E>7<><1C><1C><1C><1C>I<01>I<01>I<01><14> <0A><14> <0A> <0A> <0A><14>^<5E> <0A><14> <0A>D<EFBFBD> <0A> <0A> <0A><14>^<5E> <0A><14> <0A><15> <0A>T<EFBFBD> <0A> <0A> <0A><14>^<5E> <0A><14> <0A> <0A>E<EFBFBD> <0A>h<EFBFBD>u<EFBFBD>o<EFBFBD> <0A> <0A> <0A><14>^<5E> <0A>!<21>d<EFBFBD>!<21>!<21>!<21>!<21>I<01>I<01>I<01>I<01>Irr
N) r.<00>abcrr<00>typingrrr<00>logururr
rrr<00><module>r6s<><00><01><04><04> $<24>#<23>#<23>#<23>#<23>#<23>#<23>#<23>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26><19><19><19><19><19><19>AI<01>AI<01>AI<01>AI<01>AI<01>C<EFBFBD>AI<01>AI<01>AI<01>AI<01>AIr