Hi,
Previously i worked for 5 years in the automotive field where GM was my client and did implemented the OBD2 protocol in compliance with SAE where i need to read the VIN, ODO, PIDS and download/uploading of the firmware for device was done with OBD2 driver..
This was pretty much used with CAN, ISOCAN , VPW, ISO9141 and other protocols.
I have experience in C, C++ and C#(windows based applications) about 8 years.