Commit Graph

82 Commits

Author SHA1 Message Date
Jason Wen b2cdfc09ae Longitudinal: Refactor Experimental Mode toggle with distance button hold (#409)
* init

* deprecated

* in controlsd directly

* update

* unused

* combine

* only once

* fix

* better

* cleanup

* more

* Update CHANGELOGS.md
2024-08-13 16:16:40 -04:00
Jason Wen 5b674d2231 car: Interface cleanup (#396)
* deprecated

* cruise main state

* v cruise non pcm state

* acc mads combo

* cancel cruise state

* sp common state

* sp event

* custom stock long

* started mads

* v cruise non pcm state old

* acc mads old

* started mads old
2024-08-13 15:57:27 -04:00
Jason Wen 08afbd7cb5 car: Check params before car state is updated (#364)
* car: Check params before car state is updated

* read params in a thread instead

* initialize list

* Do this instead

* type hint

* ParamManager

* make them internal
2024-08-01 18:12:27 -04:00
Jason Wen 54d5281064 MADS: Map cruise main and lateral buttons to button events (#373)
* MADS: Map cruise main and lateral buttons to button events
* MADS: Map cruise main and lateral buttons to button events

* different style

* nah

(cherry picked from commit 4d7afe3a7b)

* reimplement
2024-08-01 10:26:27 -04:00
Jason Wen b3926faebb Revert "MADS: Map cruise main and lateral buttons to button events" (#372)
Revert "MADS: Map cruise main and lateral buttons to button events (#361)"

This reverts commit 4d7afe3a7b.
2024-07-31 18:41:17 -04:00
Jason Wen 4d7afe3a7b MADS: Map cruise main and lateral buttons to button events (#361)
* MADS: Map cruise main and lateral buttons to button events

* different style

* nah
2024-07-30 10:58:35 -04:00
Jason Wen ca8c74bc0d MADS: Use modern button events parsing 2024-07-29 06:21:01 -04:00
Jason Wen 3442e8b65f MADS: Fix Disengage on Accelerator Pedal not disengaging properly 2024-06-27 04:28:13 +00:00
Jason Wen 0a6bc53fc2 Revert "Longitudinal: Use upstream button timer to toggle between Chill & Experimental Mode"
This reverts commit d959c43284.
2024-05-16 12:45:05 -04:00
Jason Wen d959c43284 Longitudinal: Use upstream button timer to toggle between Chill & Experimental Mode 2024-05-16 00:12:17 -04:00
Jason Wen 250afef443 Merge branch 'master' into SP-59-sync-priv-20240507
# Conflicts:
#	panda
#	release/build_release.sh
#	selfdrive/car/volkswagen/interface.py
2024-05-15 16:04:19 -04:00
Jason Wen 9e3f57d53e Merge branch 'master' into SP-59-sync-priv-20240507 2024-05-09 15:48:29 -04:00
Jason Wen 11351823ef GAC: Remove from sunnypilot 2024-05-07 04:05:11 -04:00
Jason Wen abb18380a1 Merge branch 'upstream/openpilot/master' into sync-20240502
# Conflicts:
#	cereal
#	common/params.cc
#	opendbc
#	panda
#	selfdrive/car/chrysler/carcontroller.py
#	selfdrive/car/honda/carstate.py
#	selfdrive/car/honda/fingerprints.py
#	selfdrive/car/honda/hondacan.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/honda/values.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/hyundai/values.py
#	selfdrive/car/subaru/carstate.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/torque_data/override.toml
#	selfdrive/car/torque_data/params.toml
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/car/toyota/carstate.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/toyota/toyotacan.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/modeld/modeld.py
#	selfdrive/monitoring/dmonitoringd.py
#	selfdrive/ui/qt/onroad/annotated_camera.cc
Revert "remove STM32F2 sources (#1873)"

This reverts commit 7bfba5ef
2024-05-04 23:49:28 -04:00
Justin Newberry b0eb3ba4f4 cars: platform enums -> prepend brand name (#31927)
* with brand name

* migrate

* Fix

* fixes

* more

* passes

* fix

* fix the doc

* collects

* these too

* more stuff

* body exception :/

* more

* hardcode i guess

* update ref

* toyota

* more toyota

* and here

* final!

* fix notebooks and ccs

* move this here
2024-03-19 17:29:50 -07:00
Adeeb Shihadeh 3a7582d9a6 Abstract out common CarInterface.apply (#31924) 2024-03-19 13:46:31 -07:00
Jason Wen ab5c0f90b5 Mazda: Parse distance button from steering wheel (#31765)
* Mazda: Parse distance button from steering wheel

* Update selfdrive/car/mazda/interface.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 21:53:19 -07:00
Shane Smiskol 638aaa9e53 Platform configs: move tire stiffness into config (#31678)
* first one to open PR

* mazda

* oh it is

* fix gm car specs and create MazdaCarSpecs

* fix

* do honda

* ruff
2024-03-05 15:10:58 -08:00
Shane Smiskol eaf3332599 Revert "mazda"
This reverts commit b57d371626.
2024-03-01 21:37:29 -08:00
Shane Smiskol b57d371626 mazda 2024-03-01 21:37:09 -08:00
Justin Newberry e122f1d749 Mazda: move to platform config (#31647)
* mazda platform config

* update ref
2024-02-29 11:14:00 -08:00
Jason Wen 9219b7966c Merge branch 'master' into dev-priv/master-test
# Conflicts:
#	panda
#	release/build_release.sh
#	selfdrive/car/car_helpers.py
#	selfdrive/car/chrysler/carcontroller.py
#	selfdrive/car/chrysler/carstate.py
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/ford/carstate.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/gm/carcontroller.py
#	selfdrive/car/gm/carstate.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/honda/carcontroller.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/mazda/carcontroller.py
#	selfdrive/car/mazda/carstate.py
#	selfdrive/car/mazda/interface.py
#	selfdrive/car/nissan/carcontroller.py
#	selfdrive/car/nissan/interface.py
#	selfdrive/car/subaru/carstate.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/car/toyota/carstate.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/toyota/toyotacan.py
#	selfdrive/car/volkswagen/carcontroller.py
#	selfdrive/car/volkswagen/carstate.py
#	selfdrive/car/volkswagen/interface.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/lib/latcontrol_torque.py
#	selfdrive/controls/lib/lateral_planner.py
#	selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/locationd/paramsd.py
#	selfdrive/manager/manager.py
#	selfdrive/manager/process.py
#	selfdrive/manager/process_config.py
#	selfdrive/sentry.py
#	selfdrive/ui/SConscript
#	selfdrive/ui/qt/home.cc
#	selfdrive/ui/qt/maps/map_settings.cc
#	selfdrive/ui/qt/maps/map_settings.h
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/onroad.cc
#	selfdrive/ui/qt/onroad.h
#	selfdrive/ui/qt/util.cc
#	selfdrive/ui/qt/util.h
#	selfdrive/ui/soundd/sound.h
#	selfdrive/ui/ui.h
#	system/version.py
2023-09-05 20:17:19 -04:00
Jason Wen 9bc73b85ff Merge remote-tracking branch 'commaai/openpilot/master'
# Conflicts:
#	.github/workflows/selfdrive_tests.yaml
#	.pre-commit-config.yaml
#	README.md
#	cereal
#	common/version.h
#	opendbc
#	panda
#	selfdrive/car/chrysler/carcontroller.py
#	selfdrive/car/chrysler/carstate.py
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/gm/carstate.py
#	selfdrive/car/honda/carstate.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/hyundai/radar_interface.py
#	selfdrive/car/hyundai/values.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/carstate.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/car/torque_data/override.yaml
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/car/toyota/carstate.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/toyota/toyotacan.py
#	selfdrive/car/volkswagen/carstate.py
#	selfdrive/controls/lib/desire_helper.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/monitoring/dmonitoringd.py
#	selfdrive/thermald/power_monitoring.py
#	system/loggerd/uploader.py
2023-09-05 11:50:47 -04:00
Adeeb Shihadeh a9626f95b6 add openpilot prefix to imports (#29498)
* add openpilot prefix to imports

* more

* more

* fix docs

* fix linter

* bump submodules

* fix patched tests

* update dynamic imports

* debug

* Revert "debug"

This reverts commit db5e13b9911cc74438bee123bc3430da6c31b24b.

* fix pm test
2023-08-20 20:49:55 -07:00
Jason Young f76ffbdbbc interfaces: add common STD_CARGO_KG to mass (#29416)
* cleanup std_cargo_kg

* fix Sonata mass

* remove snowflake construct

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-08-17 21:06:07 -07:00
Jason Young 90c4bbe8e4 car interfaces: cleanup tire stiffness calculation (#28263)
* cleanup tire stiffness calculation

* bump cereal

* think these todos still apply

* gm: same default

* revert comments

* bump

* update refs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-08-15 14:17:08 -07:00
Jason Wen 7586395cb4 MADS: Cruise Main button engage always off handling (#155)
* MADS: Cruise Main button engage always off handling

* fix

* change it up
2023-06-14 23:04:47 -04:00
Jason Wen 9cdb838557 Controls: Custom Stock Longitudinal Control (#61)
* Custom Stock Longitudinal Control - base

* HKG

* simpler

* expose toggle

* allow events and engagements

* gate hysteresis for now

* screen tap SLC logic

* Honda

* update with submaster

* Revert "simpler"

This reverts commit 61b9a02faec721d4460c50c6e3f81b7d459d506b.

* send to cereal

* handle new pcm cruise engagement on HKG

* small cleanup

* define vehicle-specific lowest set speed

* not fitting

* new logic to help with weird rapid spam

* comment

* gaspressed don't override

* slow down button send when 2 values away

* less complex

* round them up

* Revert "less complex"

This reverts commit d850c404cccca5940f4e861c5df0317a38a4ab6b.

* gotta convert

* only slow down for slc and normal

* gaspress allow override

* no delay

* gate behind custom stock long

* add hysteresis to curve speed button sends

* remove limiting for Honda

* Revert "remove limiting for Honda"

This reverts commit b50f6199508e313fa1a30e1ab74970c507d89d78.

* 20/4 hz

* 25 times, just like old times

* god damn slow it down

* faster

* a tad bit faster

* slower at the end

* Volkswagen

* more checks

* log vw customs stock long

* change it up

* change it up for vw checks

* oops

* make sure it sends 10 times before changing to another button sets

* unnecessary

* use different count

* better logic

* bring back speed_diff

* vw: faster

* chrysler support

* mazda support

* fixup! chrysler support

* bump panda

* bump panda

* fix upstream merge

* Enable for Mazda

* initial and lowest set speed for all supported brands

* use buttonEvents from carstate for FCA and Mazda

* gate this behind non PCM only

* lower calls

* fix counter in button send

* log FCA and Mazda

* format

* just send one copy

* FCA: make SET+ set instead of resume

* Nicki Minaj Model (#28218)

* New model: 2ff7490f-8a2f-4c0d-87a8-b0fa3a4a6a71

* Updated model_replay_ref_commit

(cherry picked from commit 328b5d9d47)

* Revert "FCA: make SET+ set instead of resume"

This reverts commit 523a0537b728e8243e9cecb47169799d519aac3f.

* try this out

* try to match jvepilot's logic

* send with extra incrementing counts

* Revert "Revert "FCA: make SET+ set instead of resume""

This reverts commit f414a51e784b040d0f04881adcfc78d7faacda2a.

* have to block it

* lower send at 4 Hz

* can't be int

* 10 Hz max, 1 copy

* mazda send at 10 Hz

* chrysler at 10 hz

* send at 10 Hz

* remove this check for vw for now

* hkg can-fd go back to 4Hz, 1 copy

* hkg can-fd go back to 5Hz, 1 copy

* vw: different send freq logic

* Set cruise button every frame for FCA and HKG

* Set cruise button every frame for Mazda

* Revert "Set cruise button every frame for HKG"

* can't use brackets

* FCA: only send if counter has changed

* HKG CAN-FD: only send if counter has changed

* only up button frame if needed

* Revert "Set cruise button every frame for FCA"

* HKG CAN-FD: fix name

* FCA: handle resume button press engage cruisestate enabled

* FCA: separate RAM and non-RAM

* bump panda (test CAN Bus Disconnected bad commit)

* bump panda

* bump panda

* Revert "Nicki Minaj Model (#28218)"

This reverts commit 348f68b68c0bd2fcb6fdd6269e911d63ada968b4.

* gate behind customStockLong

---------

Co-authored-by: Mitchell Goff <mitchellgoffpc@gmail.com>
2023-06-08 23:10:48 -04:00
Jason Wen 95078c22d5 CarState: update objects when refreshing params (#96) 2023-06-05 17:16:57 -04:00
Jason Wen 69698381c5 Merge branch 'master' into dev-priv/master 2023-06-03 01:19:36 -04:00
Jason Wen 92281d2bf3 Controls: Custom Stock Longitudinal Control prerequisites (#165) 2023-06-03 01:18:47 -04:00
Jason Wen d465138f1d MADS: Cruise Main button engage fix (#86)
* MADS: Cruise Main button engage fix

* take this out on HKG side

* fix for HKG

* no need to update
2023-06-01 19:38:47 -04:00
Jason Wen 356a601d20 MADS: add toggle for Cruise Main button engage (#82)
* MADS: add toggle for Cruise Main button engage

* add toggle
2023-05-30 22:52:29 -04:00
Jason Wen 9c84fa7434 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	release/files_common
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaicanfd.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/ui/translations/main_pt-BR.ts
2023-04-25 01:42:45 -04:00
Shane Smiskol 5aebdb0ad0 Car docs: pass docs flag to car interfaces (#27311)
* docs

* docs

* docs

* docs

* use docs in gm
2023-04-18 12:22:22 -07:00
Jason Wen a7f756fee5 MADS: better doorOpen event logic (#65)
* MADS: better doorOpen event logic

* unnecessary
2023-03-28 19:03:59 -04:00
Jason Wen bbf530027c GAC: Gap Adjust Cruise implementation (#44)
* Gap Adjust Cruise (GAC): init

* cs: add longitudinal supported cars

* disable for Toyota for now

* send to car cluster

* more

* KrKeegan: More Aggresive Start from Standstill

* fix

* set prev button after

* init bool

* wrong var

* use common update param function

* bruh no wonder why

* lock to default distance when using exp mode

* make vw match other makes

* implement ui button

* gate ui button

* log desired_TF

* move button

* only show when cruise state available

* only allow press when cruise state available

* Revert "KrKeegan: More Aggresive Start from Standstill"

This reverts commit 20bdff34c83d5a0c248d6996155c995c8a99810f.

* unnecessary

* nothing else

* pass it through

* add toyota support

* fixup! add toyota support

* oops, necessary

* don't show ui button when using e2e long

* different signal to use

* Forgot to update

* Clean it up?

* this?

* ugh

* force int!!

* convert then round

* hide when in exp mode

* toyota: log button

* Revert "different signal to use"

This reverts commit edc64d31af527af842aabe2934e5720f73bf75cc.

* toyota flippy flippy

* wrong signal for vw

* oops
2023-02-24 17:41:52 -05:00
Jason Wen e1efbfe6eb CarInterface: update params (#45)
* CarInterface: update params

* check exp mode every frame

* Revert "check exp mode every frame"

This reverts commit a7d174a1a0cb367487e1b7fc9d1e6b651233860c.

* only immediately check exp mode when allowed
2023-02-20 20:48:41 -05:00
Jason Wen 3ad8d6ef50 MADS: handle both brakePressed and regenBraking parsing (#39) 2023-02-18 23:25:36 -05:00
Jason Wen 4d65697c07 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/nissan/carcontroller.py
#	selfdrive/controls/controlsd.py
2023-02-11 01:26:08 -05:00
Shane Smiskol 8f5057ff2d GM: enforce steering command message timing (#27250)
* draft

* bump opendbc

* still draft

* that's not right

* superset of the changes, 33hz

* cleanup

* this should work

* remove line

* pass it in again

* actually no need to check updated now

* now_nanos

* consistent name

* fix replay

* one line isn't that bad

switch

switch

* fix CarController tests

* Update ref_commit
2023-02-09 15:37:39 -08:00
Jason Wen d0743e6b42 Merge branch 'dev-pub/master' into dev-priv/master
# Conflicts:
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/controls/controlsd.py
#	selfdrive/ui/qt/onroad.cc
2023-02-04 00:43:41 -05:00
Jason Wen 54905e3505 MADS: ->
better brake state handling - part 6

MADS button event handling
2023-02-03 21:36:10 -05:00
Jason Wen ecf3f2f770 MADS: better brake state handling - part 5 2023-02-03 18:06:12 -05:00
Adeeb Shihadeh 6fa9b555a4 rename carState.radarOffCan to radarUnavailable (#27187)
* rename carState.radarOffCan to radarUnavailable

* bump cereal
2023-02-02 11:38:09 -08:00
Jason Wen bb0fad232b MADS: better brake state handling - part 3 2023-02-01 17:26:52 -05:00
Jason Wen e84a0326da MADS: Support all cars (#13)
* sunnypilot: MADS - Base + HKG

* fix upstream conflicts

* Don't miss this

* Missed it

* Don't initiate lane change when braking

* HKG: better cluster state

* HKG: only blink when disengaging lateral

* HKG: Optima's icons

* HKG: update vars and blink for CAN-FD

* HKG: don't get stuck

* obsolete

* remove this for now

* border color should sync

* change border color

* simplify things

* HKG: update events

* Honda: MADS

* HKG: cleanup

* Toyota: MADS

* Revert "remove this for now"

This reverts commit 76ddd435084e051ced9a343372900ced96180989.

* Revert "HKG: cleanup"

This reverts commit e1ab96c6f7634508b5f3820868d22f4694361622.

* Toyota: use the working one

* same colors

* block resume press if no previous set speed

* HKG: handle events better

* Honda: handle events better

* Toyota: handle events better

* Volkswagen MQB & PQ: MADS

* Subaru: MADS

* FCA: MADS

* add another argument for per port specifics

* GM: MADS

* Toyota: missed this

* Mazda: MADS

* Nissan: MADS

* have to use this

* pass events to the next

* move it around

* move some stuff around

* cleanup

* simplify and check if cruise is initialized with non PCM

* don't think we need this anymore

* Volkswagen: These 2 buttons don't get used

* check resume available differently

* check better

* simplify

* Mazda: missed one update check

* HKG: Move carstate logic to interface

* check from ret instead

* cruise state enabled spam bug

* check pcm

* set it earlier

* own cruise initialize check

* fixup! own cruise initialize check

* more inclusive

* HKG: redundant

* Honda: Move carstate logic to interface

* only check cruise speed when not PCM

* Toyota: Move carstate logic to interface

* fixup! HKG: Move carstate logic to interface

* fixup! Honda: Move carstate logic to interface

* fixup! Honda: Move carstate logic to interface

* Volkswagen: Move carstate logic to interface

* check if cruise has ever been enabled in state machine

* already exists

* just one more

* do not allow steering in certain situations

* Subaru: Move carstate logic to interface

* FCA: Move carstate logic to interface

* GM: Move carstate logic to interface

* Mazda: Move carstate logic to interface

* Nissan: Move carstate logic to interface

* HKG: move init

* declare at once

* cleanup variables

* prevent stuck engaged

* initialize for all cars

* slimmer

* no entry for brake press engage

* Revert "no entry for brake press engage"

This reverts commit 9e6e1ca5000c213017091765a0e50d2d794cebe9.

* Toyota: Change the logic

* Nissan: Cleanup carstate

* HKG: only disengage when cruise intially not available

* Revert "HKG: only disengage when cruise intially not available"

This reverts commit 123cce1818ea7285cbd433524c4f0e80e7c99cb4.

* allow press anytime

* cancel cruise when control wants to cancel

* remove some stuff

* wrong one

* can't do that

* would this fix it?
2023-01-29 15:27:49 -05:00
Shane Smiskol 860f441e2f Car interface: set common params after port (#26613)
* remove pylint exception, _get_params takes no defaults

* clean up

* mock uses it too

* unused

* unused

* fix that

* bump

* Update selfdrive/car/interfaces.py
2022-11-29 11:49:13 -08:00
Shane Smiskol 5356216e92 remove unused compute_gb (#25808) 2022-09-15 20:45:01 -07:00
Adeeb Shihadeh 655a64b603 single longitudinal toggle for e2e and disable radar (#25688)
* single longitudinal toggle for e2e and disable radar

* write disable radar param

* rename

* better param name

* clean that up

* update refs

* update translations

* not live for experimental

* write it out

* vanish
2022-09-07 17:12:49 -07:00