Compare commits

...

326 Commits

Author SHA1 Message Date
DevTekVE b571e4cff4 Fix athena like stock to allow uploads cuz im gonna go crazy 2024-12-16 09:52:23 +01:00
DevTekVE 10fc0de603 Update MADS toggle descriptions for clarity.
Added notes to clarify behavior of the "MadsMainCruiseAllowed" setting, particularly its impact on vehicles without LFA/LKAS buttons. This ensures users are informed about potential implications when disabling this feature.
2024-12-16 09:52:05 +01:00
DevTekVE 6169b4df5c Bump opendbc 2024-12-16 09:44:28 +01:00
Jason Wen e034dc57d7 needs to be in carstate 2024-12-15 22:44:15 -05:00
Jason Wen 0eef033196 Merge remote-tracking branch 'sunnypilot/sunnypilot/mads-new' into mads-new 2024-12-15 21:22:30 -05:00
Jason Wen d42fca4beb code ignore spells 2024-12-15 21:22:24 -05:00
Jason Wen 5b8fba9403 Apply suggestions from code review 2024-12-15 21:19:21 -05:00
Jason Wen 3b8d1ed212 bump opendbc 2024-12-15 21:06:42 -05:00
Jason Wen 76307a9ce4 bump opendbc 2024-12-15 21:03:09 -05:00
Jason Wen 8d4d95227c bump opendbc 2024-12-15 20:21:30 -05:00
Jason Wen bab0b92055 bump opendbc 2024-12-15 19:41:31 -05:00
Jason Wen 1dfe5e7f0d bump to merged panda 2024-12-15 18:07:39 -05:00
Jason Wen 79ab4eb888 bump panda 2024-12-15 17:47:23 -05:00
Jason Wen cc02043f9b block tesla 2024-12-15 17:46:57 -05:00
Jason Wen a87ff0d33f remove toyota lta status for lkas, causes weird behaviors 2024-12-15 17:23:08 -05:00
Jason Wen 842a6b6c3b hard code to skip heartbeat check 2024-12-15 17:12:28 -05:00
Jason Wen 16fa4910ae use different heartbeat check if dlob 2024-12-14 21:45:58 -05:00
Jason Wen 68706ab0db flipped 2024-12-14 18:01:38 -05:00
Jason Wen b39831e727 block uem from engaging 2024-12-14 15:01:07 -05:00
Jason Wen 2ebb2b33cd fix not allowed engaged bug 2024-12-14 12:02:29 -05:00
Jason Wen 2d7009fa11 bump submodules 2024-12-13 13:29:42 -05:00
Jason Wen e7f9b44be8 uem: do not engage mads if long is engaged 2024-12-13 13:29:37 -05:00
Jason Wen 4b15a94e09 format 2024-12-13 09:46:13 -05:00
Jason Wen 81b273847f new events to retain long blocks 2024-12-13 09:44:20 -05:00
DevTekVE 2c1f03c504 bump panda 2024-12-13 12:42:01 +01:00
Jason Wen 5384333ec6 fix panda tests 2024-12-13 00:13:35 -05:00
Jason Wen a99bda1fe3 fix tests 2024-12-13 00:01:50 -05:00
Jason Wen ef28aefe60 use brake signal instead of pedal events when dlob is active 2024-12-12 23:26:56 -05:00
Jason Wen b3e1ecfa85 only force exit if actually actuating 2024-12-12 23:24:52 -05:00
Jason Wen 7fd83f056a ignore pre enable with mads 2024-12-12 23:23:41 -05:00
Jason Wen 13094cad29 use mads the third panda 2024-12-12 21:14:50 -05:00
Jason Wen fe4150de12 bump panda 2024-12-12 17:15:14 -05:00
Jason Wen 205bd3ca75 heartbeat engaged mads mismatch mutation test 2024-12-12 17:07:17 -05:00
Jason Wen 5b0ceb2d43 bump panda 2024-12-12 16:15:14 -05:00
Jason Wen 6fb9e2d253 remove main cruise allowed from alt 2024-12-12 11:50:14 -05:00
Jason Wen b64106333b move to safety_mads 2024-12-12 11:11:04 -05:00
Jason Wen b3c75f2f35 remove always allow mads button from alt 2024-12-12 11:10:08 -05:00
Jason Wen 33205f9742 heartbeat mismatch exit control 2024-12-12 10:51:08 -05:00
Jason Wen 35edaba95e heartbeat for mads 2024-12-12 10:44:41 -05:00
Jason Wen 8325bec69b squash! treat MADS button as user entry 2024-12-12 10:24:51 -05:00
Jason Wen abaa3118df controls allow should be allowed at all times 2024-12-12 10:22:36 -05:00
Jason Wen bc62544d0b remove unified engagement mode in panda 2024-12-12 10:20:12 -05:00
DevTekVE 6aeccfbb39 Simplify lateral disengagement logic for MADS configuration
Reversed the conditional to align the logic with the `disengage_lateral_on_brake` parameter. This ensures that lateral disengagement behavior is more intuitive and matches the expected configuration. Improves code readability and reduces potential misconfigurations.
2024-12-12 10:59:50 +01:00
Jason Wen f5f0e89f0b add controls mismatch lateral event 2024-12-12 00:37:05 -05:00
Jason Wen 026ccb49c0 bump panda 2024-12-11 23:40:07 -05:00
Jason Wen 580809fc49 bump submodules 2024-12-11 18:50:41 -05:00
Jason Wen fddf411c65 bump submodules 2024-12-11 14:25:48 -05:00
Jason Wen 3fcc1aa420 bump submodules 2024-12-11 14:25:16 -05:00
Jason Wen 1621674ee8 Merge remote-tracking branch 'sunnypilot/sunnypilot/mads-new' into mads-new 2024-12-11 11:05:07 -05:00
devtekve 4d875ad660 test_processes: update ref logs to 82c0278 2024-12-11 14:17:47 +00:00
Jason Wen ee38d746d1 Merge remote-tracking branch 'sunnypilot/sunnypilot/mads-new' into mads-new 2024-12-11 04:36:08 -05:00
DevTekVE 82c027877d Merge branch 'master-new' into mads-new 2024-12-11 10:23:25 +01:00
DevTekVE 437663ff98 CI: Fix process replay to properly work with local routes (#469)
Updating test_processes.py to easily upload ref routes locally to git instead of azure
2024-12-11 10:22:45 +01:00
DevTekVE 6e4a6dbd44 whitelist jason's lastname to codespell 2024-12-11 09:43:09 +01:00
Jason Wen 9be96d625d fix 2024-12-10 23:18:11 -05:00
Jason Wen 69170840d2 use always allowed mads button alt exp 2024-12-10 19:02:42 -05:00
Jason Wen eaf590cb28 bump submodules 2024-12-10 18:41:20 -05:00
Jason Wen 955dc45da9 unused 2024-12-10 18:40:29 -05:00
Jason Wen 68758b0d0d remove 2024-12-10 17:22:50 -05:00
Jason Wen d25607561d license 2024-12-10 15:09:42 -05:00
Jason Wen 325bd77b6d ford mutation 2024-12-10 13:02:05 -05:00
Jason Wen b06d322e72 mutation for controls allowed rising edge 2024-12-10 12:47:40 -05:00
Jason Wen dfb0ce9bf4 missed 2024-12-10 12:37:32 -05:00
Jason Wen e47d1850be Parse more flags from alt exp, more tests, hyundai main cruise allowed 2024-12-10 12:32:18 -05:00
Jason Wen cb251230dd Parse more flags from alt exp, more tests, hyundai main cruise allowed 2024-12-10 12:32:08 -05:00
Jason Wen ccb452fb3a bump panda 2024-12-09 16:46:34 -05:00
Jason Wen d6bd1de814 bump with new panda 2024-12-09 16:07:38 -05:00
Jason Wen de3dafc9c2 Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
2024-12-09 16:07:24 -05:00
Jason Wen 0116697ac9 use sunny's newer states 2024-12-08 22:48:07 -05:00
Jason Wen 8b54fb8372 Revert "ci: Skip simulator failures" (#475)
Revert "ci: Skip simulator failures (#470)"

This reverts commit 705dd83a2f.
2024-12-08 20:26:35 -05:00
Jason Wen 0f74e0f760 Sync: commaai/openpilot:master into sunnypilot/openpilot:master-new (#474) 2024-12-08 20:12:29 -05:00
Jason Wen 4cccd07fd6 Merge branch 'upstream/master' into sync-20241208
# Conflicts:
#	.github/workflows/tools_tests.yaml
#	opendbc_repo
2024-12-08 19:40:20 -05:00
DevTekVE a61eeb85f3 nuke nuke nuke 2024-12-08 22:32:35 +01:00
DevTekVE 3cdcb2bd76 changing refs 2024-12-08 22:13:56 +01:00
Jason Wen b42c997f83 LFS: Sync refs from upstream (#472)
* Adding script to pull from comma's LFS before pushing to ours

* updating the script a little to allow pulling all when needed if needed

* static ..

* format

* Fuck the simulator always failing

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: devtekve <devtekve@gmail.com>
2024-12-08 22:03:47 +01:00
Jason Wen 6aaa245e65 Revert "LFS: Sync refs from upstream" (#471)
Revert "LFS: Sync refs from upstream (#467)"

This reverts commit 8132fe9f0e.
2024-12-08 15:41:04 -05:00
DevTekVE 705dd83a2f ci: Skip simulator failures (#470)
bai sim for now
2024-12-08 15:11:38 -05:00
DevTekVE 8132fe9f0e LFS: Sync refs from upstream (#467)
* Adding script to pull from comma's LFS before pushing to ours

* updating the script a little to allow pulling all when needed if needed

* static ..

* format

* Fuck the simulator always failing

* Apply suggestions from code review

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-12-08 14:39:35 -05:00
DevTekVE 5dc5b6accb ci: Save cache for master-new (#468)
Adding master-new to the whitelisted refs for caching stuff
2024-12-08 13:33:32 -05:00
DevTekVE 8ac445e1c0 bump more panda 2024-12-08 16:58:48 +01:00
DevTekVE d0f3dad42a bump panda ref 2024-12-08 11:45:18 +01:00
Jason Wen 3e6204567e add todo-sp 2024-12-07 21:02:31 -05:00
DevTekVE 106b4ddc93 bump ref panda 2024-12-07 19:45:08 +01:00
DevTekVE e730ee6882 bump panda 2024-12-07 19:11:25 +01:00
Jason Wen e40b32e7c8 Apply suggestions from code review 2024-12-07 02:10:42 -05:00
Jason Wen c27b7c9a4d bump opendbc 2024-12-07 01:42:05 -05:00
Jason Wen df0164370b bump panda 2024-12-07 00:26:29 -05:00
Jason Wen a71335d1c6 should be none 2024-12-06 23:48:23 -05:00
Jason Wen ad691b675a Revert "PlayStation® model (#34133)"
This reverts commit 5160bee543.
2024-12-06 18:05:10 -05:00
DevTekVE 61bb1247f6 improving the state 2024-12-06 16:41:47 +01:00
Jason Wen ef884ac378 bump opendbc 2024-12-05 20:01:04 -05:00
Jason Wen 9d514766b8 bump opendbc 2024-12-05 19:59:37 -05:00
Jason Wen fb604cdc8a bump submodules 2024-12-05 19:41:03 -05:00
Jason Wen f5fe9e37e8 bump panda 2024-12-05 18:27:02 -05:00
Jason Wen 7eed4b60c2 Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
#	panda
#	selfdrive/selfdrived/tests/test_alerts.py
2024-12-05 18:17:30 -05:00
Jason Wen cc1bfcf12e Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master-new (#465) 2024-12-05 18:12:23 -05:00
Jason Wen bd6d207c8a Merge branch 'upstream/master' into sync-20241205 2024-12-05 17:48:01 -05:00
Jason Wen 355191040d bump msgq 2024-12-05 15:35:04 -05:00
DevTekVE dba3af0cfa bump panda 2024-12-05 20:47:34 +01:00
Jason Wen 1b9a1308fa more nissan 2024-12-04 22:55:54 -05:00
Jason Wen 1647c928f5 bump panda 2024-12-04 18:45:05 -05:00
DevTekVE 0378f1c4a3 Bump to latest mads-new panda 2024-12-04 20:29:27 +01:00
Jason Wen 2edec42681 Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
2024-11-27 08:19:39 -05:00
Jason Wen 78e15be5c4 bump submodules 2024-11-27 08:19:21 -05:00
Jason Wen 777ff8dcb4 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master-new (#459) 2024-11-26 23:44:36 -05:00
Jason Wen 9446dd60d1 Merge branch 'upstream/master' into sync-20241126
# Conflicts:
#	opendbc_repo
2024-11-26 22:54:12 -05:00
Jason Wen 84bce5ccd6 flipped 2024-11-26 13:59:25 -05:00
Jason Wen bcff9ca4ce silent park brake 2024-11-26 13:57:42 -05:00
Jason Wen 1e11b6311f rename for clarity 2024-11-26 12:59:55 -05:00
Jason Wen 9d77783349 should not be all! 2024-11-26 12:57:48 -05:00
Jason Wen 2adfd5f193 Revert "allow in all"
This reverts commit 6375f14891.
2024-11-26 12:43:30 -05:00
Jason Wen 6375f14891 allow in all 2024-11-26 12:40:06 -05:00
Jason Wen ec7bd2afd9 Revert "allow no entry to paused for non-drive gears"
This reverts commit 6d64a4dd9c.
2024-11-26 12:01:40 -05:00
Jason Wen b72d3308ec use cereal 2024-11-25 23:11:32 -05:00
Jason Wen 289b5cd8c4 fix 2024-11-25 23:01:51 -05:00
Jason Wen 6d64a4dd9c allow no entry to paused for non-drive gears 2024-11-25 18:01:44 -05:00
Jason Wen 2fbe4e8f71 fix 2024-11-25 00:09:14 -05:00
Jason Wen 7fbdc63f11 more events 2024-11-25 00:05:07 -05:00
Jason Wen 207eff5c30 less frequent 2024-11-24 23:56:25 -05:00
Jason Wen b1658fea94 bump opendbc 2024-11-24 23:55:53 -05:00
Jason Wen 06c4fba102 Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
#	panda
2024-11-23 12:33:31 -05:00
Jason Wen 1deae82f12 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master-new (#458) 2024-11-23 12:28:14 -05:00
Jason Wen 0649653947 Merge branch 'upstream/master' into sync-20241122 2024-11-23 10:26:18 -05:00
Jason Wen 6c5afa789f bump submodules 2024-11-22 17:59:33 -05:00
Jason Wen 6a82baac9c fix 2024-11-22 10:25:56 -05:00
Jason Wen ccea6de343 Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
#	panda
2024-11-22 10:17:49 -05:00
DevTekVE ab65b19ba5 Hyundai: Enhanced Smart Cruise Control (ESCC) (#443)
* initial updates to the actions to run for sp

* ignore license file

* more updates

* undoing some of the changes because I was blocking the runs on

* allowing the submodule check as well

* Allowing macos builds

* test adding cache key

* don't attempt build_release for selfdrive for the time being.

* Blocking macos builds as well since they have a 10x miltiplier for GH aciton minutes, waaaay too much!

* lol nice typo codespell

* change ref commit id to check if replay passes

* Sync up submodules for ESCC

* Remove ESCC base and interfaces classes

Consolidated ESCC functionalities directly into the Hyundai ESCC module, removing redundant base and interface classes. This simplified the class structure and improved code maintainability.

* Removing hints because they were causing a circular dependency

* bump opendbc

* bump opendbc

* Bump opendbc

* Fixing inconsistencies thanks to the tests!

* Bumping opendbc after fixing tests

* update opendbc

* Updating to the new flags ordinal on cereal

* Reverting some of the misc changes, clarifying naming and passing the scc12 and fca11 values to the methods as they are defined out of order

* undoing more naming changes to simplify diff

* More naming and tiny adjustments

* use constant for msg id

* bump opendbc

* bump submodules

* already added

* bump opendbc

* bump opendbc

* bump opendbc

* fix init

* bump submodules

* bump submodules

* unit test!

* rename

* always use true radar tracks if available

* update comment

* bump submodules

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-11-22 09:07:39 -05:00
Jason Wen 86a4cc6329 bump submodules 2024-11-21 23:48:28 -05:00
Jason Wen 7883de0b30 do this for dlob 2024-11-20 20:28:18 -05:00
Jason Wen a89e79e4bb unify silent enable 2024-11-20 12:08:26 -05:00
Jason Wen d7629c55df only mads in enabled state and long in disabled state 2024-11-20 11:55:22 -05:00
Jason Wen bcc4117217 fix 2024-11-20 11:52:35 -05:00
Jason Wen 9fa0d53b82 same thing 2024-11-20 11:51:38 -05:00
Jason Wen f403c5a93f unused 2024-11-20 11:28:57 -05:00
Jason Wen 0ba2286bf9 simpler 2024-11-20 11:28:51 -05:00
Jason Wen 8ee0f91642 update unit test 2024-11-20 11:23:04 -05:00
Jason Wen 4fb2c5c16c in lists 2024-11-20 11:22:58 -05:00
Jason Wen 692055df39 brake hold should apply to all 2024-11-20 10:43:16 -05:00
Jason Wen aced3ec768 allow entering paused state if no entry from disabled 2024-11-20 04:06:10 -05:00
Jason Wen b39d998d82 cleanup 2024-11-20 02:38:33 -05:00
Jason Wen 89ba9a7bf3 need this check 2024-11-20 02:31:04 -05:00
Jason Wen 95697afdf8 bump opendbc 2024-11-19 17:44:06 -05:00
Jason Wen 0744b1a0b9 fixme 2024-11-19 17:26:56 -05:00
Jason Wen 7ef9091d17 fix no entry 2024-11-19 17:25:11 -05:00
Jason Wen 5b7d5017f5 MUST REMOVE test process replay 2024-11-19 12:51:44 -05:00
Jason Wen 220b0a4eb8 just warning 2024-11-19 10:47:36 -05:00
Jason Wen 315312c30a user disable tests 2024-11-19 01:54:12 -05:00
Jason Wen e5a988bc2f no need 2024-11-19 01:10:32 -05:00
Jason Wen 347914d9bf silent lkas disable 2024-11-19 01:09:54 -05:00
Jason Wen 4c23b2728a revert 2024-11-18 22:42:04 -05:00
Jason Wen 6f5a44ecaa should be enabled 2024-11-18 22:39:24 -05:00
DevTekVE 5c7baa07d1 back to stock
removing allow_cancel
2024-11-17 20:22:59 +01:00
DevTekVE d541011bdc adjusting creation delays 2024-11-17 19:56:11 +01:00
DevTekVE ce5eea4a4d ignoring reserved events 2024-11-17 19:45:46 +01:00
DevTekVE aa32c33687 Revert "show MADS updates"
This reverts commit daf0ad62

Revert "fix changed events"

This reverts commit 31d8c97f
2024-11-17 19:41:08 +01:00
Jason Wen f3b448d7ff Show our overriding 2024-11-17 07:55:23 -05:00
DevTekVE 7f96037589 Rename test as collector was dying 2024-11-17 11:26:15 +01:00
Jason Wen a55c8f8e70 static analysis 2024-11-17 05:14:29 -05:00
DevTekVE c14f09f538 Merge remote-tracking branch 'origin/master-new' into mads-new 2024-11-17 09:52:05 +01:00
DevTekVE 36f8192612 ci: sunnypilot UI GH Action fix ensure push to master-ui artifact (#453)
Fixes the GitHub action that was failing when the pipeline was running as a result of a push to master-new because it was not properly recognized as "master"
2024-11-17 09:49:37 +01:00
Jason Wen 0a9ca2b2a9 static analysis 2024-11-17 00:04:30 -05:00
Jason Wen 2550185feb bump opendbc 2024-11-16 23:58:27 -05:00
Jason Wen 4fb170b195 better format 2024-11-16 23:58:15 -05:00
Jason Wen 99c82a8eb9 enabled <-> active 2024-11-16 23:33:59 -05:00
Jason Wen bfa88cec5f should use enabled 2024-11-16 23:20:58 -05:00
Jason Wen d3c69aa0ba don't add pre enable if not long 2024-11-16 23:10:05 -05:00
Jason Wen 8e578bf0b0 fix cluster enabled 2024-11-16 23:00:08 -05:00
Jason Wen 31d8c97f6a fix changed events 2024-11-16 22:58:35 -05:00
Jason Wen 3ac6fa5c5c Merge branch 'master-new' into mads-new 2024-11-16 22:34:15 -05:00
DevTekVE 4b66cd0577 ci: fix repo permissions in ui preview (#450)
* more fix

* forcing a change on UI to test

* undo ui change for test

* temp add branch

* adding more ways to set the master uo

* more bruteforce

* undoing force
2024-11-16 22:27:29 -05:00
Jason Wen fb5f8a74ac no longer needed 2024-11-16 19:28:13 -05:00
Jason Wen 6106fe3d2e Add TODO 2024-11-16 19:19:51 -05:00
Jason Wen daf0ad629b show MADS updates 2024-11-16 19:11:49 -05:00
Jason Wen e1904c5a3f UI border update 2024-11-16 18:54:18 -05:00
Jason Wen 3ee950d117 no need available 2024-11-16 18:10:56 -05:00
Jason Wen 059ae47c5c no unittest 2024-11-16 18:10:19 -05:00
Jason Wen 71fff2ea24 static analysis 2024-11-16 17:54:00 -05:00
Jason Wen 410e365f9c bump opendbc 2024-11-16 17:48:31 -05:00
Jason Wen abe4a61870 Merge branch 'master-new' into mads-new 2024-11-16 17:48:25 -05:00
DevTekVE ad742515f1 ci: sunnypilot show UI diff on PRs (#449)
add master-new as well to the triggers for the diff ui
2024-11-16 23:45:12 +01:00
Jason Wen 188fe9a1fd Merge branch 'master-new' into mads-new
# Conflicts:
#	opendbc_repo
2024-11-16 17:33:12 -05:00
Jason Wen 4f78e31cf4 use new cereal 2024-11-16 17:23:31 -05:00
Jason Wen 2426354d72 bump opendbc (#448)
* bump opendbc

* Bump opendbc to our changed car params

* New Int16 test

* spFlags

* original name?

* Testing more carparams combinations

* Another crazy idea

* typo

* use this field

* bump

* bump opendbc

---------

Co-authored-by: DevTekVE <devtekve@gmail.com>
2024-11-16 17:04:12 -05:00
Jason Wen ca4183808d bump opendbc 2024-11-16 16:56:49 -05:00
Jason Wen 8865ab708c add sunnypilot to unit tests 2024-11-16 16:56:39 -05:00
Jason Wen 7d8a64d781 move unit test 2024-11-16 16:50:17 -05:00
Jason Wen e1ce8e9f0f no longer needed 2024-11-16 16:45:50 -05:00
Jason Wen 69d55cbf72 always emit user disable 2024-11-16 16:21:42 -05:00
Jason Wen bb4ddcc483 Merge branch 'master-new' into mads-new 2024-11-16 10:25:52 -05:00
DevTekVE cf55992c26 CI: sunnypilot configuration (#447)
* initial updates to the actions to run for sp

* ignore license file

* more updates

* undoing some of the changes because I was blocking the runs on

* allowing the submodule check as well

* Allowing macos builds

* test adding cache key

* don't attempt build_release for selfdrive for the time being.

* Blocking macos builds as well since they have a 10x miltiplier for GH aciton minutes, waaaay too much!

* lol nice typo codespell

* change ref commit id to check if replay passes
2024-11-16 10:24:47 -05:00
Jason Wen e5ac29640e final? 2024-11-16 10:07:40 -05:00
Jason Wen dc7ff7630c more! 2024-11-16 10:03:57 -05:00
Jason Wen b1be910d5d no more available 2024-11-16 10:03:20 -05:00
Jason Wen e648ff7341 more fixes 2024-11-16 10:01:52 -05:00
Jason Wen a7fa22a730 bump opendbc 2024-11-16 09:58:07 -05:00
Jason Wen 053ff2ad14 no need 2024-11-16 09:55:42 -05:00
Jason Wen 89073d6b88 Move car-specific changes to opendbc 2024-11-16 03:33:23 -05:00
Jason Wen e96db89f40 make sure it's car only 2024-11-16 02:37:01 -05:00
Jason Wen 8a01ed7de8 sunnyParams 2024-11-16 02:17:58 -05:00
Jason Wen 410535c47d hyundai: only allow for cars with lfa button 2024-11-16 01:41:47 -05:00
Jason Wen f446129afa cleaner 2024-11-16 01:35:04 -05:00
Jason Wen cdcd25f284 reserve events 2024-11-16 01:29:04 -05:00
Jason Wen c800614f44 add todo 2024-11-16 01:01:13 -05:00
Jason Wen fc73b567af group 2024-11-16 00:55:29 -05:00
Jason Wen 8ffd2ea8ee fix 2024-11-15 23:11:44 -05:00
Jason Wen d5b26f7f18 remoev already checks if it exists 2024-11-15 23:11:19 -05:00
Jason Wen 11c46cdc48 use replace 2024-11-15 23:10:06 -05:00
Jason Wen 9512a09dc7 add replace method 2024-11-15 23:07:48 -05:00
Jason Wen bfef1ff20e combine 2024-11-15 22:59:03 -05:00
Jason Wen 5018c11d35 fix settings 2024-11-15 18:37:39 -05:00
Jason Wen 436d771105 fix non drive gear re-engage 2024-11-15 17:38:54 -05:00
Jason Wen cf932da526 no fake lfa button for @devtekve ;) 2024-11-15 16:13:32 -05:00
Jason Wen 64a4d38d32 fix 2024-11-15 16:09:50 -05:00
Jason Wen 60d6e7efce fix panda safety 2024-11-15 12:19:16 -05:00
Jason Wen ba11b97c59 Rename 2024-11-15 12:03:28 -05:00
Jason Wen aaf35b391e check if engagement is from openpilot's state machine 2024-11-15 11:45:11 -05:00
Jason Wen a3c9d72a1e not needed 2024-11-15 11:40:18 -05:00
Jason Wen 6fa78b1db4 more fix 2024-11-15 11:39:13 -05:00
Jason Wen 8f0639ca6c combine 2024-11-15 11:34:01 -05:00
Jason Wen 6a0bc76e63 fix 2024-11-15 11:32:15 -05:00
Jason Wen 23e27bea92 make sure to disengage for allow always cars 2024-11-15 11:29:38 -05:00
Jason Wen 3be1fde36b Fix? 2024-11-15 09:01:12 -05:00
Jason Wen 473349e7b7 rename 2024-11-15 07:32:33 -05:00
Jason Wen 71ffd05027 fix 2024-11-15 07:31:41 -05:00
Jason Wen ab8547d04b bump opendbc 2024-11-15 07:17:21 -05:00
Jason Wen 74eacd2d44 apply pause/resume fix for hyundai (should do this in a separate PR) 2024-11-15 07:17:11 -05:00
Jason Wen 6a059c6877 bump panda 2024-11-15 07:10:14 -05:00
DevTekVE eb9b9a13ff Merge remote-tracking branch 'origin/master-new' into mads-new
# Conflicts:
#	panda
#	selfdrive/ui/qt/offroad/developer_panel.cc
2024-11-15 09:32:22 +01:00
DevTekVE 1d4da71784 bump opendbc 2024-11-15 09:30:50 +01:00
DevTekVE 3da0dfd47f Updating submodules 2024-11-15 08:16:52 +01:00
Jason Wen 6edaf619bf Add Custom MIT License (#438) 2024-11-15 08:11:51 +01:00
Jason Wen 82510dc48c allow re-regage 2024-11-14 23:41:19 -05:00
Jason Wen 5c6750b2ad bump opendbc 2024-11-14 23:34:07 -05:00
Jason Wen a13e5816bb enforce main 2024-11-14 23:34:02 -05:00
Jason Wen e1b2b10638 add logging for controls allowed lateral 2024-11-14 23:09:11 -05:00
Jason Wen 58fb1b44b6 hyundai: main button heartbeat 2024-11-14 22:29:38 -05:00
Jason Wen d78e66deef hyundai: main button handling 2024-11-14 21:46:47 -05:00
Jason Wen 4b1920ecce handle non drive gear events 2024-11-14 20:24:36 -05:00
Jason Wen dc45bda8b8 no longer needed 2024-11-14 20:00:20 -05:00
Jason Wen b824810be2 bump panda 2024-11-14 20:00:06 -05:00
Jason Wen 08962ad619 hkg always allow 2024-11-14 19:59:52 -05:00
Jason Wen 652a24f13e only allow lateral when cruise main or state is on 2024-11-14 17:19:23 -05:00
Jason Wen ca92ffcb57 rename 2024-11-14 17:05:35 -05:00
Jason Wen 80ebb43365 simply checks 2024-11-14 16:59:56 -05:00
Jason Wen 23f417f450 properly 2024-11-13 23:40:44 -05:00
Jason Wen e63ad5a011 handle available better 2024-11-13 22:44:22 -05:00
Jason Wen b8a82755e6 support toyota and ford 2024-11-13 20:57:38 -05:00
Jason Wen 70e7747f74 cruise main engage 2024-11-13 20:55:14 -05:00
Jason Wen de1b084902 enforce cruise main disengage 2024-11-13 20:39:47 -05:00
Jason Wen 097c976a49 Make sure to disengage with long engaged 2024-11-13 20:21:41 -05:00
Jason Wen 5efd1d63bb Unified Engagement Mode: more 2024-11-13 20:15:02 -05:00
Jason Wen fa3ce0e2a3 add TODO 2024-11-13 20:06:00 -05:00
Jason Wen 835cb71e3b refactor mads params read 2024-11-13 20:04:40 -05:00
Jason Wen 4603fd0f03 Unified Engagement Mode: init 2024-11-13 19:59:19 -05:00
Jason Wen 7f2660d0ad only when mads toggle is enabled 2024-11-13 19:47:51 -05:00
Jason Wen aa0f588248 change events 2024-11-13 19:42:05 -05:00
Jason Wen e3e65de225 add lkas enable and disable events 2024-11-13 19:26:22 -05:00
Jason Wen 37b461a591 unused 2024-11-13 16:57:26 -05:00
Jason Wen 2f09489746 enable should carry over from selfdrived 2024-11-13 13:33:00 -05:00
Jason Wen a9c1e7e277 Expose in settings 2024-11-13 13:25:55 -05:00
Jason Wen ca0020e613 should be the whole class 2024-11-13 13:12:24 -05:00
Jason Wen 5326b18130 set alt experience in helpers 2024-11-13 13:12:18 -05:00
Jason Wen c99299af1f no longer needed 2024-11-13 12:56:42 -05:00
Jason Wen 9422a3cf47 implement params 2024-11-13 12:54:02 -05:00
Jason Wen 872abdda17 this is checked after selfdrived states 2024-11-13 11:16:42 -05:00
Jason Wen 1c2e9bd5b1 inherit in carcontroller properly 2024-11-13 03:07:29 -05:00
Jason Wen 70cf693d15 bump panda 2024-11-13 02:38:25 -05:00
Jason Wen 06dc945b09 consolidate 2024-11-13 02:18:29 -05:00
Jason Wen 8fc21127bd use old copy as checks 2024-11-13 02:15:44 -05:00
Jason Wen eecffb9c8a should be here 2024-11-13 02:08:17 -05:00
Jason Wen 71eb28e1d8 Revert "update in method"
This reverts commit 0403a48e88.
2024-11-13 01:21:12 -05:00
Jason Wen e605398f55 Revert "reorder"
This reverts commit 1a988c716d.
2024-11-13 01:21:12 -05:00
Jason Wen 1a988c716d reorder 2024-11-13 01:18:51 -05:00
Jason Wen 0403a48e88 update in method 2024-11-13 01:15:22 -05:00
Jason Wen d9fb57e5f8 Revert "do it prior"
This reverts commit b38798c1a5.
2024-11-13 00:58:37 -05:00
Jason Wen b38798c1a5 do it prior 2024-11-13 00:00:08 -05:00
Jason Wen 555a753f4c brake check was not handled 2024-11-12 22:52:05 -05:00
Jason Wen 8485cd2013 make sure it's either or 2024-11-12 22:00:44 -05:00
Jason Wen 0fa1ff07f5 try this out 2024-11-12 19:58:22 -05:00
Jason Wen d2cbdeb683 take them out for all modes 2024-11-12 19:14:37 -05:00
Jason Wen 7c633afe7e skip pedal pressed for MADS 2024-11-12 17:53:50 -05:00
Jason Wen e5a34e9023 add always available for hyundai 2024-11-12 17:53:25 -05:00
Jason Wen 81708364b8 new logic 2024-11-12 16:15:27 -05:00
Jason Wen e0e940dd55 do this 2024-11-12 09:17:21 -05:00
Jason Wen c0b92dee04 more fixes 2024-11-11 22:17:11 -05:00
Jason Wen 249e7c2fa2 fixes 2024-11-11 20:46:56 -05:00
Jason Wen fae91beaae better 2024-11-11 20:38:10 -05:00
Jason Wen 376cbbdf83 missed 2024-11-11 20:28:00 -05:00
Jason Wen b497bc607f reset as it should 2024-11-11 09:46:47 -05:00
Jason Wen 90a1ff46b4 Merge branch 'master-new' into mads-new
# Conflicts:
#	cereal/car.capnp
#	cereal/car.capnp~HEAD
#	opendbc_repo
#	panda
2024-11-11 08:23:13 -05:00
DevTekVE c05191949a Updating submodules 2024-11-02 19:15:58 +01:00
Jason Wen 9d5ea83f5a Add Custom MIT License (#438) 2024-11-02 18:53:31 +01:00
Jason Wen 6a74dc253b typo! 2024-09-30 22:47:24 -04:00
Jason Wen 434a89d83e move to card 2024-09-30 18:51:36 -04:00
Jason Wen 20e6dc4246 hkg dbc 2024-09-30 17:03:50 -04:00
Jason Wen 96b5b7caeb more fix 2024-09-30 16:58:25 -04:00
Jason Wen 85cdce477e fix typo 2024-09-30 16:42:59 -04:00
Jason Wen cc06b0271c fix typo 2024-09-30 16:40:13 -04:00
Jason Wen e67833ae7d add events 2024-09-30 16:37:11 -04:00
Jason Wen 42e3061748 Merge branch 'master' into mads-new 2024-09-30 16:31:52 -04:00
Jason Wen 738484e628 some cleanup 2024-09-30 16:28:18 -04:00
Jason Wen 519ab8ec3e traditional state machine with tests 2024-09-30 16:18:59 -04:00
Jason Wen 00bc34b125 test 2024-09-30 15:33:44 -04:00
Jason Wen ff87abb45b comments 2024-09-30 11:04:56 -04:00
Jason Wen 000bb1b5b3 explicit 2024-09-30 10:56:30 -04:00
Jason Wen 7c95b43e1a should append 2024-09-30 10:45:00 -04:00
Jason Wen 9570a9240f fix type hint 2024-09-30 10:42:57 -04:00
Jason Wen 676702ae3c fixes 2024-09-29 22:43:18 -04:00
Jason Wen c27b112bbc misra 2024-09-29 12:27:50 -04:00
Jason Wen 0a1a878897 Merge branch 'master' into mads-new
# Conflicts:
#	opendbc_repo
#	panda
2024-09-29 12:11:54 -04:00
Jason Wen 3a593f85dc more 2024-09-29 12:00:46 -04:00
Jason Wen 6db0d94b83 cleanup 2024-09-29 11:58:38 -04:00
Jason Wen 66b900aea6 clearer 2024-09-29 11:55:36 -04:00
Jason Wen 9c57f6bad0 not really 2024-09-29 11:45:47 -04:00
Jason Wen 1b64a7debd move around 2024-09-29 11:30:39 -04:00
Jason Wen bd19439a4c move around 2024-09-29 11:28:27 -04:00
Jason Wen 18a237c0c0 more update 2024-09-29 11:25:19 -04:00
Jason Wen dd5ff7e1d3 fix 2024-09-29 11:20:30 -04:00
Jason Wen 515c00c379 fix 2024-09-20 00:01:41 -04:00
Jason Wen 7dc4073c9b safety init 2024-09-19 00:46:26 -04:00
Jason Wen a9c775bffe no need 2024-09-18 09:01:13 -04:00
Jason Wen c06d8db015 alternative experience 2024-09-18 08:57:58 -04:00
Jason Wen 8bb6c8fc17 some more infra 2024-09-18 08:22:13 -04:00
Jason Wen d58be609ac more infra 2024-09-18 07:33:23 -04:00
Jason Wen 434fab00f3 more 2024-09-18 07:15:51 -04:00
Jason Wen 8e62914e69 Modified Assist Driving System: init 2024-09-18 07:15:51 -04:00
127 changed files with 1545 additions and 96 deletions
+1
View File
@@ -0,0 +1 @@
Wen
+1
View File
@@ -9,6 +9,7 @@
*.ttf filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
selfdrive/test/process_replay/fakedata/*.zst filter=lfs diff=lfs merge=lfs -text
selfdrive/car/tests/test_models_segs.txt filter=lfs diff=lfs merge=lfs -text
system/hardware/tici/updater filter=lfs diff=lfs merge=lfs -text
selfdrive/ui/qt/spinner_larch64 filter=lfs diff=lfs merge=lfs -text
+5 -5
View File
@@ -24,7 +24,7 @@ jobs:
# Check PR target branch
- name: check branch
uses: Vankka/pr-target-branch-action@def32ec9d93514138d6ac0132ee62e120a72aed5
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
@@ -37,17 +37,17 @@ jobs:
# Welcome comment
- name: "First timers PR"
uses: actions/first-interaction@v1
if: github.event.pull_request.head.repo.full_name != 'commaai/openpilot'
if: github.event.pull_request.head.repo.full_name != 'sunnypilot/sunnypilot'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |
<!-- _(run_id **${{ github.run_id }}**)_ -->
Thanks for contributing to openpilot! In order for us to review your PR as quickly as possible, check the following:
* Convert your PR to a draft unless it's ready to review
* Read the [contributing docs](https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md)
* Read the [contributing docs](https://github.com/sunnypilot/sunnypilot/blob/master/docs/CONTRIBUTING.md)
* Before marking as "ready for review", ensure:
* the goal is clearly stated in the description
* all the tests are passing
* the change is [something we merge](https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md#what-gets-merged)
* the change is [something we merge](https://github.com/sunnypilot/sunnypilot/blob/master/docs/CONTRIBUTING.md#what-gets-merged)
* include a route or your device' dongle ID if relevant
+2 -2
View File
@@ -13,7 +13,7 @@ jobs:
badges:
name: create badges
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
permissions:
contents: write
steps:
@@ -29,7 +29,7 @@ jobs:
git checkout --orphan badges
git rm -rf --cached .
git config user.email "badge-researcher@comma.ai"
git config user.email "badge-researcher@sunnypilot.ai"
git config user.name "Badge Researcher"
git add translation_badge.svg
+2 -2
View File
@@ -15,7 +15,7 @@ env:
jobs:
setup:
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
runs-on: ubuntu-latest
outputs:
ci_runs: ${{ steps.ci_runs_setup.outputs.matrix }}
@@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix: ${{fromJSON(needs.setup.outputs.ci_runs)}}
uses: commaai/openpilot/.github/workflows/ci_weekly_run.yaml@master
uses: sunnypilot/sunnypilot/.github/workflows/ci_weekly_run.yaml@master
with:
run_number: ${{ matrix.run_number }}
+2 -2
View File
@@ -12,10 +12,10 @@ concurrency:
jobs:
selfdrive_tests:
uses: commaai/openpilot/.github/workflows/selfdrive_tests.yaml@master
uses: sunnypilot/sunnypilot/.github/workflows/selfdrive_tests.yaml@master
with:
run_number: ${{ inputs.run_number }}
tools_tests:
uses: commaai/openpilot/.github/workflows/tools_tests.yaml@master
uses: sunnypilot/sunnypilot/.github/workflows/tools_tests.yaml@master
with:
run_number: ${{ inputs.run_number }}
@@ -15,7 +15,7 @@ runs:
scons -j$(nproc) --cache-populate"
- name: Save scons cache
uses: actions/cache/save@v4
if: github.ref == 'refs/heads/master'
if: (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new')
with:
path: .ci_cache/scons_cache
key: scons-${{ runner.arch }}-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
+3 -3
View File
@@ -35,13 +35,13 @@ jobs:
# Push to docs.comma.ai
- uses: actions/checkout@v4
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
if: github.ref == 'refs/heads/master' && github.repository == 'sunnypilot/sunnypilot'
with:
path: openpilot-docs
ssh-key: ${{ secrets.OPENPILOT_DOCS_KEY }}
repository: commaai/openpilot-docs
repository: sunnypilot/sunnypilot-docs
- name: Push
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
if: github.ref == 'refs/heads/master' && github.repository == 'sunnypilot/sunnypilot'
run: |
set -x
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
build_prebuilt:
name: build prebuilt
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
env:
PUSH_IMAGE: true
permissions:
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
container:
image: ghcr.io/commaai/openpilot-base:latest
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
permissions:
checks: read
contents: write
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
container:
image: ghcr.io/commaai/openpilot-base:latest
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
steps:
- uses: actions/checkout@v4
with:
+12 -4
View File
@@ -4,6 +4,7 @@ on:
push:
branches:
- master
- master-new
pull_request:
workflow_dispatch:
workflow_call:
@@ -14,10 +15,11 @@ on:
type: string
concurrency:
group: selfdrive-tests-ci-run-${{ inputs.run_number }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }}
group: selfdrive-tests-ci-run-${{ inputs.run_number }}-${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new') && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }}
cancel-in-progress: true
env:
REPORT_NAME: report-${{ inputs.run_number || '1' }}-${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new') && 'master' || github.event.number }}
PYTHONWARNINGS: error
BASE_IMAGE: openpilot-base
AZURE_TOKEN: ${{ secrets.AZURE_COMMADATACI_OPENPILOTCI_TOKEN }}
@@ -31,6 +33,7 @@ env:
jobs:
build_release:
if: github.repository == 'commaai/openpilot' # build_release blocked for the time being to only comma as we may have a different process.
name: build release
runs-on:
- ${{ ((github.repository == 'commaai/openpilot') && ((github.event_name != 'pull_request') || (github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-24.04' }}
@@ -52,7 +55,7 @@ jobs:
run: TARGET_DIR=$STRIPPED_DIR release/build_devel.sh
- uses: ./.github/workflows/setup-with-retry
- name: Check submodules
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
timeout-minutes: 3
run: release/check-submodules.sh
- name: Build openpilot and run checks
@@ -92,8 +95,11 @@ jobs:
timeout-minutes: 30
build_mac:
if: github.repository == 'commaai/openpilot' # Blocking macos builds as well since they have a 10x miltiplier for GH action minutes, waaaay too much!
name: build macOS
runs-on: ${{ github.repository == 'commaai/openpilot' && 'namespace-profile-macos-8x14' || 'macos-latest' }}
runs-on: ${{ ((github.repository == 'commaai/openpilot') &&
((github.event_name != 'pull_request') ||
(github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-macos-8x14' || 'macos-latest' }}
steps:
- uses: actions/checkout@v4
with:
@@ -102,6 +108,7 @@ jobs:
uses: ./.github/workflows/auto-cache
with:
path: ~/Library/Caches/Homebrew
key: build_macos_${{ hashFiles('.github/workflows/selfdrive_tests.yaml') }}
- name: Install dependencies
run: ./tools/mac_setup.sh
env:
@@ -113,6 +120,7 @@ jobs:
uses: ./.github/workflows/auto-cache
with:
path: /tmp/scons_cache
key: build_macos_${{ hashFiles('.github/workflows/selfdrive_tests.yaml') }}
- name: Building openpilot
run: . .venv/bin/activate && scons -j$(nproc)
@@ -353,5 +361,5 @@ jobs:
- name: Upload Test Report
uses: actions/upload-artifact@v4
with:
name: report-${{ inputs.run_number || '1' }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && 'master' || github.event.number }}
name: ${{ env.REPORT_NAME }}
path: selfdrive/ui/tests/test_ui/report_1/screenshots
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
stale-pr-message: 'This PR has had no activity for ${{ env.DAYS_BEFORE_PR_STALE }} days. It will be automatically closed in ${{ env.DAYS_BEFORE_PR_CLOSE }} days if there is no activity.'
close-pr-message: 'This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes.'
stale-pr-label: stale
delete-branch: ${{ github.event.pull_request.head.repo.full_name == 'commaai/openpilot' }} # only delete branches on the main repo
delete-branch: ${{ github.event.pull_request.head.repo.full_name == 'sunnypilot/sunnypilot' }} # only delete branches on the main repo
exempt-pr-labels: "ignore stale,needs testing" # if wip or it needs testing from the community, don't mark as stale
days-before-pr-stale: ${{ env.DAYS_BEFORE_PR_STALE }}
days-before-pr-close: ${{ env.DAYS_BEFORE_PR_CLOSE }}
+12 -10
View File
@@ -3,23 +3,25 @@ on:
push:
branches:
- master
- master-new
pull_request_target:
types: [assigned, opened, synchronize, reopened, edited]
branches:
- 'master'
- 'master-new'
paths:
- 'selfdrive/ui/**'
workflow_dispatch:
env:
UI_JOB_NAME: "Create UI Report"
REPORT_NAME: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && 'master' || github.event.number }}
SHA: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.sha || github.event.pull_request.head.sha }}
REPORT_NAME: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new') && 'master' || github.event.number }}
SHA: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new') && github.sha || github.event.pull_request.head.sha }}
BRANCH_NAME: "openpilot/pr-${{ github.event.number }}"
jobs:
preview:
if: github.repository == 'commaai/openpilot'
if: github.repository == 'sunnypilot/sunnypilot'
name: preview
runs-on: ubuntu-latest
timeout-minutes: 20
@@ -58,13 +60,13 @@ jobs:
- name: Getting master ui
uses: actions/checkout@v4
with:
repository: commaai/ci-artifacts
repository: sunnypilot/ci-artifacts
ssh-key: ${{ secrets.CI_ARTIFACTS_DEPLOY_KEY }}
path: ${{ github.workspace }}/master_ui
ref: openpilot_master_ui
- name: Saving new master ui
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
if: (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/master-new') && github.event_name == 'push'
working-directory: ${{ github.workspace }}/master_ui
run: |
git checkout --orphan=new_master_ui
@@ -106,13 +108,13 @@ jobs:
DIFF="${DIFF}<table>"
DIFF="${DIFF}<tr>"
DIFF="${DIFF} <td> master <img src=\"https://raw.githubusercontent.com/commaai/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_master_ref.png\"> </td>"
DIFF="${DIFF} <td> proposed <img src=\"https://raw.githubusercontent.com/commaai/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}.png\"> </td>"
DIFF="${DIFF} <td> master <img src=\"https://raw.githubusercontent.com/sunnypilot/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_master_ref.png\"> </td>"
DIFF="${DIFF} <td> proposed <img src=\"https://raw.githubusercontent.com/sunnypilot/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}.png\"> </td>"
DIFF="${DIFF}</tr>"
DIFF="${DIFF}<tr>"
DIFF="${DIFF} <td> diff <img src=\"https://raw.githubusercontent.com/commaai/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_diff.png\"> </td>"
DIFF="${DIFF} <td> composite diff <img src=\"https://raw.githubusercontent.com/commaai/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_diff.gif\"> </td>"
DIFF="${DIFF} <td> diff <img src=\"https://raw.githubusercontent.com/sunnypilot/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_diff.png\"> </td>"
DIFF="${DIFF} <td> composite diff <img src=\"https://raw.githubusercontent.com/sunnypilot/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}_diff.gif\"> </td>"
DIFF="${DIFF}</tr>"
DIFF="${DIFF}</table>"
@@ -125,7 +127,7 @@ jobs:
if [[ $INDEX -eq 0 ]]; then
TABLE="${TABLE}<tr>"
fi
TABLE="${TABLE} <td> <img src=\"https://raw.githubusercontent.com/commaai/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}.png\"> </td>"
TABLE="${TABLE} <td> <img src=\"https://raw.githubusercontent.com/sunnypilot/ci-artifacts/${{ env.BRANCH_NAME }}/${A[$i]}.png\"> </td>"
if [[ $INDEX -eq 1 || $(($i + 1)) -eq ${#A[*]} ]]; then
TABLE="${TABLE}</tr>"
fi
+6 -6
View File
@@ -1,18 +1,18 @@
[submodule "panda"]
path = panda
url = ../../commaai/panda.git
url = https://github.com/sunnyhaibin/panda.git
[submodule "opendbc"]
path = opendbc_repo
url = ../../commaai/opendbc.git
url = https://github.com/sunnypilot/opendbc.git
[submodule "msgq"]
path = msgq_repo
url = ../../commaai/msgq.git
url = https://github.com/sunnypilot/msgq.git
[submodule "rednose_repo"]
path = rednose_repo
url = ../../commaai/rednose.git
url = https://github.com/commaai/rednose.git
[submodule "teleoprtc_repo"]
path = teleoprtc_repo
url = ../../commaai/teleoprtc
url = https://github.com/commaai/teleoprtc
[submodule "tinygrad"]
path = tinygrad_repo
url = https://github.com/commaai/tinygrad.git
url = https://github.com/tinygrad/tinygrad.git
+2 -2
View File
@@ -1,4 +1,4 @@
[lfs]
url = https://gitlab.com/commaai/openpilot-lfs.git/info/lfs
pushurl = ssh://git@gitlab.com/commaai/openpilot-lfs.git
url = https://gitlab.com/sunnypilot/public/sunnypilot-new-lfs.git/info/lfs
pushurl = ssh://git@gitlab.com/sunnypilot/public/sunnypilot-new-lfs.git
locksverify = false
+4
View File
@@ -0,0 +1,4 @@
[lfs]
url = https://gitlab.com/commaai/openpilot-lfs.git/info/lfs
pushurl = ssh://git@gitlab.com/commaai/openpilot-lfs.git
locksverify = false
+21
View File
@@ -0,0 +1,21 @@
# Custom MIT License
Copyright (c) 2024, Haibin Wen, SUNNYPILOT LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to view and modify the Software, subject to the following conditions:
1. **Permission Required**: Permission Required for Commercial, For-Profit, or Closed Source Use: Use of the Software, in whole or in part, for any commercial purposes, for-profit projects, or in closed source projects requires explicit written permission from the original author(s).
2. **Redistribution**: Any redistribution of the Software, modified or unmodified, must retain this license notice and the following acknowledgment:
"This software is licensed under a custom license requiring permission for use."
3. **Visibility**: Any project that uses the Software must visibly mention the following acknowledgment:
"This project uses software from Haibin Wen and SUNNYPILOT LLC and is licensed under a custom license requiring permission for use."
4. **No Warranty**: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contact sunnypilot Support <support@sunnypilot.ai> for permission requests.
---
Haibin Wen, SUNNYPILOT LLC
+17 -1
View File
@@ -8,7 +8,23 @@ $Cxx.namespace("cereal");
# cereal, so use these if you want custom events in your fork.
# you can rename the struct, but don't change the identifier
struct CustomReserved0 @0x81c2f05a394cf4af {
struct SelfdriveStateSP @0x81c2f05a394cf4af {
mads @0 :ModularAssistiveDrivingSystem;
struct ModularAssistiveDrivingSystem {
state @0 :ModularAssistiveDrivingSystemState;
enabled @1 :Bool;
active @2 :Bool;
available @3 :Bool;
enum ModularAssistiveDrivingSystemState {
disabled @0;
paused @1;
enabled @2;
softDisabling @3;
overriding @4;
}
}
}
struct CustomReserved1 @0xaedffd8f31e7b55d {
+78 -2
View File
@@ -125,6 +125,82 @@ struct OnroadEvent @0xc4fa6047f024e718 {
espActive @90;
personalityChanged @91;
aeb @92;
eventReserved93 @93;
eventReserved94 @94;
eventReserved95 @95;
eventReserved96 @96;
eventReserved97 @97;
eventReserved98 @98;
eventReserved99 @99;
eventReserved100 @100;
eventReserved101 @101;
eventReserved102 @102;
eventReserved103 @103;
eventReserved104 @104;
eventReserved105 @105;
eventReserved106 @106;
eventReserved107 @107;
eventReserved108 @108;
eventReserved109 @109;
eventReserved110 @110;
eventReserved111 @111;
eventReserved112 @112;
eventReserved113 @113;
eventReserved114 @114;
eventReserved115 @115;
eventReserved116 @116;
eventReserved117 @117;
eventReserved118 @118;
eventReserved119 @119;
eventReserved120 @120;
eventReserved121 @121;
eventReserved122 @122;
eventReserved123 @123;
eventReserved124 @124;
eventReserved125 @125;
eventReserved126 @126;
eventReserved127 @127;
eventReserved128 @128;
eventReserved129 @129;
eventReserved130 @130;
eventReserved131 @131;
eventReserved132 @132;
eventReserved133 @133;
eventReserved134 @134;
eventReserved135 @135;
eventReserved136 @136;
eventReserved137 @137;
eventReserved138 @138;
eventReserved139 @139;
eventReserved140 @140;
eventReserved141 @141;
eventReserved142 @142;
eventReserved143 @143;
eventReserved144 @144;
eventReserved145 @145;
eventReserved146 @146;
eventReserved147 @147;
eventReserved148 @148;
eventReserved149 @149;
eventReserved150 @150;
# sunnypilot
lkasEnable @151;
lkasDisable @152;
manualSteeringRequired @153;
manualLongitudinalRequired @154;
silentPedalPressed @155;
silentLkasEnable @156;
silentLkasDisable @157;
silentBrakeHold @158;
silentWrongGear @159;
silentReverseGear @160;
silentDoorOpen @161;
silentSeatbeltNotLatched @162;
silentParkBrake @163;
controlsMismatchLateral @164;
wrongCarModeNoEntry @165;
wrongCruiseModeNoEntry @166;
soundsUnavailableDEPRECATED @47;
}
@@ -589,6 +665,7 @@ struct PandaState @0xa7649e2575e4591e {
# safety stuff
controlsAllowed @3 :Bool;
controlsAllowedLat @5 :Bool;
safetyRxInvalid @19 :UInt32;
safetyTxBlocked @24 :UInt32;
safetyModel @14 :Car.CarParams.SafetyModel;
@@ -696,7 +773,6 @@ struct PandaState @0xa7649e2575e4591e {
}
gasInterceptorDetectedDEPRECATED @4 :Bool;
startedSignalDetectedDEPRECATED @5 :Bool;
hasGpsDEPRECATED @6 :Bool;
gmlanSendErrsDEPRECATED @9 :UInt32;
fanSpeedRpmDEPRECATED @11 :UInt16;
@@ -2547,7 +2623,7 @@ struct Event {
customReservedRawData2 @126 :Data;
# *********** Custom: reserved for forks ***********
customReserved0 @107 :Custom.CustomReserved0;
selfdriveStateSP @107 :Custom.SelfdriveStateSP;
customReserved1 @108 :Custom.CustomReserved1;
customReserved2 @109 :Custom.CustomReserved2;
customReserved3 @110 :Custom.CustomReserved3;
+3
View File
@@ -73,6 +73,9 @@ _services: dict[str, tuple] = {
"userFlag": (True, 0., 1),
"microphone": (True, 10., 10),
# sunnypilot
"selfdriveStateSP": (True, 100., 10),
# debug
"uiDebug": (True, 0., 1),
"testJoystick": (True, 0.),
+7
View File
@@ -200,6 +200,13 @@ std::unordered_map<std::string, uint32_t> keys = {
{"UpdaterTargetBranch", CLEAR_ON_MANAGER_START},
{"UpdaterLastFetchTime", PERSISTENT},
{"Version", PERSISTENT},
// sunnypilot params
{"Mads", PERSISTENT},
{"MadsMainCruiseAllowed", PERSISTENT},
{"MadsDisengageLateralOnBrake", PERSISTENT},
{"MadsUnifiedEngagementMode", PERSISTENT},
{"HyundaiLongitudinalMainCruiseToggleable", PERSISTENT},
};
} // namespace
+125
View File
@@ -0,0 +1,125 @@
#!/usr/bin/env bash
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Parse command line arguments
FETCH_ALL=0
while [[ "$#" -gt 0 ]]; do
case $1 in
-a|--all) FETCH_ALL=1 ;;
*) echo "Unknown parameter: $1"; exit 1 ;;
esac
shift
done
# Function to check if a command exists
command_exists() {
command -v "$1" >/dev/null 2>&1
}
# Check if git-lfs is installed and initialized
if ! command -v git-lfs >/dev/null 2>&1; then
echo -e "${RED}Error: git-lfs is not installed${NC}"
echo "Please install git-lfs first:"
echo " brew install git-lfs # On macOS"
echo " apt-get install git-lfs # On Ubuntu/Debian"
exit 1
fi
# Function to get LFS objects that need syncing
get_missing_lfs_objects() {
git lfs ls-files | awk '$2 == "-" {$1=""; $2=""; sub(/^[ \t]+/, ""); print}'
}
# Function to get all LFS objects
get_all_lfs_objects() {
git lfs ls-files | awk '{$1=""; $2=""; sub(/^[ \t]+/, ""); print}'
}
# Clean up any existing LFS config
echo -e "${YELLOW}Cleaning up existing LFS configurations...${NC}"
git config --unset-all lfs.url
git config --unset-all lfs.pushurl
git config --local --unset-all lfs.url
git config --local --unset-all lfs.pushurl
# Backup current LFS config
if [ -f .lfsconfig ]; then
cp .lfsconfig .lfsconfig.backup
fi
# Switch to upstream config and pull missing objects
echo -e "${YELLOW}Using upstream LFS configuration...${NC}"
if [ -f .lfsconfig-comma ]; then
cp .lfsconfig-comma .lfsconfig
echo -e "${GREEN}Switched to upstream LFS configuration${NC}"
if [ $FETCH_ALL -eq 1 ]; then
echo -e "${YELLOW}Fetching all LFS objects (including already present)...${NC}"
git lfs fetch --all || {
echo -e "${RED}Failed to fetch LFS objects${NC}"
if [ -f .lfsconfig.backup ]; then
mv .lfsconfig.backup .lfsconfig
fi
exit 1
}
git lfs checkout || {
echo -e "${RED}Failed to checkout LFS objects${NC}"
if [ -f .lfsconfig.backup ]; then
mv .lfsconfig.backup .lfsconfig
fi
exit 1
}
echo -e "${GREEN}Successfully fetched all LFS objects${NC}"
else
# Get list of missing LFS objects
MISSING_FILES=$(get_missing_lfs_objects)
if [ ! -z "$MISSING_FILES" ]; then
echo -e "${YELLOW}Missing files to fetch:${NC}"
echo "$MISSING_FILES"
git lfs fetch || {
echo -e "${RED}Failed to fetch LFS objects${NC}"
if [ -f .lfsconfig.backup ]; then
mv .lfsconfig.backup .lfsconfig
fi
exit 1
}
git lfs checkout || {
echo -e "${RED}Failed to checkout LFS objects${NC}"
if [ -f .lfsconfig.backup ]; then
mv .lfsconfig.backup .lfsconfig
fi
exit 1
}
echo -e "${GREEN}Successfully fetched missing LFS objects${NC}"
else
echo -e "${GREEN}No missing LFS objects to fetch${NC}"
fi
fi
else
echo -e "${RED}Warning: .lfsconfig-comma not found${NC}"
fi
# Restore original config
if [ -f .lfsconfig.backup ]; then
mv .lfsconfig.backup .lfsconfig
echo -e "${GREEN}Restored original LFS configuration${NC}"
else
rm -f .lfsconfig
fi
echo -e "${GREEN}LFS sync completed successfully${NC}"
# Continue with the commit
exit 0
+1
View File
@@ -0,0 +1 @@
../sunnypilot
+1 -1
Submodule panda updated: c7cc2deaf0...3ae376ecfe
+1
View File
@@ -164,6 +164,7 @@ testpaths = [
"tools/replay",
"tools/cabana",
"cereal/messaging/tests",
"sunnypilot",
]
[tool.codespell]
+2 -2
View File
@@ -13,7 +13,7 @@ cd $ROOT
FAILED=0
IGNORED_FILES="uv\.lock|docs\/CARS.md"
IGNORED_FILES="uv\.lock|docs\/CARS.md|LICENSE\.md|.*\.zst"
IGNORED_DIRS="^third_party.*|^msgq.*|^msgq_repo.*|^opendbc.*|^opendbc_repo.*|^cereal.*|^panda.*|^rednose.*|^rednose_repo.*|^tinygrad.*|^tinygrad_repo.*|^teleoprtc.*|^teleoprtc_repo.*"
function run() {
@@ -57,7 +57,7 @@ function run_tests() {
if [[ -z "$FAST" ]]; then
run "mypy" mypy $PYTHON_FILES
run "codespell" codespell $ALL_FILES
run "codespell" codespell $ALL_FILES --ignore-words=$ROOT/.codespellignore
fi
return $FAILED
+6
View File
@@ -22,6 +22,8 @@ from openpilot.selfdrive.pandad import can_capnp_to_list, can_list_to_can_capnp
from openpilot.selfdrive.car.cruise import VCruiseHelper
from openpilot.selfdrive.car.car_specific import MockCarState
from openpilot.sunnypilot.mads.mads import MadsParams
REPLAY = "REPLAY" in os.environ
EventName = log.OnroadEvent.EventName
@@ -113,6 +115,10 @@ class Car:
if not disengage_on_accelerator:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS
# mads
MadsParams().set_alternative_experience(self.CP)
MadsParams().set_car_specific_params(self.CP)
openpilot_enabled_toggle = self.params.get_bool("OpenpilotEnabledToggle")
controller_available = self.CI.CC is not None and openpilot_enabled_toggle and not self.CP.dashcamOnly
+14 -1
View File
@@ -19,6 +19,7 @@ from openpilot.selfdrive.controls.lib.longcontrol import LongControl
from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel
from openpilot.selfdrive.locationd.helpers import PoseCalibrator, Pose
from opendbc.sunnypilot import SunnypilotParamFlags
State = log.SelfdriveState.OpenpilotState
LaneChangeState = log.LaneChangeState
@@ -56,6 +57,9 @@ class Controls:
elif self.CP.lateralTuning.which() == 'torque':
self.LaC = LatControlTorque(self.CP, self.CI)
data_services = list(self.sm.data.keys()) + ['selfdriveStateSP']
self.sm = messaging.SubMaster(data_services, poll='selfdriveState')
def update(self):
self.sm.update(15)
if self.sm.updated["liveCalibration"]:
@@ -88,7 +92,16 @@ class Controls:
# Check which actuators can be enabled
standstill = abs(CS.vEgo) <= max(self.CP.minSteerSpeed, MIN_LATERAL_CONTROL_SPEED) or CS.standstill
CC.latActive = self.sm['selfdriveState'].active and not CS.steerFaultTemporary and not CS.steerFaultPermanent and not standstill
ss_sp = self.sm['selfdriveStateSP']
CC.madsEnabled = ss_sp.mads.enabled
if ss_sp.mads.available:
CC.sunnypilotParams |= SunnypilotParamFlags.ENABLE_MADS.value
_lat_active = ss_sp.mads.active
else:
_lat_active = self.sm['selfdriveState'].active
CC.latActive = _lat_active and not CS.steerFaultTemporary and not CS.steerFaultPermanent and not standstill
CC.longActive = CC.enabled and not any(e.overrideLongitudinal for e in self.sm['onroadEvents']) and self.CP.openpilotLongitudinalControl
actuators = CC.actuators
+2 -2
View File
@@ -137,8 +137,8 @@ void Panda::enable_deepsleep() {
handle->control_write(0xfb, 0, 0);
}
void Panda::send_heartbeat(bool engaged) {
handle->control_write(0xf3, engaged, 0);
void Panda::send_heartbeat(bool engaged, bool engaged_mads) {
handle->control_write(0xf3, engaged, engaged_mads);
}
void Panda::set_can_speed_kbps(uint16_t bus, uint16_t speed) {
+1 -1
View File
@@ -75,7 +75,7 @@ public:
std::optional<std::string> get_serial();
void set_power_saving(bool power_saving);
void enable_deepsleep();
void send_heartbeat(bool engaged);
void send_heartbeat(bool engaged, bool engaged_mads);
void set_can_speed_kbps(uint16_t bus, uint16_t speed);
void set_can_fd_auto(uint16_t bus, bool enabled);
void set_data_speed_kbps(uint16_t bus, uint16_t speed);
+18 -2
View File
@@ -41,6 +41,8 @@
#define CUTOFF_IL 400
#define SATURATE_IL 1000
#define ALT_EXP_DISENGAGE_LATERAL_ON_BRAKE 2048
ExitHandler do_exit;
bool check_all_connected(const std::vector<Panda *> &pandas) {
@@ -53,6 +55,18 @@ bool check_all_connected(const std::vector<Panda *> &pandas) {
return true;
}
bool process_mads_heartbeat(SubMaster *sm) {
const int &alt_exp = (*sm)["carParams"].getCarParams().getAlternativeExperience();
const bool disengage_lateral_on_brake = (alt_exp & ALT_EXP_DISENGAGE_LATERAL_ON_BRAKE) != 0;
const auto &mads = (*sm)["selfdriveStateSP"].getSelfdriveStateSP().getMads();
const bool heartbeat_type = disengage_lateral_on_brake ? mads.getActive() : mads.getEnabled();
const bool engaged = sm->allAliveAndValid({"selfdriveStateSP"}) && heartbeat_type;
return engaged;
}
Panda *connect(std::string serial="", uint32_t index=0) {
std::unique_ptr<Panda> panda;
try {
@@ -144,6 +158,7 @@ void fill_panda_state(cereal::PandaState::Builder &ps, cereal::PandaState::Panda
ps.setIgnitionLine(health.ignition_line_pkt);
ps.setIgnitionCan(health.ignition_can_pkt);
ps.setControlsAllowed(health.controls_allowed_pkt);
ps.setControlsAllowedLat(health.controls_allowed_lat_pkt);
ps.setTxBufferOverflow(health.tx_buffer_overflow_pkt);
ps.setRxBufferOverflow(health.rx_buffer_overflow_pkt);
ps.setPandaType(hw_type);
@@ -327,7 +342,7 @@ void send_peripheral_state(Panda *panda, PubMaster *pm) {
}
void process_panda_state(std::vector<Panda *> &pandas, PubMaster *pm, bool spoofing_started) {
static SubMaster sm({"selfdriveState"});
static SubMaster sm({"selfdriveState", "selfdriveStateSP", "carParams"});
std::vector<std::string> connected_serials;
for (Panda *p : pandas) {
@@ -366,8 +381,9 @@ void process_panda_state(std::vector<Panda *> &pandas, PubMaster *pm, bool spoof
sm.update(0);
const bool engaged = sm.allAliveAndValid({"selfdriveState"}) && sm["selfdriveState"].getSelfdriveState().getEnabled();
const bool engaged_mads = process_mads_heartbeat(&sm);
for (const auto &panda : pandas) {
panda->send_heartbeat(engaged);
panda->send_heartbeat(engaged, engaged_mads);
}
}
}
+125
View File
@@ -105,6 +105,24 @@ class Events:
ret.append(event)
return ret
def has(self, event_name: int) -> bool:
return event_name in self.events
def contains_in_list(self, events_list: list[int]) -> bool:
return any(event_name in self.events for event_name in events_list)
def remove(self, event_name: int, static: bool = False) -> None:
if static and event_name in self.static_events:
self.static_events.remove(event_name)
if event_name in self.events:
self.event_counters[event_name] = self.event_counters[event_name] + 1
self.events.remove(event_name)
def replace(self, prev_event_name: int, cur_event_name: int, static: bool = False) -> None:
self.remove(prev_event_name, static)
self.add(cur_event_name, static)
class Alert:
def __init__(self,
@@ -951,6 +969,113 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
ET.WARNING: personality_changed_alert,
},
# sunnypilot
EventName.lkasEnable: {
ET.ENABLE: EngagementAlert(AudibleAlert.engage),
},
EventName.lkasDisable: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.disengage),
},
EventName.manualSteeringRequired: {
ET.USER_DISABLE: Alert(
"Automatic Lane Centering is OFF",
"Manual Steering Required",
AlertStatus.normal, AlertSize.mid,
Priority.LOW, VisualAlert.none, AudibleAlert.disengage, 1.),
},
EventName.manualLongitudinalRequired: {
ET.WARNING: Alert(
"Smart/Adaptive Cruise Control: OFF",
"Manual Speed Control Required",
AlertStatus.normal, AlertSize.mid,
Priority.LOW, VisualAlert.none, AudibleAlert.none, 1.),
},
# TODO-SP: remove prior merging
EventName.silentPedalPressed: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.none),
ET.NO_ENTRY: NoEntryAlert("Pedal Pressed During Attempt",
visual_alert=VisualAlert.brakePressed),
},
EventName.silentLkasEnable: {
ET.ENABLE: EngagementAlert(AudibleAlert.none),
},
EventName.silentLkasDisable: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.none),
},
EventName.silentBrakeHold: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.none),
ET.NO_ENTRY: NoEntryAlert("Brake Hold Active"),
},
EventName.silentWrongGear: {
ET.WARNING: Alert(
"",
"",
AlertStatus.normal, AlertSize.none,
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, 0.),
ET.NO_ENTRY: Alert(
"Gear not D",
"openpilot Unavailable",
AlertStatus.normal, AlertSize.mid,
Priority.LOW, VisualAlert.none, AudibleAlert.none, 0.),
},
EventName.silentReverseGear: {
ET.PERMANENT: Alert(
"Reverse\nGear",
"",
AlertStatus.normal, AlertSize.full,
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, .2, creation_delay=0.5),
ET.NO_ENTRY: NoEntryAlert("Reverse Gear"),
},
EventName.silentDoorOpen: {
ET.WARNING: Alert(
"",
"",
AlertStatus.normal, AlertSize.none,
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, 0.),
ET.NO_ENTRY: NoEntryAlert("Door Open"),
},
EventName.silentSeatbeltNotLatched: {
ET.WARNING: Alert(
"",
"",
AlertStatus.normal, AlertSize.none,
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, 0.),
ET.NO_ENTRY: NoEntryAlert("Seatbelt Unlatched"),
},
EventName.silentParkBrake: {
ET.WARNING: Alert(
"",
"",
AlertStatus.normal, AlertSize.none,
Priority.LOWEST, VisualAlert.none, AudibleAlert.none, 0.),
ET.NO_ENTRY: NoEntryAlert("Parking Brake Engaged"),
},
EventName.controlsMismatchLateral: {
ET.IMMEDIATE_DISABLE: ImmediateDisableAlert("Controls Mismatch: Lateral"),
ET.NO_ENTRY: NoEntryAlert("Controls Mismatch: Lateral"),
},
EventName.wrongCarModeNoEntry: {
ET.NO_ENTRY: wrong_car_mode_alert,
},
EventName.wrongCruiseModeNoEntry: {
ET.NO_ENTRY: NoEntryAlert("Adaptive Cruise Disabled"),
},
}
+20
View File
@@ -23,6 +23,8 @@ from openpilot.selfdrive.controls.lib.latcontrol import MIN_LATERAL_CONTROL_SPEE
from openpilot.system.version import get_build_metadata
from openpilot.sunnypilot.mads.mads import ModularAssistiveDrivingSystem
REPLAY = "REPLAY" in os.environ
SIMULATION = "SIMULATION" in os.environ
TESTING_CLOSET = "TESTING_CLOSET" in os.environ
@@ -131,6 +133,10 @@ class SelfdriveD:
elif self.CP.passive:
self.events.add(EventName.dashcamMode, static=True)
self.mads = ModularAssistiveDrivingSystem(self)
sock_services = list(self.pm.sock.keys()) + ['selfdriveStateSP']
self.pm = messaging.PubMaster(sock_services)
def update_events(self, CS):
"""Compute onroadEvents from carState"""
@@ -451,11 +457,25 @@ class SelfdriveD:
self.pm.send('onroadEvents', ce_send)
self.events_prev = self.events.names.copy()
# selfdriveStateSP
ss_sp_msg = messaging.new_message('selfdriveStateSP')
ss_sp_msg.valid = True
ss_sp = ss_sp_msg.selfdriveStateSP
mads = ss_sp.mads
mads.state = self.mads.state_machine.state
mads.enabled = self.mads.enabled
mads.active = self.mads.active
mads.available = self.mads.enabled_toggle
self.pm.send('selfdriveStateSP', ss_sp_msg)
def step(self):
CS = self.data_sample()
self.update_events(CS)
if not self.CP.passive and self.initialized:
self.enabled, self.active = self.state_machine.update(self.events)
if not self.CP.notCar:
self.mads.update(CS, self.sm)
self.update_alerts(CS)
self.publish_selfdriveState(CS)
+1 -1
View File
@@ -41,7 +41,7 @@ class TestAlerts:
events = log.OnroadEvent.EventName.schema.enumerants
for name, e in events.items():
if not name.endswith("DEPRECATED"):
if not name.endswith("DEPRECATED") and not name.startswith("eventReserved"):
fail_msg = f"{name} @{e} not in EVENTS"
assert e in EVENTS.keys(), fail_msg
+1 -1
View File
@@ -1 +1 @@
fakedata/
!fakedata/*
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:00a555e2b8cb5a846ca7aa21d9cb6474ec28cf16dfee7ee4eab2c24b3e41c84c
size 1883
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d442e3981664210d751445848f2731d39593378be0227a60138fc60c87450886
size 356151
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ec364c58a24d2b061da26db823ad9f9b022939acc69bf173c5e7692b369ffc2
size 167913
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9b56b74cb9e31cc7ca3e5017b4f90375bec2f640690cb08cba01b6084a3911f6
size 3502
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f99286c35614806801ae4c77477fdaefa0fa7d960c047b6315edb593c67d5e0
size 112449
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8d37d1a2c609393cbbe2b7f517967f37ddcc6a57873625b7dc30ea59294a79e
size 41741
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f3dd765f3b6c52b8ad854ad3d8b1725796723c81d07cb792c43940a5162dd07
size 254007
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b396d49350f43fa1ace5f96c46e46a80e305c99e59a487092ef23472a2b37fb6
size 51100
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0ea35f1a0517a7117219d7bba72a9e4bda05ba351840f37f3cda934033103f8
size 29356
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:217fcbe96795f4e05fe20d7720ab0a73c2d88196cf72a79f8aeaa31161ac648a
size 1348
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:531fae8fa368a3edbcd291174d501095c1760d20ecbf1963f3eb5ce80163251f
size 284311
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e5fe931a42fdc2f1325fc3ad237bf8c4ae53e50114c7d09c1f163341af77fbc7
size 332309
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7dca8824ec84402129b943c49a1295eb06c1fb54a0a6bf331eedf1937004289f
size 268900
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:139c9f785780a82854b445480137f3d6d9cf20696e12411262e89ab895cc5b0c
size 436663
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90ab39da3f185082757be02b4c610bc4d62145e554cabf662f1304cb9524e2bc
size 308625
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fbb5183742706a7394a8d29d24b00809cd96cc09ae7e47a2083b4df9b18a1f23
size 393129
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f29b781462ebd638e917eff93803f0dc177c8d8887ccc9804170f3517170ed7
size 334373
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:65e3a6f26f52c1e1f67849facb102f625bb0c5913aa1d376a35d324f5542d794
size 1860
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7dd6826fe801680fe5aebb1704154c0f22bf6138e8a5b274b316c4f2c99dbc96
size 470405
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dfc601f9cbcafe611033a4c3a43fd9adcb0e2dbde21fa6fb8238e9de84fca48d
size 201759
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a96509ec410b10459c62af0614366740e1138c1551fadc0afde6672f15516815
size 7909
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e887d050e6d5a6d18123956f10ce174bdd9957b1820dbcbe6f608fcd89372bab
size 112454
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c3cc2bc6ff6eb2a9777eded8090e7e76f80bd8c29e51bdb2fd0782c785d6e33
size 40767
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:817a85e52774f0a5a1868abf7307444f3f6de85471b727693cdbbf316587736a
size 259310
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc8b42f793728cf1cb9bc9868a106e7171527c1d6549de1afcfe4c6db163b799
size 52725
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:074f0bbd96d130e2350d6a3db872696cd35a4c2fe7e32845b53698528a500587
size 29645
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c4d73bd47043fd6bdbd0625299bda7a5b94cf2f63f1813cd1ec683be8b7ce09
size 1199
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c4ddf166d015b6886ee3250c977ff1d37542a6a3b364dc58316b30f21dbe56d
size 234433
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d50dde7afdadc114514b18aefa7746abd3abe6eb357230d17e2d396fd0ef3724
size 217475
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:803b782e30fc48b51e677ef2c50ac80f3f6283799205b0ed8829d3c6ac61b49c
size 1712
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a01b0ab56b8e7a0a83b7dfd25af9e5f5a1f2323732f4db19c25280761fea6473
size 293024
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:83241bc1d9704dcc916e1ef2f48e0851d09cdf8134fb317b06cbda496cbe9808
size 164545
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4341d37146f3b0fd0b8355a3213d2a1b596bf7a2a41c061f1aebbbaa6aa1172
size 3552
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e072d812c3355091fde157a40523b1818a96db3ade15a7810c54a05282288c12
size 112322
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13d8632b9f98b91ec9d723c8eb81ed877884f238f6cbcebcbe42541309f0b820
size 35670
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7994a9621d8295be13c4cc2f0b19e00607aafe094769370db1323a8430d2df53
size 258531
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fa9767fe8370fc49e455d5746b6b34a489681ec9103df5a2de2953524ae4c319
size 17917
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02117e335193889d0d13027de4755896bd6f401951e85564169fd4354e1cd523
size 29479
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad0392cb8f44222127f06df95a278fb05cfecfa1ef641ddf590a3b50fa5b4b74
size 1223
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7701c8d0230dbf234da6e8ee954cd81e67b0a735e98441abe19f6b08a89b84e7
size 102213
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2890247297d19b3d3f61243e2732bab7150043b5e802c43e70de909ffd4b7c1a
size 100036
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a75473ce388cf1d6fb54c38400a481464c7ec36765d3807addf16267315f52b8
size 1912
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:721c9a28f88b4d670536ffb95e69893d56df91d017d154e5b044b974095382f7
size 262926
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91a900de57315a5f15fa1bdfb3f7f6b254b11f4278cf8203d9b91d01b4840716
size 259422
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0602bdf2a3736b1d38f807b9a5029222721a327ee13c0a1d4ad7e3cadc4d5a1
size 6841
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5b1e513b97426cc282e6f367b2750030ada2c3c11689189239991aa580f9e91a
size 113046
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3f1c5a027ac87927bf52cd6a7996bfe0a67a1b50f94df16063884f6b5ff3b46
size 41696
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a1e3bf75f1cfcba58eb876a6a69517d9b007a198af749c068b8e71b3801f2781
size 257066
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67316952f7551b69c46a8b35fb1cb205034aec2a0f5d94833bc7aec5298a0e8e
size 53039
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54be480a7baeddc99dd05c710d3c48e0313f56dd52249cd58f19f77d69d765e5
size 30395
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2da9e9adaf35f6d525c32f2695d678b0286b1e1db30dc1a07541714af292e95
size 1292
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4cb323a317e3e47451a2e92dcfcb7d74b134eb53fcf58dde834a0f226c30959d
size 193087
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e971271682d91f1093345aeb4417c5edaef2ac7466453d22b5911be8cd021a86
size 268080
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c34d0a968f789548d507be6e2aa42a308ea76fa29204f00287e07119b725bc90
size 1863
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b24547c9c6e4012b7d0e85d22f6eca83354f4f1fbeb257f0e2dc441d8d65d4b
size 305093
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:606cf3036fbcce5be1140953aac7a388a303e6b901b9fe166bc8d5020af76e3f
size 281374
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3add3cdb9c13d8d00b013e5f54dff9040ef6f97972c25cd0375939424fa385e
size 4481
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ff53a8d947ed2a4de660f3289f56c2b800c0147418237a0d256acbe48476b77
size 112877
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a5110e087689d493419a20ae06c0e781d1ee41cd02878f532645815ef7f41a8
size 41026
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f43267c0ec67c0b561116576711f08ad628be45201e6f49e41a401e4045d34a3
size 253884
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7c84b169e3284c28985c71bd88431f6e750f71ad8274f85e2522be4b8cb60ba
size 16708
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:feb26956eb0a3fefd6019f36025ab6c62a55b97b06e4729e5e6508f58432dd72
size 30362
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9796b749a3cbd3b30336b1e4ac9cefd17586ffc523c9955ffe8cb07c504d15b2
size 1196

Some files were not shown because too many files have changed in this diff Show More