Thought I'd post here about the progress I've been making on the app I started late last week. I find myself looking down at the Volt's dash more than I would like when I'm driving, especially in CS mode, to try and drive more efficiently. The data points I look for most frequently are whether or not the engine is running, and the power consumption (as the engine starts if it goes about ~15 kW, and I like to coast as long as possible with the engine off).
This app will work best when the phone is mounted on the windshield, closer to the driver's field of vision when they are looking at the road. Here's a prototype screenshot (simulated values):
I'm very close to having it working. It connects to an ELM-based Bluetooth OBDII adapter, just like Torque. The only issue right now is that the CAN bus on my Volt is occasionally reporting "CAN ERROR" and I need to send initialization codes again when that happens, and I'm too tired to do any more testing (it only happens when I'm actually driving, of course
The left bar is the battery bar. Normally it displays roughly the same value as the one on the Volt dash, but once the app detects the car is in "CS" mode (battery drops below a certain point), it stretches the bar to show the current charge level inside the "CS" window of charge.
The right is the same as the leftmost gauge on the Volt's dash in Enhanced mode (total power into or out of the battery). The green line is the estimated "engine start" point in CS mode, which I still need to tune a bit (it's hard to tell what the ramp is based on certain speeds, but I know that above 25-30 MPH, the threshold is a constant 15 kW). If the yellow bar goes above the green, the engine will start (or should, at least) if the car's in Charge Sustain or Hold mode. The background of the app changes from green to blue and the "EV" text goes away whenever the engine is on.
Sadly, I don't have all the PIDs I need to make this work exactly as I want. I can't get the exact "engine on" threshold, nor can I tell if the car is truly in CS or Hold mode. I also wanted to have it indicate when the friction brakes kick in during braking, but I can't find a PID for that either.
I plan on putting this on the Play store when I finish it, probably for a buck or two.