-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get status of transmission? #27
Comments
Maybe implementing an ioctl for |
Hm. Would this mean you need to poll with tons of ioctl() syscalls to check, when the PDU has been sent entirely?? |
That would mean polling, yes. I am comfortable with this given that I don't need a fine granularity. I am not sure about blocking at write time. Wouldn't that cause problem for full duplex operation? Are you saying that I could write a 0 length payload to the socket and the success of this operation would confirm that my previous payload is completely out? |
In term of ISO-15765-2. This feature would correspond to providing My actual implementation count between start of transmission and end of reception.
|
I was checking out some more documentation about sockets. And in fact sockets are usually blocking. So if we would block the write() syscall until the PDU is sent, this would be correct. The question whether you are losing the full-duplex capability:
So the select() call would either return when you received a PDU or when the writing filedescriptor signals to be writable again. I wonder if it would make sense to create a "standard conform" blocking version of the current implementation to play with select() and see if it fits the needs?!? |
Hi,
I think it would make sense to try the blocking version of the module. No rush. |
Addressed here pylessard/python-udsoncan#43 (comment) |
Hi
I guess this question applies to sockets in general, but I figured I'd ask here anyway.
Is there a way to get a status of the transmission after writing to the socket? The goal would be to know if the last frames has been sent.
The rationale behind this is that UDS protocol has some reply timeout values defined and they appear to be relative to the moment a request has been completely sent. For large request, it can takes seconds to get the whole payload transmitted. If I want to check the timeout correctly, I have to start counting from the end of that delay, not from the moment I write to the socket.
Any idea how this could be handled with your module?
The text was updated successfully, but these errors were encountered: