The Volt has a standard 5-position gear selector lever, with Park, Neutral, Reverse, Drive, and "Low". It doesn't make much sense for a hybrid or electric transmission to have a "Low" position, but like other manufacturers, GM has chosen to implement it in a way that simulates the same kind of engine braking that you would get from a traditional transmission. Unlike a traditional powertrain, there is no issue with leaving it in this position while driving at high speeds. It does this by changing the mapping on the accelerator pedal. In "D", it will apply a small amount of regenerative braking (about 2.5 kW) to slow the car down a bit. In "L" mode, it applies a larger amount of braking (30 kW). This can quickly slow the vehicle almost to a stop.
The only issue is that it doesn't turn the brake lights on when you do this! This can lead to a situation where the car is decelerating quickly, but but the vehicles behind don't notice.
So I had an idea... I can certainly detect the conditions under which the car is slowing down, but how can I turn on the brake lights? It turns out there are diagnostic commands that can be sent over the OBD2 port to turn each individual light on for testing. So the conditions I need to check are:
- Gear selector is in "L" position,
- Accelerator pedal is less than 5% pressed, and
- Cruise control is not active.
I feel a lot safer driving in "L" mode with this hack in place. Although this would not have stopped that kid from rear-ending me - that happened at a stoplight with the brakes pressed.