Difference between revisions of "Panda"

From Tinkla: Tinkering with Tesla
Line 13: Line 13:
  
 
=== Flashing the Panda ===
 
=== Flashing the Panda ===
Most of the OpenPilot updates (or when installing new) require you to also update the software on your Panda. Here's how:
+
{{Flashing the Panda}}
 
 
In your Tesla while it says “Car Off” connect your Panda to your Giraffe rev B OBD (or EPAS OBD). Connect your EON to the Panda via USB. Then SSH in and run:
 
<source lang="bash">cd /data/openpilot/panda/board
 
killall boardd
 
make clean
 
make
 
make recover || make recover
 
reboot</source>
 

Revision as of 00:33, 18 November 2019

The Panda is an OBD II dongle created by Comma.ai. It allows the EON to talk to the car via CAN bus messaging. It supports 3 CAN buses, 2 LIN buses, and 1 GMLAN.

The software for the Panda is opensource (and heavily modified for Tesla). When installed on a Tesla, the Panda (by itself) creates all the messages to emulate a DAS (the AutoPilot computer) as well as to keep the Bosch radar talking. It has CAN0 connected to the Tesla Chassis CAN, CAN1 connected to the Bosch radar, and CAN2 connected to the Tesla EPAS (the electric power steering).

There are two "flavors" of Panda:

  • White Panda: $99 USD - The white panda has WiFi and USB capabilities and can work directly with your computer running Cabana.
  • Grey Panda: $199 USD - The grey panda has high precision GPS (to be used with maps integration) but no wifi and can't be used with Cabana.

Both versions are currently fully supported because we actually use the Tesla GPS for maps integration.
I have both pandas due to the amount of development I do. I use the Grey Panda for driving the car and I use the White Panda for debugging/monitoring/reverse engineering CAN messages (in conjunction with an OBD II splitter).

The Comma.ai Panda can be purchased from the Comma.ai store.

Flashing the Panda

After installing or updating OpenPilot on your EON, you need to also update the software on your Panda. Here's how:

In your Tesla while it says “Car Off” connect your Panda to your Giraffe rev B OBD (or EPAS OBD). Connect your EON to the Panda via USB. Then SSH in and run:

cd /data/openpilot/panda/board
killall boardd
make clean
make && sleep 1 && (make recover || make recover) && echo Success! Rebooting in 2s... && sleep 2 && reboot

The kill command ensures that the EON stops regular communication to the Panda. That's also why a reboot is needed at the end. If any error occurs (which of course should not happen) the reboot will be skipped so you can troubleshoot. AssertionErrors should be fixed by rebooting EON and trying a second time. Optionally you may also power cycle your Panda by reseating it.