Commit Graph

8 Commits

Author SHA1 Message Date
1okko caba000215 ford: support Edge MK2 yaw counter step of 5 2026-09-30 20:16:26 +08:00
Comma Device 93582d1c81 Merge master-dev sync-20260902 into c3xl-dev
- upstream sync 47db84ebf..132b31f4c: new panda health packet, chestnut
  usb status, ui TextAlignment refactor, modeld/HF model name, hardwared
- agnos.json: update system partition only, keep custom boot
- submodules: opendbc_repo f95f996f (mads cppcheck), panda 74a0adce
  (health flags packet), uv.lock raylib post101
- resolve ui/layouts/home.py conflict (keep MR.ONE home content)
2026-09-04 14:55:37 +08:00
Comma Device e85f40d18b gwm: port Haval H6 support from opendbc PR #3263
Adds the GWM brand (Haval H6 2019-26, full ACC/steering support):
- opendbc/car/gwm: brand interface, carstate, carcontroller, gwmcan, values
  (adapted to sunnypilot CP_SP API and deprecated field group)
- car.capnp: SafetyModel.gwm @36
- values.py: GWM in the Platform union
- docs_definitions.py: CarHarness.gwm
- safety: gwm.h, SAFETY_GWM 36, registration (behind ALLOW_DEBUG)
- dbc generator for gwm_haval_h6_mk3, torque params for GWM_HAVAL_H6
- car_list.json: Haval H6 now appears in the vehicle selector
- rebuilt panda firmware with the GWM safety mode (DEV-dc833705)
2026-09-01 20:49:45 +08:00
Comma Device dc8337054a mg: port MG 5 EV support from upstream opendbc
Adds the MG brand (MG 5 EV 2021, dashcam-only) to c3xl-dev's opendbc:
- opendbc/car/mg: brand interface, carstate, carcontroller, mgcan, values
- car.capnp: SafetyModel.mg @35
- values.py: MG in the Platform union
- safety: mg.h, SAFETY_MG 35, registration (behind ALLOW_DEBUG)
- dbc/mg.dbc, torque override for MG_5_EV
- car_list.json: include dashcam-only platforms so MG appears in the
  vehicle selector
- rebuilt panda firmware with the MG safety mode (DEV-a53d9321)
2026-09-01 20:37:13 +08:00
Comma Device 015f9f7c69 pandad: protect app firmware from recover, keep blank-board flashing
The SPI panda boot loop called recover_internal_panda() whenever the panda
did not appear within 20s after a reset. recover() erases both the bootstub
and app sectors (dfu.py program_bootstub erases sectors 0+1) before
reflashing, so a working panda that booted slowly lost its app firmware.

Fix:
- pandad.py: wait up to 60s for the panda, retry the normal reset 3x, and
  only enter the ROM bootloader (recover) when the panda is confirmed in DFU
  or all normal resets failed - preserving provisioning of blank boards.
- hardware.py: align recover_internal_panda() timing with the working manual
  flash scripts (0.2s reset hold, 1s settle, keep BOOT0 high).
- spi.py: raise the SPI bootloader ack timeout from 0.01s to 0.1s so the DFU
  flash reliably succeeds instead of erasing then failing.
2026-08-30 14:15:55 +08:00
Comma Device b061d88cfa panda: add GM ignition-over-CAN detection on bus 2 (SystemPowerMode 0x1F1)
FrogPilot handles the GM SystemPowerMode message on both bus 0 and bus 2
(SDGM cars send it on bus 2). C3XL-dev only checked bus 0, so GM cars with
0x1F1 on bus 2 never set ignition_can and the device would not auto power-on.
Mirror FrogPilot: check 0x1F1 on bus 2 as well, keep other exceptions bus-0 only.
2026-08-25 11:41:31 +08:00
Comma Device 12603100fb MR.ONE 2026-08-15 07:46:15 +00:00
github-actions[bot] f8e13417f2 sunnypilot v2026.003.000 release
date: 2026-08-15T14:20:10
master commit: d48cfa730bf21593b684efeaf3fd8940695e1dea
2026-08-15 14:20:16 +08:00