Internal API

在这里,我们记录了一些对创建自己的接口或侦听器更有帮助的细节,但通常不需要与python can进行交互。

BusABC

顾名思义,BusABC类提供了CAN总线的抽象。该总线提供了一个围绕物理或虚拟CAN总线的包装器。

BusABC的特定于接口的实例由Bus类创建,请参阅面向用户的API的Bus。

Extending the BusABC class

具体实施必须实现以下内容:

  • send()发送单个消息
  • _recv_internal()接收单个消息(请参阅下面的注释!)
  • 将channel_info属性设置为描述底层总线和/或通道的字符串

他们可能会执行以下操作:

  • flush_tx_buffer() 允许丢弃任何尚未发送的消息
  • shutdown() 以覆盖总线应该如何关闭
  • _send_periodic_internal() 以覆盖基于软件的周期性发送并将其向下推送到内核或硬件。
  • _apply_filters() 以将有效的过滤器应用于诸如OS内核或硬件之类的较低级别系统。
  • _detect_available_configs() 以允许接口报告哪些配置当前可用于新连接。
  • state() 属性以允许读取和/或更改总线状态。

Note
TL;DR:只覆盖_recv_internal(),从不直接记录()。
以前,具体的总线类必须直接重写recv(),而不是_r

你可能感兴趣的:(python-can,python)