The OBD2 standard does this today. Not pretty, but works well enough. I always check my fault codes before going to the mechanic.
>which provides diagnostic and maintenance data according to a standardized format.
Except the values you get won't make any sense outside of your particular model. Its like reading SMART data from a hard drive. Okay, you can generate this csv and have all this data, but without the manufacturer telling what thresholds matter (and these are arguable), its kinda meaningless. SMART was supposed to predict failures and do all sorts of things, but its kind useless in practice. I think most controllers just stupidly rely on bad blocks appearing than trying to interpret the tea leaves of SMART data.
With OBD systems, all this information is internal and we get a fault code when we pass a certain threshold. I think this makes it a lot easier for mechanics and lay people to work with. Data addicts, of course, will never be satisfied unless they can pull every bit out of the system, but that may not be practical or useful. I could see a hybrid system where a car has the old fashioned OBD2 protocol and something else for nerds to download.
Getting at that level of data would be possible if you could access the CAN bus. It's part of the OBD-II standard, but most manufacturers don't forward the CAN bus data to that specific connector hidden under your steering column. However, a few do, and there are other connections in other locations for the other makes.
You can access the CAN bus pretty cheaply (there are several cards available around $200 with linux drivers, maybe cheaper if you're willing to do more than plug it in and turn on wireshark). That said, the last time I worked on ECMs, the messages were not standardized at all. You needed a spec to define what variations of ECMs were available as well as what the individual values would mean. I feel like GM was standardizing this more than others in an effort to consolidate ECMs they were shipping (runtime config via "calibrations" I believe), and all manufacturers might be using standardized parts now, but you'll still need to know not only the message inventory for your vehicle, but you'll want to know whatever diagnostic protocol that your manufacturer uses to sit on top of CAN. Keyword Protocol 2000 was used by DaimlerChrysler was used when I was still in the business and GMLAN was used by GM for these purposes.
The Goodthopter [1], an offshoot of Travis Goodspeed's 'GoodFET' project, allows CAN access for about $35 all in. It's basically a MSP430 + a CAN controller.
Even 'simple' CAN protocols, like J1939 used in trucks/agri/marine, are purposely non-standard. It's rather annoying.
I'm curious as to what systems will emerge from Mercedes/VW/BMW (and I guess Google) as more high speed sources like LiDAR, active dampening, etc become the norm. The current BMW 5/7 series and Mercedes' S-class already have separate CAN-like systems for high speed buses.
> but without the manufacturer telling what thresholds matter (and these are arguable), its kinda meaningless
I know exactly what you mean. Through random forum postings I found which index my SSD uses for "wear level", only nobody knows what the units are or what they mean.
>which provides diagnostic and maintenance data according to a standardized format.
Except the values you get won't make any sense outside of your particular model. Its like reading SMART data from a hard drive. Okay, you can generate this csv and have all this data, but without the manufacturer telling what thresholds matter (and these are arguable), its kinda meaningless. SMART was supposed to predict failures and do all sorts of things, but its kind useless in practice. I think most controllers just stupidly rely on bad blocks appearing than trying to interpret the tea leaves of SMART data.
With OBD systems, all this information is internal and we get a fault code when we pass a certain threshold. I think this makes it a lot easier for mechanics and lay people to work with. Data addicts, of course, will never be satisfied unless they can pull every bit out of the system, but that may not be practical or useful. I could see a hybrid system where a car has the old fashioned OBD2 protocol and something else for nerds to download.