Closed jennapark86 closed 10 months ago
It's a common problem. There are several similar issues. I do not know the can.notifier object, but it must be consuming the data, leaving nothing for the TransportLayer
If the can messages needs to be sent to 2 independent objects, you have to have a software layer that consume the data and make as much copy that is needed for each objects. You can write your own txfn
and rxfn
functions that will fetch the can messages from your dispatching layer.
I will eventually write an example for this in the doc
So I read about notifiers and they seem to do exactly that. The CanStack object should register a Listener instead of reading directly the bus object and consuming the buffer
I will move this issue to the can-isotp project and do the improvement when I get time
thanks for looking into this! i'd love to be able to continuously log CAN data while being able to send diagnostic commands
We also have the requirement to record the message
Just a quick update. This task is the next to be done but I am focusing on another project for now. Might allow some time to fix it in the upcoming weeks. PR are welcome
I also have the requirement to record the message
Just introduced a NotifierBasedCanStack in v2.x. udsoncan will be shortly updated to handle isotp v2.x
Cheers
Hello, when i have a logger and a notifier on the can layer, it seems like uds command (e.g. ecu reset) times out and never returns response. My code is below. Is there a way to have a logger constantly logging CAN messages while sparingly sending UDS commands? Uncomment initialization of logger1 and notifier1 on line 17 and 18.
my setup is Peak's pcan usb dongle with an ecu with uds server.
[TimeoutException] : Did not receive response in time. Global request timeout time has expired (timeout=2.000 sec)