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)
def read_msg_listener(can_interface): """ basic listener """ bus = can.interface.Bus(channel=can_interface, bustype=bustype) listener = can.Listener() """ msg = bus.recv() if msg is None: print("Timeout accured, no message is recieved.") else: print(msg) """ reader = can.BufferedReader() # reader is a Listener notifier = can.Notifier(bus, [reader]) #time.sleep(10) msg = None while msg is None: msg = reader.get_message() # as a parameter can be Timeout -> # now either call print(msg) listener(msg) # or listener.on_message_received(msg) print(msg) time.sleep(10) listener.stop()
def testRemoveListenerFromNotifier(self): a_listener = can.Listener() notifier = can.Notifier(self.bus, [a_listener], 0.1) notifier.stop() self.assertIn(a_listener, notifier.listeners) notifier.remove_listener(a_listener) self.assertNotIn(a_listener, notifier.listeners)
def testAddListenerToNotifier(self): a_listener = can.Listener() notifier = can.Notifier(self.bus, [], 0.1) notifier.stop() self.assertNotIn(a_listener, notifier.listeners) notifier.add_listener(a_listener) self.assertIn(a_listener, notifier.listeners)
outMsg.data = responsePayload bus1.send(outMsg) time.sleep(0.7) responsePayload = [0x31, 0, 0, 0, 0, 0, 0, 0] outMsg.data = responsePayload bus1.send(outMsg) time.sleep(0.7) responsePayload = [0x30, 10, 127, 00, 00, 00, 00, 00] outMsg.data = responsePayload bus1.send(outMsg) lastTime = startTime if __name__ == "__main__": bus1 = can.interface.Bus('virtualInterface', bustype="virtual") listener = can.Listener() notifier = can.Notifier(bus1, [listener], 0) uds = Uds(reqId=0x600, resId=0x650, interface="virtual") testEcu = createUdsConnection('Bootloader.odx', 'bootloader', interface="virtual") print("Test 1") listener.on_message_received = callback_onReceive_singleFrame resp = uds.send([0x22, 0xF1, 0x8C]) print(resp) time.sleep(1) print("Test 2") listener.on_message_received = callback_onReceive_multiFrameResponse_noBs
def testBasicListenerWithMesg(self): a_listener = can.Listener() notifier = can.Notifier(self.bus, [a_listener]) self.bus.send(generate_message(0xDADADA))
def testBasicListenerCanBeAddedToNotifier(self): notifier = can.Notifier(self.bus, [can.Listener()])
def testBasicListenerCanBeAddedToNotifier(self): a_listener = can.Listener() notifier = can.Notifier(self.bus, [a_listener], 0.1) notifier.stop() self.assertIn(a_listener, notifier.listeners)
def addCallback(self, callback): listener = can.Listener() listener.on_message_received = callback self.__notifier.add_listener(listener) self.__listeners.append(listener)