Comments (2)
Thank you SO much for that clarification! I really appreciate you helping me learn and understand this material!
from can-isotp.
I have to create 2 sockets, one to send the request, and one to listen for the response. This doesn't seem to me like normal use,
It is ;-)
The difference is: With the so called 'functional addressing' you (as a diag tester) send a broadcast command to all ECUs. As this is a broadcast ( 1-to-n) it has to fit in ONE CAN frame (no segmentation, no FC frame). In your example you send this 'functional broadcast' with CAN ID 0x7DF
.
After sending that message the ECUs start sending on a 'normal' point-to-point (1-to-1) ISO-TP channel.
And this channel needs two CAN ID, e.g. 0x7E8
and 0x7E0
.
Even if it sounds strange: For your use-case you need to open eight ISO-TP sockets that virtually 'establish' the 1-to-1 ISO-TP channels.
Then you send the functional command with CAN ID 0x7DF
and you can see the responses arriving on these sockets (you can use select()
to read from multiple sockets at a time).
I assume establishing the Linux isotp socket after getting the first answer (like in the panda code) would be too late (as the isotp state machine then would miss the first CAN frame).
from can-isotp.
Related Issues (20)
- use read() function and add notify function. HOT 18
- ERRNO 84 on recv() HOT 2
- FlowControl: isotp vs. "real" OBD2 adapter behavior HOT 4
- how to send > 4095 isotp message HOT 3
- wait_tx_done does not seem to be working [RPi + python-can-isotp] HOT 31
- MAX_MSG_LENGTH to 66000 commit is missing from this repo HOT 1
- When trying to read 8K messages on ISO-TP socket using Classic CAN receive back -1 with errno 110 ETIMEDOUT HOT 5
- Unrecoverable error when using python socket with CAN_ISOTP. HOT 8
- Sending rate cannot be faster than 300us HOT 12
- unstable transmission of data: sequence number of consecutive frames get messed up HOT 3
- MSG_CMSG_COMPAT set by the kernel for `recvmsg` HOT 7
- Compiling of branch mainline-5.4+ HOT 2
- IP over CAN ISO-TP multi-host HOT 2
- Address extension in one direction but not the other HOT 2
- ISOTP module does not ignore the priority bits (high 3 bits of extended ID) HOT 4
- read: Network is down HOT 2
- missing feedback on expired timer for first flow control (FC) frame HOT 2
- best way to programatically test if the module is installed? HOT 6
- make fails and I can't figure out why. Hoping someone can help out HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from can-isotp.