I Created a "trip mode" for my Chevy volt using a Raspberry Pi and a Panda from Comma AI to auto switch between "normal" and "hold mode" on long trips. See the associated blog post for more information, hardware list, and more detailed setup/usage information.
Tested with Python 3.8 64-bit on Raspbian on a Raspberry Pi 4B, connected to a Gray Panda from Comma AI plugged into the OBD-II port on a 2017 Chevy Volt. More details in the blog post.
- See the hardware list from the associated blog post for more information on required hardware and installation.
- On a Raspberry Pi with Python 3.8 and Raspbian, create a virtual environment:
python -m venv ./venv
- Activate the environment:
source ./venv/bin/activate
- Install the dependencies:
pip install -r requirements.txt
- Run the app:
python tripmode.py
- Create the file
/etc/xdg/autostart/tripmode.desktop
- Add the contents:
[Desktop Entry]
Name=ChevyVoltTripMode
Exec=/usr/bin/python /home/pi/tripmode.py
- Reboot
- Create a safety model for the Panda that only allows what we need to be sent on the CAN bus
- GUI improvements: Bigger buttons, center the GUI
setup.py
and wheel distributions maybe- Configurable trigger speed