Files
sunnypilot-byd/panda/board
Quintine c8903e592c byd: add BYD car port (HAN EV 23 / Seal Performance 2025) with MADS support
Car port adapted from HotIce0/openpilot develop_byd_comma4 to sunnypilot's
opendbc API (CP_SP signatures, (ret, ret_sp) carstate returns):

- opendbc/car/byd/: interface, carstate, carcontroller, bydcan, values,
  fingerprints (BYD_SEAL_PERFORMANCE_25 with full 91-msg fingerprint)
- opendbc/dbc/byd_common.dbc
- Brand registration: car/values.py, car/fingerprints.py (+MIGRATION),
  car.capnp SafetyModel byd @35, torque_data/params.toml
- safety/modes/byd.h: SAFETY_BYD 35U with real TX checks (steer torque
  cmd checks, longitudinal accel checks), MADS LKAS button from
  PCM_BUTTONS (944), pcm_cruise_check, ESC vehicle_moving. MISRA clean.
- safety/tests/test_byd.py: 120 tests (stock + longitudinal variants)
- opendbc/sunnypilot/car/byd/mads.py: MadsCarState tracking the
  dedicated LKAS steering wheel button
- sunnypilot/mads/mads.py: allow_always for byd (dedicated LKAS button)
- panda: restore SConstruct/SConscript build system, rebuild
  panda_h7.bin.signed (TIZI) with SAFETY_BYD + MADS lateral gating

Known limitation: BYD_HAN_EV_23 fingerprint is a subset of the Seal's,
so HAN requires FINGERPRINT=BYD_HAN_EV_23 env var (live fingerprint
cannot distinguish it; Seal fingerprints natively).
2026-07-25 15:09:00 +10:00
..
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00
2026-07-21 07:44:02 +00:00

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.