本文整理汇总了Python中can.Listener方法的典型用法代码示例。如果您正苦于以下问题:Python can.Listener方法的具体用法?Python can.Listener怎么用?Python can.Listener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类can
的用法示例。
在下文中一共展示了can.Listener方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: import can [as 别名]
# 或者: from can import Listener [as 别名]
def __init__(self, bus=None):
"""
:param can.BusABC bus:
A python-can bus instance to re-use.
"""
#: A python-can :class:`can.BusABC` instance which is set after
#: :meth:`canopen.Network.connect` is called
self.bus = bus
#: A :class:`~canopen.network.NodeScanner` for detecting nodes
self.scanner = NodeScanner(self)
#: List of :class:`can.Listener` objects.
#: Includes at least MessageListener.
self.listeners = [MessageListener(self)]
self.notifier = None
self.nodes = {}
self.subscribers = {}
self.send_lock = threading.Lock()
self.sync = SyncProducer(self)
self.time = TimeProducer(self)
self.nmt = NmtMaster(0)
self.nmt.network = self
self.lss = LssMaster()
self.lss.network = self
self.subscribe(self.lss.LSS_RX_COBID, self.lss.on_message_received)
示例2: __init__
# 需要导入模块: import can [as 别名]
# 或者: from can import Listener [as 别名]
def __init__(self, callback, filter, bus):
self.__bus = bus
listener = can.Listener()
listener.on_message_received = callback
self.__notifier = can.Notifier(self.__bus, [listener], 0)
self.__listeners = [listener]
self.addFilter(filter)
##
# @brief Adds call back (via additional listener) to the notifier which is attached to this bus
示例3: addCallback
# 需要导入模块: import can [as 别名]
# 或者: from can import Listener [as 别名]
def addCallback(self, callback):
listener = can.Listener()
listener.on_message_received = callback
self.__notifier.add_listener(listener)
self.__listeners.append(listener)
##
# @brief Adds a filter (CAN Msg Id) to the bus to allow messages through to the callback
示例4: __init__
# 需要导入模块: import can [as 别名]
# 或者: from can import Listener [as 别名]
def __init__(self,
dut_name,
database,
can_bus,
bus_name=None,
on_message=None,
decode_choices=True,
scaling=True,
padding=False):
self._dut_name = dut_name
self._bus_name = bus_name
self._database = database
self._can_bus = can_bus
self._input_list = []
self._input_queue = queue.Queue()
self._messages = Messages()
self._is_running = False
# DUT name validation.
node_names = [node.name for node in database.nodes]
if not any([name == dut_name for name in node_names]):
raise Error(
"expected DUT name in {}, but got '{}'".format(node_names,
dut_name))
# BUS name validation.
bus_names = [bus.name for bus in database.buses]
if len(bus_names) == 0:
if bus_name is not None:
raise Error(
"expected bus name None as there are no buses defined in "
"the database, but got '{}'".format(bus_name))
elif not any([name == bus_name for name in bus_names]):
raise Error(
"expected bus name in {}, but got '{}'".format(bus_names,
bus_name))
for message in database.messages:
if message.bus_name == bus_name:
self._messages[message.name] = Message(message,
can_bus,
self._input_list,
self._input_queue,
decode_choices,
scaling,
padding)
listener = Listener(self._database,
self._messages,
self._input_queue,
on_message)
self._notifier = can.Notifier(can_bus, [listener])