The US government requires automakers to support emissions related functions on the OBD-II connector for all 1996 and newer vehicles, as described by SAE standard J1979. By law, the vehicle must let you:Originally Posted by dasickis
- Read current powertrain data about 70 different sensors.
- Read "freeze frame" powertrain data that caused a trouble code.
- Read / Clear current emission-related trouble codes.
- Read pending emission-related trouble codes.
- Read oxygen sensor test results.
- Read test results for other monitored systems.
- Control emissions related system or test.
- Read vehicle info (vin, calids, etc).
A few years later, the government added a requirement that all 2004 and newer vehicles must support reflashing with SAE standard J2534. This way if there are any software bugs, they can be corrected in the field by a software update from the manufacturer.
Each automaker has hundreds (even thousands) of additional, proprietary parameters that are available from the OBD connector, beyond the EPA's requirements. It's often possible to diagnose or control devices. For example you can raise/lower the power windows, adjust the power mirrors, or detect button pushes on the radio on some cars. But this is proprietary and the exact process varies from automarker to automarker, and even vehicle to vehicle. Not all scantools are created alike; you would need a tool that understands the manufacturer proprietary commands to access the "really cool" features.
The short answer is: some things are standard across all 1996+ vehicles, others are unique to the automaker or even the vehicle. You can do it all with the OBD-II connector; it just depends what your vehicle supports and what your scantool or software knows how to do.