The Seal EPS reports steering torque/prepare/activated state on
508 STEERING_TORQUE_ANGLE (different bit layout; driver torque factor
0.1), unlike the Han which uses 792 STEERING_TORQUE. The Seal's
fingerprint contains 508 but not 792, so alive-checking 792 tripped
canError ("Unknown Vehicle Variant") the moment the interface started.
- carstate: per-platform steering message selection (508 strict-checked
on Seal, 792 on Han; the other parsed opportunistically)
- carcontroller: don't send 792-layout camera feedback on the Seal;
stock 508 forwards unmodified for now (camera-feedback spoofing for
the Seal's 508 to be evaluated after a bus dump + road test)
- panda byd.h: rx check accepts 792 or 508 (first-seen-wins), torque
sampling handles both layouts, driver torque rescaled for 508's 0.1x
factor
- panda firmware rebuilt (panda_h7.bin.signed)
- tests: Seal(508) + Han(792) both verified canValid with correct
torque values; 120 safety tests + MISRA clean
Programming
./flash.py # flash application
./recover.py # flash bootstub
Debugging
To print out the serial console from the STM32, run tests/debug_console.py
Troubleshooting
If your panda will not flash and green LED is on, use recover.py.
If panda is blinking fast with green LED, use flash.py.
Otherwise if LED is off and panda can't be seen with lsusb command, use panda paw to go into DFU mode.
If your device has an internal panda and none of the above works, try running ../scripts/reflash_internal_panda.py.