Commit Graph

371 Commits

Author SHA1 Message Date
Jason Wen 48d7faf48f Dynamic Longitudinal Control (#218)
* Dynamic End to End Longitudinal

* Revert "Dynamic End to End Longitudinal"

This reverts commit cec0fa8ad23b8473b27c58f6d20ba6d4d58e726e.

* Dynamic Longitudinal Controller

* Update CHANGELOGS.md

* add to builds

* Name change

* Toggle at wrong place :p

* oops take this out for now

* ZeroDivisionError

* add mpc mode to cereal

* add mpc mode to cereal

* Add UI button, replace MEMORY with DLC status in dev UI

* small change

* Higher stop counts

* add blinker logic

* initial set normally if DLC is on

* Update CHANGELOGS.md

* Fix

* fixes

* add dlc to Feature Status

* catch AttributeError

* fix

* add btn

* Dynamic Longitudinal Control (DLC) -> Dynamic Experimental Control (DEC)

* Capitalization on ACC and Blended

* add here

* sync

* sync

* Update CHANGELOGS.md

* cleanup

* more cleanup
2023-10-01 23:59:27 -04:00
Jason Wen cc47228363 Cereal: Use custom reserved structs (aka MSPA) (#316)
* Cereal: Use custom reserved structs

* bump cereal

* fix dmonitoring

* pandaStateSP & controlsStateSP

* LongitudinalPlanSP

* LateralPlanSP

* LiveMapDataSP

* E2eLongStateSP

* fixup! LongitudinalPlanSP

* fix

* LongitudinalPersonality fix

* sync with upstream

* bump cereal

* LongitudinalPersonalitySP fixed

* LongitudinalPlanSP fix

* no need

* bump cereal

* bump panda

* no longer logs controlsAllowedLong

* bump cereal

* bump cereal

* fix

* LiveMapDataSP fix

* MSPA (#217)

* Cereal: Use custom reserved structs

* fix dmonitoring

* sync with upstream

* bump cereal

* bump cereal

* fix

* bump cereal

* fix

* unused

* check sm valid

* bump cereal

* MSPA: Unused service (#218)

* bump panda

* bump panda

* bump panda
2023-10-01 03:13:14 -04:00
Jason Wen 823e82ec0a MADS: Remove controlsAllowedLong pandaStates to sync with stock cereal (#315)
* MADS: Remove controlsAllowedLong pandaStates to sync with stock cereal

* bump panda

* bump panda
2023-10-01 02:27:52 -04:00
Jason Wen 613d5b4aba Torque Lateral Control: Refactor settings (#300)
* Torque Lateral Control: Refactor settings

* don't need this

* only offroad allowed

* Don't need this

* allow when offroad

* gate them

* flipped

* handle them better

* cleaner

* remove duplicate

* toggle checks cleanup

* 2.5 second check

* trigger refresh when going offroad

* cleanup

* move toggle

* update title and description

* fix ampersand

* update live torque toggle

* live torqued every 2.5 second
2023-09-29 02:36:55 -04:00
Jason Wen 31c56ca708 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/controls/controlsd.py
#	selfdrive/manager/custom_dep.py
2023-09-23 00:06:34 -04:00
Jason Wen eb2a58185d Merge branch 'upstream/openpilot/master'
# Conflicts:
#	.pre-commit-config.yaml
#	README.md
#	cereal
#	opendbc
#	panda
#	selfdrive/car/torque_data/override.yaml
2023-09-22 23:49:13 -04:00
Vivek Aithal 00d1c682b0 Alerts: More understandable locationd, paramsd alerts (#29831)
* add locationd paramsd alerts

* remove more additions, just renames

* update refs

* Update selfdrive/controls/lib/events.py

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

* Update selfdrive/controls/lib/events.py

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

* resolve comemnts

* update cereal

* update refs

* remove nosensor in new alerts

* bump cereal

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-11 16:28:42 -07:00
Lee Jong Mun 238f9d65db cleanup remnants of LQR and INDI tuning (#29860)
* not use 'indi' cleanup

* bump cereal

* rm more

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-10 16:30:13 -07:00
Vivek Aithal dbada885ac locationd: Add camera-IMU cross-checks (#29727)
* camera-gyro cross checks, but one way

* increase factor to account for gyro noise (potholes, bad roads etc

* increase factor to reduce FP with device taps, bad roads, etc

* factor to 30

* add inputsok to sensoir data invalid alert

* bugfix

* move the sensors check

* add localizer catchall alert

* update refcommit

* remove permanent alert

* revert sensorDataInvalid alert change, split into new PR
2023-09-06 21:01:01 -07:00
Adeeb Shihadeh ec479322d3 Revert "params: safe and efficient async writing parameters (#25912)"
This reverts commit 0d797f4e8b.
2023-09-06 13:44:20 -07:00
Dean Lee 0d797f4e8b params: safe and efficient async writing parameters (#25912)
* Safe and efficient asynchronous writing parameters

* call putNonBlocking in locationd

* remove space

* ->AsyncWriter

* remove semicolon

* use member function

* asyc write multiple times

* add test case for AsyncWriter

* merge master

* add missing include

* public

* cleanup

* create once

* cleanup

* update that

* explicit waiting

* improve test case

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-06 08:50:28 -07: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
Jason Wen e362198880 MADS: allow Disengage on Accelerator (#243)
* MADS: allow Disengage on Accelerator

* make sure to disable in interfaces
2023-09-04 19:28:25 -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
Adeeb Shihadeh d61f86d339 replace custom clock helpers with time module (#29499)
* replace custom clock stuff wtih time module

* fix double

* fix release

* bump cereal

* update type

* fix one more
2023-08-20 18:50:58 -07:00
Jason Wen 9a6653bf4c dcam: detect and ignore errors for unofficial devices (#237)
* dcam: detect and ignore errors for unofficial devices

* must be a registered device
2023-08-17 12:31:40 -04:00
Jason Wen 0c3e99f83f controlsd: ignore nonessential processes (#234) 2023-08-16 22:37:38 -04:00
Justin Newberry 8793cbff40 Ruff: enable flake8-builtins (#29315)
* enable flake8-builtins

* replace any with contains

* fix typo in pack

* fix type

* format is from the parent module, has to be enabled

* item_id

* fix item_id

* disable for id since that's what the remote server returns
2023-08-10 18:58:22 -07:00
Jason Wen edcb497308 MADS: disallow lateral control when process not running (#228) 2023-08-10 21:23:36 -04:00
Justin Newberry cf64b27168 Linter: Fix >160 line length test (#29287)
* test

* fix line length

* fix line length

* fix file size

* revert poetry

* cleanup for PR
2023-08-08 17:13:35 -07:00
Jason Wen 31b29bc094 Merge branch 'master' into dev-priv/master 2023-08-02 12:58:28 -04:00
Jason Wen 8498b1a1c3 Merge branch 'upstream/openpilot/master' 2023-08-01 23:03:54 -04:00
Vivek Aithal 92448012f0 [commabody] Support both self-balancing bodies and the wheeled bodies (#29118)
* add wheeled body support

* add WheeledBody param

* make movement less jerky
2023-07-24 19:49:51 -07:00
Adeeb Shihadeh 1945c356c2 agnos 8 (#28843)
* agnos 8

* update to python 3.11.4 (#27452)

* rebase

* optional

* lower cython

* TEMP don't pull cl to use python3.11

* Revert "lower cython"

This reverts commit c5132f8a2727c212bdfc01e77aa53e50a17ead9d.

* fix cython

* remove tensorrt

* carla + opencv

* macos

* update timm and smp

* pynvc

* https

* downgrade numpy

* pin scipy

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
Co-authored-by: Yassine <yassine.y10@gmail.com>

* revert that

* fix linter

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
Co-authored-by: Yassine <yassine.y10@gmail.com>
2023-07-20 21:56:57 -07:00
Adeeb Shihadeh 83c5d11dff controlsd: write ControlsReady in thread (#29048) 2023-07-19 19:13:18 -07:00
Adeeb Shihadeh 9c307f2550 Revert "Update pycapnp and Cython (#29021)"
This reverts commit 76ef1b9b9f.
2023-07-18 18:47:35 -07:00
Maxime Desroches 76ef1b9b9f Update pycapnp and Cython (#29021)
* cython + pycapnp

* from_bytes with context

* poetry lock

* limit numpy

* force build

* Revert "force build"

This reverts commit 8c7cb00421da9d0f1b7da2c94f75e9c43733f840.

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-07-18 16:40:36 -07:00
Shane Smiskol b5b431c12d Revert "experimental mode: gate navigate on openpilot (#28883)" (#29005)
This reverts commit f973d605b2.
2023-07-17 19:56:38 -07:00
Shane Smiskol f973d605b2 experimental mode: gate navigate on openpilot (#28883)
* first draft copy, needs updates

* gate behind exp mode

* can be one line

* this is no longer true

* toggle isn't just e2e long now, rename

* don't enable/disable

* kinda works!

* remove old giant qstring

* comment clean up

* similar breakpoint

* more clean up

* fixup onroad

* preserve planner behavior, and we don't need to look at confirmed param if we're onroad

* update translations

* vanish translations

* use scene for op long

* lowercase!

* updated copy

* need to check longitudinal here now too

* clean up!

* here is better

* used

* no nav emoji

* don't check param if not valid

* revert this

revert this

* ed
2023-07-14 05:26:59 -07:00
Kacper Rączy 72579a0e10 controlsd: support for SIMULATION mode for process replay (#28895)
* Support for simulation flag while replay

* Update cereal

* Enable simulation for controlsd

* Update ref commit

* Update cereal
2023-07-12 10:32:02 -07:00
Jason Wen 938a64620f Auto Lane Change Timer: cleaner method (#196) 2023-06-27 23:39:47 -04:00
Adeeb Shihadeh 4662a0de82 sim: fix paramsd error (#28685) 2023-06-24 20:46:03 -07:00
Jason Wen 6df086aa82 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/mazda/carstate.py
#	selfdrive/car/nissan/nissancan.py
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/car/volkswagen/mqbcan.py
#	selfdrive/car/volkswagen/pqcan.py
#	selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/ui/SConscript
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/onroad.cc
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
2023-06-22 15:14:15 -04:00
Jason Wen 54c4dbd49b Merge branch 'upstream/openpilot/master'
# Conflicts:
#	cereal
#	common/version.h
#	opendbc
#	panda
#	selfdrive/car/honda/carstate.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/values.py
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/manager/manager.py
2023-06-22 14:52:51 -04:00
Jason Wen 879041976f Revert "Ram HD: locked Steering Ratio (#156)" (#161)
This reverts commit 8db81e9f4e.
2023-06-15 11:20:18 -04:00
Jason Wen 8db81e9f4e Ram HD: locked Steering Ratio (#156)
* Ram HD: locked SR

* gate to only ram hd

* attribute error

* gotta init first

* define type
2023-06-14 23:48:11 -04:00
Kacper Rączy 4eb3d54149 modeld: use any available stream as main, if there's only one (#28514)
* Use whatever stream is available as main, if there's only one

* Move logw somewhere else

* Add wideRoadCameraState to ignore_alive if its not available
2023-06-12 20:13:56 -07:00
Dean Lee 4ae0378f63 automatically detect available camera streams (#27640)
* remove WideCameraOnly

* check in set_initial_state

* no block

* remove try block

* apply reviews
2023-06-12 13:40:43 -07:00
Adeeb Shihadeh 2f117e88b7 test onroad: explicit memory leak check (#28502) 2023-06-11 14:43:25 -07:00
Adeeb Shihadeh a412cd07b1 cloudlog process not running (#28472)
* cloudlog process not running

* error
2023-06-09 15:36:15 -07: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 8a9bec3a82 Don't append immediate disable events if in park gear (#94) 2023-06-05 15:32:47 -04:00
Harald Schäfer dba437bc8d Remove INDI controller (#28366) 2023-06-01 21:05:49 -07:00
Adeeb Shihadeh cd57b340c1 test_onroad: ignore vehicleModelInvalid (#28335)
* test_onroad: ignore vehicleModelInvalid

* not for all ci
2023-06-01 10:26:08 -07:00
Jason Wen b6a5f0e6b9 Road Edge Detection (#75)
* don't initialize lane change if road edge detected

* add event

* use frog's method

* sync name

* unused

* Only block during preLaneChange

* change it up
2023-05-29 21:47:56 -04:00
Jason Wen 30328c50a4 Don't trigger CAN bus timeout if in park gear 2023-05-28 23:04:54 -04:00
Shane Smiskol 715f44ff45 controls: write recalibrating offroad alert once (#28312)
* only write once

* rm read

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-05-26 13:07:35 -07:00
Jason Wen 4d3a97a5d5 fix upstream conflict 2023-05-25 13:35:01 -04:00
Jason Wen a0d162ccd9 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/nissan/carcontroller.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/lib/lateral_planner.py
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/onroad.cc
#	selfdrive/ui/ui.cc
2023-05-25 12:39:32 -04:00