BrianHumlicek / J2534-Sharp

A .Net interface for J2534 vehicle communications.
Other
43 stars 14 forks source link

J2534-2 support status #27

Open athach opened 1 year ago

athach commented 1 year ago

First of all, thank you very much for sharing this repository. It looks very useful and I plan on using it in a boot loader application.

I can see that you have implemented some features from J2534-2. It has been revised with more functionality three times in 14 years. I think it would be good if you list which features are implemented on the first page of the repo.

https://www.sae.org/standards/content/j2534-2_202012/

Thanks

BrianHumlicek commented 1 year ago

My goal is to have it implement everything. As it sits, it should be possible to manually specify protocol and bauds so you should theoretically should be able to implement anything. It is helpful and expressive to have enum definitions for these things, so I will add those as I learn about them. I haven't worked in the automotive space in a while, so, I might be behind on the latest in 2534. If you let me know what/when things need to be added, I will do my best to keep it up to date.

athach commented 1 year ago

Actually I dont really need anything at the moment. It was just an idea that crossed my mind. Since there are several updates of the specification it is not clear which parts are implemented. I gathered this from the SAE website. I was interested in CAN FD and as far as I can tell that is not implemented.

2020 update This update to API version 04.04 of the SAE J2534-2 specification is to add support for Ethernet NDIS protocol and the read voltage on an SAE J1962 pin functionality.

2019 update This update to the SAE J2534-2 specification is to add support for CAN FD protocol, and ISO 15765 on CAN FD protocol.

2010 update Added ability to access multiple devices simultaneously Added support for UART Echo Byte Protocol Added support for Honda Diag-H Protocol Added support for Repeat Messaging Added support for Extended Programming Voltage Added support for SAE J1939 Protocol Added support for SAE J1708 Protocol Added support for Device Parameter configuration Added support for TP2.0 Protocol Added support for Fault-Tolerant CAN Added Discovery Mechanism to discover the supported features Other editorial changes

BrianHumlicek commented 1 year ago

It looks like I currently have first class support for everything you have listed except for the 2020 update. You can find the enumerations in Protocol.cs.

If you have the 2020 addendum, you can email it to me and I will add definitions for it.

Brian

athach commented 1 year ago

For CAN FD rx and tx flags are missing, See tables 92 and 93 in the document, Maybe the data phase baud rates should be in baud.cs (table 90)?

eventsb commented 1 year ago

I am also interested in CAN FD support.

If there is any way I can help let me know.

BrianHumlicek commented 1 year ago

So, I have looked at this and it appears there have been some extensions added for TP2.0 that have overlapping flags and statuses. I'm not sure what the best way to deal with this might be. I'm thinking that a separate enum with the TP2.0 stuff would probably be the best way.