-
Notifications
You must be signed in to change notification settings - Fork 74
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
k-line speed study #40
Comments
I will see to make an analyzer and publish the information it returns |
Considering the sample request from the timing section.
So wait between each transmitted byte is INTERSYMBOL_WAIT, equal to 5 ms. For the request, 5 bytes (each 8 bits), with 4 Total of request + response:
Lets assume that is an average 350ms, Lower values of
My hunch, they set #define OBD9141_INTERSYMBOL_WAIT 1 And retry? |
I had already done this and you could see that it was going a little faster to say it three times I very much doubt it unfortunately I can't try to compare because it's proprietary software with a proprietary USB Adapter |
@iwanders thanks |
I'm not sure I understand, I think you need software to enable the esp32 or arduino to record? I said this in this comment;
That https://github.com/EUA/ESP32_LogicAnalyzer looks promising for recording the signal? I've never used it, but it seems to be compatible with sigrok, from the screenshot it uses: Pulseview (Linux, Windows installers), through the standard SUMP protocol. Then
We compare the differences in timing and see how the proprietary adaptor is so fast. |
thank you very much for your reply sorry for the inconvenience |
😮 Well, that's all looking super odd. There's no 5 baud init like here. No init at all. With 10400 baud we have frame errors, so I used 10000, because the sampling rate was 20 kHz only? With that we obtain...
Even accounting for some bit errors or framing offsets from the sampling at just 20000Hz. I don't think this is 9141-2? Or it must be some special mode I've never seen before, the lots of data is really really lots of data. I don't see how we would split that data into PID's. It'll require significant reverse engineering to figure that out I think, this doesn't look like standard 9141-2 OBD pid requests 😞 |
Again and as always thank you very much for your answer and for taking the time to answer me yes the sampling rate was 20kHz It's been almost 15 days of relentless trying to find what other protocol can go through K-line I can only find ISO9141 |
Nah, I think we got the information we need, it's just... something different :/
Yeah, I see that bummer.
I think you're right, that would explain the very long data blocks we got. |
I found the source code of my adapter I also have all the id I am super happy Do you mind helping me in this project ? |
Nope, I've done all I can to help here. I've got a fulltime job and am currently not for hire for additional work.
Some general advice; always push your limits to expand your skillset, but don't try to do things too far away from your current level, that makes it difficult and hard to keep motivated. Do work on projects you are passionate about and that push your skills. Marking this issue as done, the remainder is not related to OBD9141-2. |
@iwanders sorry for not taking the time to answer I was developing the display I went back to looking for the protocol they use this high speed in reality it is the KWP2000 protocol for the IDs I don't know yet if it's the same |
@iwanders yes it's cool but I go through the can bus and unfortunately I don't have the data I want I can get them only by KWP2000 I will make in the next few hours a modification on your code because there is a very big problem of time management I do not understand why did you use delay instead of millis ? |
Classical synchronous vs asynchronous programming decision. This was easy at the time, for me it worked fine, because I wasn't doing anything in parallel to the requests. Writing asynchronous code always involves adding state machines to keep track of where you are in the logic / steps. No need to make a PR for this, I have no desire to change the 'threading model' of this library at this stage. Only the init should have delays, after that all requests go through Good luck :) |
@iwanders |
@iwanders // startCommunicationRequest message:
uint8_t message[4] = {0xC1, 0x33, 0xF1, 0x81}; // where do you find this do you have any information please :)
// checksum (0x66) is calculated by request method. the first image and with my special adapter |
Don't remember, but the 'blame' button allows you to review which commit last touched the line. Looks like it went in in PR 12 which has links to some issues with long discussions, you may be able to find more information there. In the logic analyzers, try adding a UART analyser at 10400 baud rate, that should decode the symbols for you, making it easier to discern similarities or dissimilarities. |
here are the logs made with software that uses k-line only
it uses 17 data with an average sampling rate between 300ms and 400ms
The text was updated successfully, but these errors were encountered: