Files
opendbc-meb/opendbc/car/values.py
elkoled 2898287863 PSA AEE2010_R3: Initial Platform Support (#2379)
* spam at 100Hz

* try higher STEER_MAX

* delete torque based control

* set measured steerActuatorDelay

* add route

* fix: set static status when lat not active

* clean checksum

* clean: carcontroller

* clean: carstate, interface

* clean: psacan

* clean: values

* fix

* comments

* try 0_3s actuator

* enable lanechange

* implement standstill

* fix: blinkers

* fix: e208 car specs

* fix: set ovveride.toml to angle based

* actuatorDelay to 0.5s

* add: standstill signal

* add: translated DBC

* fix: recuperation

* test: status change

* clean up status ramp

* cleanup

* add: ESP and cruisestate signals

* actuatorDelay to 0.2

* cleanup

* test max angle

* set verified STEER_MAX

* test fingerprinting

* match nissan angle limits

* Revert "match nissan angle limits"

This reverts commit 4ef75889ac9e73127a8ae6dd98b875b52604132b.

* fix tests

* DEBUG: test fingerprint

* actuatorDelay to 0.4

* DEBUG: use non-negative ECU offsetc

* DEBUG: enable Dashcam mode

* DEBUG: try to fix values.py

* Revert "DEBUG: enable Dashcam mode"

This reverts commit 4c632bcbaf78a4185232daa96df845e073764583.

* set more ecu addresses

* DBC: name DIAG frames

* use simple fw request

* cleanup

* fix: rename carname to brand

* swap CAN0/2

* add: carstate signals

* fix: steeringRateSign

* move PSA safety to opendbc

* fix: adhere to new ANGLE_LIMITS

* add: mandatory ignores for chks and counter

* fix: fingerprint

* disable radar ECU

* translate HS2_DAT_MDD_CMD_452 msg

* add ACC cancel request message

* translate HS2_DAT_MDD_CMD_452 signals

* rename to SPEED_SETPOINT

* checksum init

* add acc status msg

* add structure for longitudinal

* update test route

* remove debug code

* fix: ecu version requests

* adjust ActuatorDelay to 0.3

* disable bus multiplexing

* disable radar

* enable longitudinal

* add: artiv (radar) signals

* rename

* implement radar fake messages

* add radar tx safety

* fix

* implement radar spoof

* fix

* disable long signals

* DEBUG: test checksums

* set checksum chk_ini

* fix checksum 2f6

* checksum helper 2f6

* checksum helper 2b6

* fix checksum 2b6

* checksum helper 3f2

* try fixed radar values

* unify checksum script

* enable radar control

* cleanup

* add acc values

* adjust long params

* fix radar msg

* enable resume from standstill

* fix braking threshold

* set standstill cruise false

* set long tuning to default

* DEBUG: test AUTO_BREAKING always on

* DEBUG: AUTO_BRAKING on after 1 s of car startup

* DEBUG: spoof radar after 10 seconds

* sync 2f6 and 2b6 radar signals

* DEBUG: set KiV long tune

* DEBUG: set mult to 1000

* fix fwd hook

* fix interface

* adjust tuning

* ARC STATUS=1

* scale torque multiplier with speed

* scale fix

* use simple acc to torque factor

* use factor 80

* simplify

* cleanup

* set mult to 70

* DEBUG: try kiV

* no kiV, linear accel/brake

* AEB enable test

* AEB always disabled test

* add 100Hz gas pedal

* op long optional

* add acc related signals

* set steerAtStandstill

* fix: dbc message name typo

* add steeringSaturated debug

* adapt to master changes

* safety: set meas_angle

* chg: set steer_driver_allowance to 1.5 Nm

* fix: steering wheel nudge on disengage

* safety: add torque_driver

* DEBUG: enable long

* fix: req_diag_artiv

* disable long

* chg: reduce DRIVER_ALLOWANCE to 1 Nm

* remove longitudinal

* cleanup

* move safety_psa

* fw request

* decrease torque

* fw query

* steerLimitTimer = 0.1

* DEBUG: fix fw query for psa

* query test 1

* query test 2

* fw query test 3

* add ecu versions

* fix fw query

* fix ECU names

* add tester preset

* reactivate brand_matches skip

* adapt to opendbc changes

* fix linter

* fix misra

* fix pytest: add psa fw query timings

* fix: rxchecks

* adapt to master changes

* clean values.py

* DEBUG: fw_versions.py debug print

* Revert "DEBUG: fw_versions.py debug print"

This reverts commit c298f4f1711c055a31600587ba25f89cfbffc0e3.

* use firmware request

* PSA ECUs:  is_tester_present_response exception

* cleanup

* rename dbc

* peugeot 208

* delete opel corsa

* clean

* fix tests

* comments

* align angle rates to values.h

* set rx counters

* refactor

* add checksum and counter hooks

* set chk ini bytes

* remove one message

* fix misra

* fix main bus

* Revert "PSA ECUs:  is_tester_present_response exception"

This reverts commit 3387200097a62b4cda14840f198657876bcdedc8.

* revert fingerprints.py entry

* remove leading empty line

* psa safety ALLOW_DEBUG

* cleanup

* fix tests

* enable fw query for route recording

* Revert "enable fw query for route recording"

This reverts commit f81915ad27f125adb6424de793b87e4b3e40142d.

* add better route

* remove FW Query

* remove DRIVER

* sort alphabetical

* cleanup

* fix test

* clean

* clean

* conservative steerLimitTimer

* fix names

formatting

* psa test setup

add helper to psa test

add more helper

* add StockSafety test

* remove ESP signal

* remove steerFaultPermanent

* fix parse_wheel_speed and gasPressed

* move frequency in rx checks

* to_push/to_send -> msg

* align formatting with values.py

* rm GET_BUS

* rm GET_ADDR

* rm GET_BYTE

* fix some tests

* Update opendbc/car/psa/values.py

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* use opendbc.car.lateral import

* use opendbc.car.lateral import

* remove legacy fingerprint

* fix misra

* fix CHECKSUM/COUNTER dbc names

* use can packer for psa_checksum

* fix tests

* fix coverage

* Apply suggestions from code review

Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* clean psacan

* set steerLimitTimer to 0.1

* Update opendbc/car/psa/carcontroller.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* Update opendbc/car/psa/carstate.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* Update opendbc/safety/modes/psa.h

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* add newline in safety_declratations.h

* fix indentation

* remove fwd hook

* Update opendbc/car/psa/carstate.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* Update opendbc/car/psa/carstate.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* fix main/cam bus naming

* use brake_pressed instead brake_pressure

* fix ruff

* remove manual gear

* fix ChecksumState

* send steering at 20Hz

* replicate stock LKAS behavior

* fix mutations

* Update opendbc/car/psa/carcontroller.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* Update opendbc/car/psa/carstate.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

* fix dbc comment

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2025-08-16 17:36:14 -07:00

22 lines
1.0 KiB
Python

from typing import get_args
from opendbc.car.body.values import CAR as BODY
from opendbc.car.chrysler.values import CAR as CHRYSLER
from opendbc.car.ford.values import CAR as FORD
from opendbc.car.gm.values import CAR as GM
from opendbc.car.honda.values import CAR as HONDA
from opendbc.car.hyundai.values import CAR as HYUNDAI
from opendbc.car.mazda.values import CAR as MAZDA
from opendbc.car.mock.values import CAR as MOCK
from opendbc.car.nissan.values import CAR as NISSAN
from opendbc.car.psa.values import CAR as PSA
from opendbc.car.rivian.values import CAR as RIVIAN
from opendbc.car.subaru.values import CAR as SUBARU
from opendbc.car.tesla.values import CAR as TESLA
from opendbc.car.toyota.values import CAR as TOYOTA
from opendbc.car.volkswagen.values import CAR as VOLKSWAGEN
Platform = BODY | CHRYSLER | FORD | GM | HONDA | HYUNDAI | MAZDA | MOCK | NISSAN | PSA | RIVIAN | SUBARU | TESLA | TOYOTA | VOLKSWAGEN
BRANDS = get_args(Platform)
PLATFORMS: dict[str, Platform] = {str(platform): platform for brand in BRANDS for platform in brand}