Compare commits

...

3819 Commits

Author SHA1 Message Date
Jason Wen
28464418c2 issue/pr 2024-08-08 22:01:22 -04:00
Jason Wen
3fbe92ac4d analytics 2024-08-08 13:57:24 -04:00
Jason Wen
4814806dd6 analytics 2024-08-08 13:55:53 -04:00
Jason Wen
1956af9cf0 search 2024-08-08 13:48:58 -04:00
Jason Wen
0d9385823d enabling 2024-08-08 11:14:54 -04:00
Jason Wen
3608ef5e67 hyundai radar tracks 2024-08-08 11:13:17 -04:00
Jason Wen
cc58b81dd2 hyundai radar tracks 2024-08-08 10:54:45 -04:00
Jason Wen
4437e3cc45 format mapbox navigation 2024-08-08 10:51:02 -04:00
Jason Wen
3af82984e0 git stuff 2024-08-07 23:36:32 -04:00
Jason Wen
c627b9ac46 edit or view 2024-08-07 23:29:15 -04:00
Jason Wen
0209fad94b feature is WIP for now 2024-08-07 23:13:28 -04:00
Jason Wen
6905635f83 main 2024-08-07 23:10:54 -04:00
Jason Wen
7a88203bb8 discord link 2024-08-07 23:09:50 -04:00
Jason Wen
e580767ec5 less 2024-08-07 23:00:33 -04:00
Jason Wen
9fd4b33e0e no bold 2024-08-07 22:59:18 -04:00
Jason Wen
01014a72df docs issue 2024-08-07 22:58:11 -04:00
Jason Wen
12f8cb64b4 more bugs 2024-08-07 22:42:50 -04:00
Jason Wen
26dac9b109 report a bug 2024-08-07 21:03:39 -04:00
Jason Wen
bbebd48d46 more updates 2024-08-07 15:15:49 -04:00
Jason Wen
8ee461f1cc permalink 2024-08-05 14:33:02 -04:00
Jason Wen
53868da000 update bug reports 2024-08-05 14:28:30 -04:00
Jason Wen
cd8e38663a more 2024-08-05 02:08:55 -04:00
Jason Wen
6a7d25e2ae more branches 2024-08-04 23:56:57 -04:00
Jason Wen
36f1bf0adb definitions 2024-08-04 23:37:24 -04:00
Jason Wen
188aa8374a installation index 2024-08-04 22:40:57 -04:00
Jason Wen
c901eaa29c dlp: pictures 2024-08-04 22:32:13 -04:00
Jason Wen
2c6b477e8a index general 2024-08-04 22:11:55 -04:00
Jason Wen
933bc55fd9 dlp 2024-08-04 21:55:35 -04:00
Jason Wen
a363c86033 some changes 2024-08-04 21:05:47 -04:00
Jason Wen
bf8725619e installation 2024-08-04 20:56:19 -04:00
Jason Wen
6c1fa7d101 symlink 2024-08-04 20:44:27 -04:00
Jason Wen
a6582a9e31 more 2024-08-04 16:11:04 -04:00
Jason Wen
fc8bf86599 init 2024-08-04 14:34:17 -04:00
Jason Wen
980fd5393b remove unused 2024-08-04 11:56:13 -04:00
Jason Wen
19afa83ce1 Bump submodules 2024-08-04 07:25:09 -04:00
Jason Wen
c06a82f41b Submodules: Point back to sunnypilot 2024-08-03 21:37:45 -04:00
Jason Wen
0b7d3805ff ui: Network: Disable refresh button while scanning (#383) 2024-08-03 21:29:22 -04:00
DevTekVE
963d356173 ci: Improvements on the mirror and prebuilt flow (#386)
* Remove redundant git lfs pull command

The `git lfs pull` command in the GitHub workflow is redundant and has been removed. Additionally, the `sync-lfs.sh` script has been updated to push all LFS objects to the origin repository.

* using force push instead of trying to merge

* Bumping ssh agent to 0.9.0

* Syntax

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-08-03 21:29:00 -04:00
Jason Wen
03f76199f3 ParamManager: Convert missed params in cars (#390) 2024-08-03 21:26:23 -04:00
Jason Wen
9ed9d001b0 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#385) 2024-08-03 17:25:35 -08:00
Jason Wen
f3933df2f5 Athenad: Add TODO-SP 2024-08-03 21:24:49 -04:00
Jason Wen
d35cdb510d Sync: commaai/msgq:master into sunnypilot/msgq:master
Sync: `commaai/opendbc:master` into `sunnypilot/opendbc:master`

Sync: `commaai/panda:master` into `sunnypilot/panda:master`
2024-08-03 21:22:09 -04:00
Dean Lee
8f9b165de8 camerad: encapsulate cl_command_queue in ImgProc (#33178)
move cl queue to imgproc
2024-08-03 14:57:26 -07:00
Adeeb Shihadeh
9474523add Revert "uploader.py: simplify clear_locks by using rglob (#32974)"
This reverts commit cafca4f891.
2024-08-03 12:12:42 -07:00
DevTekVE
57daa151cb Docs: Move HOW-TOS to master (#387)
* HOW-TOS.md: Instructions to enable radar tracks

* HOW-TOS.md: Instructions to enable radar tracks and openpilot Longitudinal Control

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* README: Enable Radar Tracks (#17)

* HOW-TOS: Update HKG enable radar tracks instructions (#24)

* Update radar tracks instructions

* Update HKG enable radar tracks instructions

* Update HOW-TOS.md

* Update HOW-TOS.md

* HOW-TOS: Update enable openpilot Longitudinal Control instructions (#29)

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Update HOW-TOS.md

* Added How-To for Enabling Mapbox Navigation (#78)

* Readme 2.0 (#84)

* Readme 2.0

• Add collapsible sections in an effort to make the readme page more digestible for first time readers.
• Proposed rewording for the following sections:
        • Join our Discord
        • Safety Modifications
• Prettify layout

* Update README.md

* Update README.md

* Update README.md

* Update README.md

spelling corrections

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Moved Prohibited Safety Modifications into it's own section

* Update README.md

Reduced clickable text for hyperlink branches.
Added comma.ai link to safety policy.

* Update README.md

* Update README.md

* Update README.md

* Prettify

• Make main headings expandable
• Rework installation section (undecided yet)

* Update README.md

Make table of contents uniform

* Update README.md

* Update README.md

Tidy up installation section

* Update Driving Enhancements

something is preventing self linking after [**Gap Adjust Cruise (GAC)**](#gap-adjust-cruise)

* Quality of life Enhancements

Added more to the list

* Add e2e path colour

* Fix How-To link

* Add comma two recommended branch

* Discrete discord badge

* Update installation instructions

* Make sections mobile friendly

`h2` -> h3

* Update `Features:`

reword and make use of footnotes

* Less is more, updated branch with search query

* 0.8.12 will work on comma three as well

* Tweak OSM feature and add footnote

* update menu reference

* DLP footnote

* Delete CHANGELOGS.md

Not needed seen as README directs to live / updated changelog per branch

* Delete FEATURES.md

Double up / already exists in README

* Update HOW-TOS.md

Make styling consistent, no information changed

* Difference format for installation block

* Spelling

* Update README.md

Add VW/Audi/Skoda and reword what SP is for

* Update README.md

bounds -> parameters

* Update README.md

Update installation URL with shortened URL + reword. Include footnote

* Update README.md

Reword `GAC`

* Update README.md

* Update README.md

Spacing

* Update README.md

less is more

* Update README.md

Remove DLP footnote, add NZ to Offline OSM

* Update README.md

Prettify change logs - link to a change log for `0.8.12-prod` branch instead of search

* Update README.md

Refactor QOL section. Focus more on "function of" vs "how-to".

* Update README.md

Refactor Visual Enhancements

* Driving Enhancements rework

* Additional -> Miscellaneous

* Spelling + grammar check

* Replace sirens with triangles

* Always show donation, updated Special Thanks

* 📡

* Update README.md

Co-authored-by: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>

* Update README.md

Co-authored-by: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>

* Fix how-to's

* Update README.md

* Discord badge to show total members

* Update README.md

* Small cleanup and additions

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

* Don't miss this

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

* someday

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

* No longer needed

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

* Take it out

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

* Less sunny

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>

---------

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>

* Update HOW-TOS.md

* Simplify README installation instructions

Consolidated the installation command for the `release-c3` branch and removed redundant instructions for unsupported comma two. Also updated the How-To, removing the old branch that caused a huge size on the repo.

* Remove comma two installation instructions

This update cleans up the README by removing outdated installation instructions for the comma two device. It makes the documentation more concise and focused on current requirements and devices.

---------

Signed-off-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: sunnyhaibin <haibin.wen3@gmail.com>
Co-authored-by: Brandon Bennett <56660362+bbennett80@users.noreply.github.com>
Co-authored-by: Jason Wen <47793918+sunnyhaibin@users.noreply.github.com>
Co-authored-by: tango2590 <78666662+tango2590@users.noreply.github.com>
Co-authored-by: Moodkiller <appleipodsrock@gmail.com>
2024-08-03 10:14:43 -04:00
Dean Lee
cafca4f891 uploader.py: simplify clear_locks by using rglob (#32974)
simplify clear_locks
2024-08-02 13:40:57 -07:00
Dean Lee
2cd9975e4f modeld: remove redundant pred_mu assignment (#33152)
remove redundant pred_mu assignment
2024-08-02 13:40:33 -07:00
Dean Lee
c40d129f70 camerad: update frame msg related variable types to uint64_t for consistency (#33113)
Update frame_msg related variable types to uint64_t for  type safety
2024-08-02 12:57:29 -07:00
Adeeb Shihadeh
19dec54f65 Update stale.yaml 2024-08-02 12:55:04 -07:00
Dean Lee
8ab587d30b camerad: move do_exit to camera_qcom2.cc (#33086)
move do_exit to camera_qcom2.cc
2024-08-02 12:18:10 -07:00
Dean Lee
ea5ee29ebd params: wrap fsync and close in HANDLE_EINTR for robustness (#33154)
Wrap fsync and close in HANDLE_EINTR for Robustness
2024-08-02 12:16:24 -07:00
Dean Lee
2189164d45 camerad: encapsulating event management within the ImgProc Class (#33119)
Encapsulating Event Management Within the ImgProc Class
2024-08-02 12:16:04 -07:00
Dean Lee
8f3fc699d4 loggerd: Initialize atomic variables to zero (#33130)
Initialize atomic variables in LoggerdState to zero
2024-08-02 12:01:56 -07:00
Jason Wen
bdb733ddc9 car: Fix typo with ParamManager variable (#382) 2024-08-02 12:36:49 -04:00
DevTekVE
b63ef7b0bf Create codeql.yml 2024-08-02 18:35:44 +02:00
Jason Wen
09d1604b84 MADS: Honda: Fix PCM ACC disengage fault (#363)
* MADS: Honda: Fix PCM ACC disengage fault

* try this out

* honda only
2024-08-02 11:41:20 -04:00
Jason Wen
61f7690265 ci: Update build number on dev builds with Discord notification (#381) 2024-08-02 11:38:25 -04:00
John Belmonte
4cb7263dd6 Docs: Fix indentation of feature list (#379)
Fix indenting of feature list
2024-08-02 16:35:37 +02:00
DevTekVE
ef2331b5df ci: Prebuilt public branches and update build number (#380)
* fixing build number + forcing run to test

* Cleaning up and changing the process for the auto builds

* updating the logic for the extra verson identifier

* Return to default master-dev-c3

* if this is MR on gitlab, we also publish prebuilt on private gitlab for internal testing

* Silly formatting issue
2024-08-02 10:26:14 -04:00
Adeeb Shihadeh
13511e383c remove pre-commit (explorations) (#33172)
* remove pre-commit (explorations)

* lint.sh

* remove rest

* add to release files

* no source

* 1min is all you need
2024-08-01 22:16:13 -07:00
Jason Wen
9be3925ee1 MADS: Hyundai: Independent control with LFA button (#362)
* MADS: HKG CAN-FD: Disallow cruise buttons to engage when pcmCruiseSpeed is off

* handle states properly

* this is better

* make sure main button is pressed

* oops flipped main

* same behavior

* handle cruise main button universally

* both

* not needed

* oops

* wtf how did i miss
2024-08-01 23:34:35 -04:00
Jason Wen
8d760272c7 car: Move all live param checks to ParamManger (#378)
car: Move all live param checks to ParamManger
2024-08-01 23:23:00 -04:00
Mathew Locoteta
22e0b4d597 Honda Longitudinal: Remove tuning from 4-CYL 9th Gen Accord (#359)
Remove ACC tuning from 9th Gen Accord

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-08-01 22:42:13 -04:00
Maxime Desroches
4b11c9e914 ci: create ui report only on PR (#33168)
only on pr
2024-08-01 16:44:10 -07:00
Hoang Bui
5b4b7a08fc CI: fix recent test_rotation skip (#33167) 2024-08-01 16:28:26 -07:00
Adeeb Shihadeh
bfa8e0b2ec disable test_rotation until it's fixed 2024-08-01 15:36:44 -07: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
Maxime Desroches
d0671bda6d op.sh: check for valid invocation (#33166)
no source
2024-08-01 13:44:57 -07:00
DevTekVE
f311c8b1d7 No auto publish for dev-c3 or release-c3 2024-08-01 20:09:17 +02:00
DevTekVE
fb7076a042 Change remote 2024-08-01 18:28:15 +02:00
DevTekVE
cd0ee08763 Allow auto publishing of public prebuilts 2024-08-01 18:10:59 +02:00
DevTekVE
f7ab369d47 First attempt at mirroring to gitlab 2024-08-01 17:22:43 +02: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
Shane Smiskol
7ee9d2d1b9 opendbc is a package (#33159)
* bump

* rename to opendbc_repo

add symlink

* bump

* fix cabana

fix cabana

* bump

* fix whitelist paths

bump

* bump to master

* remove trailing slash
2024-07-31 23:17:40 -07:00
Maxime Desroches
7bf912f407 op.sh: fix python version check (#33163)
fix check
2024-07-31 21:40:48 -07:00
Maxime Desroches
3e66827a85 setup.sh: work in non interactive mode (#33162)
* work without terminal

* failure message

* no if
2024-07-31 20:32:41 -07:00
Maxime Desroches
16ea2ff270 op.sh: call directly instead of sourcing (#33160)
no source
2024-07-31 19:37:06 -07:00
ZwX1616
3ccc63deec camerad: use os binning (#33161)
* all

* right sz

* what is this

* Revert "what is this"

This reverts commit 3ff771926f109452a055dfb61cee06b34e498164.

* ok

* big

* update intrs

* fl

* more specifuc

* fish

* revert

* revert

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-07-31 19:10:44 -07:00
Jason Wen
fa3a0ba747 CI: Update prebuilt repository URL (#374) 2024-07-31 19:47:34 -04:00
Shane Smiskol
7de618a5cf ensure alerts_generated.h is built (#33157)
don't build alerts_generated.h in test, and ensure scons builds it more reliably + clean up support
2024-07-31 16:12:37 -07: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
Shane Smiskol
7c112341c3 Reapply "update to new opendbc API (#32009)" (#33151)
This reverts commit ac130001cc.
2024-07-31 15:37:39 -07:00
Shane Smiskol
ebff7cab1a get_fw_versions: test the full stack (#33156)
* add the test

fix

* bump

* not sure why mypy didn't catch this
2024-07-31 14:53:13 -07:00
Maxime Desroches
1dd8bdc791 Remove hexdump package (#33155)
* remove hexdump

* uv lock

* cleanup
2024-07-31 13:34:14 -07:00
Maxime Desroches
bf003f2972 setup.sh: retry + timing (#33145)
* improve

* update readme

* stdin

* better

* allow non interactive

* specify dir
2024-07-31 10:42:08 -07:00
DevTekVE
9810b10c49 [SL] Enable sunnylink by default (#366)
Enable Sunnylink by default

Sunnylink was previously conditionally enabled based on build metadata. This change ensures that Sunnylink is enabled by default, facilitating immediate access for all builds.
2024-07-31 10:31:51 -04:00
Shane Smiskol
ac130001cc Revert "update to new opendbc API (#32009)"
This reverts commit 0dddc97dca.
2024-07-31 02:38:44 -07:00
Dean Lee
0dddc97dca update to new opendbc API (#32009)
* use new opendbc api

* export pandad_python

* merge master

* merge master

* bump opendbc

* bump opendbc

* improve func

* keep interface unchanged

* fix test_car_interfaces

* bump opendbc

* bump opendbc

* fix test_models

* the interface now has to convert from can capnp to list, so we should include this time

* goes from ~210 to ~240 mean ms real time

* remoe busTime

* lowercase sendcan

* consistent msgtype

* bump

* bump

* not used in lat_mpc

* space

* bump to master

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-31 00:24:46 -07:00
Shane Smiskol
1b6ac2d876 CarController: call to super's init (#33148)
* this should be common

* super!

* bump

* and frame is common

* bump
2024-07-30 23:55:23 -07:00
Shane Smiskol
80f9278a73 Revert "bump"
This reverts commit 7824074aae.
2024-07-30 23:29:46 -07:00
Shane Smiskol
7824074aae bump 2024-07-30 23:28:49 -07:00
Shane Smiskol
42f2601416 deprecate busTime (#33146)
* deprecate busTime

* bump

* do car can + more

* forgot some

* bump opendbc

* fix that too

* bump
2024-07-30 21:26:58 -07:00
Shane Smiskol
b6d124d268 tester present msgs: use helper (#33147)
use helper
2024-07-30 18:09:22 -07:00
Shane Smiskol
661ef03a24 Ford: add long controls todo 2024-07-30 15:18:26 -07:00
Adeeb Shihadeh
76fd5b00f1 CI: increase shm size to 2G 2024-07-30 14:29:48 -07:00
Shane Smiskol
0739d79a51 cars: remove some external imports (#33133)
* ford and gm

* clean that up

* also this

* honda

* temp fix

* move into selfdrive.car

* clean up

* more
2024-07-30 14:27:27 -07:00
Shane Smiskol
0fe143e4a7 test_onroad: lower lower log size bound 2024-07-30 14:07:47 -07:00
Maxime Desroches
086dcfe715 docs: fix README.md (#33142)
* md

* Update README.md

* rename

* exclude

* Update README.md
2024-07-30 13:57:42 -07:00
Maxime Desroches
9536dd07c6 unpin numpy (#33132)
* unlock numpy

* remove old cache

* sheel

* lock

* remove temp

* depends

* export

* put this back

* use __version__

* move this

---------

Co-authored-by: quebec <quebec@quebec.attlocal.net>
2024-07-30 13:11:05 -07:00
Adeeb Shihadeh
0b29db5c3e add roadmap to readme 2024-07-30 13:03:34 -07:00
Andrei Radulescu
4e73b76a12 fix multiprocessing issue with can_replay.py on macOS (#33139)
fix multiprocessing issue with can_replay.py on mac
2024-07-30 10:34:46 -07: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
Shane Smiskol
dfd387520e process replay: use zst (#33138)
* test

* update refs to zst

* update
2024-07-30 01:46:03 -07:00
Kacper Rączy
86d8d1d996 torqued: use livePose (#33136)
* Use livePose

* Replace it in process replay

* Add liveCalibration to messages

* Update ref commit
2024-07-29 20:20:31 -07:00
Shane Smiskol
11cb2d3a0b qlog_size.py: use zstd (#33137)
qlog_size: use zstd
2024-07-29 20:13:43 -07:00
Kacper Rączy
84cff4fc03 paramsd: use livePose (#33099)
* Use livePose instead  of llk

* Update process replay sockets

* Fix import

* Fix calib

* Fix field name

* Dont store device_from_calib

* Update ref commit
2024-07-29 19:51:21 -07:00
Jason Wen
4e237e59a5 Translations: Add untranslated 2024-07-29 21:01:11 -04:00
Kacper Rączy
6e185f4eea process_replay: regenerate locationd logs (#33134)
* Filter out non-relevant services in most_messages_valid check

* Set as comprehension

* Update segments

* Update ref commit

* New check for hyundai2
2024-07-29 17:12:05 -07:00
Jason Wen
957e6666a5 License: Loosen restrictions 2024-07-29 18:27:40 -04:00
Adeeb Shihadeh
43dcddc68b qlog: remove mag and less CAN 2024-07-29 14:44:03 -07:00
Dean Lee
ade13722cd replay: add support for decompressing ZST log files (#32910)
* Add Support for Decompressing ZST Log Files

* 2 space and check magic number

* match BZ2

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-29 13:48:06 -07:00
Andrei Radulescu
7d6ff19dea update mac_setup.sh brew install (#33131) 2024-07-29 13:46:13 -07:00
Dean Lee
2728c95b0d uploader.py: ensure proper resource management with io.BytesIO (#33108)
* ensure proper resource management with io.BytesIO

* improve
2024-07-29 13:43:31 -07:00
Shane Smiskol
606890cba5 [bot] Fingerprints: add missing FW versions from new users (#33123)
Export fingerprints
2024-07-29 12:32:51 -07:00
Jason Wen
1f770e1bea Submodule: Point to panda on GitHub 2024-07-29 15:25:44 -04:00
Maxime Desroches
01c0756974 Remove control usage (#33103)
* manual matrix exp

* remove control
2024-07-29 11:52:33 -07:00
commaci-public
1ae3adbe13 [bot] Update Python packages and pre-commit hooks (#33122)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-29 10:24:05 -07:00
Jason Wen
eb1b0d7ddc Update public panda submodule 2024-07-29 06:55:29 -04:00
Jason Wen
447f76d9cf ui: Split sunnypilot into its own classes 2024-07-29 06:40:35 -04:00
Jason Wen
be72a8ed06 Revert "Toyota: Auto Brake Hold"
This reverts commit 15d94a01
2024-07-29 06:40:34 -04:00
Jason Wen
7e31333b36 Add Custom MIT License 2024-07-29 06:40:34 -04:00
DevTekVE
c26fd9d7c0 Add new parameters for enabling GitLab runner and Sunnylink uploader 2024-07-29 06:21:01 -04:00
Jason Wen
ca8c74bc0d MADS: Use modern button events parsing 2024-07-29 06:21:01 -04:00
Jason Wen
2f3d999c67 ui: Lead car chevron: Time to Lead Car 2024-07-29 06:21:01 -04:00
Jason Wen
05536bf439 Driving Model Selector v5: Bug fixes 2024-07-29 06:21:01 -04:00
Jaosn Wen
e994c2cb96 Scons: Split sunnypilot/Sconscript 2024-07-29 06:20:37 -04:00
Jaosn Wen
fb04ddc9a1 Scons: Set SUNNYPILOT to CPPDEFINES 2024-07-29 06:20:37 -04:00
Jason Wen
1fb0cb59a6 Scons: Build sunnypilot elements with added GPG keys 2024-07-29 06:20:37 -04:00
DevTekVE
e24271aa2b Processor definition check for __APPLE__ has a typo on replay (#32930)
(cherry picked from commit 3c74ad145e)
2024-07-29 06:20:37 -04:00
Adeeb Shihadeh
5ebc65f254 docs: add concepts section 2024-07-28 16:38:41 -07:00
Adeeb Shihadeh
691b948ad0 docs: readthedocs theme (#33116)
* docs: read the docs theme

* nav depth
2024-07-28 16:07:39 -07:00
Adeeb Shihadeh
4fbac089f8 docs: fix nested structure (#33114)
* docs: fix nested structure

* test ci

* that too

* update that

* not common mark anymore
2024-07-28 15:38:38 -07:00
Maxime Desroches
583e89d3a4 remove cv2 usage (#33101)
remove cv2
2024-07-28 15:08:27 -07:00
Adeeb Shihadeh
c51f37f63e docs: start roadmap 2024-07-28 15:05:36 -07:00
Shane Smiskol
1b3b5ab758 use zstandard library (#33110)
* use zstandard

* run 10

* bye bye

* this was a little overzealous

* clean up
2024-07-28 02:03:47 -07:00
Shane Smiskol
4caecf2143 test_onroad: use zstd compression (#33100)
* use zstd in test_onroad

* debug

* now leans towards 0.4 instead of 0.5

* 5x runs

* better

* more

* Update selfdrive/test/test_onroad.py

* revert Jenkinsfile

* and this
2024-07-26 21:14:06 -07:00
Shane Smiskol
7dec7c39be uploader: compress with zstd (#32736)
* zstd uploader

* fix that

* fix name of function

* comment

* log failed

* fix comma_api_source for routes with both bz2 and zst rlogs

* TODO

* 10-14 achieves almost no benefit on qlogs in a few cases, but takes 2x the time

* these aren't written out

* regen: specify any list of sources

ooh this is pretty nice

* regen and process replay

* damn, actually we don't need all this (cool tho)

Revert "regen: specify any list of sources"

This reverts commit ceb0b4abed9ad463a9fe98d9b98a05875a52806f.

* just let it auto resolve

* fix athenad/uploader tests

* zst here too

* TODOs

* yes

* Revert "TODOs"

This reverts commit 8c7da1dbd0340c72290b5eb5563b642080ddc131.

* Revert "zst here too"

This reverts commit 23b0023ddfd22c8090be7a7caa09e7026a12aa5c.

* Revert "just let it auto resolve"

This reverts commit f296d62424227ad05facc62abc18a6f81b474e84.

* Revert "regen and process replay"

This reverts commit 0768330e96974a42616d229d159780619d049cd0.

* revert readme

* not in save_log either

* lfg

* Revert "lfg"

This reverts commit 3718559c6c4de7d1f0c80dc9f1a1d335fe679a89.
2024-07-26 19:33:35 -07:00
ugtthis
6f1ea5a1fd Docs: Added venv step (#33097) 2024-07-26 19:29:08 -07:00
Adeeb Shihadeh
c8d5a3fe25 docs: style for external links 2024-07-26 16:25:07 -07:00
Maxime Desroches
d7159cd3c7 op.sh: misc improvements (#33096)
* check for install

* venv

* build
2024-07-26 16:10:00 -07:00
Adeeb Shihadeh
db2a8e9506 docs: turning the speed blue (#33079)
* blue speed

* compile

* just blue

* cleanup
2024-07-26 15:58:00 -07:00
Maxime Desroches
eab9cd751c op.sh: check submodules (#33095)
submodules
2024-07-26 15:28:13 -07:00
Adeeb Shihadeh
6b5f88a533 cleanup macOS dependencies (#33094) 2024-07-26 15:17:14 -07:00
Adeeb Shihadeh
00d9748d9a op.sh: parallel submodule update 2024-07-26 15:08:36 -07:00
Adeeb Shihadeh
a1d2e84212 update tinygrad url to tinygrad/tinygrad (#33093) 2024-07-26 15:04:57 -07:00
Adeeb Shihadeh
d24b80fca4 remove body submodule (#33091)
* remove body submodule

* little more

* fix op
2024-07-26 14:40:14 -07:00
Maxime Desroches
a1dce6ef47 op.sh: run pytest (#33090)
test
2024-07-26 11:34:36 -07:00
Shane Smiskol
e68bb26e14 tools: keep re pattern file small (#33084)
remove bz2 from re file
2024-07-25 22:05:10 -07:00
Adeeb Shihadeh
f39c5c22e8 remove opencv-python-headless (#33082) 2024-07-25 19:30:40 -07:00
Adeeb Shihadeh
d128dbe27f setup.sh: fast git clone (#33081)
* setup.sh: filter clone

* no submodules
2024-07-25 18:59:29 -07:00
Adeeb Shihadeh
8827067eae op.sh: misc fixups (#33080)
* rm run

* little more

* lint

* one more lint

* cleanup
2024-07-25 18:21:42 -07:00
Maxime Desroches
02e30ac140 Update setup.sh 2024-07-25 16:59:42 -07:00
Maxime Desroches
3c192cbf88 op.sh: improvements (#33078)
improvements
2024-07-25 16:57:43 -07:00
Adeeb Shihadeh
e5b803f28e cleanup python dependencies (#33077)
* cleanup python dependencies

* fix ruff
2024-07-25 16:07:59 -07:00
Maxime Desroches
fb1ad1d26a fix pytools (#33076)
fix
2024-07-25 15:13:47 -07:00
Dean Lee
ccd369ee96 camerad: merge thread functions into one (#33025)
merge multiple thread functions into one
2024-07-25 15:05:14 -07:00
Maxime Desroches
1989fbd4c4 Update setup.sh 2024-07-25 14:38:47 -07:00
Maxime Desroches
173a633a75 curl pc installer (#33072)
* setup

* curl

* usable right now

* op sim

* cleanup

* show cmd
2024-07-25 14:28:41 -07:00
Adeeb Shihadeh
c8622c9553 mac's getting there 2024-07-25 14:27:29 -07:00
Adeeb Shihadeh
ed86910536 new README (#33073)
* commonmark

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* relock

* copy paste

* Update README.md

* looks better like this

* cleanup
2024-07-25 14:20:00 -07:00
eivegau
cd8a603ad0 Kia: add missing Optima EUR FW versions (#33027)
* Update fingerprints.py

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-25 13:47:43 -07:00
Dean Lee
313a2826c2 mcid.py: optimize FFT and A-weighting calculations (#33057)
* Precomputing weighting

* add comments back

* use cache

* spacing

spacing

* clean up

* lower by diff

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-25 13:36:44 -07:00
Dean Lee
2da4aef268 scons: remove redundant -DSWAGLOG Flag (#33070)
remove redundant_-DSWAGLOG Flag
2024-07-25 13:10:36 -07:00
Dean Lee
75f49f84f3 camerad: add CameraConfig struct for initializing CameraState in constructor (#33065)
* Add CameraConfig struct for initializing CameraState in constructor

* init member variables
2024-07-25 13:09:03 -07:00
Dean Lee
edd8759f39 scons: move -Ithird_party/qrcode to qt modules (#33071)
move -Ithird_party/qrcode to qt modeules
2024-07-25 10:16:59 -07:00
Maxime Desroches
6cdf2a1499 Update op.sh 2024-07-24 23:11:23 -07:00
Maxime Desroches
4ac938a578 op.sh: improvements (#33067)
* cabana

* pre-check

* cd

* change this

* fix

* fix install
2024-07-24 22:20:16 -07:00
Maxime Desroches
71ad5a8dee op.sh: general improvements (#33062)
* color

* format

* dry

* unset

* venv

* search for openpilot

* linter

* replay
2024-07-24 14:49:35 -07:00
Shane Smiskol
add958bb08 athenad: log failed upload items 2024-07-24 14:48:33 -07:00
Shane Smiskol
e38a1428aa LogReader: support multiple log extensions in route (#33066)
* support rlog.zst

* TODO
2024-07-24 14:47:33 -07:00
Adeeb Shihadeh
31036771ee rerun: link to upstream issues 2024-07-24 12:11:20 -07:00
Maxime Desroches
2221ffcf0e ci: use github env for ui preview job name (#33060)
fix this
2024-07-24 11:03:24 -07:00
Hoang Bui
3446941107 CI: remove redundant save cache step (#33052)
remove
2024-07-24 10:36:28 -07:00
Maxime Desroches
d49c5193c3 ci: fix ui preview (#33002)
* use pull_request_target

* env for name
2024-07-24 10:31:27 -07:00
Dean Lee
0fa6745a67 camerad: refactor camera_open() into separate functions for clarity (#33056)
split function
2024-07-24 10:07:10 -07:00
Dean Lee
bd8dd65ce0 ui: fix wayland requestActivate warning on device (#33054)
fix wayland requestActivate warning in fullscreen mode
2024-07-24 09:42:31 -07:00
Maxime Desroches
18c310addf Update op.sh 2024-07-23 23:04:42 -07:00
Maxime Desroches
3382002cd0 Update op.sh 2024-07-23 22:34:21 -07:00
Maxime Desroches
f60dfd4dbb op tool helper (#33053)
* op

* change this

* juggler

* options

* fix

* submodules

* typo

* venv

* clean + install
2024-07-23 21:47:07 -07:00
Maxime Desroches
1e9738131d don't lock when installing python packages (#33051)
frozen
2024-07-23 14:52:08 -07:00
Harald Schäfer
3bc1b173d2 Longcontrol: engage into stopped state when needed (#33042)
test stay stopped
2024-07-23 13:55:30 -07:00
Dean Lee
fbbd4ee692 Fix /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so.1 warnings (#33047)
fix incompatible lib warning
2024-07-23 11:53:40 -07:00
Adeeb Shihadeh
9b8c1693c9 skip push 2024-07-23 11:41:27 -07:00
Adeeb Shihadeh
29d0bfe1ab skip lfs 2024-07-23 11:32:51 -07:00
Adeeb Shihadeh
ef5d6a0466 jenkins trigger fixups 2024-07-23 11:27:56 -07:00
Adeeb Shihadeh
e7ec1b8ff1 json encoding 2024-07-23 11:14:00 -07:00
Adeeb Shihadeh
d828ac4344 CI: setup triggering jenkins for forks (#33049) 2024-07-23 11:11:31 -07:00
Joseph Wagner
93eb7ee0cc README.md: 275+ cars (#33048)
275+ cars
2024-07-23 10:35:19 -07:00
Dean Lee
fb33366144 Fix FutureWarning "Cython directive 'language_level' not set" (#33046)
fix FutureWarning
2024-07-23 09:27:10 -07:00
Shane Smiskol
bd00a9d800 [bot] Fingerprints: add missing FW versions from new users (#33039)
Export fingerprints
2024-07-22 13:36:53 -07:00
Jason Wen
a654e5bd05 espActive: IMMEDIATE_DISABLE -> SOFT_DISABLE (#33003)
* espActive: `IMMEDIATE_DISABLE` -> `SOFT_DISABLE`

* only stock long

* just soft disable for now

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-22 13:09:00 -07:00
Shane Smiskol
8d77cea3a5 [bot] Fingerprints: add missing FW versions from new users (#33038)
Export fingerprints
2024-07-22 13:05:57 -07:00
Hoang Bui
5e0aff92ae tools/Rerun: Add video logging features (#32810)
* working

* multiprocessing

* fix that

* print services

* all services + fix

* less verbose

* start readme

* segment range

* cleanup

* update readme + fix bug in 'all'

* cleanup + update readme

* update readme

* cleanup

* cleanup

* rm frame_iter

* cleanup

* staticmethod

* proc kill

* split files

* fix range with hevc vids

* update reamde + add prompt

* readme

* readme

* readme
2024-07-22 12:05:03 -07:00
commaci-public
1da71f5c3c [bot] Bump submodules (#33036)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-22 11:51:39 -07:00
Maxime Desroches
dcdac84f0c ci: bring back aarch64 (#33017)
* casadi wheel

* ci

* test 312

* test with new aarch64 build

* use release wheels

* assert

* bool

* try this

* maybe

* work

* use final wheel
2024-07-22 11:45:39 -07:00
commaci-public
27faa8f82b [bot] Update Python packages and pre-commit hooks (#33037)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-22 10:10:39 -07:00
Adeeb Shihadeh
cefe00c964 Revert "camerad: add CameraConfig struct for initializing CameraState in constructor (#33034)"
This reverts commit dc886e195f.
2024-07-21 20:36:45 -07:00
Dean Lee
dc886e195f camerad: add CameraConfig struct for initializing CameraState in constructor (#33034)
* Add CameraConfig struct for initializing CameraState in constructor

* Update system/camerad/cameras/camera_qcom2.h

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-07-21 19:19:34 -07:00
jamperezmondragon
1aa467cb00 Spanish Translation Update (#32995)
* Update main_es.ts

* Update main_es.ts

* Update Spanish Translation [(#32995)](https://github.com/commaai/openpilot/pull/32995)
2024-07-20 15:54:51 -07:00
Shane Smiskol
0907b30d7b ui: fix flipped experimental path acceleration (#33026)
* fix

* clean up

* better comment

* Update selfdrive/ui/qt/onroad/annotated_camera.cc
2024-07-19 15:39:44 -07:00
Maxime Desroches
07fcc4825f make pyproject.toml pep508 compliant (#33021)
pep508
2024-07-19 10:19:38 -07:00
Dean Lee
917ea5699f cereal: deprecate FrameData.frameType (#33019)
deprecate FrameData.frameType
2024-07-19 10:14:04 -07:00
Kacper Rączy
c96dbd5a0b Fix msgq context overrides (#33014)
* Fix msgq context overrides

* Remove unneccesary changes

* add reset_context helper

* Remove redundant import
2024-07-18 20:19:39 -07:00
Adeeb Shihadeh
fd5549bba1 nightly build takes longer than this 2024-07-18 19:26:22 -07:00
Adeeb Shihadeh
560e37cd83 tici: set STM_BOOT0 in reset (#33015)
* tici: reset panda boot0

* ooops
2024-07-18 18:48:54 -07:00
Shane Smiskol
f31ad97e92 qlog_size: decimate rlog option (#33011)
* decimate option

* clean up

* check exists
2024-07-17 21:57:36 -07:00
Shane Smiskol
3c48a6154b increase longitudinalPlan decimation (#33009)
change longitudinalPlan decimation
2024-07-17 20:42:12 -07:00
Kacper Rączy
7f9cdf8e43 increase cameraOdometry decimation (#33010)
reduce cameraOdometry decimation
2024-07-17 19:31:29 -07:00
Harald Schäfer
996bced674 livePose log (#32868)
* add livepose

* Formatting

* Add to sevices

* Update locationd to publish livePose

* Remove fields and increase decimation

* Fix field indices

* Remove the line

* Add livePose to pubmaster

* Fix llk decimation

* Update ref commit

* XYZ measurements instead of lists

* Update locationd

* Update ref commit

* Lower the qlog size in test_onroad

* Update lower and upper boundary

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
2024-07-17 16:17:23 -07:00
Greg Hogan
4b794773b0 use rounded constant instead of hard-coded value for incrementing set speed (#32992)
* use rounded constant instead of hard-coded value for incrementing set speed

* better comment
2024-07-16 18:24:01 -07:00
Shane Smiskol
aa8484093e [bot] Fingerprints: add missing FW versions from new users (#32996)
Export fingerprints
2024-07-15 14:40:24 -07:00
commaci-public
00af33c6ed [bot] Bump submodules (#32989)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-15 12:05:33 -07:00
Dean Lee
c0739cd9ee selfdrive/car/ecu_addrs: prefix internal functions with underscore (#32980)
underscore prefix
2024-07-15 12:05:20 -07:00
Shane Smiskol
d684d8f0f6 Reapply "selfdrive/car: ban imports from external modules" (#32993) (#32994)
* Reapply "selfdrive/car: ban imports from external modules" (#32993)

This reverts commit 35a4a773f1.

* controls will just use controls

* also these

* ignore
2024-07-15 11:59:25 -07:00
Shane Smiskol
35a4a773f1 Revert "selfdrive/car: ban imports from external modules" (#32993)
Revert "selfdrive/car: ban imports from external modules (#32973)"

This reverts commit 83d4623590.
2024-07-15 11:14:04 -07:00
Dean Lee
83d4623590 selfdrive/car: ban imports from external modules (#32973)
* lint import

* Update selfdrive/car/__init__.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-15 11:12:24 -07:00
commaci-public
dd2787b7a1 [bot] Update Python packages and pre-commit hooks (#32990)
* Update Python packages and pre-commit hooks

* fix ruff

---------

Co-authored-by: Vehicle Researcher <user@comma.ai>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-07-15 17:29:57 +00:00
signed-long
c759fe9002 CI: fix ui report directory (#32991)
fix report artifact name
2024-07-15 08:01:51 -07:00
Adeeb Shihadeh
cbee4421da bump panda 2024-07-14 15:56:44 -07:00
pantew869
7ed3f62f0c Bump submodules that used numpy-stubs in pre-commit config (#32983)
update submodules that used numpy-stubs in pre-commit config
2024-07-14 07:35:24 -07:00
Adeeb Shihadeh
e7388c3743 remove pygame (#32981) 2024-07-13 13:41:38 -07:00
savojovic
75b07c042f Replace ui.py with a Rerun visualizer (#32850)
* Replace ui.py with rerun

* Visualizing radarpoints

* Visualizing all points

* Code clean-up

* Merging matrices into one

* Removing pygame depndency

* Replacing ui.py with rp_visualization.py

* Minor fix, changing color names

* Update README.md
2024-07-13 13:36:21 -07:00
James
953e5667b1 Re-use "is_metric" declaration (#32948) 2024-07-12 17:07:57 -07:00
Andrei Radulescu
50f55684a2 Rewrite git history update (#32955)
Rewrite git history final touches
2024-07-12 16:44:52 -07:00
eFini
0f34e6e3b6 PC: added missing hexdump package for selfdrive/debug/dump.py (#32959)
added missing hexdump package
2024-07-12 16:44:22 -07:00
Dean Lee
32a5cfd84c cabana: update README (#32965)
improve README
2024-07-12 16:42:45 -07:00
Dean Lee
f1416f337c replay: update README (#32966)
update README
2024-07-12 16:42:10 -07:00
Andrei Radulescu
122a7f2f0f start for curl openpilot.comma.ai | bash (#32967)
* initial setup.sh for curl|bash

* --single-branch for faster pull and some final instructions

* fix git lfs pull
2024-07-12 16:32:04 -07:00
Dean Lee
2156870df9 pandad: remove return statement in constructor (#32975)
remove return
2024-07-12 16:20:49 -07:00
Dean Lee
e3e54fb28b cabana: fix wrong file path handling for recent files menu (#32969)
fix lambda
2024-07-12 10:38:07 -07:00
Jason Wen
1a8170e839 Speed Limit Control: Gate behind longitudinal 2024-07-11 23:51:17 -04:00
Shane Smiskol
71dd1e2ff6 long planner: formatting 2024-07-11 14:06:51 -07:00
Jason Wen
c1cd33dbc1 MADS: Fix extra gear check 2024-07-11 15:46:24 +00:00
Shane Smiskol
11db7b683b hardwared: don't ignore quick ignition cycles (#32938)
* check on either edge

* clean up

* clean up

* good thing I tested this first :P
2024-07-11 02:49:42 -07:00
Shane Smiskol
b247c3caaa torqued: check steer override to current time (#32963)
* lat active/steer override: check up to now

* lint

* Update ref_commit
2024-07-10 17:25:39 -07:00
Jason Young
e36ff90996 Improved PlotJuggler layout for lateral accel torque controller (#32949)
* improved PlotJuggler layout for lat accel controller

* help estimate steerActuatorDelay

* update Actuator Performance, add Vehicle Dynamics

* disable Y limits on actuator performance because sunny

* apply delay estimation feedback from harald

* gc extra custom series that PJ copied in

* label wordsmithing
2024-07-10 15:10:42 -07:00
Dean Lee
c17c34187b cabana: simplify stream management and remove problematic autosave feature (#32945)
simplify code and remove problematic code
2024-07-10 15:10:24 -07:00
DevTekVE
606fb2d7c9 sunnylink: disable log upload handler 2024-07-10 17:01:57 +00:00
Jason Wen
d9da6064c0 ui: Build mapsd in UBUNTU_FOCAL-based AGNOS 2024-07-10 11:04:46 -04:00
Shane Smiskol
fbc53a24a3 torqued: clean up (#32958)
* formatting

* function signatures didn't match

* function signatures didn't match

* filtered and raw mean something totally different when it comes to params

filtered and raw mean something totally different when it comes to params

* cmt

* probably better for organization

* add todo

* STASH

* revert some stuff

* clean up

* oof
2024-07-09 22:26:58 -07:00
Shane Smiskol
5efdaf2026 torqued: option to keep track of all points (#32957)
* how about this

* here

* rename

* revert

* revert this too

* can do this

* ugh inside TorqueBuckets it implicitly limits steer torque to 50%!!!!!!!!

* fix

* move up
2024-07-09 22:21:50 -07:00
Shane Smiskol
0c58e35b6c format torqued.py 2024-07-09 21:16:36 -07:00
Jason Wen
ba12998986 ui: onroad: drawLead cleanup 2024-07-09 22:59:44 -04:00
Maxime Desroches
133f25eecb switch cereal to pytest (#32950)
pytest
2024-07-09 22:01:16 +00:00
Shane Smiskol
35df0a4fda torqued: rename lat_active (#32942)
* Update torqued.py

* lint

* not necessary
2024-07-08 22:53:59 -07:00
Andrei Radulescu
481e5b28bd Rewrite git history (#31562)
* bfg

* filter repo is the new shit

* down to 27M

* move big files to lfs; remove external and phonelibs

* wip - rebase devel; don't delete external and phonelibs anymore

* wip - rebase devel hacks

* wip - rebase devel updates

* wip - rebase updates; lfs updates

* cleaned unused scripts

* wip - lfs fixes

* bfg with rebase with correct dates

* bfg script with cherry-pick method

* latest git-filter-repo analysis

* latest git-filter-repo 'before' analysis

* new lfs import

* latest git-filter-repo analysis

* lfs update; renamed rebase repos

* renamed scripts

* different tmp folders for rewrite scripts; lfs update

* gitattributes after lfs import

* tag-commit-map file with old tags pointing to old commits

* new tags

* final touches

* squash setup commits; cherry-pick validation; reverted to commaai remote

* removed rebase version

* 0.9.7 tag in tag-commit-map

* removed unused openpilot-release-archive

* fixed archive of old history because of 2 GB limit

* archive of old history push master first

* fix tags being deleted

* cleaning and more logs

* rewrite other branches with master history

* Former-commit-id

* updates to previous commits

* cleanup

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-07-09 05:08:38 +00:00
signed-long
6745c66352 Update ci weekly report summary (#32911)
* update ci weekly report summary

* don't add skipped jobs to report

* uncomment job condition

* use jinja template

* add run number to failure links

* add run number to failure links

* Log for run #<num>

* use list

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-07-09 03:07:34 +00:00
Adeeb Shihadeh
8c6c6e435f site -> docs 2024-07-08 17:05:42 -07:00
Adeeb Shihadeh
f6189568ea mvp of new docs.comma.ai (#32926)
* ssh docs

* strict

* need an index

* push to prod
2024-07-08 16:55:16 -07:00
Hoang Bui
15d3397ec6 CI: Compile openpilot on macOS (#32909)
* working

* cache

* bring back
2024-07-08 23:42:26 +00:00
JaReal07
4014109666 Update fingerprints.py Corolla 2024 (South America) (#32864)
Add Corolla Sedan 2024 (South America), new 'engine' and 'eps' fwversion
2024-07-08 14:58:22 -07:00
dany7915
67038d5b59 Fingerprint: Kia K5 HEV 2020 (#32875)
fingerprint added
2024-07-08 14:54:11 -07:00
Dean Lee
36815cc6d5 cabana: bug fixes and improvements (#32934)
bug fixes and improvements
2024-07-08 14:50:31 -07:00
Shane Smiskol
31ff8eda9c Chrysler Pacifica Hybrid: combine 2017 and 2018 (#32937)
* Chrysler Pacifica: combine 2017 and 2018 hybrids

torque params are not accurate for either (might be ~1.5 for both checking a few dongles)

* remove duplicate fingerprints

* combine docs lines

fix
2024-07-08 14:45:01 -07:00
Shane Smiskol
fa2f7a4dd4 [bot] Fingerprints: add missing FW versions from new users (#32936)
Export fingerprints
2024-07-08 14:16:44 -07:00
Dean Lee
12d729a0a0 CarParams: set no traversal limit (#32929)
* Increase traversal_limit_in_words to Fix Traversal Limit Errors

* just use log_from_bytes

* come on pycharm

* no free lunch

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-08 13:50:31 -07:00
Maxime Desroches
76686e1976 docs: only push on master (#32935)
only on master
2024-07-08 19:14:32 +00:00
commaci-public
012eb07466 [bot] Update Python packages and pre-commit hooks (#32931)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-08 19:10:53 +00:00
Shane Smiskol
4a696984f1 [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#32932)
Export fingerprints
2024-07-08 10:58:08 -07:00
DevTekVE
3c74ad145e Processor definition check for __APPLE__ has a typo on replay (#32930) 2024-07-08 17:10:26 +00:00
Jason Wen
64a34f97aa Revert "remove nav apt dependencies (#32792)"
This reverts commit 9a084a73c5.
2024-07-08 09:13:37 -04:00
Jason Wen
a1dbcfd62b Revert "MADS: Honda Nidec: Fix enforce cruise cancel with stock PCM" 2024-07-08 03:38:29 +00:00
Adeeb Shihadeh
241fb902af publish new docs (#32922)
* push new docs

* drop the new, just docs

* cleanup
2024-07-07 19:13:48 -07:00
Jason Wen
b0b0e65ebc Bump submodules 2024-07-07 17:57:18 -04:00
Jason Wen
b455ea197b CarParam: set spFlags from platforms at init 2024-07-07 17:54:30 -04:00
Jason Wen
79ad7f1838 Update CHANGELOGS.md 2024-07-07 17:54:30 -04:00
Jason Wen
85e2589512 ui: Build navigation in UBUNTU_FOCAL-based AGNOS 2024-07-07 17:53:26 -04:00
Jason Wen
b33f8f33ca Models: Update default name 2024-07-07 17:53:26 -04:00
Jason Wen
81fb8b2883 FCR: sync with upstream supported car platforms 2024-07-07 17:53:26 -04:00
Jason Wen
f3729d95ff Clion: Build scripts updates 2024-07-07 17:53:26 -04:00
Jason Wen
b5227c0a06 Driving Model Selector v5 2024-07-07 17:53:26 -04:00
Alexandre Nobuharu Sato
4445fa31f5 fix "telsa" typo on labeler.yaml (#32924) 2024-07-07 10:35:02 -07:00
Adeeb Shihadeh
d3cb0d24c4 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-07-07 10:15:50 -04:00
Jason Wen
0669fe85e8 Revert "Toyota: remove smartDSU support (#32777)"
This reverts commit cb63f101ca.
2024-07-06 22:49:31 -04:00
Jason Wen
b86f7db97d Revert "remove navigation (#32773)"
This reverts commit e491c9d9
2024-07-06 22:44:27 -04:00
Jason Wen
e6d56ac974 Revert "remove mapbox references (#32811)"
This reverts commit bccccde568.
2024-07-06 22:42:53 -04:00
Jason Wen
a0e5ead8b0 Revert "ui: remove map & navigation related code (#32836)"
This reverts commit 669553aa
2024-07-06 22:42:44 -04:00
Jason Wen
3c68c138c0 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#357) 2024-07-06 18:26:42 -08:00
Jason Wen
09460711b0 Bump submodules 2024-07-06 22:20:57 -04:00
rav4kumar
6f9401d902 Merge remote-tracking branch 'comma/master' into sync-20240706 2024-07-06 22:18:32 -04:00
Adeeb Shihadeh
4ef757c49f remove old docs (#32917) 2024-07-06 08:51:36 -07:00
Adeeb Shihadeh
155546a668 bump opendbc 2024-07-05 20:07:56 -07:00
signed-long
635b15a573 Post UI screenshots in PR comments (#32887)
* add PR comment with screenshots on ui changes

* fix pr comment if statements

* use default shallow checkout

* use commaai's ci-artifacts

* use my ci-artifacts

* use tj-actions/changed-files

* clean up

* use comma repos

* make ci-artifacts branch openpilot/pr-#

* remove redundent path
2024-07-06 02:47:59 +00:00
Xida Ren (Cedar)
edd042f308 Add git lfs pull to workflow.md (#32914) 2024-07-05 17:10:39 -07:00
commaci-public
3dc08fb679 [bot] Update Python packages and pre-commit hooks (#32906)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-07-05 17:26:44 +00:00
Maxime Desroches
ebf4cf4ad0 Update repo-maintenance.yaml 2024-07-04 02:46:13 +00:00
Maxime Desroches
8e598a17fb repo-maintenance: force update for python packages (#32905)
force update
2024-07-04 02:38:42 +00:00
Maxime Desroches
c52126cd6c fix package_updates workflow (#32903)
pip3
2024-07-04 02:31:02 +00:00
Jimmy
9cec7bbfb3 fix bug in modelV2 service which was triggering test_loggerd failure (#32892)
* fix services bug

* add nonzero decimation assert
2024-07-03 17:22:45 -07:00
Dean Lee
a8299ef800 cabana: improve signal view (#32893)
improve signal view
2024-07-03 15:32:15 -07:00
Dean Lee
632c484dd5 replay: handle route not found error with user warning message (#32895)
handle 404
2024-07-03 15:27:54 -07:00
Mauricio Alvarez Leon
0fecfd6c45 CI: test the tests (#32869) 2024-07-03 15:27:29 -07:00
Shane Smiskol
7de2aac3c9 Ford: use more reliable gear message (#32886)
* todo

* nope

* not this one

* yep

* passes

* clean up

* not used!

* oop

* update refs
2024-07-02 22:22:56 -07:00
Jason Wen
11f0da4aa9 Manager: Add Update button when Traceback is displayed 2024-07-03 04:40:59 +00:00
Shane Smiskol
c95b58401a controlsd: no mutable carParams (#32381)
* no as builder

* fix car int test

* more
2024-07-02 13:27:45 -07:00
Shane Smiskol
3e41b1b287 LogReader: show total segment count in missing rlog prompt 2024-07-01 22:43:48 -07:00
Jason Wen
f3a546132c ui: Onroad Settings: Wider panel 2024-07-02 01:08:20 -04:00
rav4 kumar
e8df8fad00 Longitudinal: Acceleration Personality 2024-07-02 04:45:18 +00:00
rav4 kumar
ca202c3c4a Longitudinal: Dynamic Personality 2024-07-02 04:15:20 +00:00
Jason Wen
661b02de87 ui: Driving Personality: Updated mode names 2024-07-02 00:05:23 -04:00
Mitchell Goff
01c2174d59 Notre Dame model (#32884)
* New model: 6f23a03f-486b-4d3e-a314-19d149644c7c/700

* Bump refs
2024-07-01 13:59:44 -07:00
rav4 kumar
46c1362511 Toyota: Automatic Door Locking and Unlocking 2024-07-01 20:16:40 +00:00
rav4 kumar
15d94a017d Toyota: Auto Brake Hold 2024-07-01 19:45:30 +00:00
Jason Wen
de8da6f41f Driving Personality: Use controlsStateSP properly 2024-07-01 15:42:29 -04:00
Jason Wen
86446a8e42 ui: Onroad Settings: Parse DLP availability 2024-07-01 15:29:52 -04:00
rav4 kumar
e5665613cb Toyota Longitudinal: New TSS2 Tuning 2024-07-01 18:54:03 +00:00
rav4 kumar
9097997b76 Toyota: Enhance BSM support 2024-07-01 18:50:12 +00:00
Jason Wen
c44f915df8 Bump submodules 2024-07-01 14:39:16 -04:00
Shane Smiskol
25b9a33852 [bot] Fingerprints: add missing FW versions from new users (#32883)
Export fingerprints
2024-07-01 11:38:35 -07:00
Jason Wen
25d265e5de Bump submodules 2024-07-01 09:20:07 -04:00
Jason Wen
46196862fb Bump submodules 2024-06-30 23:27:09 -04:00
Jason Wen
5c20e7f01a Bump submodules 2024-06-30 22:26:45 -04:00
Jason Wen
8db1ea7bcd Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-30 17:02:44 -04:00
Jason Wen
7fef6970b4 Bump submodules (#356) 2024-06-30 17:01:40 -04:00
Dean Lee
a312a102aa ui: remove tests/playsound.cc (#32870)
remove playsound.cc
2024-06-30 09:46:21 -07:00
Adeeb Shihadeh
bda4d2df63 stale bot: fix milestone exemption 2024-06-30 09:38:56 -07:00
Dean Lee
cec8d5a305 logmessaged: remove the redundant nested print (#32872)
remove the redundant nested print
2024-06-29 17:34:46 -07:00
Maxime Desroches
406bcd79e1 update uv.lock (#32873)
uv lock
2024-06-29 19:52:31 +00:00
Jason Wen
d51c2ad6f5 ui: Fix navigation path not updating the correct color 2024-06-29 15:16:28 +00:00
Jason Wen
6ebeeff1b3 ui: Fix onroad bottom row buttons positions with RHD detection 2024-06-29 15:15:10 +00:00
Kacper Rączy
417f1e2139 drivingModelData: frameDropPerc (#32871)
* Smokes! lets go!

* Ignore it in model replay
2024-06-29 02:31:55 -07:00
Kacper Rączy
2059f986df drivingModelData: new model packet for qlogs (#32821)
* Mini model v2 prototype

* Apply suggestions

* Add meta

* Support for new packet in model

* Support in process replay

* Meta

* Add it to services

* Update model replay

* Add drivingModelData in model_replay

* Update ref

* MAX_FRAMES*3

* No modelv2, but drivingModelData at 2hz

* Polypath

* Dont use keyword

* Update model ref commit

* xyz coeff

* Fix field name

* Update ref commit

* Min qlog size 0.6

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-28 19:27:58 -07:00
Maxime Desroches
a4185042de Update README.md 2024-06-29 00:51:19 +00:00
Maxime Desroches
6f10b8a209 fix pytest tests (#32867)
* fix tests

* no dot
2024-06-28 23:58:19 +00:00
DevTekVE
2e39c96496 [Sunnylink] hotfix for boot registration 2024-06-28 23:35:10 +00:00
Maxime Desroches
66e1810c0d uv: don't exit if update fails (#32859)
dont exit if fails
2024-06-28 03:55:15 +00:00
Maxime Desroches
579b131a6e retry uv update (#32858)
retry
2024-06-28 03:29:11 +00:00
Shane Smiskol
2d3c6cbe04 Hyundai: remove CAN fingerprints (#32856)
* expand date range for KIA_NIRO_EV

9004767ba8fe7321/2024-06-05--04-30-48

* remove and format
2024-06-27 19:44:55 -07:00
Shane Smiskol
d0423dcab2 [bot] Fingerprints: add missing FW versions from new users (#32855)
Export fingerprints
2024-06-27 17:56:09 -07:00
Maxime Desroches
a74f794213 uv: don't use cache (#32854)
* no cache

* update
2024-06-28 00:47:13 +00:00
Maxime Desroches
12d5afba73 switch to uv (#32853)
* switch to uv

* pin back numpy

* remove lock

* try without cache

* test with no cache

* no cache for all

* debug

* remove debug

* remove pygame dep

* Update README.md

* remove lower bound

* update repo maintenance job

* upgradable

* repo maintenance

* copy poetry api

* build system

* unpin pygame

* readd cache

* readd cache

* basic command

* lower delay

* macos

* fix authors

* macos fix

* use uv

* preview

* other way

* new metadrive

* uv sync

* cp lock in docker

* fix docker

* use hatchling

* fix devcontainer

* fix container

* path

* uv run

* cleanup

* pre-commit

* format

* release_file
2024-06-28 00:04:05 +00:00
Shane Smiskol
4a70934625 Increase test_car_interfaces examples (#32852)
* to 100!

* Update selfdrive/car/tests/test_car_interfaces.py
2024-06-27 15:35:21 -07:00
Shane Smiskol
69d4b0fdf0 ruff: check shadowed variables (#32851)
* check shadowed variables

* fix
2024-06-27 14:44:26 -07:00
Dean Lee
649e7a6d55 radard: readable KalmanParams initialization (#32848)
fix kalmanparams initialization bug
2024-06-27 14:43:21 -07:00
StefanLekanic-SYRMIA
504dd4543d LogReader: print number of missing rlogs (#32830)
* count rlogs

* minimization changes

* cache to avoid duplicate checks

* no real point in checking qlogs to just show the warning

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-26 22:15:13 -07:00
Jason Wen
3442e8b65f MADS: Fix Disengage on Accelerator Pedal not disengaging properly 2024-06-27 04:28:13 +00:00
Shane Smiskol
b7695c00e8 GM torque control: robust sig function (#32847)
tricky
2024-06-26 21:27:10 -07:00
Adeeb Shihadeh
fb6d44797a bump panda 2024-06-26 18:33:07 -07:00
Jason Wen
84725738c8 Hyundai: Add FW Versions for EU Ioniq 5 2023 (#32833) 2024-06-26 18:13:55 -07:00
James
046ed7e9f8 Cleanup "longitudinalPlan" fields (#32845) 2024-06-26 14:51:27 -07:00
Dean Lee
fccba867a9 cereal: use nanos_since_boot() from common/timing.h (#32840)
Use nanos_since_boot() from common/timing.h
2024-06-26 11:52:36 -07:00
Dean Lee
4c04ae9a59 ui/installer: hardcode SSH Keys in installer.cc (#32838)
hardcode keys
2024-06-26 11:52:11 -07:00
Dean Lee
a256898510 cereal: remove messaging/.gitignore (#32839)
cleanup gitignore
2024-06-26 11:40:24 -07:00
pantew869
0c9f1d8118 Bring back macOS CI (#32819)
* Attempt to enable macos CI

* add SKIP_PROMPT

* test

* add python warnings env variable

* pull from lfs

* use v4 checkout

* Update selfdrive_tests.yaml

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-06-26 17:47:25 +00:00
Dean Lee
669553aa37 ui: remove map & navigation related code (#32836)
remove map
2024-06-25 21:45:44 -07:00
Shane Smiskol
9a27512c82 Genesis GV70: add "without HDA II" to docs (#32835)
* without!

* comment
2024-06-25 17:19:24 -07:00
Jason Wen
36eafc0dc6 Hyundai CAN: Log ABS/ESP Activation to espActive (#32743)
* Hyundai CAN: Log active ABS to accFaulted

* Add comments

* `espActive` to CarState and CarEvent.EventName

* re-order

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-24 20:14:57 -07:00
Maxime Desroches
0922ab2b8d ui: add missing qt package on 24.04 (#32827)
fix qml
2024-06-25 02:11:35 +00:00
Joshua Mack
b418159833 Multilang: Add Spanish translation (#32826)
* Rebase ES support

* Update already existing

* Update translations

* Retry

* Updated to new

* Completed

* Fixed clipping words offroad

* Fix up mistakes

* Shortening minute

* Fix long GitHub message
2024-06-24 17:30:21 -07:00
Shane Smiskol
76f7b2793d [bot] Fingerprints: add missing FW versions from new users (#32825)
* Export fingerprints

* sedan should work too
2024-06-24 16:12:48 -07:00
Jason Wen
afa97df945 Remove Screen Recorder 2024-06-24 18:56:36 -04:00
Shane Smiskol
36d5bb7ecc [bot] Fingerprints: add missing FW versions from new users (#32823)
Export fingerprints
2024-06-24 15:42:30 -07:00
Jason Wen
11baf724c0 Update CHANGELOGS.md 2024-06-24 18:19:53 -04:00
Jason Wen
c10791b67b HKG: Car Port for Kia Ceed PHEV Non-SCC 2022 2024-06-24 22:17:43 +00:00
Shane Smiskol
dc41848597 deleter: preserve two previous segments on user flag (#32822)
preserve 2 segs
2024-06-24 15:11:20 -07:00
Jason Wen
bd1dbb18b7 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-24 18:06:31 -04:00
Jason Wen
40bc424426 Bump submodules (#353) 2024-06-24 18:03:35 -04:00
Jason Wen
ed84fb1f6f FCR: sync with upstream supported car platforms 2024-06-24 16:49:08 -04:00
Jason Wen
6c429dca06 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-24 16:29:37 -04:00
Jason Wen
93a6965c18 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#352) 2024-06-24 12:20:40 -08:00
Dean Lee
8b7ffc96b5 cabana: fixed row height issue in multi-line hex display (#32816)
fix multile line bytes
2024-06-24 08:54:17 -07:00
commaci-public
1de7126d34 [bot] Update Python packages and pre-commit hooks (#32818)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-06-24 07:34:06 -07:00
Alexandre Nobuharu Sato
1c5f0bdbc6 update pt-BR translation (#32814)
Update main_pt-BR.ts
2024-06-23 14:24:09 -07:00
Adeeb Shihadeh
0c3f1dc016 setup new docs.comma.ai (#32813)
* start with mkdocs

* some structure

* little more
2024-06-23 13:16:39 -07:00
Adeeb Shihadeh
bccccde568 remove mapbox references (#32811) 2024-06-22 18:01:47 -07:00
DevTekVE
9c34635fda [sunnylink] Refactor sunnylink registration process and more resiliency 2024-06-22 19:06:17 +00:00
Shane Smiskol
8550a57eaf [bot] Fingerprints: add missing FW versions from new users (#32803)
Export fingerprints
2024-06-21 21:11:52 -07:00
Dean Lee
5aac2e5a89 cabana: fix chart value tip flickers when the mouse moves over it (#32796)
fix chart value tip flickers
2024-06-21 13:29:40 -07:00
Harald Schäfer
442e9f4ae4 Long planner: small cleanup (#32804) 2024-06-20 16:33:06 -07:00
Shane Smiskol
40aa3a0337 Toyota: add another blacklisted FW character 2024-06-20 16:04:29 -07:00
Maxime Desroches
a132a23574 ci: push docker image to openpilot-base (#32801)
* only push to openpilot-base

* comment instead
2024-06-20 22:52:19 +00:00
Dean Lee
776b08d561 replay: fix hangs on exit (#32795)
fix hang on exit
2024-06-20 00:16:14 -07:00
Maxime Desroches
77a8094f55 add core python deps (#32794)
add core deps
2024-06-20 05:29:17 +00:00
Mauricio Alvarez Leon
7013eed50c remove timezone from timed.py (#32665)
* use timezone from tilequery mapbox api

* add timezone into cereal

* better clean

* more

* one line

* poetry lock
2024-06-19 20:34:57 -07:00
Adeeb Shihadeh
9a084a73c5 remove nav apt dependencies (#32792) 2024-06-19 19:59:48 -07:00
Adeeb Shihadeh
5341512fce macOS: remove pyenv 2024-06-19 19:49:49 -07:00
Adeeb Shihadeh
e491c9d964 remove navigation (#32773)
* remove navigation

* lil more

* fix cabana

* revert for now

* fix docs

* move that over

* lock

* rm assets
2024-06-19 19:14:13 -07:00
Jason Young
a89201219d VW: Rename harnesses (#32779) 2024-06-19 15:17:25 -07:00
Maxime Desroches
de75372880 Remove pyenv (#32786)
* no pyenv

* better

* check poetry

* docker

* syntax

* manual env

* pre-commit

* revert

* format
2024-06-19 16:55:23 +00:00
Kacper Rączy
151b4530dd Fix openpilot-prebuilt dockerfile (#32787)
* Manually add symlinks to prevent docker for copying duplicate files

* Copy everything
2024-06-18 17:28:52 -07:00
royjr
987b0d9e03 Ubuntu 24.04 fix setup (#32783)
* fix tk-dev

* fix missing pip

* Update tools/install_python_dependencies.sh

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-18 11:27:28 -07:00
Maxime Desroches
5c4ea14a3c Ubuntu 24.04 (#32624)
* noble build

* workflow

* symlink

* map only for noble

* sym

* add qt to cppcheck

* cppcheck noreturn in non void funct

* get kaitai header

* kaitai header

* syntax

* try new pyopencl

* try this version

* install lsb-core manually

* support old 20.04 lsb-core

* try arm

* try latest pyopencl

* revert

* use pocl icd

* no lock

* no arm pyopencl

* new intel opencl runtime

* pin filelock

* undo

* glsl version

* new version

* build test

* remove test

* new metadrive

* remove glsl restrictions

* <optional>

* Update .github/workflows/tools_tests.yaml

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

* cache

* new cache

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-18 03:30:32 +00:00
Adeeb Shihadeh
cb63f101ca Toyota: remove smartDSU support (#32777) 2024-06-17 19:18:20 -07:00
Maxime Desroches
3de6ee5ee3 cabana: include optional (#32772)
optional
2024-06-17 20:24:04 +00:00
Dean Lee
54da59c1fe cabana: improved error messaging (#32768)
* check user authenrication

* Update tools/cabana/streams/replaystream.cc

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-17 12:44:31 -07:00
Adeeb Shihadeh
ab96d12f2e more fetch depth 2024-06-17 09:43:36 -07:00
commaci-public
a99816a08b [bot] Bump submodules (#32769)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-06-17 09:26:34 -07:00
commaci-public
b99fe718ec [bot] Update Python packages and pre-commit hooks (#32770)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-06-17 09:26:22 -07:00
Jason Wen
8de2399680 Merge branch 'upstream/openpilot/master' into SP-157-sync-20240614
# Conflicts:
#	cereal/services.py
#	msgq_repo
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/controls/lib/longcontrol.py
#	selfdrive/controls/plannerd.py
2024-06-16 22:34:35 -04:00
Jason Wen
2b6bfe32f4 Custom Stock Longitudinal ControL: Volkswagen: Fix missing bus argument 2024-06-16 19:32:10 -04:00
Dean Lee
865b98a5c4 cabana: avoid dead locks and improve responsiveness (#32740)
avoid dead locks and improve responsive
2024-06-16 12:32:45 -07:00
Adeeb Shihadeh
02ed9c584c sim: remove docker script 2024-06-16 12:20:15 -07:00
Jason Wen
8e9576543f Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-16 14:22:10 -04:00
Jason Wen
9ee409cf60 Bump submodules (#348) 2024-06-16 14:18:30 -04:00
DevTekVE
43d9030f33 Sunnylink disabled by default 2024-06-16 17:59:19 +00:00
Jason Wen
02f6a3e279 Bump to 0.9.8.0 2024-06-14 17:22:10 -04:00
Jason Wen
dc9b652682 Sentry: Update fingerprinting events 2024-06-14 21:19:51 +00:00
DevTekVE
d78948ea6e Add 'allow_failure: false' to publish script in .gitlab-ci.yml 2024-06-14 15:32:11 +00:00
Jason Wen
a72ebe18be Release: Add all DBC to release files 2024-06-14 09:19:26 -04:00
Jason Wen
1f33f51ace [sunnylink] Optimize platform checking in xattr_cache 2024-06-14 12:01:24 +00:00
Jason Wen
d870eb2a27 Lateral Plan: Desire cereal fixes 2024-06-14 07:45:11 -04:00
Shane Smiskol
b45caf4033 LogReader: try zst on internal source (#32751)
* internal source list files like azure api

* messy but works

* no limit

* simpler

* clean up

* clean up

* clean up

* that's obvious

* better

* we need to unfortunately return a url, so best to take a naive approach for now

* todo

* fix

* clean up
2024-06-14 01:12:19 -07:00
Shane Smiskol
68e22faa29 LogReader: revert broken check
it returns files OR None
2024-06-14 00:30:14 -07:00
Harald Schäfer
bc303df6a0 long control: new API (#32706)
* Simplify long control

* Seperate

* Rename

* Try new api for toyota

* rm v_pid everywhere

* No speed in reset

* 0 is better default

* unassigned variable

* Update other cars

* Update gm

* SIMPLIFY

* simplify more

* fix API boundry

* Fix stopping bug

* Small fixes

* Update ref
2024-06-14 00:08:58 -07:00
Dean Lee
38529c5057 cabana: Fix visibility issue for a single data point in series (#32749)
Fix visibility issue for a single data point in series
2024-06-13 23:38:02 -07:00
Shane Smiskol
d5ce4b3085 SegmentRange: remove timestamp (#32750)
* add deprecation warning

* remove timestamp

* Update logreader.py
2024-06-13 23:19:32 -07:00
Shane Smiskol
a0bbc005b6 LogReader: support reading zst logs from Azure (#32745)
* staging api

* other stuff

* ugh this should really not be duplicated, we already check the max segnum in Route class

* better error message!!

* more better

* clean up

* clean up

* breaks again
2024-06-13 22:43:24 -07:00
Shane Smiskol
3ede1e2a7c LogReader: improve error messages (#32747)
* better error messages

* clean up
2024-06-13 22:37:00 -07:00
Maxime Desroches
6552d4ecb8 Move zstd to normal deps (#32741)
move zstd
2024-06-13 21:46:19 +00:00
Jason Wen
6c8d80a7d5 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-13 17:31:07 -04:00
Jason Wen
15f0ed29b3 Update CHANGELOGS.md 2024-06-13 17:29:14 -04:00
DevTekVE
68a82a48e6 [sunnylink] Set default value for SunnylinkDongleId and small fixes 2024-06-13 21:10:14 +00:00
Maxime Desroches
9ffd973be9 Separate python dep into groups (#32739)
* split

* only zstd
2024-06-13 20:41:32 +00:00
Adeeb Shihadeh
f08137f618 pandad: update test thresholds 2024-06-13 10:29:57 -07:00
DevTekVE
82c67c87ad [sunnylink] Better network management 2024-06-13 17:01:39 +00:00
Jason Wen
40d9b8c333 ui: Disallow pairing QR code generation with empty sunnylink dongle ID 2024-06-13 16:57:34 +00:00
Jason Wen
85d069044a ui: sunnypilot Terms of Service 2024-06-13 16:53:16 +00:00
Shane Smiskol
4708332abe Update docs 2024-06-13 01:39:17 -07:00
Mustafa Akcanca
06828f1e80 Hyundai: add fwdCamera FW for Ioniq 5 2024 (EUR) (#32648)
* Update fingerprints.py

Adding FW fingerprints for Ioniq 5 2024 EU, non-HDA, fwd camera

* bump my!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-13 01:08:03 -07:00
Mustafa Akcanca
0319379431 Hyundai docs: change Ioniq 5 Southeast Asia only to Non-US only (#32701)
* Update values.py

* ev6 too is probably the same

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-13 01:06:45 -07:00
markalan020
f449ed144e Hyundai: add fwdCamera FW for Ioniq 5 2024 (US) (#32623)
* Update fingerprints.py

Add Support for 2024 Hyundai Ioniq 5

* docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-13 00:55:52 -07:00
Jason Wen
2c10fc3f56 Update CHANGELOGS.md 2024-06-13 01:07:28 -04:00
Jason Wen
799488573a Update CHANGELOGS.md 2024-06-13 01:02:55 -04:00
Shane Smiskol
04a93dd849 add zstd Python library (#32731)
* add zstd

* fix

* uploader

* logreader: zst support

* caps

* only logreader
2024-06-12 21:14:23 -07:00
Shane Smiskol
4539c97349 Improve ECU address finder script (#32734)
* put pandad in good state

* obd option

* fix

* it's rx
2024-06-12 19:36:26 -07:00
Shane Smiskol
742a3a94e3 Hyundai: add note about fwdRadar FW (#32733)
comment
2024-06-12 19:26:34 -07:00
Jason Wen
c55d11a865 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-06-12 21:43:05 -04:00
Jason Wen
a9f879bc99 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#344) 2024-06-12 17:10:04 -08:00
Jason Wen
9e63be9ba2 Sync: commaai/opendbc:master into sunnypilot/opendbc:master
Sync: `commaai/panda:master` into `sunnypilot/panda:master`
2024-06-12 21:09:05 -04:00
Shane Smiskol
7dbf60b4bc controlsd: exit on any exception (#32730)
* exit on any exception

* finally so we don't catch
2024-06-12 17:16:30 -07:00
Dean Lee
c64bca97ba logreader.py: optimize event loading and sorting in _LogFileReader (#32729)
* improve logfilereader

* less changes
2024-06-12 14:20:06 -07:00
Jason Wen
59711afcd4 Update CHANGELOGS.md 2024-06-12 16:21:43 -04:00
Jason Wen
aae38ac5ab GitLab Pipelines: Add script for syncing LFS between comma and sunnypilot
This commit adds a new script, 'sync-lfs.sh'. This script assists by syncing the git large file storage (LFS) system. It backs up the current LFS configuration, uses the comma-separated configuration for operations like fetch and pull, and then restores the original configuration before pushing to the origin's main branch.
2024-06-12 16:21:43 -04:00
Jason Wen
524d7b73f9 Sync: sunnypilot/panda:master into sunnypilot/panda-special:master-priv 2024-06-12 16:21:36 -04:00
Dean Lee
8065b454c9 pandad: removed the redundant .c_str() call (#32724)
Removed the redundant .c_str() call
2024-06-12 01:48:09 -07:00
Shane Smiskol
e798caa3e5 qlog_size.py: more accurate msg size breakdown (#32723)
* grouping changes outcome

* clean up

* clean up

* clean up

* clean up

* clean up
2024-06-11 22:55:42 -07:00
Adeeb Shihadeh
83ac80c6c8 Remove setproctitle (#32716)
* Custom setproctitle (#32667)

* add custom setproctitle

* add test

* Update poetry.lock

* fix lint

* support only Linux

* test only Linux

* final lint

* Update test_setproctitle.py

* Update setproctitle.py

* convert to threadnames

* delete proctitles

* Check str len and use PR_GET_NAME

* fix poetry.lock

* lint fix

* Update common/threadname.py

---------

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

* revert that for now

* use last 15

* fix

* use name

* update those

* and modeld

* rm

---------

Co-authored-by: schlimeszn <138847413+schlimeszn@users.noreply.github.com>
Co-authored-by: reddyn12 <nikhilr.ssm@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
2024-06-11 21:57:32 -07:00
Shane Smiskol
81dc33e569 Fixup qlog size (#32719)
* stash

* Revert "stash"

This reverts commit 5a22b44919d4cb8681cc08d99656954423abda93.

* improvements

* rm

* method 2

* Revert "method 2"

This reverts commit 7112d95b3eead8bfdd8efb1dcefd4edbe9107680.

* unreal for now

* stash

* Revert "stash"

This reverts commit a7c5b31d8043b8da96c21a8d40281cece3cada61.

* clean up

* update description
2024-06-11 21:36:13 -07:00
Shane Smiskol
684209e077 remove uiPlan (#32721)
* remove uiPlan from ui

* remove publishing

* Update log.capnp

* Update services.py

* no uiPlan here

* Update ref_commit
2024-06-11 21:31:10 -07:00
Maxime Desroches
0bdab82423 Remove aarch64 ci test (#32715)
* remove aarch64

* comment + remove test
2024-06-12 00:27:47 +00:00
Adeeb Shihadeh
ddfb31f1bf remove .python-version (#32714)
* remove .python-version

* no cp
2024-06-11 16:25:24 -07:00
Harald Schäfer
05669df102 Update cereal README.md 2024-06-11 16:17:25 -07:00
Adeeb Shihadeh
188843533f bump msgq: fix body web streaming (#32713)
* bump msgq: fix body web streaming

* bump msgq
2024-06-11 16:14:24 -07:00
ZwX1616
0e39d5bcf2 DM model notes 2024-06-11 15:55:18 -07:00
Shane Smiskol
df87ce3709 add Ford and Volkswagen fuzzy fingerprinting 2024-06-11 14:57:47 -07:00
Adeeb Shihadeh
c9475ed2f2 release checklist (#32709) 2024-06-11 14:47:39 -07:00
Mauricio Alvarez Leon
148eaf8fa6 Update to Python 3.12 (#32548)
* 3.12

* pprofile is broken

* use modified metadrivepy3-12

* 0.3.0 metadrive

* add metadrive/commaai git dependency

* metadrive git set

* pin sounddevice 0.4.6

* datetime.utcnow() deprecation

* poetry lock

* make datetime not aware

* poetry lock

* pin pytools

* google_crc32c wheel

* unpin sounddevice

* clean metadrive

* use python crc

* mypy

* 3.12.4

* allow python3.11

* test

* no pip

* poetry

* better

* better

* merge

* remove

* try

* test

* try  this

* snok

* python

* simpler

* setuptools

* lower

* try

* try

* work?

* ubuntu deps

* ubuntu

* try

* remove

* move

* remove this

* names

* Update .github/workflows/tools_tests.yaml

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

* python<4

* <3.13

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-06-11 20:45:15 +00:00
Adeeb Shihadeh
c2be8a5553 little more release blacklist 2024-06-11 11:29:39 -07:00
Mauricio Alvarez Leon
6fa5d7c3b5 Update .gitignore with recommended VSCode config (#32696)
* add .vscode into .gitignore

* use recommended gitignore config for .vscode
2024-06-11 11:03:47 -07:00
Andrei Radulescu
4581f6c368 compressed_vipc.py fixes (#32699)
* Restored VISION_STREAM_* to original index order

* Register exit handler
2024-06-11 07:57:56 -07:00
DevTekVE
1004730750 [sunnylink] Add sunnylink_uploader to process_config and implement uploader 2024-06-11 07:21:45 +00:00
DevTekVE
2b0dbb4e8e [sunnylink] Swaglogs to cloudwatch Enable log_handler in sunnylinkd.py 2024-06-11 07:19:54 +00:00
DevTekVE
5030860ab8 [sunnylink] Bugfixes like sidebar & improved logging for error troubleshoot 2024-06-11 06:52:11 +00:00
Harald Schäfer
965415135a Long control: Double delay is super complicated (#32694)
* Double delay is super complicated

* No more upper bound

* DEAD

* Update ref
2024-06-10 22:29:17 -07:00
Adeeb Shihadeh
3e332071e7 update poetry lock 2024-06-10 21:52:36 -07:00
Adeeb Shihadeh
00388ca795 Revert "test_onroad: update modeld proc name"
This reverts commit 4684651dc5.
2024-06-10 19:55:48 -07:00
Adeeb Shihadeh
5b51f03967 Revert "Custom setproctitle (#32667)"
This reverts commit 3365ed5eff.
2024-06-10 19:55:41 -07:00
Adeeb Shihadeh
4684651dc5 test_onroad: update modeld proc name 2024-06-10 19:45:03 -07:00
Maxime Desroches
84dd8ad4a3 Bump pyopencl and disable on arm64 (#32695)
bump pyopencl
2024-06-10 19:26:48 -07:00
Adeeb Shihadeh
efd744e03e always on DM isn't in 0.9.7 2024-06-10 19:16:50 -07:00
schlimeszn
3365ed5eff Custom setproctitle (#32667)
* add custom setproctitle

* add test

* Update poetry.lock

* fix lint

* support only Linux

* test only Linux

* final lint

* Update test_setproctitle.py

* Update setproctitle.py

* convert to threadnames

* delete proctitles

* Check str len and use PR_GET_NAME

* fix poetry.lock

* lint fix

* Update common/threadname.py

---------

Co-authored-by: reddyn12 <nikhilr.ssm@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-10 18:59:01 -07:00
Adeeb Shihadeh
f8cb04e4a8 pandad/SPI: ensure slave is in a consistent state (#32645)
* maxout

* get ready for the next one

* really get ready

* much better

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-10 18:04:24 -07:00
commaci-public
71063d66cd [bot] Update Python packages and pre-commit hooks (#32682)
* Update Python packages and pre-commit hooks

* fix linter

* poetry lock

---------

Co-authored-by: Vehicle Researcher <user@comma.ai>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2024-06-10 17:19:01 -07:00
Hoang Bui
1e3d62c88a tools/rerun: correct reset to defined default blueprint (#32692) 2024-06-10 16:58:51 -07:00
Shane Smiskol
e3f18b9f95 VW: bump model year of all CRAFTER_MK2 models 2024-06-10 16:23:20 -07:00
Maxime Desroches
1f7c5bcd50 Pin pytools (#32684)
* bump opencl

* pin pytools
2024-06-10 23:06:37 +00:00
Shane Smiskol
c514ee7212 [bot] Fingerprints: add missing FW versions from new users (#32689)
Export fingerprints
2024-06-10 14:36:42 -07:00
Kacper Rączy
2b1ac1ffa1 webrtc: fix patch in tests (#32686)
* Fix patch

* Fix it again
2024-06-10 14:22:47 -07:00
Shane Smiskol
26e52a4aed Revert "[bot] Fingerprints: add missing FW versions from new users" (#32688)
Revert "[bot] Fingerprints: add missing FW versions from new users (#32683)"

This reverts commit cf100f740e.
2024-06-10 13:42:27 -07:00
Shane Smiskol
cf100f740e [bot] Fingerprints: add missing FW versions from new users (#32683) 2024-06-10 13:39:02 -07:00
Dean Lee
a4f0f6ca36 common/ratekeeper: change frame() return type from double to uint64_t (#32679) 2024-06-10 13:37:50 -07:00
commaci-public
a09ccd59cb [bot] Bump submodules (#32681)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-06-10 13:37:39 -07:00
Harald Schäfer
1b2bd205b8 MSGQ refactor: cleanup outstanding issues (#32685)
* Rm sim dockerfile from bad merge

* Add watch back

* Fix watch3 compilation
2024-06-10 13:18:47 -07:00
Shane Smiskol
43ebf367ef fix hypothesis warning (#32678)
fix
2024-06-10 00:28:43 -07:00
Metalbird1997
19e0fa3094 Update fingerprints.py for 2024 MAN TGE (#32657)
* Update fingerprints.py for 2024 MAN TGE

* add TGE chassis codes

* unsure about the others

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-10 00:22:34 -07:00
Harald Schäfer
e70dc90a45 Restructure msgq (#32652)
* Update ref

* Compiles

* compiles

* Refactor rest of libs

* import all

* small fiex

* cleanup import

* Need msgq simlink too

* Add to openpilot docker too

* try repo

* Updates

* Fix lint

* fix docs

* Try blank slate

* Revert "Try blank slate"

This reverts commit f078ce04acacfe115c19e23e86038b01e2b84a6d.

* Maybe scons needs this to clear cache

* fix tests

* Disable test for now

* Update SConstruct

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

* Fix whitespace

* Write skip normal

* small fixes

* add test path

* Revert repo

* linting

* whitespace

* Bump msgq

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-09 17:44:34 -07:00
Harald Schäfer
b573a4cc48 Sim: don't need nvidia docker anymore (#32676)
Dont need nvidia docker anymore
2024-06-09 14:49:20 -07:00
Adeeb Shihadeh
43a97c5907 CI: move build_release to a namespace runner (#32675) 2024-06-09 12:02:55 -07:00
Adeeb Shihadeh
da1cb2276b tici: improve power save test (#32674)
* tici: improve power save test

* Update system/hardware/tici/tests/test_hardware.py
2024-06-09 11:51:43 -07:00
Adeeb Shihadeh
2cfb4df82c bump version to 0.9.8 2024-06-09 11:18:47 -07:00
Dean Lee
3f84fe3557 replay: add stop() function (#32673)
add stop() func
2024-06-09 11:04:21 -07:00
Dean Lee
6688d7b91c cabana: fix potential dangling pointer Issue (#32672)
Fix Potential Dangling Pointer Issue
2024-06-09 11:04:10 -07:00
Adeeb Shihadeh
20a44bb4e9 debug: add summary to check_timings 2024-06-08 21:01:39 -07:00
Adeeb Shihadeh
1093a4ac82 pandad: fix receive buffer size on failed transfer (#32670) 2024-06-08 20:43:25 -07:00
Jason Wen
1a508f55fc Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#343) 2024-06-08 19:19:16 -08:00
Jason Wen
019eba5c2d Bump submodules 2024-06-08 23:18:44 -04:00
Jason Wen
1ffc59f65a Merge branch 'upstream/openpilot/master' into sync-20240608
# Conflicts:
#    cereal
#    opendbc
#    panda
#    release/files_common
#    selfdrive/monitoring/dmonitoringd.py
#    selfdrive/ui/translations/main_zh-CHS.ts
#    selfdrive/ui/translations/main_zh-CHT.ts
2024-06-08 23:08:33 -04:00
Adeeb Shihadeh
284512b2ca python dependency notes (#32668) 2024-06-08 16:29:41 -07:00
Nelson Chen
5e1c54a887 Update BOUNTIES.md re. Toyota SecOC and community bounty. (#32661) 2024-06-08 16:10:58 -07:00
Adeeb Shihadeh
5265d13fe0 Replace markdown-it-py with small function in common/ (#32664)
* Replace markdown-it-py with small function in common/

* simple test

* unused

* lock

* linting fixes
2024-06-08 15:39:26 -07:00
Adeeb Shihadeh
541b5cbf13 tools/sim: remove special docker image (#32659) 2024-06-08 09:18:28 -07:00
Nelson Chen
3b6862030a Change the term "Non-US" to "South America" for the "Corolla Hybrid (Non-US only) 2020-23" entry (#32658)
The term "Non-US" in cars.md for the "Corolla Hybrid (Non-US only) 2020-23" is not precise enough and should be changed to South America

Users may think "Non-US" includes Europe or Canada, which is not the case for this entry.

It has two issues:

* The 2023 Corolla Hybrid in Europe and Canada include a new Toyota Safety Sense 3.0 that has yet to be supported due to it being a new version and the presence of Toyota Security Key.
* The 2020-2022 Corolla Hybrid in Europe is the same as the 2020-2022 Corolla Hybrid in North America, which is supported by Openpilot and has full-speed ACC due to the presence of an electronic parking brake which is not present in the 2020-2022 Corolla Hybrid in South America and the reason why it is listed as not having full-speed ACC.

The entry should be reverted to at least "Corolla Hybrid (South America) 2020-23" which was proposed but not merged in the pull request:

28454c04cc

Pull request for that change that does not include that commit: https://github.com/commaai/openpilot/pull/26943

Examples of confusion throughout the community:

comma.ai Discord:

https://discord.com/channels/469524606043160576/524327905937850394/1235264758580772996

https://discord.com/channels/469524606043160576/524327905937850394/1228090600272691370

https://discord.com/channels/469524606043160576/954493346250887168/1209952008329633813

https://discord.com/channels/469524606043160576/524327905937850394/1182093384647721140

https://discord.com/channels/469524606043160576/954493346250887168/1147751657543848017

openpilot community Discord:

https://discord.com/channels/771493367246094347/771495215570747403/1247737844727021629

> I think that the supported cars list (https://github.com/commaai/openpilot/blob/master/docs/CARS.md) is incorrect.
>
> I have a UK 2020 Toyota Corolla Hybrid
>
> In the cars list it's listed as "no accel below" 17 mph and no resume from > stop.
>
> This is not my experience. For me it works just fine down to a complete stop and it can resume from a stop too.
>
>

CC: @AlexandreSato
2024-06-08 09:18:00 -07:00
Adeeb Shihadeh
57f21abb4f pandad: fix loopback test (#32656)
* pandad: fix loopback test

* clear all params

* try this

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-07 23:58:14 -07:00
Shane Smiskol
90523b3b00 remove old fingerprints test (#32654)
* is this even used?

* remove
2024-06-07 23:38:51 -07:00
Adeeb Shihadeh
b51472048c test_encoder: adjust file size tolerance 2024-06-07 23:09:41 -07:00
Shane Smiskol
451e171ad9 remove old cache wrapper (#32653)
* remove wrapper that is functools.cache

* format
2024-06-07 21:24:32 -07:00
Shane Smiskol
9ce380d3ce bump opendbc (#32651)
* bump

* bump2

* bump3
2024-06-07 21:12:10 -07:00
Adeeb Shihadeh
b42b156fcd card: remove old canRcvtimeout field (#32650)
* card: remove old canRcvtimeout field

* deprecate
2024-06-07 17:03:17 -07:00
Jason Wen
e4f6e12786 Simulator: Refactor hardcoded path crashing PC runs 2024-06-07 22:59:54 +00:00
Adeeb Shihadeh
2bad3c29d9 build_release: run tests with pytest 2024-06-07 15:46:32 -07:00
Adeeb Shihadeh
5c3c06dfdf blacklist more files from release (#32616)
* blacklist more files from release

* dbcs

* fix

* just use the lfs

* rm that too

* cleanup

* cleanup
2024-06-07 15:26:55 -07:00
Harald Schäfer
e6caaf40fb More cereal cleanups (#32644)
* rm generate_javascript.sh

* Unused
2024-06-06 23:35:13 -07:00
Adeeb Shihadeh
ccd26de097 update msgq repo url (#32647) 2024-06-06 21:12:21 -07:00
Adeeb Shihadeh
a7ed190df4 controlsd: remove last mention of CAN (#32646) 2024-06-06 16:46:27 -07:00
Shane Smiskol
280a284b76 update TOTAL_SCONS_NODES
from fe7d3429ab
2024-06-06 16:24:09 -07:00
Harald Schäfer
83209e0860 Msgq cleanups (#32643)
* Dead cereal stuff

* Dead code

* also dead

* More cleanup
2024-06-06 15:03:19 -07:00
Harald Schäfer
e71ec4e8d7 Split cereal into cereal/msgq (#32631)
* squash

* fix doc

* compile device

* compile device

* Update ref

* add msgq to precommit exclusions

* No service ports

* fix compile

* address comments

* More comments

* Delete logger

* Update opendbc

* Linting

* bump msgq
2024-06-06 14:31:56 -07:00
Hoang Bui
4c549778c0 CI/tools_test: remove redundant git lfs pull (#32642)
remove redundant
2024-06-06 12:59:57 -07:00
Vivek Aithal
e8857a6713 [Lag] Increase Optima Lag (#32583)
increase lag in optima to 0.2
2024-06-06 01:14:28 -07:00
Dean Lee
983063c3e6 events.py: rename event counters (#32596)
* improve prev event counters

* just rename

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-06 00:13:57 -07:00
Dean Lee
3a43f5d784 fuzzy_generation.py: improve performance (#32591)
* improve performance

* remove DEPRECATED

* formatting

* catch kjException

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-05 23:48:20 -07:00
Shane Smiskol
ae375091db Genesis G70 2020: use common specs (#32641)
use non-2020 specs
2024-06-05 23:44:19 -07:00
Dean Lee
045b9f20b7 improve get_torque_params (#32586)
* Loading torque data only once and reusing it across function calls.

* apply review

* still check only one entry

* fix that

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-05 21:21:16 -07:00
Solomon Jones
a418c9e40a Fingerprint for 2017 Subaru Forester (#32584)
Fingerprint for 2017 Forester
2024-06-05 21:18:29 -07:00
Dean Lee
91fd918fcb car/interfaces.py: optimize parse_gear_shifter() with predefined dictionary (#32592)
Optimize gear shifter parsing for improved performance
2024-06-05 18:04:03 -07:00
Shane Smiskol
7cfd91bb69 Restore lateral limits report (#32640)
* stash

* staaaaash

* clean up

* more clean up

* fix

fix

* fix

* stash

clean up

* more

* this is just simpler to understand

* explicitly check
2024-06-05 18:03:23 -07:00
Adeeb Shihadeh
260e18f0ae fix linter 2024-06-05 17:32:47 -07:00
Adeeb Shihadeh
e828a7bdcf pandad: add more context to spi logs (#32639)
* pandad: add more context to spi logs

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-05 17:27:57 -07:00
Adeeb Shihadeh
51fdf23304 thermald is hardwared (#32637)
* thermald is deviced

* hardwared

* rename
2024-06-05 15:58:00 -07:00
Adeeb Shihadeh
a46f1c6eba pandad: add jungle spam mode to test (#32636)
Co-authored-by: Comma Device <device@comma.ai>
2024-06-05 15:23:25 -07:00
Adeeb Shihadeh
7b09285817 pandad: move to core 3 (#32402)
* move to core 3

* core is fully offlined now

* move to init

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-05 14:50:25 -07:00
Riley Williams
7381872a54 2024 IONIQ 6 (#32302)
* Tweak carspecs for 2023 (and now also 24) ioniq 6 to reflect public info instead of cloning ioniq 5 specs

* Regenerated car docs

* revert specs *for now*

---------

Co-authored-by: Riley Williams <riley@rileyww.dev>
Co-authored-by: Riley Williams <riley@rileyw.dev>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-06-05 14:34:02 -07:00
Adeeb Shihadeh
9526334049 jenkins: fix unsafe checkout when changing submodules (#32635)
do it twice
2024-06-05 14:00:55 -07:00
Adeeb Shihadeh
449d70333c Update RELEASES.md 2024-06-05 13:22:19 -07:00
Yassine
59a3097242 0.9.7 model release notes 2024-06-05 11:42:22 -07:00
Dean Lee
1d61f320a8 cabana: stop stream thread before exiting main event loop (#32634)
stop stream thread before exiting main event loop
2024-06-05 08:49:58 -07:00
Shane Smiskol
bbc21b9f52 [bot] Fingerprints: add missing FW versions from new users (#32605)
Export fingerprints
2024-06-04 22:09:54 -07:00
Shane Smiskol
de61d417b9 Honda: remove programmedFuelInjection ECU (#32626)
* set up for quick test

* remove pgfi

* Revert "set up for quick test"

This reverts commit aa6af2ff838b2cd203a6feaacaa5b4f3b71272ed.

* still query JIC
2024-06-04 21:29:05 -07:00
Adeeb Shihadeh
877b810ac9 pandad: reset CAN comms on checksum failure (#32629) 2024-06-04 21:26:16 -07:00
Adeeb Shihadeh
34e329649d boardd is pandad (#32628)
* boardd is pandad

* rename tests
2024-06-04 19:16:55 -07:00
Shane Smiskol
a3d2d7892f Hyundai CAN FD: fix spotty FW query without comma power (#32627)
bump
2024-06-04 18:22:23 -07:00
Dean Lee
23fcd68707 LongControl: storing T_IDXS[:CONTROL_N] in a variable for reuse (#32599)
Improve Control Trajectory Interpolation Efficiency
2024-06-04 17:04:50 -07:00
Shane Smiskol
e494d98960 Honda: helpful non-essential ECU comment 2024-06-04 16:37:01 -07:00
Shane Smiskol
ba9ea0a25f Hyundai: remove Ioniq EV 2020 CAN fingerprint (#32625)
* add from afc1609bb1584f28

* remove HYUNDAI_IONIQ_EV_2020 CAN fingerprint
2024-06-04 16:31:16 -07:00
Adeeb Shihadeh
149238845c Revert "pytest: discover openpilot/ (#32561)" (#32622)
This reverts commit 00b10f3d9a.
2024-06-04 12:09:06 -07:00
Dean Lee
2482ed085e modeld: cleanup commonmodel (#32618)
cleanup
2024-06-04 11:20:17 -07:00
Vivek Aithal
8a4bfcf5b4 [torqued] Reduce friction for some Hyundai cars (#32578)
* reduce friction coeff for ev6 and ioniq6

* Update ref

---------

Co-authored-by: Bruce Wayne <harald.the.engineer@gmail.com>
2024-06-04 11:10:04 -07:00
Dean Lee
25e15846f1 ui/cameraview: fix deadlock on exit due to Qt::BlockingQueuedConnection (#32620)
fix deadlock
2024-06-04 10:25:46 -07:00
Shane Smiskol
c7b3ece37e revert marking some files as unexecutable (#32613)
* this is not a test

* these are not tests!
2024-06-03 17:19:27 -07:00
Adeeb Shihadeh
57a9761186 add pytest-repeat (#32612) 2024-06-03 17:17:02 -07:00
Adeeb Shihadeh
69f57fb6a8 boardd: check CAN in SPI test (#32400)
* test

* little more

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-03 17:05:06 -07:00
Adeeb Shihadeh
c59887c810 test_*.py files are no longer executable (#32610)
* test_*.py files are no longer executable

* cleanup empty lines

* update precommit

* fixme

* enable

* build
2024-06-03 15:48:56 -07:00
Shane Smiskol
7c4b7ce799 [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#32604)
Export fingerprints
2024-06-03 14:11:51 -07:00
commaci-public
544b554c69 [bot] Bump submodules (#32602)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-06-03 13:24:03 -07:00
Jason Wen
111d8a5a54 Toyota: Fix platform naming with comma Pedal 2024-06-03 15:36:21 -04:00
Dean Lee
1e70b23855 LongitudinalPlanner: replace hardcoded length with ModelConstants.IDX_N (#32597)
replace hardcoded length
2024-06-02 22:52:45 -07:00
Hoang Bui
f717e1e4e6 tools/rerun: streaming to one Viewer from multiple processes (#32595)
* one spawn only

* one blueprint

* comment
2024-06-02 21:05:15 -07:00
Mauricio Alvarez Leon
00b10f3d9a pytest: discover openpilot/ (#32561)
* pytest: discover everything in openpilot/

* ignore process replay

* remove --ignore=openpilot/

* ignore directories in root

* remove skip in selfdrive/test/process_replay

* use openpilot directory

* set openpilot directory for test_translations

* omit generated config.py files

* run ci

* cd into openpilot for test_translation

* &&

* remove rm main_test_en command

* remove echo

* increase shm-size to 2G

* remove rm

* test only cpp_files that are test_*.cc~

* add process_replay test skip

* use addopts in pyproject to ignore test_processes

* try --rootdir for pytest

* cleanups / add rootdir in PYTEST env

* add rm create_test_translations

* revert poetry.lock

* simplify

* no regen!

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-02 14:53:32 -07:00
Adeeb Shihadeh
ce2a686b97 add body teleop to release 2024-06-01 16:04:04 -07:00
Adeeb Shihadeh
7de9a3693f more release files 2024-06-01 15:16:09 -07:00
Adeeb Shihadeh
54116569c3 build_release fixups 2024-06-01 15:05:07 -07:00
Adeeb Shihadeh
a21f773366 no lfs in release 2024-06-01 14:23:48 -07:00
Shane Smiskol
63f55f4915 debug FW fingerprinting: live support (#32585)
* live debug!

* clean up
2024-05-31 22:28:03 -07:00
Dean Lee
9908b729c8 api: cache RSA private key (#32566) 2024-05-31 21:40:53 -07:00
Adeeb Shihadeh
30d5edb205 Update RELEASES.md 2024-05-31 16:20:59 -07:00
Jason Wen
2c0ab40c82 Controls: Customizable Pause Lateral Speed 2024-05-31 23:01:31 +00:00
Jason Wen
0166f21568 ui: V-TSC: Update at 20 Hz 2024-05-31 22:58:01 +00:00
Jason Wen
37223889e2 Sentry: Add dongle ID to uploaded bootlog 2024-05-31 22:55:35 +00:00
cl0cks4fe
8f4b00c263 cache get_torque_params (#32560)
* cache get_torque_params

* switch to cache

* Update selfdrive/car/interfaces.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-31 13:43:12 -07:00
Shane Smiskol
f887b8703c add Hyundai CAN FD fingerprinting note 2024-05-30 23:08:14 -07:00
Shane Smiskol
0a43d82428 fw_versions debug: match online vin retry 2024-05-30 22:20:04 -07:00
William Stairs
984ad8833a Add Chassis for VW Arteon Shooting Brake 2020-2023 (#32579)
* Added Arteon "3H" chassis code for Shooting Brake to VWCarDocs.

* Added new engine and transmission FW to Volkswagen fingerprints.py for Arteon Mk1.

* Apply suggestions from code review

* updates docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-30 21:35:19 -07:00
Jason Wen
57b31abaa8 Volkswagen: Support for distance button hold to toggle between Chill & Experimental Mode 2024-05-30 23:38:36 -04:00
Jason Wen
1dc145c628 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-05-30 14:34:12 -04:00
Hoang Bui
aa081f5748 Simulator: update MetaDrive to latest (#32576)
* bump metadrive

* comment
2024-05-30 11:25:21 -07:00
Jason Wen
226fc5f82c Translations: sunnypilot custom texts (#304) 2024-05-30 10:18:44 -08:00
1okko
e848f3fd7d Translations: More Simplified Chinese (#340)
* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Fix

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* More fixes

* Mini updates

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Fix

* More updates

* Update main_zh-CHS.ts

* Some fixes

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Fixes

* More fixes

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-05-30 14:17:30 -04:00
Jason Wen
a5be542d3d Translations: Additional untranslated texts 2024-05-30 14:17:30 -04:00
1okko
dc8de6f21a Translations: Simplified Chinese (#306)
* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Fix

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* More fixes

* Mini updates

* Update main_zh-CHS.ts

* Update main_zh-CHS.ts

* Fix

* More updates

* Update main_zh-CHS.ts

* Some fixes

* Update main_zh-CHS.ts

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2024-05-30 14:17:30 -04:00
Jason Wen
cb2f1818fc Translations: zh-CHS example (#305)
zh-CHS example
2024-05-30 14:17:29 -04:00
Jason Wen
abc88581e3 Translations: Prepare for sunnypilot custom texts 2024-05-30 14:17:16 -04:00
Shane Smiskol
57d64279bd ui: re-generate JWT on valid system time (#32571)
* revert me

* Revert "revert me"

This reverts commit 17d815ddfc9a18f7fb9f39f89ec8b4481389b339.

* duh we have timed!

* clean up

* use clocks

* re-initialize map on SSL handshake failure (time)

* this is fine, takes some time to init

* fix

* log errors like map renderer

* more clean up

full message is "loading style failed: SSL handshake failed"

* MOAR

* we still can't swap the token live

* mbgl has its own retries that never work, don't reinit multiple times at once

* simpler

* more

* whoops

* this works

* fix from merge

* rm

* fix cmt

* only an issue calling the function inside itself
2024-05-30 02:08:31 -07:00
Shane Smiskol
c2f55a2600 map window: log style load errors (#32573)
log errors
2024-05-30 01:52:43 -07:00
Jason Wen
bdbd16c902 Fix upstream merge conflicts 2024-05-29 23:42:00 -04:00
Jason Wen
d8595b63e8 Auto Lane Change: Add option to disable lane change 2024-05-30 02:42:11 +00:00
Jason Wen
fff3c30ce5 SPOptionControl: Dim button if the option cannot be adjusted 2024-05-30 02:40:24 +00:00
Dean Lee
5f778c0d3a common/prefix.h: Fix incomplete path cleanup on exit (#32559) 2024-05-29 19:04:03 -07:00
ZwX1616
a16fbdae38 dmonitoringd: set invalid if missing dependence(s) (#32569)
* no step but still send

* no this

* update diff
2024-05-29 15:43:55 -07:00
Jason Wen
5351420a72 Merge branch 'master' into master-priv 2024-05-29 00:13:00 -04:00
Jason Wen
4b15faabb1 Update CHANGELOGS.md 2024-05-29 00:12:31 -04:00
Jason Wen
ee2f721841 Update CHANGELOGS.md 2024-05-29 00:11:22 -04:00
DevTekVE
b52348bf40 Bump to 0.9.6.2 2024-05-28 22:59:45 -04:00
kacperhq
325dcec06b KIA SPORTAGE 5th HEV 2022 EUR fingerprint (#32558)
Update fingerprints.py

KIA Sportage 5th GEN EUR ver
2024-05-28 15:27:08 -07:00
Mauricio Alvarez Leon
a2931d1956 CI: add devcontainer-rebuild workflow (#32564)
* add devcontainer-rebuild workflow

* add shell

* add shell on ifs

* use scripts/retry.sh
2024-05-28 14:45:17 -07:00
Dean Lee
6b3d2b5a80 cabana: fix panda stream issues (#32537)
fix segfault
2024-05-28 12:02:15 -07:00
Shane Smiskol
521ee46c47 [bot] Fingerprints: add missing FW versions from new users (#32552)
Export fingerprints
2024-05-27 22:01:31 -07:00
DevTekVE
23742d046f Disable Screen Recorder 2024-05-28 02:26:26 +00:00
commaci-public
30792577cd [bot] Bump submodules (#32549)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-05-27 10:38:53 -07:00
Hoang Bui
d6a738bef7 tools/simulator: Remove superseded build script for sim docker (#32546)
* remove

* add those back
2024-05-27 09:22:41 -07:00
Adeeb Shihadeh
1eb938b8e8 Revert no pyenv (#32547)
* Revert "`ubuntu_setup`: fix `No module apt_pkg` error when setting up (#32526)"

This reverts commit f4322666c6.

* Revert "Removal of pyenv (#32512)"

This reverts commit f5752121f8.
2024-05-26 21:21:50 -07:00
Jason Wen
0fb264377d Revert "SP-35: Driving Model Selector: Reset all related params if branches/remote have changed" 2024-05-27 03:45:11 +00:00
Shane Smiskol
93963207f2 [bot] Fingerprints: add missing FW versions from new users (#32542)
Export fingerprints
2024-05-26 08:41:19 -07:00
Adeeb Shihadeh
ccbca2ac95 Revert "pyproject: support >= 3.11"
This reverts commit 390caeb011.
2024-05-25 21:20:15 -07:00
Adeeb Shihadeh
390caeb011 pyproject: support >= 3.11 2024-05-25 21:00:29 -07:00
Adeeb Shihadeh
fe7d3429ab Make release files a blacklist (#32540)
* blacklist

* little nicer

* whitelist

* cleanup

* igore body

* more skip
2024-05-25 18:47:16 -07:00
Hoang Bui
2ff94ec374 CI/tools: Remove redundant build step (#32539) 2024-05-25 15:50:10 -07:00
Adeeb Shihadeh
accdade4cf manager: move to system/ (#32538)
* manager: move to system/

* one more
2024-05-25 12:41:17 -07:00
Adeeb Shihadeh
73b02f2cda updated: finish system/ move (#32535)
* updated: finish system/ move

* add those back

* skip that

* skip whole file

* one more time
2024-05-25 12:22:02 -07:00
Adeeb Shihadeh
cd21d64058 speedup pj demo test 2024-05-25 11:40:10 -07:00
Adeeb Shihadeh
b9244f1031 move rerun to dev dependencies (#32534) 2024-05-25 11:09:08 -07:00
Hoang Bui
613f73c53f CI/simulator: metadrive test starts when OP engaged and world is initialized (#32523)
* fix metadrive start time

* fix
2024-05-25 10:37:07 -07:00
Shane Smiskol
95aa7c4b68 [bot] Fingerprints: add missing FW versions from new users (#32533)
Export fingerprints
2024-05-25 09:42:23 -07:00
Shane Smiskol
6ecb710305 LongitudinalMpc: use DT_MDL (#32532)
bad magic number
2024-05-25 03:29:54 -07:00
Mauricio Alvarez Leon
f4322666c6 ubuntu_setup: fix No module apt_pkg error when setting up (#32526)
* no apt_pkg fix

* check arch

* fix if

* cleanup

* reorder

* increase shm size for selfdrive tests

* add comment explaining reinstall

* refine
2024-05-24 21:38:23 -07:00
Yassine
8bd4540636 Revert "wip /500"
This reverts commit 8183715beb.
2024-05-24 19:45:00 -07:00
Yassine
8183715beb wip /500 2024-05-24 19:44:14 -07:00
Shane Smiskol
a7065d158b Kia: add 2022 Forte model year
The minimum enable speed is also 0 mph with a lead like the 2023, so it's likely supported with this harness
2024-05-24 15:49:45 -07:00
Shane Smiskol
937ff7f418 Kia: update Forte 2019-21 min enable speed (#32528)
* forte enable speed fix

* update docs
2024-05-24 15:48:26 -07:00
cipioh
652f15d54e Added ecu firmware data for 2024 Kia EV6 GT (#32524)
* Update fingerprints.py

added KIA EV6 GT 2024

* Update fingerprints.py

added firmware from 2024 Kia EV6 GT

* format

* update my

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-24 13:39:42 -07:00
Jason Wen
04925ab879 ui: ButtonParamControl: Only reset to 0 if the value is less than 0 2024-05-24 02:40:56 -04:00
DevTekVE
30b1180a3b SP-72: sunnylink: Add sunnylink status to Sidebar UI 2024-05-24 06:26:28 +00:00
Jason Wen
0953fb6bf2 Hyundai CAN Longitudinal: Lenient parsing for auto-enabled radar configs 2024-05-24 06:22:20 +00:00
Jason Wen
3f7bf0c167 Params: Fix for SP-35 2024-05-24 01:02:27 -04:00
DevTekVE
55e271be71 mapd: Bump to v1.9.0 2024-05-24 04:38:14 +00:00
Jason Wen
86bec171b0 Params: Add BACKUP to Cython 2024-05-24 00:30:49 -04:00
Jason Wen
1d2ff881b0 SP-35: Driving Model Selector: Reset all related params if branches/remote have changed 2024-05-24 00:16:57 -04:00
Jason Wen
407dfd0d6b Revert "SP-35: Driving Model Selector: Reset all related params if branches/remote have changed" 2024-05-24 04:13:30 +00:00
ZwX1616
204219695f dmonitoringd: simplify main loop (#32517)
* one call does all

* no need

* update etst

* filename

* dbf5b05ff480145a79b5941e360d0698b70979cd
2024-05-23 20:14:28 -07:00
Kacper Rączy
e0d20d2cf3 process_replay: most messages valid check (#32521)
* check_most_messages_valid impl

* Add to both regen and test_processes

* Refactor

* Bring back carOutput

* Use Counter

* Use get(k, 0)
2024-05-23 15:30:21 -07:00
DevTekVE
e78ae2c140 Driving Model Selector: Introduce ModelCapabilities class for model feature handling 2024-05-23 21:39:28 +00:00
Adeeb Shihadeh
38c0fdac47 fix PATH 2024-05-23 11:30:56 -07:00
Adeeb Shihadeh
278c312876 remove a pyenv reference 2024-05-23 11:24:10 -07:00
DevTekVE
1b10cc8575 Driving Model Selector: Improve progress display for model downloads 2024-05-23 17:59:37 +00:00
Jason Wen
9d82d128ec SP-35: Driving Model Selector: Reset all related params if branches/remote have changed 2024-05-23 17:39:58 +00:00
Jason Wen
b77d0809bc ui: ButtonParamControl: Handle out of bound param 2024-05-23 17:34:29 +00:00
Mauricio Alvarez Leon
f5752121f8 Removal of pyenv (#32512)
* initial removal of pyenv

* remove .python-version copy in dockerfile

* successful image build with ppa

* update prompt

* pip install scons

* apt install scons

* finally fix dockerfile to work with venv

* cleanup userflow

* increase memory to 100m

* typos

* wrong variable

* lmao
2024-05-23 07:56:18 -07:00
Shane Smiskol
7a6818da7e Reapply "Ford: detect missing LKAS from EPS configuration (#31821)" (#32518)
* Reapply "Ford: detect missing LKAS from EPS configuration (#31821)"

This reverts commit ffb34e558f.

* catch

* now fix

* clean up
2024-05-22 17:27:22 -07:00
Adeeb Shihadeh
423016d6e9 rm disabled notebooks test 2024-05-22 17:16:08 -07:00
Shane Smiskol
ef1b6b4703 test car interfaces: catch more FW-related failures (#32514)
* only pick ecus from brand

* use superset of all requests

* much better

* clean up

* clean up

* try 150

* ?

* ???

* faster debug

* wtf

* no clue

* run push!

* this shouldn't catch it

* clean up

* rm
2024-05-22 17:12:54 -07:00
ZwX1616
749455c91d Update process replay refs with updated submaster alive behavior (#32508)
* add cereal

* update cereal

* cereal master

* lol really

* ref com

* ref
2024-05-22 15:47:11 -07:00
ZwX1616
fa2d5bca57 controlsd: explicitly ignore camera states in process replay (#32515)
* explicitly ignore

* Update selfdrive/controls/controlsd.py

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-22 15:18:06 -07:00
Hoang Bui
fe9a091f11 CI: Drive a loop in MetaDrive (#32308)
* finish failure on crossing any line

* update

* standardize queue messages

* update control_command_gen

* fix

* fix logic

* update closing type

* update test

* update logic

* update test

* add out of lane to local

* ci arrive_dest

* pytest integration

* update ci_config

* fix ruff

* move test termination to time

* better

* better order

* curve_len

* add buffer

* cleanup

* cleanup

* cleanup

* cleanup

* out_of_lane

* cleanup

* merge tests

* run 90s

* change test name

* local out of lane detect

* out_of_lane

* static anal

* cleanup

* test_duration

* change setup_class -> setup_create_bridge

* no print state during test

* new out_of_lane detect

* cleanup print in common.py

* fix

* fix

* check distance vs time

* cleanup

* cleanup increase check time

* minimum bridge test time

* wording

* cleanup
2024-05-22 10:04:43 -07:00
Shane Smiskol
d96b8bbc01 [bot] Fingerprints: add missing FW versions from new users (#32511)
Export fingerprints
2024-05-22 10:02:26 -07:00
Shotaro Watanabe
a5ff4a94a6 devcontainer: add bash-completion (#32510) 2024-05-22 07:40:10 -07:00
Shane Smiskol
ffb34e558f Revert "Ford: detect missing LKAS from EPS configuration (#31821)"
This reverts commit 9f327aeb48.
2024-05-21 23:21:31 -07:00
Shane Smiskol
9fa92c2225 card: only exit ELM once done with ECU knock outs (#32505)
* only exit elm once done with knock outs

* comments!
2024-05-21 21:23:14 -07:00
roberttruong
b059f2eda8 Additional Subaru Impreza 2022 Fingerprint (#31916)
* Update fingerprints.py

Add fingerprint for Subaru Impreza 2022 Australia

* auto_fingerprint

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-21 20:31:47 -07:00
Marcin Perlikowski
5e63906a3f Hyundai: add fingerprint for 2020 IONIQ PHEV (#31301)
add fingerprint for 2020 Hyundai IONIQ PHEV

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-21 20:24:45 -07:00
19igari
25cc8a96ef fix(modeld): Fix for unpredictable behavior in commonmodel_pyx.pyx (#32482)
Avoid undefined behavior

Co-authored-by: 19igari <koki.igari@turing-motors.com>
2024-05-21 18:41:04 -07:00
Dean Lee
d234085496 ui/update_dmonitoring: Improve readability of r_xyz matrix initialization (#32359) 2024-05-21 17:27:25 -07:00
Cameron Clough
9f327aeb48 Ford: detect missing LKAS from EPS configuration (#31821)
* debug: disable FW cache

* Ford: detect missing TJA/LCA config and disable LKAS

* set dashcamOnly

* revert

* clean up

* clean up

* some CAN FD do not have 0x01 block for PSCM

* bump cereal (fork)

* remove confusing comment

* add flags/event

* remove duplicate from events

* copy can be next pr

* dashcamOnly if no config comes back either (this shouldn't happen)

* flipped

* can do this

* Revert "can do this"

This reverts commit c3d311b2ffb7bbc346c7f702ac5c1934bc495c65.

* Revert "flipped"

This reverts commit 75c01fb4c5f7fdc9222ea13b8901f76b5b419c99.

* Revert "dashcamOnly if no config comes back either (this shouldn't happen)"

This reverts commit f82624a0eb28bf683660f86b3ddfd44717a6915f.

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-21 17:01:04 -07:00
Adeeb Shihadeh
406f30add4 more apt dependency cleanup (#32502)
rm
2024-05-21 15:40:00 -07:00
Adeeb Shihadeh
527cd74b21 CI: cleanup PR review jobs (#32503) 2024-05-21 15:25:50 -07:00
Shane Smiskol
e29ed6849e [bot] Fingerprints: add missing FW versions from new users (#32501)
Export fingerprints
2024-05-21 14:37:24 -07:00
Shotaro Watanabe
b9c1c1dd37 devcontainer: mount /dev (#32500) 2024-05-21 10:59:15 -07:00
Shane Smiskol
e836845f02 update TOTAL_SCONS_NODES 2024-05-21 01:19:55 -07:00
Shane Smiskol
71f5c441fe card: process that abstracts car interface and CAN (#32380)
* format card

* standalone process

* no class member CS, there's no point

also can be confusing; what else could be using this?

* rename CoS

* Update selfdrive/controls/controlsd.py

* never works first time :D

* canRcvTimeout is bool

* hack

* add cpu

* see what testing closet comes up with

* first

* some clean up

* support passable CI, fix test models

* fix startup alert

* process replay changes

* test_fuzzy

* gate carOutput valid on carControl valid

* we should publish after we update carOutput

* controlsd was using actuatorsOutput from 2 frames ago for torque, not the most up to date

* check all checks for carControl in case controlsd dies

* log more timestamps

* more generic latency logger; needs some clean up

latency_logger.py was difficult to understand and modify

* card polls on can and carControl to get latest carControl possible

* temp try to send earlier

* add log

* remove latencylogger

* no mpld3!

* old loop

* detect first event

* normal send

* revert "card polls on can and carControl to get latest carControl possible"

how it was is best

* sheesh! update should be first

* first timestamp

* temp comment ( timestamp is slow :( )

* more final ordering, and make polling on/off test repeatable

* Received can

* new plot timestamps

* clean up

* no poll

* add controllers (draft)

* Revert "add controllers (draft)"

This reverts commit e2c3f01b2fadcff74347bac90c8a5cc1ef4e27b3.

* fix that

* conventions

* just use CS

* consider controlsd state machine in card: not fully done

* hmm it's just becoming controlsd

* rm debugging

* Revert "hmm it's just becoming controlsd"

This reverts commit 534a357ee95bec4ed070667186af55d59421bbc7.

* Revert "just use CS"

This reverts commit 9fa7406f30c86200f20457f7b9ff95e731201bf9.

* add vCruise

* migrate car state

* Revert "migrate car state"

This reverts commit 4ae86ca163c6920070f410f608f7644ab632850b.

* Revert "add vCruise"

This reverts commit af247a8da41c3626ada4231b98042da1a1ae4633.

* simple state machine in card (doesn't work as is)

* Revert "simple state machine in card (doesn't work as is)"

This reverts commit b4af8a9b0a2e17fdfc89d344c64678ef51305c24.

* poll carState without conflate

* bump

* remove state transition

* fix

* update refs

* ignore cumLagMs and don't ignore valid

* fix controls mismatch; controlsd used to set alt exp

* controlsd_config_callback not needed for card

* revert ref temp

* update refs

* no poll

* not builder!

* test fix

* need to migrate initialized

* CC will be a reader

* more as_reader!

* fix None

* init after publish like before - no real difference

* controlsd clean up

* remove redundant check and check passive for init

* stash

* flip

* migrate missing carOutput for controlsd

* Update ref_commit

* bump cereal

* comment

* no class params

* no class

* Revert "no class"

This reverts commit 5499b83c2dcb5462070626f8523e3aec6f4c209d.

* add todo

* regen and update refs

* fix

* update refs

* and fix that

* should be controlsstate

* remove controlsState migration

CoS.initialized isn't needed yet

* fix

* flip!

* bump

* fix that

* update refs

* fix

* if canValid goes false, controlsd would still send

* bump

* rm diff

* need to be very careful with initializing

* update refs
2024-05-21 01:18:10 -07:00
Adeeb Shihadeh
49d7edfe11 Revert "CI: move car docs diff job (#32496)"
This reverts commit da42c4a561.
2024-05-20 23:33:16 -07:00
Adeeb Shihadeh
5e98d9e289 also tag as latest 2024-05-20 23:28:58 -07:00
Shane Smiskol
ce136317d8 regen: use existing carParams msg (#32493)
use existing msg
2024-05-20 23:26:47 -07:00
Adeeb Shihadeh
da42c4a561 CI: move car docs diff job (#32496)
* CI: move car docs diff job

* no if
2024-05-20 23:11:19 -07:00
Adeeb Shihadeh
936e8d3d80 CI: merge build jobs (#32495) 2024-05-20 23:01:42 -07:00
Adeeb Shihadeh
b2cf9b35f6 thermald: move to system/ (#32494)
* thermald: move to system/

* fix path

* revert
2024-05-20 22:51:29 -07:00
Adeeb Shihadeh
da6fd75125 move sentry/stats to system/ (#32490)
* move sentry/stats to system/

* fix
2024-05-20 22:39:25 -07:00
Mauricio Alvarez Leon
1203f5eeb3 minimize ubuntu deps. needed to run build openpilot (#32492)
* minimize common deps list

* fix

* fix endline error

* add portaudio3

* add build-essential

* upload old loggerd deps

* libqt5charts5-dev

* libncurses5-dev

* libbz2-dev

* libsqlite3-dev
2024-05-20 20:47:53 -07:00
Dean Lee
0678644a8f ui: improve update_line_data() (#32354)
improve update_line_data
2024-05-20 19:38:24 -07:00
Adeeb Shihadeh
0e3df5ae4d ruff: enable TRY 2024-05-20 17:47:48 -07:00
Adeeb Shihadeh
b2e4c64cf8 ruff: enable UP 2024-05-20 17:43:54 -07:00
Adeeb Shihadeh
788c4edeec ruff: enable NPY 2024-05-20 17:40:46 -07:00
LostEon
1ea2411575 Fingerprint 2016 Jeep Grand Cherokee (#32491)
* Fingerprint 2016 Grand Cherokee

* sort

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-20 17:38:47 -07:00
macdoos
e0fa26b1a4 split out dev apt dependencies (#32476)
* init

* add more extra packages

* update Dockerfile

* cleanup

* Update Dockerfile.openpilot_base

* needed to build

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-05-20 17:35:33 -07:00
Adeeb Shihadeh
af991b143a fix pre-commit warning 2024-05-20 16:46:34 -07:00
Adeeb Shihadeh
332542fad8 cleanup old ignore paths 2024-05-20 16:01:17 -07:00
Adeeb Shihadeh
19c8e72c74 Update BOUNTIES.md 2024-05-20 15:50:54 -07:00
Adeeb Shihadeh
3279dbeff7 athena: move to system/ (#32488)
* athena: move to system/

* slash
2024-05-20 14:59:43 -07:00
Hoang Bui
f3f22a5698 CI/simulator: Fix metadrive test pyopencl.CompilerWarning (#32487)
* add pytest.mark.filterwarnings

* remove -W pyopencl.CompilerWarning

* add comment
2024-05-20 14:41:31 -07:00
Shane Smiskol
833316835a [bot] Fingerprints: add missing FW versions from new users (#32486)
Export fingerprints
2024-05-20 09:48:51 -07:00
DevTekVE
16706bda9c Update model generation conditions in modeld.py and map.cc 2024-05-19 19:23:32 +00:00
Shane Smiskol
09f2077f58 [bot] Fingerprints: add missing FW versions from new users (#32477)
Export fingerprints
2024-05-19 10:39:29 -07:00
Shane Smiskol
220fcc1675 process replay: regen routes (#32464)
* regen

* regen

* update

* undo

* update refs

* fix

* real fix

* test

* test2

* test3

* stash

* Revert "stash"

This reverts commit bf6765f526b48426f49a4b29c4042097f57fc4b0.

* rk.lagging can not be trusted. BODY segment has radarFault while modelV2 is not valid, causing radarState to not be valid

* order

* update refs again

* we never logged carOutput!

* bump

* add back checks
2024-05-19 01:07:12 -07:00
Adeeb Shihadeh
075176f869 define alert for actuatorsApiUnavailable 2024-05-18 17:55:52 -07:00
Dean Lee
b742776bff encoderd: publish i-frame as thumbnail (#32202)
* pusblish i-frame as thumbnail

* generic

* disable for now

* fix

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-05-18 17:46:34 -07:00
Mauricio Alvarez Leon
bd6bea39bf deps: add rerun-sdk into pyproject.toml (#32472)
* add rerun-sdk into pyproject.toml

* install/wheel cleanup

* unpin version
2024-05-18 17:21:04 -07:00
Adeeb Shihadeh
c9531b463a Revert "ui: single-threaded CameraView (#32291)"
This reverts commit dd6e2a400b.
2024-05-18 16:34:03 -07:00
Adeeb Shihadeh
04d8a4ecad CI: remove redundant pj job 2024-05-18 16:08:10 -07:00
Adeeb Shihadeh
4c558e45b9 control is still used 2024-05-18 15:15:41 -07:00
Adeeb Shihadeh
1e08132cdf gc unused python deps 2024-05-18 14:51:49 -07:00
Adeeb Shihadeh
48e24321e8 remove libopencv-dev (#32469) 2024-05-18 14:29:49 -07:00
Hoang Bui
950aeae544 CI: fix metadrive test (#32457)
* fix test

* this?

* fix

* this?

* deprecation warning inside

* comment
2024-05-18 14:04:22 -07:00
Shane Smiskol
1a4e022d70 [bot] Fingerprints: add missing FW versions from new users (#32468)
Export fingerprints
2024-05-18 14:03:50 -07:00
DevTekVE
21feff5457 Refactor model generation condition in modeld.py 2024-05-18 18:53:16 +00:00
DevTekVE
dcabd306c7 Add default values for DrivingModel parameters 2024-05-18 18:52:51 +00:00
Adeeb Shihadeh
985b22d4b7 add [project] section to pyproject.toml 2024-05-17 21:43:57 -07:00
ZwX1616
8e87655a12 dmonitoringd: don't check for buttonEvents or vCruise change (#32454)
* drop check for carState.buttonEvents

* 100% people not use this

* huge oof

* ref comit

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-17 21:38:03 -07:00
Adeeb Shihadeh
3e023146d2 remove gcc from mac_setup.sh 2024-05-17 21:06:18 -07:00
Jason Wen
136fecf86b SP-123: Hyundai CAN Longitudinal: Auto-enable radar tracks on platforms with Mando radar 2024-05-18 04:02:16 +00:00
Jason Wen
42818ba95b Sentry: Add sunnylink_dongle_id tag 2024-05-18 03:59:26 +00:00
cl0cks4fe
173d966444 remove unittest dependency from test_ui (#32432) 2024-05-17 20:54:08 -07:00
Adeeb Shihadeh
861c52e015 bump up cars timeout for the GHA runners 2024-05-17 20:53:52 -07:00
Dean Lee
dd6e2a400b ui: single-threaded CameraView (#32291)
single thread cameraview
2024-05-17 20:18:41 -07:00
Adeeb Shihadeh
52acae5797 remove dead webcam dockerfile 2024-05-17 20:00:10 -07:00
Hoang Bui
630e152900 Simulator: standardize queue messages (#32313)
* standardize queue messages

* update control_command_gen

* fix

* fix logic

* update closing type

* qmessagetype -> enum

* update type hint

* old close() makes more sense

* cleanup

* fix

* revert that

* revert that

* better name

* actually this is better
2024-05-17 19:51:07 -07:00
Adeeb Shihadeh
57c8510a42 CI: move regen into replay job (#32460) 2024-05-17 19:48:14 -07:00
Adeeb Shihadeh
e1a697fee5 remove old valgrind replay test 2024-05-17 19:43:47 -07:00
Adeeb Shihadeh
27da6bd752 CI: move model tests (#32459) 2024-05-17 19:31:55 -07:00
Adeeb Shihadeh
4388a2aa68 CI: use less parallel jobs for cars (#32458)
* CI: use less parallel jobs for cars

* 2
2024-05-17 19:20:18 -07:00
Jason Wen
6299b2070d Update CHANGELOGS.md 2024-05-17 20:03:45 -04:00
Jason Wen
7c42ec8b1e SP-120: ui: Fix "Customize Speed Limit Control" submenu button visibility 2024-05-17 23:51:10 +00:00
Jason Wen
b5c66e193c Models: Update default name 2024-05-17 19:38:08 -04:00
Curtis Jiang
5cfaae771d HKG: Add FW version for Canada Hyundai Tucson PHEV 2024 (#32440)
* Car port for Hyundai Tucson PHEV 2024

* Fix doc
2024-05-17 13:17:24 -07:00
Adeeb Shihadeh
6303d42535 bump opendbc 2024-05-17 11:02:26 -07:00
cl0cks4fe
dd9d5d4528 Unittest to pytest (#32366)
* add pytest-asyncio

* switch common

* switch selfdrive

* switch system

* switch tools

* small fixes

* fix setUp and valgrind pytest

* switch to setup

* fix random

* switch mock

* switch test_lateral_limits

* revert test_ui

* fix poetry.lock

* add unittest to banned-api

* add inline ignores to remaining unittest imports

* revert test_models

* revert check_can_parser_performance

* one more skip

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-05-17 11:01:44 -07:00
Adeeb Shihadeh
f5bca9c08c bump panda 2024-05-17 10:45:04 -07:00
Jason Wen
3a705a0e1c Volkswagen MQB: Non-ACC fixes with upstream merges 2024-05-17 13:03:37 -04:00
Jason Wen
264788fb4a Manager: Initialize SidebarTemperatureOptions 2024-05-17 16:52:13 +00:00
DevTekVE
b471da8975 Config Backup: Remove sponsor check for restore 2024-05-17 16:41:38 +00:00
eFini
1a60b63b7d Mutilang: update CHS/CHT translation (#32455)
update translations for chinese
2024-05-17 09:17:22 -07:00
Jason Wen
27f495e5e7 NoO: Only start processes if NoO-enabled models are selected 2024-05-17 14:34:03 +00:00
Jason Wen
4242c21c52 Honda Platform: Remove redundant code 2024-05-17 14:32:25 +00:00
Jason Wen
9842d68f4c ui: Force offroad from settings when the car is on 2024-05-17 06:00:29 +00:00
Jason Wen
7a286d2f52 Controlsd: Remove unused code and leadDistanceBar parsing with SP values 2024-05-17 04:57:44 +00:00
Jason Wen
0b8262175f Hyundai CAN-FD Longitudinal: Parse lead info for camera-based SCC platforms 2024-05-17 04:48:46 +00:00
Shane Smiskol
42861f6683 events: reduce priority of resumeRequired (#32450)
CC
2024-05-16 21:17:37 -07:00
Shane Smiskol
ac81467c5c process replay: check missing services (#32452)
* add check to check

* don't forget to raise

* skip this segment
2024-05-16 21:11:55 -07:00
Jason Wen
0d6c95dadc SP-121: Platforms: Update old platform names referenced in different features 2024-05-16 23:41:04 -04:00
Adeeb Shihadeh
eb50b1a871 Revert "bump panda"
This reverts commit 3d64a7e3d1.
2024-05-16 20:29:11 -07:00
Adeeb Shihadeh
3d64a7e3d1 bump panda 2024-05-16 20:11:49 -07:00
Jason Wen
8261a71d67 Update CHANGELOGS.md 2024-05-16 23:05:50 -04:00
Jason Wen
bb41d2e386 CSLC: Hyundai: Fix upstream conflicts 2024-05-16 22:22:21 -04:00
Shane Smiskol
b17ec494b2 Toyota: remove redundant cancel code (#32448)
saw no cases where this was non-zero while cruise_active was false
2024-05-16 16:13:12 -07:00
Shane Smiskol
593ea504e7 test_car_interface: run CC once (#32449)
run once
2024-05-16 15:41:20 -07:00
ZwX1616
b8171a1e9c DM: improve e2e predictions (#32431)
* good but need to freeze quant weights

* pass ref

* pg

* update model reply
2024-05-16 13:55:40 -07:00
Shotaro Watanabe
288a3fcd8b fix(ui): fix build error in onroad_home.cc without ENABLE_MAPS (#32441) 2024-05-16 11:10:22 -07: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
2efdba4daf Update CHANGELOGS.md 2024-05-16 01:31:44 -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
755c39b2fd Revert "[$100 bounty] mapsd: switch to static render mode (#32118)"
This reverts commit 3c69fcddc8.
2024-05-15 22:25:53 -04:00
DevTekVE
1c0bf18084 Refactor manage_athenad to make it more generic 2024-05-15 22:25:45 -04:00
Jason Wen
e1e26c6b4f NNLC: Rename to new platform names and remove EPS-specific fits for now 2024-05-15 22:25:42 -04:00
Jason Wen
bbc79f1798 Merge branch 'master' into SP-59-sync-priv-20240507 2024-05-15 22:25:40 -04:00
Shane Smiskol
407791113d Revert "card: move all car events (#32427)" (#32439)
* Revert "card: move all car events (#32427)"

This reverts commit 8f46028bd4.

* keep the event here

* oops

* Revert "oops"

This reverts commit ea99a2768fbeb7a6123dd755585157b530e7a2a1.

* Revert "keep the event here"

This reverts commit ec089b4e1afdf09b2e6b184de8f23584ef931601.
2024-05-15 14:32:52 -07: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
Kirito3481
6605743b48 Fix incorrect korean translation (#32436) 2024-05-15 10:29:38 -07:00
Shane Smiskol
1bf2d2e1f9 [bot] Fingerprints: add missing FW versions from new users (#32438)
Export fingerprints
2024-05-15 10:28:28 -07:00
Shane Smiskol
84c15e9d31 Revert "python deps: add sortedcontainers" (#32433)
Revert "python deps: add sortedcontainers (#32428)"

This reverts commit db8273823d.
2024-05-14 16:40:15 -07:00
Shane Smiskol
8f46028bd4 card: move all car events (#32427)
* move last event over

* fix
2024-05-14 15:20:03 -07:00
Shane Smiskol
e9bf36232b Events: remove dependency (#32430)
* Revert "Events: use sorted container (#32395)"

This reverts commit d98ab4ddb1.

* remove implicit dependency
2024-05-14 15:19:02 -07:00
Shane Smiskol
6f3cd143ef controlsd: use already initialized params (#32429) 2024-05-14 14:01:38 -07:00
Shane Smiskol
0f6bbcaa2e bump opendbc (#32426)
bump
2024-05-14 12:41:54 -07:00
YassineYousfi
db8273823d python deps: add sortedcontainers (#32428) 2024-05-14 09:31:09 -07:00
Shane Smiskol
46eda64177 Fix test_time_to_onroad (#32423)
* this star doesn't make sense

* only docs for now

* flip

* fix spotty test_time_to_onroad.py

* better

fix

fix

fix

fix

* already there -_-

* we can fp again
2024-05-13 18:56:15 -07:00
Shane Smiskol
d0d44a51a0 card: create pedal pressed event (#32417)
* card: create pedal pressed event (#32393)

* move pedalPressed to card

* rm

* needs to be a builder

* move these

* clean up

* reader later

* Update ref_commit

* moved to card
2024-05-13 16:18:55 -07:00
Shane Smiskol
82e70db47c Car docs: gate auto resume star on enable down to stop (#32421)
* this star doesn't make sense

* only docs for now

* flip
2024-05-13 16:18:29 -07:00
Shane Smiskol
06c581e202 Hyundai Kona: add min speed (#32420)
* add min speed for kona

* update docs
2024-05-13 16:02:47 -07:00
Greg Hogan
2a46d71fc8 logreader: skip internal source if connection refused (#32418)
* logreader: skip internal source if connection refused

* fix indentation

* fix spacing

* explicit ipv4 and tcp
2024-05-13 16:02:28 -07:00
Adeeb Shihadeh
7f9ad78ac8 let's be more decisive 2024-05-13 15:39:36 -07:00
Adeeb Shihadeh
1c481c5ad3 rerun.io proof of concept (#32416)
* Adding demo version for acceleration only

* Adding, plot any event

* Adding dynamic blueprint creation and menu to choose what to plot

* Adding, pool of processes for faster data visualization

* Adding, install rerun if not present

* Adding. thumbnail support

* Refactoring, minor cleanup

* -Use rerun pre-release
-Remove json as a middle format
-Replace recursion with stack-based approach

* Refactoring, using services from cereal instead of hardcoding them

* Use of lr.run_across_segments instead of pool,
Use of python dict instead of capnp objs - better performance
Use LogReader syntax

* Enable logging of liveTracks, pandaStates

* Use of plotjuggler user experience

* Fixing bug in log_msg function

* cleanup

---------

Co-authored-by: savojovic <jovo.savic00@gmail.com>
Co-authored-by: savojovic <74861870+savojovic@users.noreply.github.com>
2024-05-13 15:04:37 -07:00
Shane Smiskol
9287a69624 Revert "card: create pedal pressed event" (#32414)
Revert "card: create pedal pressed event (#32393)"

This reverts commit d18da895d3.
2024-05-13 14:25:22 -07:00
Shane Smiskol
d18da895d3 card: create pedal pressed event (#32393)
* move pedalPressed to card

* rm

* needs to be a builder

* move these

* clean up

* reader later

* Update ref_commit
2024-05-13 14:15:26 -07:00
Adeeb Shihadeh
79c8fb0236 ui: fix brightness when there's no camera (#32413) 2024-05-13 13:27:05 -07:00
Shane Smiskol
3dfb6d7931 CarInterface: move stateless, common car events to car interface (#32394)
* move stateless, common car events to car interface

* try to reduce process replay diff a bit

* Revert "try to reduce process replay diff a bit"

This reverts commit b12798deabea67c5a636d6e70e80a3c21c7225ff.

* update refs
2024-05-13 12:50:42 -07:00
Shane Smiskol
d98ab4ddb1 Events: use sorted container (#32395)
* use SortedList

* Update ref_commit
2024-05-13 12:16:53 -07:00
commaci-public
6a9be01857 [bot] Update Python packages and pre-commit hooks (#32411)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-05-13 08:40:23 -07:00
Shane Smiskol
be3e99e2d3 [bot] Fingerprints: add missing FW versions from new users (#32412)
Export fingerprints
2024-05-13 08:39:49 -07:00
commaci-public
acd84e0f9c [bot] Bump submodules (#32410)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-05-13 08:39:34 -07:00
Jason Young
f770f55a4e VW MQB: Support for preempted HCA state (#32298)
* bump opendbc

* VW MQB: Support for preempted HCA state
2024-05-12 22:06:03 -07:00
Dean Lee
e548742701 boardd: Improve performance of can_list_to_can_capnp() (#32356) 2024-05-12 22:01:08 -07:00
Andrei Radulescu
ced3fab7d5 ui: don't show PrimeUserWidget on PrimeType.UNKNOWN (#31976) 2024-05-12 21:43:34 -07:00
Julio Salamanca
6aa17ab10a Remove qlog param from demo example (#32406)
Remove qlog param from demo instructions

qlog param was removed in this commit

d7e7659852
2024-05-12 17:00:17 -07:00
Adeeb Shihadeh
dcfb206a38 boardd: SPI corruption test (#32404)
* simple test

* little more

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-05-11 14:24:28 -07:00
Adeeb Shihadeh
07aad17993 bump cereal (#32403) 2024-05-11 13:43:16 -07:00
Adeeb Shihadeh
4af50cee63 boardd: fix SPI return code on some transfer failures (#32401) 2024-05-11 13:15:50 -07:00
Jason Wen
d7715899cb Bump submodules (#332) 2024-05-11 15:27:27 -04:00
Shane Smiskol
3fd549f30a [bot] Fingerprints: add missing FW versions from new users (#32397)
Export fingerprints
2024-05-11 10:54:24 -07:00
Shane Smiskol
d28624fe5b card: more final structure 2024-05-10 23:18:48 -07:00
Shane Smiskol
ef1693433f controlsd: use latest actuatorsOutput (#32390)
use current actuatorsOutput
2024-05-10 21:00:01 -07:00
Jason Wen
003d5ccf73 Bump submodules (#331) 2024-05-09 16:31:52 -04:00
Jason Wen
9ebc4552bf Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#328) 2024-05-09 12:29:59 -08:00
Jason Wen
59405443b5 Bump submodules (#330) 2024-05-09 16:09:05 -04:00
Jason Wen
f5171c34a9 Bump panda 2024-05-09 15:48:47 -04:00
Jason Wen
8b02be74f9 Merge branch 'master' into SP-59-sync-priv-20240507 2024-05-09 15:48:40 -04:00
Jason Wen
9e3f57d53e Merge branch 'master' into SP-59-sync-priv-20240507 2024-05-09 15:48:29 -04:00
Jason Wen
0f8c4ed155 Bump submodules (#329) 2024-05-09 14:39:58 -04:00
Shane Smiskol
4486947e81 [bot] Fingerprints: add missing FW versions from new users (#32384)
Export fingerprints
2024-05-09 10:51:15 -07:00
devtekve
ae6ef196e7 Add QStackedLayout to onroad_home.cc
Added QStackedLayout to the includes in onroad_home.cc file. Not sure how it was compiling for others, but it wasn't working for me on m1
2024-05-09 15:40:26 +02:00
Miguel Fernandez
b2d5edcdb5 Merge remote-tracking branch 'refs/remotes/openpilot/master' into small-sync
# Conflicts:
#	cereal
#	opendbc
#	panda
#	selfdrive/car/__init__.py
#	selfdrive/monitoring/dmonitoringd.py
2024-05-09 15:13:00 +02:00
Shane Smiskol
2e6b2ef3c9 card: preparation (#32382)
* card prep

* also format
2024-05-08 23:54:20 -07:00
ZwX1616
273a4f5ca9 Always-on DM: no audible alert at low speeds / block engagement if alert present (#32379)
* min speed

* cmments

* no entry?

* comment
2024-05-08 20:05:03 -07:00
Jason Wen
c53c90f7fa Bump submodules (#327) 2024-05-08 21:58:14 -04:00
Shane Smiskol
a83b182c55 Volkswagen: improve fuzzy fingerprinting (#32378)
* improve VW fuzzy FP matching

* annotate

* Revert "annotate"

This reverts commit 09cbb150e91f5093849c22d95e31152fb8d4d1a9.

* hmm
2024-05-08 17:17:08 -07:00
Adeeb Shihadeh
7ff66986c1 agnos 10.1 (#32373) 2024-05-08 16:51:27 -07:00
Shane Smiskol
b895095031 Cleanup auto_fingerprints.py (#32377)
* messyyy

* super clean car wash

* rm
2024-05-08 15:58:27 -07:00
Jason Young
fe4c7f1499 VW MQB: Add FW for 2022 CUPRA Ateca (#32318)
* VW MQB: Add FW for 2022 SEAT Ateca

* extend Ateca supported model-years

* CUPRA Ateca available from 2018

* regen CARS.md

* wrong model year format
2024-05-08 15:34:16 -07:00
YI418LT
451a38ddee Honda: add missing FW for Civic Hatchback 2020 (Type R Japanese model) (#32305)
* Update fingerprints.py

* format

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-08 15:19:06 -07:00
Jason Young
93fa207c5c VW: raise minimum steering speed to fix a fault (#31450)
* VW: Steer to zero, for large values of zero

* ah, the joy of floating point

* comment, style

* actually fix floating point issue

* follow PlatformConfig refactor

* this check is not useful after PlatformConfig

* don't really need that

* work around docs assert

* little better

* one comment

* update refs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-08 14:38:08 -07:00
young
adf52c7355 Kia: add missing K8 Hybrid 2024 FW (#32259)
add kia k8 hev 2024 fingerprints
2024-05-08 13:35:32 -07:00
Dean Lee
c063395312 util: remove unused functions (#32372)
cleanup
2024-05-08 10:18:43 -07:00
andreasdamm
7ab39fb92c Added ECU FW version for 2021 Lincoln Aviator Black Label Grand Touring (#32361) 2024-05-07 21:49:52 -07:00
Adeeb Shihadeh
2d838f95da boardd: add debug flag for injecting SPI errors (#32346)
* pull out ll first

* errors

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-05-07 21:36:04 -07:00
Adeeb Shihadeh
71832d651a Revert "agnos 10.1 (#32348)"
This reverts commit d0e5f42b68.
2024-05-07 20:33:09 -07:00
Cameron Clough
85c9fea5d8 Ford: use platform codes to fuzzy fingerprint (#31124)
* Ford: use platform codes to fuzzy fingerprint

TODO: write scripts/tests (print platform codes and version ranges etc.)

May close #31052

* get_platform_codes: fix return type

* add print_platform_codes.py script

* print_platform_codes: sort versions

* match_fw_to_car_fuzzy: use set comprehension, and fix typo

* Ford: add missing Mach-E fw

From the route 83a4e056c7072678/2023-11-13--16-51-33 (which is already
in selfdrive/car/tests/routes.py, added in #30691).

* add ford_fuzzy_fingerprint.ipynb notebook

* get_platform_codes: use regex to parse firmware

* test_ford: test_platform_codes_fuzzy_fw

* test_ford: use get_platform_codes in test_fw_versions

* match_fw_to_car_fuzzy: improve comments

* test_ford: add test_platform_codes_spot_check

* test_ford: add test_match_fw_fuzzy

* remove comment from notebook

* TestFordFW: remove engine ECU FW

* update print_platform_codes.py

* remove part number (unecessary)

* platform codes can just use platform hint and model year - software revision not useful

* fuzzy FP on the platform hint and model year hint range

* fix platform codes test

* update notebook

* add notebook

* explain model year hint better

* test part numbers again

* cleanup notebooks

* remove notebook

* cleanup match_fw_to_car_fuzzy and add comments

* update comment

* .

* Revert "remove notebook"

This reverts commit 5d4ca202f2a23601d5c829204119f36a58f2b451.

* add notebook back

* remove PSCM from PLATFORM_CODE_ECUS

ABS and IPMA are the best for uniquely matching, and the radar is always required

* Revert "remove PSCM from PLATFORM_CODE_ECUS"

This reverts commit b7baeac19c18b5aa0c31da52f12054f4bae6e1ff.

* fix from merge

* more fixes

revert

* FW_RE -> FW_PATTERN

* this can actually be set

* conventions

* just add

* convention

* refactor matcher, this brings it more in line with Hyundai. IMPORTANT NOTE:

NOTE THAT WE remove the separation for the different platform code model year hint ranges, I don't see that being a problem

* better/smaller test

* add test to catch overlapping platform codes

* remove nb

* not now

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-07 20:28:59 -07:00
Adeeb Shihadeh
d0e5f42b68 agnos 10.1 (#32348) 2024-05-07 20:05:38 -07:00
Dean Lee
b551e7c1a2 cabana: Implement Remote Route Browsing Feature (#32332)
browse remote routes
2024-05-07 19:59:30 -07:00
Adeeb Shihadeh
cdf2e75cc3 reduce severity of offroad temperature alert 2024-05-07 15:58:59 -07:00
Adeeb Shihadeh
1fc3d9224e remove Offroad_InvalidTime alert 2024-05-07 15:58:29 -07:00
Shane Smiskol
888b38c3db print_flags.py: clean up
always ensure current impl of something is the best!
2024-05-07 15:06:23 -07:00
Shane Smiskol
f597d63bf6 PlatformConfig: clean up and print all flags (#32369)
* script to print flags

* don't need

* SAL

* back

* fix
2024-05-07 15:00:02 -07:00
Jason Wen
3adbebd701 Bump submodules (#326) 2024-05-07 04:38:04 -04:00
Jason Wen
11351823ef GAC: Remove from sunnypilot 2024-05-07 04:05:11 -04:00
Jason Wen
440b5d7110 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#325) 2024-05-06 22:40:47 -08:00
Jason Wen
eff5102235 Bump submodules 2024-05-07 02:40:03 -04:00
Jason Wen
e1c9d59951 Revert "Revert LFS changes for now"
This reverts commit def7873e7e.
2024-05-07 02:38:55 -04:00
Adeeb Shihadeh
f93b139098 remove tools/zookeeper/ 2024-05-06 20:01:15 -07:00
Adeeb Shihadeh
6dd55b64d8 fix pigeond test path 2024-05-06 17:30:33 -07:00
Shane Smiskol
3e7d9fa2fe Kia: add missing Carnival 2024 FW (#32365)
carnival 2024 FW
2024-05-06 17:10:12 -07:00
Adeeb Shihadeh
1c42b8a05f revert changes to release/ (#32364)
* revert changes to release/

* put those back

* revert Jenkinsfile
2024-05-06 16:42:35 -07:00
Adeeb Shihadeh
1de6428896 remove foxglove, rerun is the future 2024-05-06 16:29:23 -07:00
Shane Smiskol
e5107b1eab debug test_models script fixes (#32362)
* some things were renamed without checking

* fix that
2024-05-06 15:01:06 -07:00
Shane Smiskol
c05fc4872e [bot] Fingerprints: add missing FW versions from new users (#32357)
Export fingerprints
2024-05-06 13:47:20 -07:00
commaci-public
3c32585a92 [bot] Update Python packages and pre-commit hooks (#32355)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-05-06 13:46:58 -07:00
Hoang Bui
aca01365e6 CI/Simulator: Add Metadrive test to CI (#32352)
* works consistently

* ci gha

* fix

* navd

* fix

* cleanup

* change button

* cleanup

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-05-05 16:32:08 -07:00
Jason Wen
415acad40c Revert "remove pedal (#31903)"
This reverts commit fa12a672
2024-05-04 23:55:40 -04:00
Jason Wen
a48a909997 Revert "cleanup pedal crc"
This reverts commit 23e8ad7397.
2024-05-04 23:51:38 -04:00
Jason Wen
dc37a6f9b2 Revert "simulator: Remove comma pedal sensor (#32030)"
This reverts commit 1637265ad3.
2024-05-04 23:51:35 -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
Dean Lee
5f8b53be33 cabana: fix the panda serial selector disappeared after buildConfigForm() (#32342) 2024-05-04 09:40:54 -07:00
Shane Smiskol
3bf7009877 [bot] Fingerprints: add missing FW versions from new users (#32349)
Export fingerprints
2024-05-04 09:39:16 -07:00
commaci-public
7b5923a5eb [bot] Bump submodules (#32344)
bump submodules

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-05-03 14:34:37 -07:00
Shane Smiskol
22be176b87 [bot] Fingerprints: add missing FW versions from new users (#32340)
Export fingerprints
2024-05-03 10:46:57 -07:00
Dean Lee
c0a2ce31ee replay: fix hang issue on system wake-up (#32341)
fix hang issue on system wake-up
2024-05-03 10:46:39 -07:00
Dean Lee
d72f000d98 cabana: Improve seeking and zooming (#32334)
* Improve seeking and zooming

* No repeated calculation of freq

* set min zoom seconds to 10ms
2024-05-03 02:42:29 -07:00
Shane Smiskol
d7d3111212 athenad: set TOS field for proxy WebSocket (#32337)
set TOS
2024-05-03 01:30:32 -07:00
Shane Smiskol
09aeab3f77 athenad: set a timeout on proxy WebSocket receive (#32336)
* useless

* Revert "useless"

This reverts commit 28f0bb9e9794d60eefba8063b47d8ca113308008.

* this forever hangs you disconnect (or 2 hours)

* same timeout as the global websocket

* Revert "same timeout as the global websocket"

This reverts commit 0bd0cb8a38a3e17960c1fae205311d86a9cf8feb.

* setting the timeout affects the entire websocket and disconnects, not just recv timeout

* fix that

* fix test
2024-05-02 20:30:19 -07:00
Jason Wen
def7873e7e Revert LFS changes for now 2024-05-02 15:35:27 -04:00
Adeeb Shihadeh
bf2e00a233 CPU budget (#32335)
* cpu budget

* comment

* new line
2024-05-02 12:09:34 -07:00
Shotaro Watanabe
0362cfa7ee devcontainer: added batman to the video group (#32333) 2024-05-01 22:22:35 -07:00
Adeeb Shihadeh
b98ea81bdb agnos 10 (#32320) 2024-05-01 20:54:32 -07:00
Jason Wen
32c59e829c LFS: Move to sunnypilot's public GitLab 2024-05-01 22:12:26 -04:00
Andrei Radulescu
6a52507e3a camerad: cast ci->image_sensor to unsigned short (#32317)
fixes 24.04 build
2024-05-01 15:00:25 -07:00
Adeeb Shihadeh
6ef95f7a91 adjust gps alert 2024-05-01 11:35:20 -07:00
Kacper Rączy
d6a2a7ba60 bodyteleop: include .gitignore in release files (#32328)
Add gitignore to release files
2024-04-30 14:05:37 -07:00
DevTekVE
c7ade243a9 Subaru: Increase RPM Limit (#32299) 2024-04-30 20:33:01 +00:00
Harald Schäfer
b9994c7c95 North Dakota Model (#32309)
* ND model

* 86d23b15-5c26-464d-9fb5-e857f025462c/700

* Model ref replay commit

* update ref again
2024-04-29 17:42:49 -07:00
Adeeb Shihadeh
f3a49a29b7 unpin casadi (#32316) 2024-04-29 16:35:49 -07:00
commaci-public
fa7edadaa7 [bot] Update Python packages and pre-commit hooks (#32314)
Update Python packages and pre-commit hooks

Co-authored-by: Vehicle Researcher <user@comma.ai>
2024-04-29 09:10:03 -07:00
Adeeb Shihadeh
82f7ab8f7d CI: set bot PR author 2024-04-29 09:00:12 -07:00
Shane Smiskol
45c021955a [bot] Fingerprints: add missing FW versions from new users (#32315)
Export fingerprints
2024-04-29 08:53:24 -07:00
Adeeb Shihadeh
a44add160e prep for ubuntu 24.04 (#32307)
* update to ubuntu 24.04

* latest

* revert those

* fix that

* vla

* try that

* fix uid

* keep 20.04 support

* just prep for now
2024-04-28 16:24:04 -07:00
Adeeb Shihadeh
1b0ce23bbe bump panda; ubuntu 24.04 2024-04-28 15:33:37 -07:00
Adeeb Shihadeh
3e1617deaa bump submodules - ubuntu 24.04 (#32312) 2024-04-28 14:14:55 -07:00
Dean Lee
37877185f8 cabana: show enum string in chart tooltip (#32303) 2024-04-27 16:31:48 -07:00
Armand du Parc Locmaria
adabd108e2 commabody: ignore fcw alerts (#32301)
* ignore modelV2 and longitudinalPlan on the body to avoid fcw alerts

* move joystick_mode up because ignore depends on it

* revert and ignore fcw itself instead
2024-04-26 20:04:10 -07:00
Jack Merrill
5783bdc513 Subaru: Increase RPM Limit (#32299)
Increase the Subaru RPM limit in values.py, update panda submodule
2024-04-26 16:07:17 -07:00
Shane Smiskol
98ff2dd76e [bot] Fingerprints: add missing FW versions from new users (#32300)
Export fingerprints
2024-04-26 14:16:13 -07:00
Adeeb Shihadeh
d56f188854 Revert "ui/cameraview: merge EGL Image Clearing code into clearEGLImages() (#32292)"
This reverts commit 7e6dda546e.
2024-04-25 11:14:03 -07:00
Dean Lee
edb683a62b camerad: Localizing the variable "ret" (#32294)
Localizing the variable "ret"
2024-04-25 11:08:27 -07:00
Dean Lee
7e6dda546e ui/cameraview: merge EGL Image Clearing code into clearEGLImages() (#32292) 2024-04-25 11:05:45 -07:00
Dean Lee
3efd0ff4fa cabana: increase cache limits (#32295) 2024-04-25 10:35:49 -07:00
Dean Lee
d7d378aeef ui/network: add error handing for dbus call (#32164) 2024-04-24 20:16:02 -07:00
Dean Lee
3bcb6f82af ui/network: add error handling for refreshFinished (#32167) 2024-04-24 20:15:37 -07:00
Dean Lee
06c4a541da ui/map: check valid before accessing PositionECEF (#31961)
check valid
2024-04-24 20:14:42 -07:00
Mauricio Alvarez Leon
bbbd510fcc update pip/poetry versions (#32289) 2024-04-24 19:47:22 -07:00
Dean Lee
b13456f81f replay: shared decoder context (#32255)
share decoder context

cleanup includes
2024-04-24 19:44:18 -07:00
Shane Smiskol
97dc444023 fix uiview (#32290)
* fix uiview

* add DMoji!
2024-04-24 17:05:18 -07:00
Dean Lee
2d1078ee5b cabana: some improvements (#32161)
some improvements
2024-04-24 15:56:25 -07:00
Dean Lee
a6396be53e cabana: improve DBCFile::parse() (#32160)
improve parse()
2024-04-24 15:55:58 -07:00
Adeeb Shihadeh
e095c7c858 Update RELEASES.md 2024-04-24 14:55:34 -07:00
Alexandre Nobuharu Sato
07df3d28a4 Added alwaysOnDM toggle description to RELEASES.md (#32266) 2024-04-24 09:40:05 -07:00
Dean Lee
5e61775561 cabana: refactor HistoryLog for simplification and enhancements (#32284) 2024-04-23 09:53:50 -07:00
Dean Lee
bbd1648f05 replay: optimize memory usage with MonotonicBuffer (#32278)
Optimize Memory Usage with MonotonicBuffe
2024-04-22 19:21:42 -07:00
Eric Brown
7f916f2e9d Add missing fingerprint migration for Escalade ESV (#32282)
Add fingerprint migration for CADILLAC ESCALADE ESV PLATINUM 2019
2024-04-22 18:21:51 -07:00
Shane Smiskol
6dcaeae369 VW: Add 3C chassis code for Passat (#32279)
* Add 3C for Passat in Australia

* add radar needed to fuzzy VIN match for b9783084b8aa0083
2024-04-22 18:20:14 -07:00
Shane Smiskol
124e081fe1 VW: add missing WMI for EU Atlas (#32280)
* test

* test is gonna be super platform specific

* need the radar to fuzzy fingerprint
2024-04-22 15:19:12 -07:00
Dean Lee
618d73efd0 replay: use nanosleep on MacOS (#32263)
* use nanosleep on MacOS

* Update tools/replay/util.cc

Co-authored-by: Willem Melching <willem.melching@gmail.com>

---------

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2024-04-22 13:22:53 -07:00
Eric Brown
20c6cbc1d2 Remove ASCM harness footnote from car docs (#32271)
* Remove ASCM harness footnote from car docs

* Re-add Footnote class

* fix

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-22 12:22:48 -07:00
Shane Smiskol
eb79fd552a [bot] Fingerprints: add missing FW versions from new users (#32270)
* Export fingerprints

* update
2024-04-22 12:22:37 -07:00
Andrew Goodbody
fc318f454a Update action that pulls in deprecated version of Node.js (#32273)
* Update action that pulls in deprecated version of Node.js

Missed an action that still pulls in a deprecated version of
Node.js, so correct that now.

* Fix another action that pulls in deprecated Node.js

Found another action that needs updating
2024-04-22 08:43:26 -07:00
commaci-public
fdc53e4471 [bot] Bump submodules (#32275)
bump submodules

Co-authored-by: jnewb1 <9648890+jnewb1@users.noreply.github.com>
2024-04-22 08:42:31 -07:00
commaci-public
5d7b01bbe0 [bot] Update Python packages and pre-commit hooks (#32276)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <9648890+jnewb1@users.noreply.github.com>
2024-04-22 08:42:22 -07:00
Dean Lee
bab8cdfdef Cabana: bug fixes (#32272)
* Fix SIGSEGV due to thread race conditions after seeking

* adding ID as a secondary sorting factor

* fix gaps
2024-04-21 22:34:24 -07:00
Dean Lee
2c409e0980 replay: bug fixes and improvements (#32193) 2024-04-21 17:09:17 -07:00
Shane Smiskol
099e31ae0a [bot] Fingerprints: add missing FW versions from new users (#32268)
Export fingerprints
2024-04-21 02:55:35 -07:00
Alexandre Nobuharu Sato
17ec4ad24e Honda: Brazilian HR-V 2023 fingerprint (#32243)
* fingerprint Honda HR-V 2023, brazilian market

* update routes

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-21 02:29:43 -07:00
Shane Smiskol
b54d701c83 [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#32264)
Export fingerprints
2024-04-21 01:46:19 -07:00
Shane Smiskol
8583e61b84 [bot] Fingerprints: add missing FW versions from new users (#32265)
Export fingerprints
2024-04-21 01:31:09 -07:00
Shane Smiskol
9f4cf8017f GM: hide ASCM from car docs (#32260)
* stash

* clean up

* programmatically

* Update selfdrive/car/gm/values.py

* do flags later

* clean up
2024-04-19 20:33:48 -07:00
Shane Smiskol
fa1a6bcd6b GM: clean up test (#32261)
* not necessary

* Update selfdrive/car/gm/tests/test_gm.py
2024-04-19 19:38:39 -07:00
Shane Smiskol
f427427b5e values: use union arguments (#32258)
* use get_args to reduce duplication

* clean up
2024-04-19 17:46:40 -07:00
ZwX1616
ee01be71e1 camerad: frame sync OS (#32155)
auto

Co-authored-by: Comma Device <device@comma.ai>
2024-04-19 13:51:09 -07:00
ZwX1616
03d1c48017 camerad: OS HDR (#32112)
* it's something

* backup

* 16:10

* cleanup

* this is fine

* close

* remove some junk

* no heck

* disos

* real 10

* for some reason this is flipped

* 20hz

* no return

* ae

* tear

* need curve laster

* correct real gains

* fix time

* cleanup

* why the scam

* disable for now

* 0.7

* hdr

* that doesnt work

* what

* hugeoof

* clean up

* cleanup

* fix regs

* welp cant

* is this corrent

* it is sq

* remove

* back

* stg10bit

* back2ten

* Revert "remove"

This reverts commit 18712ab7e103c12621c929cd0f772ecb9b348247.

* 20hz and swb

* correct height

* 10bit

* ui hack for now

* slight

* perfect

* blk64

* ccm

* fix page faults

* template

* set 4x

* is this fine

* try

* this seems to work

* Revert "this seems to work"

This reverts commit d3c9023d3f14bd9394fed2d6276dba777ed0e606.

* needs to be static

* close

* 64 is optimal

* 2

* take

* not 1

* offset

* whats going on

* i have no idea

* less resistence

* box defs

* no

* reduce blur artifacts

* simplify

* fix

* fake short is too much for bright

* can be subzero

* should not use lsvc

* no wasted bit

* cont no slow

* no less than 10bit

* it is based

* wrong

* right

* quart

* shift

* raise noise floor

* 4.5/4.7

* same ballpark

* int is fine

* shane owes me m4a4

* Revert "shane owes me m4a4"

This reverts commit b4283fee18efebedae628a6cfd926ff1416dcfe5.

* back

* Revert "4.5/4.7"

This reverts commit e38f96e90cb5370bd378f6b66def9e7e3ed0ce5d.

* default

* oof

* clean up

* simpilfy

* from sensorinfo

* no div

* better name

* not the wrong one

* not anymore relevant

* too

* not call it debayer

* cl headers

* arg is 2nd

* gone is is_bggr

* define

* no is hdr

* rgb_tmp

* p1

* clean up

* 4

* cant for

* fix somewhre else

* const

* ap

* rects

* just set staruc

* nnew tmp

* hmm

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-04-19 13:44:03 -07:00
Andrew Goodbody
ba2538c29c Update actions to replace deprecated versions (#32246)
actions/cache@v3 uses the deprecated Node.js 16 so update to
use v4 which uses Node.js 20. This also applies to save and
restore
2024-04-19 12:33:45 -07:00
Justin Newberry
3446de2b8e ui: fix non-updating text2 alerts (#32256)
fix joystick
2024-04-19 12:03:23 -07:00
Dean Lee
a824bd75ef replay: refactor Event to remove the readers (#32252)
Refactor struct Event to remove the MessageReader from it
2024-04-19 11:15:34 -07:00
Shane Smiskol
60c71580da [bot] Fingerprints: add missing FW versions from new users (#32253)
Export fingerprints
2024-04-19 11:14:40 -07:00
Justin Newberry
0d5dd25db5 jenkins: simplify timer check (#32254)
simplify timer check
2024-04-19 10:03:47 -07:00
ZwX1616
331c7b103a image processing refactor and test (#32249)
* it's something

* backup

* 16:10

* cleanup

* this is fine

* close

* remove some junk

* no heck

* disos

* real 10

* for some reason this is flipped

* 20hz

* no return

* ae

* tear

* need curve laster

* correct real gains

* fix time

* cleanup

* why the scam

* disable for now

* 0.7

* hdr

* that doesnt work

* what

* hugeoof

* clean up

* cleanup

* fix regs

* welp cant

* is this corrent

* it is sq

* remove

* back

* stg10bit

* back2ten

* Revert "remove"

This reverts commit 18712ab7e103c12621c929cd0f772ecb9b348247.

* 20hz and swb

* correct height

* 10bit

* ui hack for now

* slight

* perfect

* blk64

* ccm

* fix page faults

* template

* set 4x

* is this fine

* try

* this seems to work

* Revert "this seems to work"

This reverts commit d3c9023d3f14bd9394fed2d6276dba777ed0e606.

* needs to be static

* close

* 64 is optimal

* 2

* take

* not 1

* offset

* whats going on

* i have no idea

* less resistence

* box defs

* no

* reduce blur artifacts

* simplify

* fix

* fake short is too much for bright

* can be subzero

* should not use lsvc

* no wasted bit

* cont no slow

* no less than 10bit

* it is based

* wrong

* right

* quart

* shift

* raise noise floor

* 4.5/4.7

* same ballpark

* int is fine

* shane owes me m4a4

* Revert "shane owes me m4a4"

This reverts commit b4283fee18efebedae628a6cfd926ff1416dcfe5.

* back

* Revert "4.5/4.7"

This reverts commit e38f96e90cb5370bd378f6b66def9e7e3ed0ce5d.

* default

* oof

* clean up

* simpilfy

* from sensorinfo

* no div

* better name

* not the wrong one

* not anymore relevant

* too

* not call it debayer

* cl headers

* arg is 2nd

* gone is is_bggr

* define

* no is hdr

* rgb_tmp

* p1

* clean up

* 4

* cant for

* fix somewhre else

* const

* ap

* rects

* just set staruc

* nnew tmp

* pull it for now

* 12

* common rect

* Revert "not anymore relevant"

This reverts commit 1d574673a16cc31b7a255609e07775c3579eef15.

* Revert "too"

This reverts commit c2d4dcc52a859fe799362f9fcc2ffda99b264e50.

* Revert "Revert "too""

This reverts commit 0abbabe1fde51592f1619058638b4ac6a6dee4b3.

* no tol is fine

* rename

* sensor id

* unsgin

* flag

* some linalg

* cast

* should be h ref

* cap

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-04-18 21:45:59 -07:00
Shane Smiskol
5d28b929c3 distance bars: bars always cycle 1, 2, 3 (#32251)
1, 2, 3 instead of 2, 3, 4
2024-04-18 19:39:08 -07:00
Shane Smiskol
23995131af car docs: add Camry 2025 to TS 2024-04-18 16:52:52 -07:00
Shane Smiskol
a8e2c00b98 [bot] Fingerprints: add missing FW versions from new users (#32247)
Export fingerprints
2024-04-18 11:31:38 -07:00
Alexandre Nobuharu Sato
09f978d2b6 Multilang: update pt-BR translations (#32248)
update pt-BR translations
2024-04-18 10:24:49 -07:00
Shane Smiskol
2e5f2d208c Update ref_commit 2024-04-17 23:50:42 -07:00
Shane Smiskol
692a21e4a7 lateral limits: remove Subaru exception (#32244)
* remove exception

* update Outback params

* clean up

* adjust to the upper limit

* don't change control, only docs

* rough
2024-04-17 23:36:58 -07:00
Shane Smiskol
f2ee3f055e IsoTpParalellQuery: extend timeout for any valid ECU response (#32245)
* bump

* bump
2024-04-17 23:25:37 -07:00
Jason Wen
1940ef7480 ui: Dev UI: Bearing Angle fixes 2024-04-17 23:52:00 -04:00
Jason Wen
3c6e0c300d ui: Dev UI: Desired Steering Angle changes 2024-04-17 23:47:51 -04:00
Jason Wen
ba0cc91318 ui: Chevron: Round distance to whole number 2024-04-17 23:28:32 -04:00
Justin Newberry
62f053bc4d consolidate casync build into fewer scripts and fix pc release build (#32225)
* less scripts

* better

* fixes

* naming

* revert

* cleanup

* lets test it

* fix that one

* and rm

* don't run this

* fix

* not here

* revert testing

* fix docs

* default here too

* t

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-04-17 16:33:13 -07:00
Justin Newberry
746901e6b0 bump codecov (#32241) 2024-04-17 15:47:19 -07:00
Shane Smiskol
cb8e336cd7 debug FW query offline: annotate sendcan/can (#32239)
bet
2024-04-17 15:38:05 -07:00
Shane Smiskol
67d6f0b769 Revert "Honda: brazilian HR-V 2023 fingerprint" (#32240)
Revert "Honda: Brazilian HR-V 2023 fingerprint (#31503)"

This reverts commit db5eb58d91.
2024-04-17 15:36:44 -07:00
ksfi
3c69fcddc8 [$100 bounty] mapsd: switch to static render mode (#32118)
* staticrender

* modify static_render_sig_rec name + use back setStyleJson

* better name

---------

Co-authored-by: ksfi <ethos.bulbes_0g@icloud.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-04-17 13:00:47 -07:00
ZwX1616
1d05704d27 Toggle to always enable DM (#32205)
* permanent

* param

* correct behavior

* toggle

* need trans

* ref_commit

* translate for chs/t

* disable on P and R

* read
2024-04-17 12:56:37 -07:00
Justin Newberry
046066032a jenkins: nightly build in correct timezone (#32237)
correct timezone
2024-04-17 10:13:56 -07:00
Dean Lee
8124ba5f63 replay/framereader: no longer cache all AVPacket instances in memory (#32236) 2024-04-17 10:05:32 -07:00
Shane Smiskol
5d0dc2ded2 Toyota: remove unecessary ECUs for fingerprinting (#32235)
* remove some ecus

* missing doc

* fix

* fix

* clean up

* update refs

* rm
2024-04-17 00:09:20 -07:00
Shane Smiskol
3d0f9fb18f Platforms: less redundant string repr (#32233)
smol
2024-04-16 23:37:46 -07:00
Dean Lee
6de5e0d71a ui/network: simplify getActiveConnections (#32174) 2024-04-16 22:25:17 -07:00
Dean Lee
2bee28938a ui/map_eta: avoid divide by zero (#31962) 2024-04-16 22:23:54 -07:00
Alexandre Nobuharu Sato
db5eb58d91 Honda: Brazilian HR-V 2023 fingerprint (#31503)
* add braziliam honda HR-V fingerprint

* cleanup white spaces

* cleanup more white spaces

* remove radar

* add fwdRadar (camera)

* format

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-16 22:08:28 -07:00
Shane Smiskol
3d44edb348 Honda HR-V 3G: allow fingerprinting without the comma power (#32231)
* from 147613502316e718/00000001--ce406cf8a7

* honda hrv 3g obd-less

* rm

* good test

* add back
2024-04-16 21:52:14 -07:00
Shane Smiskol
a076c1e78f FwQueryConfig: test non-essential ecus aren't needless (#32232)
* good test

* remove :D

* typo
2024-04-16 21:49:30 -07:00
Shane Smiskol
119e284758 Honda HR-V 3G: add missing camera ECU (#32230)
* add from 320098ff6c5e4730/2023-04-13--17-47-46

* from a3af9bb0ea9298f4/2024-04-07--10-35-20

* Revert "from a3af9bb0ea9298f4/2024-04-07--10-35-20"

This reverts commit 1bbfa8805891d072986e741296ff2248ab249f23.

* add from 5d8793699017d179/2024-04-16--16-21-14

Honda HR-V 2023 EX-L Mexico plant, US market

* this is that unknown response

* and this is the unknown addr from the og user

* clean up

* consistent order

* update pattern
2024-04-16 21:19:57 -07:00
Shane Smiskol
4a9f3a4f27 [bot] Fingerprints: add missing FW versions from new users (#32221)
Export fingerprints
2024-04-16 19:12:30 -07:00
Justin Newberry
c8f729761e devcontainer: passthrough .azure (#32228)
azure
2024-04-16 17:40:53 -07:00
commaci-public
843e9de6cf [bot] Bump submodules (#32226)
bump submodules

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2024-04-16 17:28:05 -07:00
Justin Newberry
f072b7b8a0 fix concurrent build cancellation (#32224)
fix concurrent builds
2024-04-16 16:10:03 -07:00
Adeeb Shihadeh
713b7e90c2 pandad: reconnect after reset (#32223) 2024-04-16 15:54:58 -07:00
Justin Newberry
f12c4d8251 jenkins: remove pollSCM (#32220)
* try

* master
2024-04-16 12:51:44 -07:00
Alexandre Nobuharu Sato
7e20812924 ui: cleanup white space after string (#32217)
* cleanup white space after string

* update

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-16 12:51:23 -07:00
Justin Newberry
e4f4fd1d5a rename build_release to build_git_release (#32219)
fix names
2024-04-16 12:06:48 -07:00
Justin Newberry
7c378814f1 jenkins: nightly casync build off of master (#32218)
release node
2024-04-16 12:00:18 -07:00
Alexandre Nobuharu Sato
7e494eb06f Multilang: update pt-BR translation (#32216)
remove navFeatures description from experimental toggle
2024-04-16 10:35:02 -07:00
Shane Smiskol
0b8de57c56 [bot] Fingerprints: add missing FW versions from new users (#32211)
Export fingerprints
2024-04-16 10:33:58 -07:00
Justin Newberry
4356ad9bf5 also remove channel from jenkinsfile (#32213) 2024-04-15 17:43:40 -07:00
Justin Newberry
cedf98de5a casync build: remove channel from build metadata json (#32212)
* remove channel

* fix

* reset

* remove this

* no channel
2024-04-15 16:44:43 -07:00
Shane Smiskol
c309333b79 [bot] Fingerprints: add missing FW versions from new users (#32209)
Export fingerprints
2024-04-15 15:34:10 -07:00
Shane Smiskol
f7f7dba5ed [bot] Fingerprints: add missing FW versions from new users (#31840)
Export fingerprints
2024-04-15 15:17:21 -07:00
Jason Young
d14407dafa Subaru: Add FW for 2020 Subaru Forester (#31748) 2024-04-15 15:03:22 -07:00
kangtae1
fd401c317d Fingerprint: KIA Niro HEV 2021 - South Korea model (#31499)
* Fingerprints: KIA Niro HEV South Korea model

* Update selfdrive/car/hyundai/fingerprints.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-15 14:58:34 -07:00
Shane Smiskol
ed1d12974f Hyundai CAN: check traction control enabled (#32208)
* add esp

* add tcs11
2024-04-15 14:41:03 -07:00
DevTekVE
39bcc41f9f [sunnylink] Integrate debug logging and revise retry mechanism in sunnylinkd.py 2024-04-15 19:24:40 +00:00
Dean Lee
c1b059de1e ui/onroad: split into multiple files (#32059) 2024-04-15 09:33:28 -07:00
Shane Smiskol
70cdcc51a9 [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#32203)
Export fingerprints
2024-04-15 09:28:32 -07:00
James
038782bcba Fix "PlaformConfig" typo (#32201) 2024-04-15 09:11:40 -07:00
Cameron Clough
7bc81341e1 Ford: add Ranger 2024 (CAN FD, dashcam only) (#31956)
* Ford: add Ranger 2024 (CAN FD, dashcam only)

* force fingerprint

* debug

* add FW (using debug_fw_fingerprinting_offline)

* add test route

* Revert "debug"

This reverts commit 9d128cb1bbb28fb0cb8da6725c291ebe285e7467.

* Revert "force fingerprint"

This reverts commit 421d92172f354b4713a1371bec9dc9b1bbb6318f.

* update package and finalise steer ratio

"Adaptive Cruise Control with Lane Centering" is part of the Raptor
Standard Equipment Group (i.e. only on the Raptor trim). However,
looking at As-Built/VIN data for Raptor LARIATs show that although Ford
does not advertise it they do come with Lane Centering (the configurator
only says they have ACC with Stop and Go).

ACC with Stop and Go can also be added to the lower XLT trim as part of
the Technology Package, but it is unclear at this point whether that
includes Lane Centering.

The 2021 Ranger had a 17.0 steer ratio. The As-Built data suggests
17/18. PlotJuggler shows the liveParameters.steerRatio between 16.5-17.5
on two short drives.

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-14 18:00:34 -07:00
Dean Lee
ba98786ee3 ui: fix pair button shows on paired device (#32109) 2024-04-14 18:00:01 -07:00
Dean Lee
e9965c87d3 ui/network: initialize raw_adapter_state to NM_DEVICE_STATE_UNKNOWN (#32175) 2024-04-14 17:52:59 -07:00
Dean Lee
40b061cd51 ui/network: update known connections after adding tethering connection. (#32166)
update known connections
2024-04-14 17:52:20 -07:00
DevTekVE
fe023d946f Add new thread for handling sunnylink queue 2024-04-14 10:11:08 +00:00
Shane Smiskol
585c62673f [bot] Fingerprints: add missing FW versions from new users (#32195)
Export fingerprints
2024-04-13 21:20:15 -07:00
Shane Smiskol
5f9a25dfe9 Volkswagen: add missing Golf FW (#32196)
add missing golf fingerprints
2024-04-13 21:03:45 -07:00
dkiiv
9244f0f0d5 VW: update LKA HUD to be more logically accurate (#31895)
* VW: update LKA HUD to be more logically accurate

* consistent case

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-13 20:27:53 -07:00
Saber
70ee42d17f VW MQB: Add FW for 2023 TROC (#31737)
* Update fingerprints.py

* Update values.py

TROC is MQB instead of MQB A0

* update docs

* missing srs!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-13 20:22:34 -07:00
DevTekVE
53f50e53ef Add easter egg for specific Sunnylink device ID 2024-04-13 17:40:17 +00:00
Jason Wen
0e237f459c sunnylink: Sync Settings 2024-04-13 17:22:33 +00:00
DevTekVE
900e312687 Add request_queued method to SunnylinkApi 2024-04-13 17:21:07 +00:00
Shane Smiskol
6acf763db4 Volkswagen: fingerprint on VIN chassis code (#32148)
* add function signature and behavior comment

* add test

* move chassis codes to platform config!

* add a shared chassis code test

* function

* test matching

* this commit isn't complete yet

* Revert "this commit isn't complete yet"

This reverts commit ae77d5cd54e1f43d390fb70c4da38a95ac34f8da.

* need to check WMI

* TODO: test WMI

* test wmi

* radar FW sanity check

* fix test

* fixes from merge

fixes from merge

* whoops

* fix static analysis!

* do match_fw_to_car

match_fw_to_car takes vin

* makes sense to keep it one function, and we can return exact or fuzzy!

* clean up

* kinda pointless

* fix more tests

* back to function being only fuzzy

* revert test_fw_fingerprint

* revert test_fw_fingerprint

* simplify

* clean up/fixes

* rename test

* less duplicatey WMI descriptions

* fix

* convert to enum

* I am confident about these WMIs

* these are also good

* we support 5N AUS/NZ and NAR (North American) AX Tiguans

fixes

* Tiguan also Mexico

* only one user for caddy

* got from the test route

* check that the gateway type matches the platform (each platform has 1 or 2 types)

* ~gateway~ -> exact FW match

* remove re

* ensure WMIs are set

* actually no reason to delete

* move comment up to the platform config

* proper wmis typing

* spacing

* flip
2024-04-12 22:00:03 -07:00
Shane Smiskol
02920d67b7 Volkswagen: move FW pattern to test (#32191)
move
2024-04-12 21:19:20 -07:00
Shane Smiskol
8dbf7aa2ab Volkswagen: add missing chassis codes (#32189)
* add Tiguan NAR (North American Region)

* cars in AUS/NZ (2019+) have first generation chassis code :/

jyoung states true first generation cars should CAN error
2024-04-12 21:05:50 -07:00
Shane Smiskol
b3397882a3 Volkswagen: enable OBD-less fingerprinting for gateway-integrated cars (#32188)
* too complex

* Revert "too complex"

This reverts commit 7614bfd466f26cf9b3ebf267f5a2c06d97527496.

* no logging is fine

* EPS is non-essential for exact matching
2024-04-12 20:51:54 -07:00
Miwa / Ensan
969be5ab9c Fix panda sorting logic in pandad (#32100)
* fix: returns int instead of bool in cmp function

* fix: usb_serial will not be equal

* refactor: stop using cmp function and instead use tuple of keys
2024-04-12 18:47:22 -07:00
Justin Newberry
661df357a9 include hash in agnos casync filenames (#32187)
include the hash in agnos filename
2024-04-12 17:10:18 -07:00
Shane Smiskol
08097bdf0c [bot] Fingerprints: add missing FW versions from new users (#32186)
Export fingerprints
2024-04-12 16:02:27 -07:00
Iamz
7dd5dbcf7c Update Thai translations (#32184) 2024-04-12 10:34:24 -07:00
Dean Lee
eb0b1ce975 ui/setup: Initially disable continue button (#32180) 2024-04-12 10:32:23 -07:00
Dean Lee
1c491513b6 ui/setup: use the mode "wb" instead of "w". (#32181) 2024-04-12 10:32:11 -07:00
Jason Wen
397bcf03a5 ui: Reset Access Tokens for all Map Services 2024-04-12 04:07:07 +00:00
Justin Newberry
1f37de1870 jenkins: publish casync agnos alongside builds (#32177)
* publish agnos

* test it

* more logging and fix

* remove this for a quick test

* time logging

* revert that

* space

* Revert "test it"

This reverts commit 3b80d97f7d436bc5b2cc29caf6bff1671f7f3f71.

* bump timeout
2024-04-11 17:51:26 -07:00
Adeeb Shihadeh
ee9d12a038 Tesla: remove CAN fingerprints (#32176) 2024-04-11 14:58:05 -07:00
James
a05de943da Toyota: use existing "pcm_acc_status" declaration (#32173) 2024-04-11 13:58:41 -07:00
Shane Smiskol
cd16eba8fd [bot] Car docs: update model years from new users (#32165) 2024-04-11 10:43:39 -07:00
Dean Lee
e66ded444c ui/network: fix typos (#32163) 2024-04-11 10:43:20 -07:00
Justin Newberry
ccddd48db8 move casync openpilot build to /data/casync/openpilot (#32171)
move to openpilot
2024-04-11 10:25:38 -07:00
Justin Newberry
cce17dc0c5 no cross references between updaters (#32168)
* no references

* but keep this
2024-04-11 09:52:45 -07:00
Justin Newberry
ecb648a68a agnos casync script improvements (#32156)
* build agnos

* include path

* cleanup

* rm this

* test it

* all agnos partitions are AB

* fix that

* correct

* build agnos first

* better temp dir

* revert the order

* try it on pc

* test it

* upload and fix

* build

* pass in environemnt variable

* not in jenkins
2024-04-11 09:46:27 -07:00
DevTekVE
a4806c4c2a sunnylink: Update backup attributes for GitHub and SSH keys 2024-04-11 16:12:04 +00:00
DevTekVE
f1dbb9a1ce LFS: Move to sunnypilot's public GitLab 2024-04-11 15:41:59 +00:00
Shane Smiskol
70b8e277d0 Volkswagen: test FW version format (#32162)
* add test

* more explicit
2024-04-10 23:39:45 -07:00
Jason Wen
957071fd42 Ngrok: Add toggle to start/stop service manually 2024-04-11 05:05:37 +00:00
Dean Lee
c1edc0901e common/params.cc: unlink tmp_path only if there's an error (#32145) 2024-04-10 19:51:33 -07:00
MarinkoMagla
9d1b3cc773 Encode the actual current date in vw_mqb_config.py (#32093) 2024-04-10 15:22:36 -07:00
Shane Smiskol
7a3c03c901 [bot] Fingerprints: add missing FW versions from new users (#32149)
Export fingerprints
2024-04-10 10:38:56 -07:00
Adeeb Shihadeh
bc4c39404a qcomgpsd: don't send bad time assistance (#32151) 2024-04-10 10:24:44 -07:00
Shane Smiskol
16bb4a9ccd Volkswagen: combine platforms with common chassis codes (#32147)
* fix curb weight for Ateca to match Leon better

https://www.auto-data.net/en/seat-ateca-i-1.6-tdi-115hp-start-stop-23096

https://www.seat.com/content/dam/public/seat-website/car-shopping-tools/brochure-download/brochures/ateca/cars-specs-brochure-KH7-NA-december-2018.pdf

* combine leon and ateca

* combine fw

* migrate

* great, both use same torque params

* scala and kamiq

* remove duplicates

* fix

* fix!
2024-04-09 21:00:56 -07:00
Dean Lee
bf61e92518 cabana: gray out inactive messages (#32121)
* improve message list

remove TODO

* improve sort

* remove translate

* fix seeking issue
2024-04-09 19:39:24 -07:00
Shane Smiskol
a623552127 Format volkswagen/values.py 2024-04-09 19:28:02 -07:00
Justin Newberry
91713bed26 jenkins: use token for pushing to openpilot-releases (#32146)
use token

Co-authored-by: tester <tester@comma.ai>
2024-04-09 15:42:30 -07:00
Adeeb Shihadeh
34912b29c1 modeld: less spammy with no cams 2024-04-09 13:45:45 -07:00
Justin Newberry
da403a4407 fix casync uploading (#32144)
fix
2024-04-09 12:32:29 -07:00
Justin Newberry
8364cd2f2c jenkins: publish casync releases from device (#32142)
* publish in ci

* overwrite

* publish in ci

* fix

* test it

* Revert "test it"

This reverts commit b3de51dc693df79b980d7dffc18bcc3c88d83375.

* use right token

* cleanup after uploading

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-04-09 11:38:18 -07:00
YassineYousfi
6c3a33a6d8 WD40 model (#32141)
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700

* cleanup some constants

* update model replay ref
2024-04-09 11:19:43 -07:00
Dean Lee
99285ef1f2 loggerd/logger.cc: use std::stoul instead of std::stol (#32133) 2024-04-09 10:46:07 -07:00
Dean Lee
cad7b96c3a loggerd/logger.cc: fix typo (#32134) 2024-04-09 10:45:48 -07:00
YassineYousfi
754dd45ffa disable navigate on openpilot (#32106)
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700

* noop ciao

* here too

* mapsd too

* update translations

* disable mapsd test from test onroad

* disable mapRenderState test from timings

* lint

* fix exp mode toggle panel

* update tr

* french done

* dont build mapd

* only no nav

* just comment

* deprecate nav fields

* rm not comment

* dont deprecate too much

* remove from services

* merge cereal
2024-04-09 10:40:38 -07:00
Justin Newberry
97db26b6a9 make manifest script executable (#32140) 2024-04-09 10:15:28 -07:00
Justin Newberry
e18ec9bbd7 jenkins: set pythonpath for casync build (#32139)
* set pythonpath

* quotes
2024-04-09 09:19:05 -07:00
Justin Newberry
b331e4a15b tool to create casync manifest (#32131)
* manifest tool

* newline

* add to jenkins
2024-04-08 16:54:14 -07:00
Shane Smiskol
22aa9a436d VW: get VIN from camera without comma power (#31851)
* add VW camera to VIN addrs

* correct VW query

* consistent

* update refs
2024-04-08 16:36:13 -07:00
mitchellgoffpc
d114924a2c Added optional timeout on map_renderer.wait_ready 2024-04-08 16:34:01 -07:00
Shane Smiskol
16a473b3aa debug: set OBD multiplexing mode for VIN (#32130) 2024-04-08 15:42:31 -07:00
kesteve
db10f9be64 Update Fingerprints for Kia Carnival 2023 in Taiwan (#32064)
This is the 8 seater Kia Carnival (2023 Premium version) in Taiwan.

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-04-08 15:29:09 -07:00
Jason Wen
2cbe1a7ec6 Toyota sdsu upstream hack 2024-04-08 21:32:53 +00:00
Shane Smiskol
5352d6c7ab Honda: remove combination meter (#32127)
remove combination meter
2024-04-08 14:18:36 -07:00
DevTekVE
2d705e826c sunnylink: Full sunnylink update with pairing, athena and more 2024-04-08 21:15:18 +00:00
Justin Newberry
3c9bf992a5 more helpers for e2e testing updated (#32128)
casync test prereq
2024-04-08 14:05:18 -07:00
Justin Newberry
1788ecf7b1 unsparsify the agnos casync images (#32126)
unsparse
2024-04-08 12:25:33 -07:00
Dean Lee
354cbe5a26 replay: use clock_nanosleep for precise waiting on the scale of nanoseconds (#32125)
use clock_nanosleep
2024-04-08 11:59:17 -07:00
Shane Smiskol
325dab6393 [bot] Fingerprints: add missing FW versions from new users (#32115)
Export fingerprints
2024-04-08 11:51:12 -07:00
Adeeb Shihadeh
16e0864f38 [bot] Update Python packages and pre-commit hooks (#32123)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-04-08 11:35:04 -07:00
Justin Newberry
44bb4eb521 add tool to create casync agnos updates from existing manifest (#32124)
* wip

* wip

* add agnos prefix

* add mkdir

* tool to create agnos updates
2024-04-08 11:34:05 -07:00
Jason Wen
e1c4ab01a9 Clion: Some updates 2024-04-08 14:18:57 -04:00
Jason Wen
271968e763 ui: Only build installers on comma devices 2024-04-08 14:15:16 -04:00
Adeeb Shihadeh
b8fdb3e01d [bot] Bump submodules (#32122)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-04-08 10:01:58 -07:00
DevTekVE
913f32a15c ui: Driving Model Selector description fixes 2024-04-06 16:18:29 +00:00
DevTekVE
7e3f8091c2 ui: Network refresh button 2024-04-06 16:17:21 +00:00
Jason Wen
6a8f434627 Map: Add back enabled for navigation path color change 2024-04-06 09:25:36 -04:00
Jason Wen
2d73059d79 sunnylink: Set User Agent to sunnypilot 2024-04-06 13:23:34 +00:00
DevTekVE
919f3d1c74 Lots of stabilization improvments for the model fetcher 2024-04-06 11:35:44 +00:00
Justin Newberry
c95404d564 add ui description helper to build_metadata (#32113)
add ui_description
2024-04-05 16:28:21 -07:00
Shane Smiskol
8be1a0ea36 [bot] Fingerprints: add missing FW versions from new users (#32108)
Export fingerprints
2024-04-05 15:32:45 -07:00
Shane Smiskol
1c6924ac67 missing shebang 2024-04-05 15:10:14 -07:00
Shane Smiskol
ab744b7344 make fox.py executable 2024-04-05 15:04:38 -07:00
Justin Newberry
bbb31184ab fix nightly casync build (#32111)
fix casync build
2024-04-05 14:11:38 -07:00
Justin Newberry
910e32270b casync: larger chunk sizes and include file mode (#32110)
add mode
2024-04-05 11:06:11 -07:00
savojovic
8a138f9be8 Adding foxglove support (#31907)
* Adding foxglove support, demo version

* Adding image/thumbnail support

* Adding foxglove map support

* Adding foxglove map support

* Updating title in jsonschemas according to rlog attribute names

* Remove shemas folder, add dynamic schema creation

* Update identation to 2 spaces, code refactored

* Fix, jsonToSchema() recursion returns 0 when an empty arr found

* Update, empty arrays data type set to dummy value of type string

* Enable logs download

* Adding foxglove install functionality

* Adding, transform json lists into json obj

* Adding, pip install mcap library

* format it

* Refactoring msg adding to mcap writer by utilizing pool of worker processes
Disabling compression

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-04-05 11:03:00 -07:00
Justin Newberry
69982d43cd move casync release creation to use a tarball of files (#32089)
* tar archive instead

* fix

* move this here

* migrate these

* fix this

* update readme

* fix that

* try to build nightly

* Revert "try to build nightly"

This reverts commit 4ea680cb6a1f985c0490168724c99bcb45af9899.

* caexclude is no longer required

* finish up

* sorted

* need this

* and that

* context mnager

* path based
2024-04-05 11:00:45 -07:00
Shane Smiskol
d7ea27cbdd car docs: no experimental mode for alpha long cars (#32079)
not alpha
2024-04-04 13:51:26 -07:00
Justin Newberry
5892056884 move casync build dir to /data/openpilot (#32104)
move here
2024-04-04 13:47:49 -07:00
Cameron Clough
d09e77d1af cabana(DBCFile): handle escaped quotes (#31889)
* cabana(DBCFile): VAL_ allow empty description

Even though this doesn't make much sense, we should still be able to
parse it.

* cabana(DBCFile): allow escaped quotemarks in signal comment

* also message comments

* escape/unescape quotes

* test empty val desc

* test generating DBC with escaped quotes in comment

* seperate test case

* fix trailing space

* remove empty val

* trailing whitespace again
2024-04-03 19:19:55 -07:00
Shane Smiskol
3f81ea2e0e [bot] Fingerprints: add missing FW versions from new users (#32095)
Export fingerprints
2024-04-03 08:05:51 -07:00
Alexandre Nobuharu Sato
346ab5ce30 Mutilang: update pt-BR translation (#32090)
* update pt-BR translation

* not today Satan
2024-04-02 16:09:04 -07:00
Shane Smiskol
67ba115436 [bot] Fingerprints: add missing FW versions from new users (#32086)
Export fingerprints
2024-04-02 15:25:58 -07:00
Michel Le Bihan
44129ad0df simulator: Change car to Honda Civic 2022 (#32087)
* simulator: Change car to Honda Civic 2022

* simulator: Enable experimental longitudinal control
2024-04-02 10:28:19 -07:00
Shane Smiskol
72eb17012d fix static analysis (#32082)
fix ltl
2024-04-01 20:08:22 -07:00
Shane Smiskol
fa5527fc76 Volkswagen: fix PT bus query (#32081)
we need whitelists!
2024-04-01 19:09:37 -07:00
Shane Smiskol
56e716bf86 fw_versions: add OBD multiplexing to debugging view 2024-04-01 19:08:27 -07:00
Justin Newberry
c09cf4983b pytest: don't delete logs on-device (#32080)
fix log deletion
2024-04-01 17:43:22 -07:00
Justin Newberry
1c0161589b migrate lowercase mock (#32074)
* add mock migration

* fix

* this
2024-04-01 15:27:29 -07:00
Shane Smiskol
dbea6ba7bf Lexus RC: add missing fwdCamera FW (#32076)
add 1e4e217ac337b4bf
2024-04-01 15:25:27 -07:00
Justin Newberry
3080aefa3d plotjuggler docs remove old options (#32078)
* these are no longer options

* and this one

* qlogs

* space
2024-04-01 15:24:23 -07:00
Shane Smiskol
3e99cf4b5e [bot] Fingerprints: add missing FW versions from new users (#32072)
Export fingerprints
2024-04-01 11:43:45 -07:00
Adeeb Shihadeh
b743e5cff5 [bot] Update Python packages and pre-commit hooks (#32071)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
2024-04-01 10:03:26 -07:00
Adeeb Shihadeh
c2f593f69a [bot] Bump submodules (#32069)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-04-01 10:03:04 -07:00
Justin Newberry
fc9f50c90d fix logreader after segment_numbers api removal (#32073)
fix
2024-04-01 10:01:50 -07:00
DevTekVE
8acd104c65 specify base image 2024-04-01 18:14:42 +02:00
Adeeb Shihadeh
43832335b8 timed: set valid flag (#32061)
* timed: set valid flag

* oops
2024-03-30 17:47:21 -07:00
Dean Lee
b8f5f50d39 replay/route: adds retry on network failures (#31948) 2024-03-30 17:37:14 -07:00
Shane Smiskol
90a59de144 [bot] Car docs: update model years from new users (#32060)
Update car docs
2024-03-30 10:16:40 -07:00
Shane Smiskol
493c81076b VW: check cruise control (#32049)
* VW: check cruise control!

* fix that

* fix that

* Update ref_commit
2024-03-29 20:56:40 -07:00
royjr
fb1cb01c5a ui: update arabic translations (#32058)
Update main_ar.ts
2024-03-29 20:53:51 -07:00
candreacchio
4a9a82b664 Updated Fingerprints for Hyundai PHEV 2019 for Australian Model (#31990)
Update fingerprints.py

Extended ECUs for PHEV 2019 for Australian Model
2024-03-29 19:13:54 -07:00
Shane Smiskol
8671e6217b [bot] Fingerprints: add missing FW versions from new users (#32055)
Export fingerprints
2024-03-29 14:25:14 -07:00
Hunter Jackson
8f4a5d7700 Update Ford Maverick fingerprints (#32043)
* update maverick fingerprints

* Update selfdrive/car/ford/fingerprints.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-29 14:18:53 -07:00
Dean Lee
178cc8747c debug/check_can_parser_performance: remove overhead of capnp conversion (#32048) 2024-03-29 10:17:39 -07:00
Shane Smiskol
6f223fc1c1 Hyundai CAN: allow fingerprinting without comma power (#32051)
* Revert "Revert "Hyundai CAN: allow fingerprinting without comma power for mor…"

This reverts commit 05f1298044.

* CAR.KIA_CEED

* CAR.KIA_SELTOS

* latest dump

* cleaN Up
2024-03-29 01:51:56 -07:00
Shane Smiskol
05f1298044 Revert "Hyundai CAN: allow fingerprinting without comma power for more platforms" (#32050)
Revert "Hyundai CAN: allow fingerprinting without comma power for more platfo…"

This reverts commit 0ba96bd1fa.
2024-03-29 01:24:34 -07:00
Shane Smiskol
0ba96bd1fa Hyundai CAN: allow fingerprinting without comma power for more platforms (#31983)
* including old data and forks

* CAR.HYUNDAI_SANTA_FE_HEV_2022

* CAR.HYUNDAI_IONIQ

* CAR.HYUNDAI_CUSTIN_1ST_GEN

* CAR.KIA_NIRO_PHEV

* CAR.HYUNDAI_IONIQ_HEV_2022

* CAR.GENESIS_G80

* CAR.KIA_SORENTO
2024-03-29 00:24:38 -07:00
Jason Young
c9685dd297 VW MQB: Speed limiter is nonAdaptive (#31954)
* VW MQB: Speed limiter is nonAdaptive

* revise

* Update selfdrive/car/volkswagen/carstate.py

* Update selfdrive/car/volkswagen/carstate.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-29 00:21:40 -07:00
Shane Smiskol
a1d538b4eb Migration dict: add missing platforms (#32046)
missing platforms
2024-03-28 20:41:49 -07:00
Josh Schroeder
677aee941f Fingerprint: 2022 Kia Stinger EPS fw (#32045)
+EPS fw for 2023 Kia Stinger
2024-03-28 20:17:50 -07:00
Shane Smiskol
2637294ff2 [bot] Fingerprints: add missing FW versions from new users (#32039)
Export fingerprints
2024-03-28 20:09:26 -07:00
Shane Smiskol
903cc225eb juggle.py: migrate platform name (#32042)
* fix formatting!

* migrate plotjuggler platform for dbc

* test with can

* temp

* Revert "temp"

This reverts commit 9d740bf3bddc8a7833ca8c293a6fb4b692a30bb8.

Revert "test with can"

This reverts commit d6cf2304895d00f83e737f3f749089ce9c5f836e.

* fix test
2024-03-28 16:40:31 -07:00
Shane Smiskol
d6d8e45931 Simplify cabana dbc dict (#32041)
* so needlessly complex!

* inside generate_dbc_json

* this is good

* clean up!

* spaces

* so much clean up
2024-03-28 16:26:16 -07:00
Lee Jong Mun
fa77d57e7c Multilang: kor translation update (#32036) 2024-03-28 10:37:08 -07:00
Dean Lee
bd7b72e861 ui/initApp(): remove temporary QApplication object (#32011)
remove temporary QApplication object
2024-03-27 15:35:28 -07:00
Dean Lee
fad9edf344 ui: move struct Alert into OnroadAlerts (#32024)
* move Alert into OnroadAlerts

* multi-lang
2024-03-27 15:34:38 -07:00
Michel Le Bihan
1637265ad3 simulator: Remove comma pedal sensor (#32030) 2024-03-27 09:47:29 -07:00
Dean Lee
0a2a3dfab7 replay/cabana : support segment range (#32026)
* support segment range

* include <QRegularExpression>
2024-03-27 09:47:18 -07:00
steilz
89f1483ac9 Added my VW Passat B8 2018 Fingerprint (#31939)
* Added Fingerprint for my Passat MK8

* removed duplicated entry
2024-03-26 21:18:10 -07:00
Shane Smiskol
1306edd085 Hyundai: clean up FW queries (#32022)
* mark MULTI as logging

* rm whitelists

* rm MULTI

* major clean up :D

* faster refs :D

* wow this was a broken test (can fd can be without aux, and this allowed eps)

* expected

* only for camera (needs test change)

* Revert "only for camera (needs test change)"

This reverts commit 6156bcd674f856e9a6476277d2b14b14b659f597.

* better msg

* yes we do
2024-03-26 20:49:08 -07:00
Shane Smiskol
8b07dc5c9c Hyundai: update G70 2022+ harness (#32021)
* fix

* update docs
2024-03-26 18:29:50 -07:00
Shane Smiskol
ae6761f508 Hyundai: remove outdated eps FW (#32020)
* rm from ed882557605319f9

* rm from 310cf131d28b30d8

* rm from e6dd11f4969e1f74

* rm from 145908dabb729ad9

* rm from b938870bef07f799

* rm from b0af2fff166d80fe

* unknown about these, but safe to do this

* rm from 077309a26bf98013

* rm from 01d4ba35f8288743

* rm from b5374bdeea21f5ce

* rm from 979eb0f6c3682a58

* rm from eb5a50f9e98f50b9

* rm from 786fc028c014be71

* rm from 3f77febac29e35d5

* these also unknown, but should be safe

* format!

* test all ecus
2024-03-26 18:12:35 -07:00
Shane Smiskol
6b710a5d89 Hyundai: remove outdated fwdRadar FW (#32019)
* rm from e8421f268ea89d79

* rm from 9d4fa1c83653b90b

* rm from 3f77febac29e35d5

* rm from 979eb0f6c3682a58

* rm from 077309a26bf98013

* rm from ef8d357a38dc4cf2

* these are probably fine

* rm from 54f0bbcb6527012e

* rm from 051378e6086bc3ef

* rm from 561e5f3991916e4b

* rm from 3fd9853538e1bca9

* rm from c8f86b163152d2c5

* rm from 40725113b3e20872

* rm from 3c8bfd637f561f13

* rm from 129db7c75bce8445

* format and test radar

* eps!
2024-03-26 17:49:14 -07:00
Adeeb Shihadeh
76c5c58d54 navd: generate new JWT for each request (#32017)
* navd: generate new JWT for each request

* no api with token
2024-03-26 17:04:05 -07:00
Shane Smiskol
81fae3d807 More fingerprint migration fixes (#32018)
* fix migration

* another
2024-03-26 16:43:09 -07:00
Dean Lee
d05c19b9f4 util: safer ends_with (#31943)
* safer ends_with

* improve
2024-03-26 10:56:02 -07:00
Shane Smiskol
bbd08baacd Hyundai: remove outdated abs FW (#32008)
* rm from ed882557605319f9

* rm from ffce4a1d578827ee

* rm from 700d37ccd12315cf

* can't find, but probably same

* rm from 15755effe9d073b1

* rm from 5b7caafa7ec1a5cf

* rm from ec07911a91f863f3

* rm from 7627c16a16a6f69b

* rm from 007d5e4ad9f86d13

* rm from 06a3b9e474ce581d

* rm from 22203eb8892a6f28

* rm from ff973b941a69366f

* rm from 3ea622c3c0ec3055

* rm from https://github.com/commaai/openpilot/pull/23517

* rm from b0e1cdf87262c7ad

* old format FW version

* rm from 54f0bbcb6527012e & 4cbcc16b655c1591

* test abs

* format
2024-03-25 22:43:48 -07:00
Shane Smiskol
62a5b0671e Hyundai: remove bad abs responses (#32007)
rm bad abs
2024-03-25 19:44:03 -07:00
Shane Smiskol
b88be79814 VW: simplify cruiseState (#32003)
* simplify

* simplify

* jyoung suggestion

* acc ready
2024-03-25 19:23:56 -07:00
Shane Smiskol
5fcb54f713 lowercase stale (#32004) 2024-03-25 16:11:28 -07:00
ggeer8
50ae0350b2 Add missing fwdRadar for 2023 Kia Sportage Hybrid SX Prestige #31993 (#32000)
* Update fingerprints.py

Added missing ECUs and fingerprints for 2023 Kia Sportage Hybrid SX Prestige

* remove logging ecus

* logging too

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-25 15:43:05 -07:00
Shane Smiskol
0a8fa9921c [bot] Fingerprints: add missing FW versions from new users (#32002)
Export fingerprints
2024-03-25 15:11:54 -07:00
Shane Smiskol
484f50725e [bot] Fingerprints: add missing FW versions from new users (#32001)
Export fingerprints
2024-03-25 14:11:26 -07:00
Jason Wen
746d2b750c ui: Developer UI cleanup 2024-03-25 18:28:22 +00:00
Andrei Radulescu
245cbe97c7 third_party: build scripts for libyuv and maplibre-native-qt (#31988)
* updated maplibre build.sh

* refactored libyuv build.sh
2024-03-25 09:26:19 -07:00
Adeeb Shihadeh
86acfbb4f2 stale bot: ignore all car stuff for now 2024-03-25 09:21:23 -07:00
Adeeb Shihadeh
79ae276bbf [bot] Bump submodules (#31997)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-25 09:01:09 -07:00
Adeeb Shihadeh
de8df59748 [bot] Update Python packages and pre-commit hooks (#31998)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-25 08:59:56 -07:00
royjr
61b38bd4ff ui: update arabic translations (#31994) 2024-03-25 08:59:24 -07:00
Dean Lee
14de326e95 ui/settings: uppercase “Pair" (#31991)
uppercase Pair
2024-03-24 10:48:23 -07:00
Shane Smiskol
82a07afb21 HKG: remove engine and transmission ECUs (#31985)
* remove engine and transmission

* remove engine and transmission

* also here
2024-03-23 04:30:55 -07:00
Adeeb Shihadeh
c0a96d2747 thermald: publish immediately after ignition (#31981)
* thermald: publish immediately after ignition

* fix
2024-03-22 15:57:36 -07:00
Shane Smiskol
6e60fed737 Hyundai CAN: allow fingerprinting without comma power for many platforms (#31969)
* only including master data since eps and other ecus were only added in last 60 days

* CAR.HYUNDAI_SANTA_FE_2022

* CAR.GENESIS_G70

* CAR.KIA_K5_2021

* CAR.HYUNDAI_SONATA_HYBRID

* CAR.HYUNDAI_ELANTRA_2021

* CAR.HYUNDAI_ELANTRA_HEV_2021

* CAR.HYUNDAI_SANTA_FE

* CAR.KIA_STINGER

* CAR.KIA_NIRO_PHEV_2022

* slightly more data

* data from forks now

* CAR.GENESIS_G70_2020

* CAR.KIA_NIRO_HEV_2021

* CAR.KIA_FORTE

* CAR.HYUNDAI_IONIQ_PHEV

* CAR.HYUNDAI_KONA_EV_2022

* CAR.KIA_STINGER_2022

* HYUNDAI_KONA_EV

* CAR.KIA_OPTIMA_H_G4_FL

* clean up
2024-03-22 15:05:38 -07:00
Alexandre Nobuharu Sato
10e3652f28 Multilang: update pt-BR translations (#31980)
update pt-BR translations
2024-03-22 14:36:32 -07:00
Adeeb Shihadeh
b4fdfeec62 why did panda have a boot time (#31978)
* why did panda have a boot time

* update test
2024-03-22 14:12:23 -07:00
James
a2a372d314 Cleanup settings imports (#31979) 2024-03-22 14:09:23 -07:00
Justin Newberry
7cbf3a54f1 casync: use xz compression (#31977)
use xz compression
2024-03-22 13:20:11 -07:00
Pedro Nascimento de Lima
a785a71190 Mazda CX-5 2024 fingerprint (#31974)
mazda cx5 2024 fingerprint
2024-03-22 12:58:56 -07:00
Marius David
695fb1b5bf VW: Octavia Scout 2018 fingerprint (#31094)
Update all submodules to latest

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-21 20:48:04 -07:00
Dean Lee
9315d0e7a5 ui/map_eta: round remaining km/mi to one decimal place (#31968)
round distance
2024-03-21 20:10:29 -07:00
Shane Smiskol
ceaff0d963 Honda Civic 2022: allow fingerprinting without comma power (#31967)
* do civic 2022

* new lines
2024-03-21 20:00:15 -07:00
Adeeb Shihadeh
3ca113162e speedup panda startup + test (#31955)
* faster panda startup

* 10hz signal

* more iters

* nothing

* comment

* usb is slow :/

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-21 19:32:11 -07:00
Shane Smiskol
d5cd457f82 Honda Civic 2022: fix spotty camera query (#31963)
* no extra ecu

* cmt

* documentation

* update refs

* nice

* for testing

* byebye

* Update launch_openpilot.sh
2024-03-21 18:49:18 -07:00
Jason Young
108e033af3 PlotJuggler: Update controls mismatch layout (#31965)
* PlotJuggler: Update controls mismatch layout

* Revert "PlotJuggler: Update controls mismatch layout"

This reverts commit 665e6451f1f68bd300ad306a5bd7c8e6e2e61954.

* minimize diff
2024-03-21 18:39:05 -07:00
Justin Newberry
4ecbaa41fa controlsd: fix steer saturation premature warning (#31909)
fix last actuators
2024-03-21 18:31:22 -07:00
Justin Newberry
0cca1bb91a add system/updated to release (#31966)
* add updated

* all
2024-03-21 17:21:36 -07:00
Justin Newberry
33f9193c94 casync build: caidx filename is canonical representation of build (#31964)
* canonical

* short commit

* channel

* cleanup

* let's do 9 characters

* fixes

* set the build style during release creation

* as a property
2024-03-21 16:41:40 -07:00
Cameron Clough
b59ae50961 Ford: handle metric cruise speed (v2) (#31463)
* Ford: handle metric cruise speed (v2)

**Description**

I found a signal which appears to match the IPC "Show km/h" setting.
Requires https://github.com/commaai/opendbc/pull/1010.

**Verification**

- [ ] Test in car and confirm that toggling the "Show km/h" setting does
  not result in the cruise speed shown in openpilot being incorrect.
- [ ] Test in a non-English (metric) car.

* not present on Q4

* fix freq

* test

* Revert "test"

This reverts commit 5e3a9f6df126d51685157de1e52bd6695db40fac.

* Update ref_commit

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-21 16:19:59 -07:00
Adeeb Shihadeh
d9c2928e73 boardd: keep same offset for now 2024-03-21 14:32:13 -07:00
Adeeb Shihadeh
db9aec2a3b remove rest of GMLAN (#31960) 2024-03-21 14:00:45 -07:00
Justin Newberry
c197b3f52c add helper for creating build_metadata from a dict (#31958)
helper
2024-03-21 13:00:30 -07:00
Justin Newberry
efc32c2930 common/run: add environment variable argument (#31957)
run add environment argument
2024-03-21 12:58:16 -07:00
Justin Newberry
c3bbc58a85 build nightly casync build in jenkins (#31880)
* casync in jenkins

* rename some stuff, add a readme

* slightly better names

* clean

* more cleanup

* cleaner

* release3 staging too

* always rm the signed version

* cleanups

* in build dir

* better name

* simpler

* more

* divider

* built

* build

* and contains

* add channel description

* and git branches

* and build required

* move this up

* these are terms

* updates

* 3/3x

* bullets

* wording

* version metadata

* git type

* more channel -> release

* more build

* just release

* more channel to release

* also fix jenkins

* use build_metadata

* fix normailzed

* also normalized

* and here

* use build_metadata

* dont commit that

* don't touch the git stuff

* branch

* don't need that

* or that

* improved names

* build_metadata

* use this instead

* fix

* build

* test nightly build again

* fix

* fixes

* Revert "test nightly build again"

This reverts commit be5e7aa7089bfc0947c9b2b484d0277c109ee089.
2024-03-21 11:55:54 -07:00
Adeeb Shihadeh
9feb027de5 bump panda 2024-03-21 11:41:30 -07:00
Dean Lee
77bbeb442e ui/cameraview: fix accessing uninitialized variable (#31951) 2024-03-21 11:40:01 -07:00
Dean Lee
0201c786e8 ui: pairing device in settings (#31947) 2024-03-21 11:02:26 -07:00
Dean Lee
028f6938b2 ui.py: quit if the "X"(exit) button is clicked (#31949) 2024-03-21 10:58:48 -07:00
Cameron Clough
27d2a6066d tools: remove unused timestamp_to_datetime (#31950) 2024-03-21 10:58:35 -07:00
Dean Lee
e28edf874b ui/sidebar: do not send the userFlag while offroad (#31952) 2024-03-21 10:58:05 -07:00
Justin Newberry
effee900c4 use build_metadata everywhere we used to use get_version, get_commit, etc (#31941)
* use build_metadata

* fix normailzed

* also normalized

* and here

* fix diff

* and that one

* cleanup
2024-03-21 10:15:29 -07:00
Justin Newberry
806f743e12 git commands: more parameterization on path (#31942)
* more cwd

* here top

* and here

* basedir
2024-03-21 09:47:26 -07:00
Dean Lee
35b31df7f7 util/timeAgo: add missing translation (#31944)
* add missing translation

* update languages
2024-03-20 21:34:09 -07:00
Shane Smiskol
2be012aa39 Honda: allow fingerprinting without comma power (#31926)
* pending

* acura ilx

* do odyssey

* clean up
2024-03-20 21:31:53 -07:00
Shane Smiskol
0a30af327d Honda Pilot: allow fingerprinting without comma power (#31945)
* pilot

* pilot

* clean up
2024-03-20 20:08:12 -07:00
Justin Newberry
38d03b9979 add get_build_metadata function (#31923)
* version

* Get build metadata

* two lines

* channel

* cwd

* default to unknown

* dataclass
2024-03-20 16:43:58 -07:00
Shane Smiskol
1a03da9df3 Honda Ridgeline and Insight: allow fingerprinting without comma power (#31938)
* Ridgeline and Insight

* ridgeline

* Insight
2024-03-20 16:19:18 -07:00
Shane Smiskol
a0b589eda9 Honda: allow fingerprinting without comma power for more platforms (#31935)
* 4 more platforms

* only the first is missing srs?!

* vsa didn't respond on these 8 routes

* acura is good!

* do CRV Hybrid

* CRV is already done

* new line

* Revert "new line"

This reverts commit 411c92c77b695d3df716f84b6f302fa0f791d555.
2024-03-20 15:35:19 -07:00
Justin Newberry
b489550b7f Revert "and juggler"
This reverts commit d75c32eaaa.
2024-03-20 18:03:04 +00:00
Justin Newberry
d75c32eaaa and juggler 2024-03-20 17:59:31 +00:00
Justin Newberry
1f424bf7dc cabana: migrate dbc map (#31920)
* fix cabana

* within platform map
2024-03-20 10:57:41 -07:00
Cameron Clough
90ff0dd047 test_models: migrate fingerprint (#31936) 2024-03-20 10:57:28 -07:00
Adeeb Shihadeh
23e8ad7397 cleanup pedal crc 2024-03-20 10:35:33 -07:00
Shane Smiskol
1b930ae616 Honda E: allow fingerprinting without comma power (#31934)
HONDA_E
2024-03-19 22:47:08 -07:00
Shane Smiskol
6d8534758f Honda: allow fingerprinting without comma power for some platforms (#31933)
* pending

* notes

* these are ready!

* do odyssey

* Freed

* ACURA_RDX_3G

* HONDA_HRV

* new lines

* sort

* clean up

* comment new line

comment new line
2024-03-19 22:39:30 -07:00
Shane Smiskol
8f174d82d6 Toyota: RAV4 Hybrid cannot do stop and go as stock (#31931)
* rav4 also like this

* docs
2024-03-19 21:10:20 -07:00
Dean Lee
9ed5c78a80 cabana: horizontal scrolling with Shift+wheel (#31929) 2024-03-19 19:03:23 -07: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
afc96972c8 car: CarController and CarState are always present (#31925)
* always set

* add mock

* little more

* fix

* fix
2024-03-19 14:16:33 -07:00
Adeeb Shihadeh
3a7582d9a6 Abstract out common CarInterface.apply (#31924) 2024-03-19 13:46:31 -07:00
Justin Newberry
018b6d0fae parameterize get_version and add get_release_notes function (#31922)
version
2024-03-19 12:58:30 -07:00
Justin Newberry
4fbc8a3896 move git commands to common/git.py (#31921)
move git into common/git.py
2024-03-19 12:39:09 -07:00
Dean Lee
d647361fae replay: get route datetime from INIT_DATA (#31913)
get datetime from INIT_DATA
2024-03-19 11:46:39 -07:00
Shane Smiskol
530bc62baa [bot] Fingerprints: add missing FW versions from new users (#31917) 2024-03-19 11:16:36 -07:00
thenhnn
489528dcae PlatformConfig: automatically get platform_str from the enum name (#31868)
* get platform_str from the enum name

* fix tests

* add migration table

* remove impossible todo

* Add link to PR in MIGRATION table

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

* Remove useless brand name comments and rename RAM_1500 to RAM_1500_5TH_GEN

* rename RAM_HD to RAM_HD_5TH_GEN

* rename references to RAM_HD and RAM_1500

* change "mock" to "MOCK" and rename torque data of Nissan Leaf 2018 IC

* remove MOCK from fingerprints.py

* change hard-coded car model in test_can_fingerprint.py/test_timing

* migration

* update ref

* space

* prius

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: justin newberry <justin@comma.ai>
Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
2024-03-19 11:16:02 -07:00
Cameron Clough
5a805df340 cabana(DBCFile): preserve original header (#31900)
* cabana(DBCFile): preserve original header

* add trailing space
2024-03-18 22:37:45 -07:00
Dean Lee
9e1639c3f1 cabana: fix the suppress highlight breaks after seeking (#31912) 2024-03-18 22:37:17 -07:00
Adeeb Shihadeh
4c424eb4b0 won't need this 2024-03-18 22:13:47 -07:00
YassineYousfi
2aaaa3f167 duck amigo model (#31883)
* 026c8008-1728-4549-baf4-ab0436f2927d/700

* update model replay ref

* update again
2024-03-18 16:37:15 -07:00
Shane Smiskol
d82fc7f27b [bot] Fingerprints: add missing FW versions from new users (#31842)
Export fingerprints
2024-03-18 16:02:34 -07:00
Adeeb Shihadeh
881b38d061 [bot] Update Python packages and pre-commit hooks (#31906)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-18 09:56:37 -07:00
YassineYousfi
aca566bd6a bump panda (#31908) 2024-03-18 09:08:41 -07:00
Adeeb Shihadeh
fa12a67228 remove pedal (#31903)
* remove pedal

* bump panda

* fix

* update refs
2024-03-17 22:42:49 -07:00
Adeeb Shihadeh
e3afa373aa Update RELEASES.md 2024-03-17 22:16:16 -07:00
Dean Lee
e79cb0edaf replay: fix segfault in Replay::queueSegment (#31902) 2024-03-17 21:55:27 -07:00
James
b122725a68 Remove duplicate TimezoneFinder declaration (#31901) 2024-03-17 17:33:47 -07:00
Justin Newberry
0b92f4e9ee more car info -> car docs (#31885) 2024-03-17 16:53:57 -07:00
Cameron Clough
3e816e7df8 cabana(DBCFile): interleave msg and signal comments (#31899)
This matches the behaviour of CANdb++
2024-03-17 11:17:29 -07:00
Shane Smiskol
7e9a909e0e [bot] Fingerprints: add missing Volkswagen FW versions from new users (#31734)
Export fingerprints
2024-03-17 02:23:44 -07:00
gittyhubbyfrankybobby
04382115c1 Add Genesis G90 2020 Fingerprint (#31893)
* add 2020 G90 fingerprint

* Add G90 fingerprint

* Add 2020 G90 transmission and fwdRadar fingerprints

* run bot

* probably fine to include 2019

---------

Co-authored-by: Dwight Awesome <dwightmawesome@maximus.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-17 02:14:01 -07:00
Shane Smiskol
96aa3223e5 [bot] Fingerprints: add missing FW versions from new users (#31897)
Export fingerprints
2024-03-17 02:05:13 -07:00
Shane Smiskol
9d5c70fbc9 Toyota: check FW valid (#31898)
* basic check

* basic check

* fix
2024-03-17 01:55:48 -07:00
ishfaaq
93c06eaf43 Updating steerRatio for 4th gen Hyundai Tucson (2022+) (#31877)
Update values.py
2024-03-17 01:44:26 -07:00
James
1cb49ae44d Fix radard comment (#31891) 2024-03-16 00:56:04 -05:00
Shane Smiskol
1723d27b9c Kia Niro Plug-in Hybrid: update required package (#31888)
* from https://www.applewoodkialangley.ca/new/2022-Kia-Niro%20plug_in%20hybrid-brochure.html?lang=ENGLISH&vehicle=kia-niropluginhybrid-2022

* LXS on 2021 also lacks SCC - https://www.kiamedia.com/us/en/models/niro-phev/2021/documents

* 2020 too?! https://www.kiamedia.com/us/en/models/niro-phev/2020/documents

* update
2024-03-15 17:33:38 -07:00
Chase Bolt
a790b49fd5 Kia: add 2024 Sportage X-Pro Prestige camera FW version (#31581)
* adding fingerprint for 2024 Kia Sportage X-Pro Prestige

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-15 17:03:45 -07:00
fri.K
0821201dc4 Fingerprint for Skoda Octavia MK3 Scout with 6 speed DSG (#31574)
Fingerprint for Skoda Octavia MK3 Scout with DSG
retrofitted ACC with Audi A3 rounded radar
2024-03-15 16:32:39 -07:00
ilxszh
1610010ad2 Add VW Touran CN model fingerprint (#31295)
* Update fingerprints.py

Add Touran CN model support

* Update fingerprints.py

Remove repeated FR fwVersion.

* run bot

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-15 16:24:19 -07:00
Stanley Lee
6f9b663ff2 VW MQB: Add FW for 2024 Volkswagen Tiguan (#30978)
* VW MQB: Add FW for 2024 Volkswagen Tiguan

* VW MQB: Update sort order of new 2024 Volkswagen Tiguan FW
2024-03-15 16:12:07 -07:00
Shane Smiskol
5746c4672d Ford: hybrid docs (#31874)
* kinda works

* fix

* clean up

* rm hybrid entries

* shorter

* shorter

* fix that

* one line!

* we can get rid of this now!
2024-03-15 15:37:29 -07:00
Shane Smiskol
91933b5f42 Hyundai CAN FD: allow more platforms to use enhanced fuzzy fingerprinting (#31882)
* K8 has hybrid descriptor (GL3H), AND we detect hybrid now

* don't know if Carnival's hybrid variant has them, but it's not out yet, and we detect hybrid

fixes: ec32d6aa1c7735d1/2024-03-15--16-41-46

* cmt
2024-03-15 14:46:29 -07:00
Justin Newberry
07ec5e5fdb test_updated: test permissions are preserved (#31881)
* test perserved

* space
2024-03-15 14:10:38 -07:00
Justin Newberry
655e5f7c3e rename CarInfo to CarDocs (#31879)
car info to car docs
2024-03-15 11:45:44 -07:00
Adeeb Shihadeh
824782d637 fix typo 2024-03-15 11:11:54 -07:00
Adeeb Shihadeh
1d7860701f close > bad PR 2024-03-15 11:09:37 -07:00
Shane Smiskol
bdae188c6f docs: don't support multi-type car info (#31875)
don't support multi-type car info
2024-03-15 00:11:41 -07:00
Shane Smiskol
d5852ab1b3 CarInterface: no platform config fallback (#31873)
* no mock default

* rm
2024-03-14 22:27:32 -07:00
Justin Newberry
ca5a2ed942 move getting platform to get_params (#31871)
* better

* string

* not here
2024-03-14 21:58:25 -07:00
Justin Newberry
1ecbbef46b controlsd: fix saturation warning (#31869)
fix saturation
2024-03-14 18:03:39 -07:00
thomasgtsr
f6afb09924 Hyundai: Santa Cruz 2024 fingerprint (#31856)
* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* run bot

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-14 17:42:37 -07:00
Justin Newberry
c1d0d35f8b gha: remove trailing spaces (#31872)
remove trailing spaces
2024-03-14 16:20:02 -07:00
Cameron Clough
4dd5fd4619 ui.py fix typo (#31870) 2024-03-14 15:00:16 -07:00
ShaydeNZ
39d432e3cd Added fingerprints for my 2019 Golf R Mk7.5 (#31850) 2024-03-14 14:26:21 -07:00
DevTekVE
cab71cc388 sunnylink: Remov unicode header during HTTP requests 2024-03-14 16:23:52 +00:00
Alexandre Nobuharu Sato
a3f2c7bf3e Multilang: update pt-BR translation (#31861)
* update pt-BR translation

* this come from darkness??
2024-03-13 22:40:20 -07:00
Lee Jong Mun
5d4e324ddf Multilang: kor translation update (#31864) 2024-03-13 22:39:42 -07:00
Jason Wen
1f154928dc Translations: Prepare for sunnypilot custom texts 2024-03-14 04:39:33 +00:00
Jason Wen
5e775a1e66 Hyundai CAN: Fix Navi_HU check for cars that do not have this signal 2024-03-13 22:33:36 +00:00
Jason Wen
ded3389721 FCA: Fix upstream merge conflicts 2024-03-13 22:32:22 +00:00
Justin Newberry
d09dd75884 Revert "updated: prep for new updater (#31695)" (#31860)
* Revert "updated: prep for new updater (#31695)"

This reverts commit b93f6ce4f6.

* fix the test
2024-03-13 14:01:56 -07:00
Jason Wen
5b9a397078 sunnylink: Config Backup 2024-03-13 19:50:00 +00:00
Justin Newberry
0efb62c11c devcontainer: add gh and azure cli (#31859)
* add ghcli

* nosudo

* nl

* fix

* remove

* link to the install page

* it's already a feature :)

* fix + add azure

* no diff

* Update Dockerfile
2024-03-13 11:40:26 -07:00
DevTekVE
28efb5388b sunnylink: Registration API 2024-03-13 18:29:58 +00:00
Justin Newberry
98918b6afe add third party to exclude (#31858)
third_party as well
2024-03-13 11:23:16 -07:00
Jason Wen
e2d6a9ab3e Params: Do not backup Driving Model Selector params 2024-03-13 13:22:23 -04:00
Shane Smiskol
7d0f234398 Honda Nidec: show distance bars (#31854)
* show lines nidec

* lead

* Update ref_commit
2024-03-13 01:53:15 -07:00
Shane Smiskol
3d63c7093a longitudinal personality: change via steering wheel distance button (#31792)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* not all cars yet

* works but at what cost

* clean up

* inside settings

* write param so we save the distance button changes

* setChecked activates buttonToggled and already writes param!

* don't need this, we update from longitudinalPlan on changes

* some clean up

* more

* ui

* allow some time for ui to receive and write param

* plannerd: only track changes in case no ui

* Revert "plannerd: only track changes in case no ui"

This reverts commit 2b081aa6ceb92c67a621b74592b2292756d29871.

* write in plannerd as well, I assume this is atomic?

* don't write when setting checked (only user clicks)

* better nane

* more

* Update selfdrive/controls/lib/longitudinal_planner.py

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* doesn't write param now

* ParamWatcher is nice

* no debug

* Update translations

* fix

* odd drain sock proc replay behavior

* vanish

* Revert "odd drain sock proc replay behavior"

This reverts commit 29b70b39413e1852bb512155af6b6a94a5bd9454.

* add GM

* only if OP long

* move personality to controlsState, since eventually it won't be exclusive to long planner

more

bump

* diff without translations

* fix

* put nonblocking

* CS should start at up to date personality always (no ui flicker)

* update toggle on cereal message change

* fix

* fix that

* ubmp

* mypy doesn't know this is an int :(

* update translations

* fix the tests

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2024-03-13 01:05:02 -07:00
Shane Smiskol
29e55f99a5 Move personality to controlsState (#31855)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* not all cars yet

* works but at what cost

* clean up

* inside settings

* write param so we save the distance button changes

* setChecked activates buttonToggled and already writes param!

* don't need this, we update from longitudinalPlan on changes

* some clean up

* more

* ui

* allow some time for ui to receive and write param

* plannerd: only track changes in case no ui

* Revert "plannerd: only track changes in case no ui"

This reverts commit 2b081aa6ceb92c67a621b74592b2292756d29871.

* write in plannerd as well, I assume this is atomic?

* don't write when setting checked (only user clicks)

* better nane

* more

* Update selfdrive/controls/lib/longitudinal_planner.py

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* doesn't write param now

* ParamWatcher is nice

* no debug

* Update translations

* fix

* odd drain sock proc replay behavior

* vanish

* Revert "odd drain sock proc replay behavior"

This reverts commit 29b70b39413e1852bb512155af6b6a94a5bd9454.

* add GM

* only if OP long

* move personality to controlsState, since eventually it won't be exclusive to long planner

more

bump

* diff without translations

* fix

* put nonblocking

* CS should start at up to date personality always (no ui flicker)

* update toggle on cereal message change

* fix

* fix that

* ubmp

* mypy doesn't know this is an int :(

* update translations

* fix the tests

* revert ui

* not here

* migrate controlsState

* Revert "migrate controlsState" - i see no reason we need to test with
any specific personality

This reverts commit 6063508f2df1a5623f113cda34dcd59a1f4b2ac9.

* Update ref_commit

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2024-03-13 00:57:57 -07:00
Shane Smiskol
e34432160a Honda Bosch Radarless: check nonAdaptive at all times (#31853)
* doesn't work

* Revert "doesn't work"

This reverts commit 7a3587b60b65ed0525a9d658e676465ca8ecbef9.

* always add to can parser

* not sure if this is clean

* minimal diff version, but more lines!
2024-03-12 23:42:34 -07:00
Adeeb Shihadeh
4af932b74b unicore gps (#31852)
* ugpsd

* oops

* cleanup

* disable

* more docs

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-12 22:33:45 -07:00
Justin Newberry
a819292073 logreader: fix auto source + interactive modes (#31847)
* interactive modes

* these exceptions don't matter
2024-03-12 20:04:17 -07:00
Jason Wen
920d4cdcc3 Remove PNG and WAV from LFS 2024-03-12 21:13:47 -04:00
Adeeb Shihadeh
147ccc7a58 move pigeond to system/ubloxd/ (#31848)
* move pigeond to system/ubloxd/

* update release

* more

* mv test
2024-03-12 17:13:13 -07:00
YassineYousfi
30ce6af490 camera: add all_cams iterator, allow None camera, add camera size property (#31835)
* camera: add neo_config for easy access

* camera: add all_cams iterator and cam size

* can be none

* use FakeCameraConfig

* rename to None
2024-03-12 15:29:49 -07:00
Jason Wen
4c76d1b9a0 Chrysler: Parse distance button from steering wheel (#31764) 2024-03-12 15:03:14 -07:00
Adeeb Shihadeh
c155749b29 Reapply "ui: brighten cameraview (#29744)" (#31846)
This reverts commit 023792c431.
2024-03-12 14:27:12 -07:00
Shane Smiskol
de7f14dbd7 Fingerprints migration dictionary (#31838)
move migration to op!
2024-03-12 11:50:26 -07:00
Jason Wen
7dc9d336b5 ui: Lead car chevron improvements 2024-03-12 14:55:25 +00:00
Shane Smiskol
af177f3d10 [bot] Fingerprints: add missing FW versions from new users (#31839)
Export fingerprints
2024-03-11 23:43:25 -07:00
Saber
e657afbf34 VW MQB: Add FW for 2017 Kodiaq (#31368)
route name:0bbe367c98fa1538|2024-02-08--11-02-38--0
2024-03-11 23:21:45 -07:00
Shane Smiskol
1e86269ab7 Update ref_commit 2024-03-11 23:04:32 -07:00
Saber
4f02bcfbf4 VW MQB: Add FW for 2017 Touran (#30863)
route name:0bbe367c98fa1538|2023-12-28--15-59-10--0
2024-03-11 22:54:05 -07:00
Jason Wen
b648db6efe HKG: Add FW versions for Genesis G70 2023 (#30759)
* HKG: Add FW versions for Genesis G70 2021

* bump model year

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 22:50:16 -07:00
pg3141
639d8dd755 Skoda Kodiaq Sportline 2023 fingerprints (#30845)
* Update fingerprints.py for new skoda kodiaq

* Update fingerprints.py to add 2 more ecu's found in the carFw array that had hyundai as brand

* Update fingerprints.py
2024-03-11 22:42:11 -07:00
Joshua Mack
398eaf5b55 Mazda CX-5 2024 Fingerprint (#30882)
2024 Mazda CX-5 FP

Added "aaaa_51443"'s 2024 Mazda CX-5's FPs
2024-03-11 22:35:42 -07:00
RandomHB
fedb2a9360 Update fingerprints.py 2022 Ford F-150 PowerBoost (fwdCamera) (#31462)
* Update fingerprints.py 2022 Ford F-150 PowerBoost (fwdCamera)

* update MY

* also likely works for hybrid

* fix that

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 22:17:10 -07:00
Erich Moraga
9ab735494e Volkswagen: add engine/transmission/srs ECU versions for PASSAT_MK8 (#31777)
`black_guru` 2021 VW Passat  DongleID/route 9d09cc205c254c4b/00000000--03b770c463
2024-03-11 22:13:34 -07:00
Jason Wen
7a47fad5e3 Volkswagen PQ Longitudinal: Display personality in instrument cluster (#31837) 2024-03-11 22:06:49 -07:00
Jason Wen
5f39a6f8be Honda Longitudinal: Display personality in instrument cluster (#31799)
* Honda Longitudinal: Display personality in instrument cluster

* Simpler

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

* cleanup

* Update selfdrive/car/honda/hondacan.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 22:05:27 -07:00
Jason Wen
7ca07f8be9 Volkswagen Longitudinal: Display personality in instrument cluster (#31800) 2024-03-11 22:01:48 -07:00
Jason Wen
82fa0d762c Nissan: Parse distance button from steering wheel (#31766) 2024-03-11 21:58:55 -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
Jason Wen
32c0bcec3a Honda: Parse distance button from steering wheel (#31763) 2024-03-11 21:49:07 -07:00
Jason Wen
87cb00203a Hyundai Longitudinal: Display personality in instrument cluster (#31798)
* Hyundai Longitudinal: Display personality in instrument cluster

* Support CAN-FD

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 21:45:52 -07:00
GRIFFIT807
adc15d69a2 Add support for 2024 Ford Maverick (#31828)
* Update fingerprints.py

* Update values.py

* 24

* Update CARS.md

* hybrid should match up

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 21:31:53 -07:00
Jason Wen
0daa1e846b Map: Use latActive and longActive for navigation path color change 2024-03-12 00:06:02 -04:00
Cameron Clough
011eed0daf Ford: show longitudinal personality in IPC (#31796)
* Ford: show longitudinal personality in IPC

Adjust the time gap to 2, 3 or 4 bars for openpilot long.

TODO: set AccTGap_D_Dsply when value changes so that the popup appears
with the new time gap

Depends on #31760.

* ACC UI: show time gap popup when distance changes

* Revert "ACC UI: show time gap popup when distance changes"

This reverts commit c4e8e10970078a534d5714ddced92d540e9e3c0c.

* ACC UI: send on distance bars change

* don't need this check - just send on first frame
2024-03-11 20:30:09 -07:00
Adeeb Shihadeh
78d72d7dc3 remove RTC time pull (#31829)
* remove RTC time pull

* and syncing

* bump panda

* bump panda
2024-03-11 18:23:10 -07:00
Jason Wen
0e92097f7e Params: remove unused key (#31826) 2024-03-11 13:47:41 -07:00
Shane Smiskol
fb9f31efb7 [bot] Fingerprints: add missing FW versions from new users (#31815)
* Export fingerprints

* Update selfdrive/car/toyota/fingerprints.py
2024-03-11 13:32:00 -07:00
Jason Wen
3d7595dfe3 GM Longitudinal: Display personality in instrument cluster (#31801)
* GM Longitudinal: Display personality in instrument cluster

* Correct value

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

* update refs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-11 13:31:01 -07:00
Justin Newberry
1db30eae3a fix simulator device config (#31827)
fix sim
2024-03-11 11:58:24 -07:00
Adeeb Shihadeh
6768f13f6a [bot] Bump submodules (#31823)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-11 11:36:45 -07:00
Jason Wen
ef727550a9 Params: BACKUP ParamKeyType for sunnylink's Settings Backup 2024-03-11 14:28:55 -04:00
Adeeb Shihadeh
72cab4342f [bot] Update Python packages and pre-commit hooks (#31824)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-11 10:56:38 -07:00
Justin Newberry
7779f6875f test_updated: ensure symlinks are copied properly (#31825)
test symlink
2024-03-11 10:40:42 -07:00
Michel Le Bihan
8a03884500 simulator: Correctly handle arrival at destination (#31807) 2024-03-11 10:27:32 -07:00
Adeeb Shihadeh
e3589e4b5c refactor camera transformations (#31818)
* refactor camera transormations

* update users

* more stuff

* more fix

* swap

* tici

* lil shorter
2024-03-10 16:56:50 -07:00
Adeeb Shihadeh
6a7a998058 disable that one for now 2024-03-10 16:44:21 -07:00
Adeeb Shihadeh
7436aa8b05 modeld: prep for camera transform refactor (#31820)
* modeld: prep for camera transform refactor

* update refs

* add pub

* do setup
2024-03-10 16:39:40 -07:00
Adeeb Shihadeh
f6665f8488 thermald: add deviceType to logs (#31819)
* thermald: add deviceType to logs

* fix
2024-03-10 14:29:50 -07:00
Mauricio Alvarez Leon
1b6178a77d Add autoconnect support for hidden WiFi networks (#31789)
* add autoconnect to WifiManager::connect

* set wifi/hidden to true

* typo

* add condition to only set connection[wireless][hidden] to true when connecting to a hidden network

* default false value for is_hidden
2024-03-10 10:11:41 -07:00
Shane Smiskol
d651bc802b ButtonParamControl: use buttonClicked (#31817) 2024-03-10 00:12:18 -08:00
Adeeb Shihadeh
4d1b100152 cgpsd: use a real source 2024-03-09 23:33:24 -08:00
Adeeb Shihadeh
1fe61569f7 fix status -> state typo 2024-03-09 23:31:50 -08:00
Jason Wen
5ca733c415 GM: Parse distance button from steering wheel (#31762) 2024-03-09 21:00:32 -08:00
Cameron Clough
682f16d1b5 Ford: fix counter in LateralMotionControl2 message (#31806)
The counter should be between 0-15 inclusive. This only affects CAN FD cars.
2024-03-09 20:54:54 -08:00
Shane Smiskol
a475417220 [bot] Fingerprints: add missing FW versions from new users (#31731)
* Export fingerprints

* Update selfdrive/car/toyota/fingerprints.py
2024-03-08 23:28:23 -08:00
Shane Smiskol
2c353a25a4 longitudinal personality: display in Toyota instrument cluster (#31760)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* revert longplan

* revert this

* Fix check

* more appropriate up here

* consistenet

* Update selfdrive/car/toyota/carstate.py

* Update ref_commit
2024-03-08 23:26:01 -08:00
Yasushi Oh
1589adddf1 bugfix: add support for Bronco Sport 2023 (#31794)
* bugfix: add support for Bronco Sport 2023

* Apply suggestions from code review

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-08 21:49:12 -08:00
Shane Smiskol
5be3f0b7db Subaru: log alt request (#31812)
* add alt query (same as Hyundai)

* refs
2024-03-08 19:36:33 -08:00
Shane Smiskol
3862911ae6 [bot] Fingerprints: add missing FW versions from new users (#31732)
Export fingerprints
2024-03-08 17:01:31 -08:00
Shane Smiskol
66adf8781e Subaru: extra logging request for camera (#31783)
* 7f - service not supported in active session

* update refs

* rm short

* Apply suggestions from code review

* bus 0
2024-03-08 17:00:07 -08:00
ZwX1616
7eb1e95884 camerad: OS04C10 operational (#31674)
* it's something

* backup

* 16:10

* cleanup

* this is fine

* close

* remove some junk

* no heck

* disos

* real 10

* for some reason this is flipped

* 20hz

* no return

* ae

* tear

* need curve laster

* correct real gains

* fix time

* cleanup

* why the scam

* disable for now

* 0.7

* hdr

* that doesnt work

* what

* hugeoof

* clean up

* cleanup

* fix regs

* welp cant

* is this corrent

* it is sq

* remove

* back

* add base comment

* clean up

* make orders clear

* not abcd

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-08 16:43:18 -08:00
Justin Newberry
bc81daee8b test_updated: check the version and consistency of finalized dir (#31808)
* check finalized

* also check consistent
2024-03-08 15:31:24 -08:00
Michel Le Bihan
9c8a27ad24 simulator: Increase map size to contain road (#31805) 2024-03-08 15:13:02 -08:00
Adeeb Shihadeh
06ab3de4de update cavli config 2024-03-08 14:11:08 -08:00
Justin Newberry
74bf9dcdc7 updated: more common helpers (#31804)
update more helpers
2024-03-08 13:46:16 -08:00
Adeeb Shihadeh
bfd6ab68b5 cgpsd: use hasFix 2024-03-08 13:29:42 -08:00
Adeeb Shihadeh
33d1b127c9 much commit 2024-03-08 13:18:55 -08:00
Justin Newberry
358461896c add helper for serving a directory (#31802)
directory http server
2024-03-08 13:09:47 -08:00
Adeeb Shihadeh
a0389d7120 add hasFix field to gpsLocation (#31778)
* add hasFix field to gpsLocation

* migration

* update refs for ubloxd

* cereal master
2024-03-08 11:32:38 -08:00
Justin Newberry
b93f6ce4f6 updated: prep for new updater (#31695)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* proc

* release

* fix

* this should move here

* e2e update test

* that too

* fix

* fix

* fix running in docker

* don't think GHA will work

* also test switching branches

* it's a test

* lets not delete that yet

* fix

* fix2

* fix

* fix

* tests too

* fix

* cleanup / init

* test agnos update

* test agnos

* move this back up

* no diff
2024-03-08 10:46:57 -08:00
Justin Newberry
c30688fe3a test_updated: more consistent test (#31786)
* consistent

* bump timeout

* bump again
2024-03-08 10:42:17 -08:00
Shane Smiskol
e964c5944d LogReader: fix sort by time and union types (#31565)
* fix :(

* test_sort_by_time

* this isn't required

* not slow, and just compare sorted

* messy

* works

* clean up

* clean up

* not here

* clean up

* clean up

* clean up

* makes network call

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-03-08 02:49:24 -08:00
Shane Smiskol
99610c8819 Revert "common PlatformFlags base class + test for < 32 bits" (#31793)
Revert "common PlatformFlags base class + test for < 32 bits (#31779)"

This reverts commit 8ba5d660f3.
2024-03-08 00:15:21 -08:00
Shane Smiskol
782b707824 HKG CAN FD: add instrument cluster ECU (#31790)
* Add instrument cluster in case it can tell us more about the car

* and i thought I wanted to remove this test!
2024-03-07 20:10:12 -08:00
Shane Smiskol
fdab60cad7 longitudinal planner: start at personality param (#31788)
start at param
2024-03-07 19:56:22 -08:00
Adeeb Shihadeh
158e36976b fix old route sorting (#31787)
* fix old route sorting

* cleanup

* Update system/loggerd/uploader.py

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-07 19:22:06 -08:00
Adeeb Shihadeh
fd51bfb27b tools: update replay route parsing for timeless format 2024-03-07 18:57:59 -08:00
Shane Smiskol
90442e3597 Subaru: make OBD query logging (#31785)
* make OBD query logging

* Update selfdrive/car/subaru/values.py

Co-authored-by: Justin Newberry <justin@comma.ai>

* wording

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-03-07 18:57:15 -08:00
Adeeb Shihadeh
428397a18b cgpsd: check checksums and log some accuracies (#31784)
* check checksum

* some accuracy

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-07 17:24:29 -08:00
Justin Newberry
6de71bcddb better comment 2024-03-07 17:02:11 -08:00
Adeeb Shihadeh
fbe6b2c73b cgpsd (#31781)
* cgpsd

* latlong is good

* more sentences

* little more

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-07 16:40:13 -08:00
Justin Newberry
5d710ecf57 Subaru: log eyesight faults as acc faults (#31716)
* log cruise fault

* better comment

* spacing

* backwards

* moved

* copy the other one

* localized

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-07 15:30:31 -08:00
Justin Newberry
257db40d57 ruff: Exclude body and cereal (#31782) 2024-03-07 14:58:36 -08:00
Justin Newberry
9f0201bdd4 vscode: remove non-symlinked openpilot directories from python analysis (#31780)
anaylsis
2024-03-07 14:41:58 -08:00
Justin Newberry
8ba5d660f3 common PlatformFlags base class + test for < 32 bits (#31779)
* add 32 bit check

* space

* this is not required

* jk yes we do
2024-03-07 14:01:28 -08:00
Justin Newberry
dcc49077a0 test_updated: basic agnos update test (#31776)
test agnos
2024-03-07 13:00:09 -08:00
Jason Wen
5b5938dc3a Update CHANGELOGS.md 2024-03-07 15:51:43 -05:00
Jason Wen
7bfd2b81e1 Toyota: Fix upstream merge conflicts 2024-03-07 15:31:46 -05:00
Justin Newberry
8d9b96cf23 test helpers: http server context (#31774)
* http context

* fix

* fix
2024-03-07 12:09:07 -08:00
Justin Newberry
a919d27afc fix car test routes typing (#31773)
* Fix typing

* and fix test_car_model

* fix
2024-03-07 11:33:40 -08:00
Justin Newberry
9cb256891f test_updated: add test for no update (#31772)
no update test
2024-03-07 11:01:33 -08:00
mike8643
c39c54a0d8 otisserv: set_destination and locations endpoints for non-prime users (#243)
ios shortcut support
2024-03-07 13:57:41 -05:00
Justin Newberry
ca79e3ec0b and controlsd (#31769) 2024-03-07 11:34:03 -05:00
Jason Wen
7f11517257 Nissan: Remove unused code (#31768) 2024-03-07 07:28:52 -08:00
Shane Smiskol
cec9f59113 Toyota: set distance lines to max (#31728)
* press the button

* 33hz/2

* fix tests

* PCM_CRUISE_SM is a UI message: it goes to 0 when not displayed, and is much lower rate

* only change when enabled so we don't hide the welcome message on cruise main button

* unbump

* then you can get into a weird state

* stuff

* for unplugged DSU we can still read PCM distance, but not buttons

* skip

* skip
2024-03-07 03:53:41 -08:00
Alexandre Nobuharu Sato
c4ef17ac28 Toyota TSS-P: parse distance button from SDSU (#31741)
* Toyota TSS-P: parse distance button from SDSU

* it's 1000hz wtf... da99509bd910288a/2024-03-04--13-51-30

* add events for SDSU

* need to check for CAN filter

* clena up

* check

* whoops

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-07 02:03:39 -08:00
Cameron Clough
98a491b1f2 Ford: parse distance button (#31733)
Ford: parse ACC gap toggle button

Use the ACC gap toggle button signal from the SCCM. There are two other
signals for "increase" and "decrease" gap buttons, but no supported car
has these buttons.
2024-03-07 01:54:33 -08:00
Shane Smiskol
2e0a4a8574 Hyundai: remove Sorento and G80 CAN fingerprints (#31758)
* Add FW

* rm can fp
2024-03-07 01:23:05 -08:00
Shane Smiskol
66680515a7 Hyundai Genesis: remove CAN fingerprints (#31757)
We already have the FW from 1bc85e3b0b53e1ad, 1b85fa0a357240ac, and cb5df08e7b5d0633
2024-03-07 01:09:08 -08:00
Shane Smiskol
9f7c577564 Hyundai Ioniq Hybrid 2017: remove CAN fingerprints fixing mismatch (#31755)
* Run bot on 0e13ee2b821302f4

* remove IONIQ CAN fingerprints and move to Niro PHEV (part numbers match!)

* remove dups

* best guess is Hyundai C (IONIQ is also)
2024-03-07 00:53:31 -08:00
Shane Smiskol
4624bb3d7c Sonata LF: remove CAN fingerprint (#31754)
add FW from 7ae1c131629d96e5
2024-03-07 00:24:50 -08:00
Shane Smiskol
2a29778ae2 HKG: test platform codes per platform (#31753)
* test

* clean up
2024-03-07 00:14:56 -08:00
Shane Smiskol
28b4e9962d Hyundai Palisade: allow fingerprinting without comma power (#31752)
* Palisade gets camera, radar, eps

* Add versions from d23a555519923793

* add FW from 0af43ba62cc3ffc4

* remove CAN fingerprints!
2024-03-06 23:39:11 -08:00
Michel Le Bihan
b4c8e0834d Simulator: Add world status reporting (#31740) 2024-03-06 19:16:21 -08:00
Clark934
997bb65e54 ruff: set tab size and quote style (#31749) 2024-03-06 19:15:14 -08:00
Adeeb Shihadeh
84797482e9 encoderd: fix large frames (#31681)
* encoderd: fix large frames

* Update camera_common.cc

* just do this for now

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-06 16:19:08 -08:00
Shane Smiskol
78a46ce724 car values formatting (#31747)
values formatting
2024-03-06 15:47:44 -08:00
Justin Newberry
ac77129041 updated: basic e2e update tests (#31742)
* e2e update test

* that too

* fix

* fix

* fix running in docker

* don't think GHA will work

* also test switching branches

* it's a test

* lets not delete that yet

* comment

* space
2024-03-06 15:24:46 -08:00
Justin Newberry
ba068a0f58 with_processes: add standalone context manager (#31746)
helpers
2024-03-06 15:22:07 -08:00
Adeeb Shihadeh
7331b3cc95 it's called esim now 2024-03-06 13:39:49 -08:00
Robbe Derks
7177ec0631 Tesla Raven (#29947)
* fingerprinting

* wip

* bug

* fix another bug

* fix rebase

* clean up raven

* forgot to save

* one more rename

* one more rename

* radar fixes

* AP1 also has bosch radar

* put back dashcamOnly

* small fixes

* raven flag

* fix bug

* fix raven flag

* bump opendbc

* fix radar trigger for non-raven

* fix tests?

* bump panda

* more test fixes

* tesla fingerprinting is a bit slower now

* fix tests

* bump opendbc

* bump submodules to master

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-06 21:14:48 +01:00
Justin Newberry
25ccb2426c cars: remove CAR_INFO map (#31739)
* no carinfo map

* smaller diff

* not on mock
2024-03-06 11:22:12 -08:00
Justin Newberry
233f0437d9 add get_car_interface helper (#31738)
add helper
2024-03-06 10:56:46 -08:00
Adeeb Shihadeh
e399136cb6 don't build cabana on device (#31736) 2024-03-06 09:26:36 -08:00
Shane Smiskol
079b713097 Lexus: add missing IS 2023 FW versions (#31729)
* ahh it has a different engine!

* flip
2024-03-06 02:40:31 -08:00
James
a2de0115b3 Toyota TSS2: parse distance button (#31722)
* Enable the distance button to switch personalities for Toyota/Lexus

* Default to the "standard" personality for now

* only parsing first

* only parse

* no personality in card

* safe

* comment

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-06 01:06:06 -08:00
Shane Smiskol
1644572be2 run_process_on_route: print log location 2024-03-06 01:04:31 -08:00
Shane Smiskol
0da9a1ea75 [bot] Fingerprints: add missing FW versions from new users (#31682)
Export fingerprints
2024-03-06 00:46:12 -08:00
Shane Smiskol
1b9df8aca6 Toyota: move stop and go cars to one tuple (#31726)
* One tuple!

* rm
2024-03-05 23:23:47 -08:00
Shane Smiskol
fcd33786ca Toyota: remove Mirai from interface (#31725)
* mirai

* just mirai
2024-03-05 23:11:10 -08:00
Shane Smiskol
2df61a30eb Toyota: flag for cars without PCM accel limit under 19 mph (#31724)
use flags
2024-03-05 23:04:41 -08:00
Shane Smiskol
342a20ef8e Toyota Highlander: also check unplugged DSU to enable sng (#31723)
* also check unplugged DSU

* fix
2024-03-05 22:50:14 -08:00
Shane Smiskol
eaefdb386f Toyota: Highlander can not do sng as standard (#31721)
* .

* update docs

* fix docs

* Update selfdrive/car/toyota/interface.py
2024-03-05 21:34:06 -08:00
Adeeb Shihadeh
7cfc571f56 timeless routes (#31119)
* timeless route

* update sort

* update test

* fix param name
2024-03-05 20:43:33 -08:00
Shane Smiskol
ed39519014 Hyundai: remove OBD ECUs for Sonata 2020+ (#31458)
no abs on hybrid, and we have eps!
2024-03-05 20:08:15 -08:00
gkiss1977
8958dbaa09 Added KIA_EV EU EPS fingerprint (#30937)
Co-authored-by: Gabriel Kiss <kiss@ntnu.no>
2024-03-05 20:03:57 -08:00
dgcntrk
5bb223a7bf Hyundai: add Tucson 2022 PHEV camera FW version (#31408)
* Update fingerprints.py Hyundai Tucson 2022 phev

* Apply suggestions from code review

* format

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-05 19:59:55 -08:00
Saber
9f5d316c7a VW MQB: Add FW for 2023 Karoq (#30713)
* VW MQB: Add FW for 2023 Karoq

route name:9c3d97394a78e872|2023-12-12--14-39-47--6

* add to fp

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-05 19:50:06 -08:00
noname314
95a80fd2cd HKG: Add FW versions and Enable Radar Tracks for KOR Sonata DN8 Hybrid 2020 (#31371)
* HKG: Add FW versions for KOR Sonata DN8 Hybrid 2020

* HKG: Enable radar tracks for KOR Sonata DN8 Hybrid 2020

* rm extra

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-05 18:08:32 -08:00
Shane Smiskol
6919c37445 Reapply "Hyundai Azera: allow fingerprinting without comma power (#31717)" (#31719)
* Revert "Revert "Hyundai Azera: allow fingerprinting without comma power" (#31…"

This reverts commit 1ffc58a69a.

* we should get EPS

* add EPS to non-logging can 0 query
2024-03-05 18:00:47 -08:00
MJ Kim
2d2695cd6e Hyundai: AZERA_HEV_6TH_GEN (Update fingerprints.py) (#31684)
* Update fingerprints.py

Hyundai AZERA_HEV_6TH_GEN

* no new CAN fingerprints

* no crnr rdr

* Update selfdrive/car/hyundai/fingerprints.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-05 18:00:39 -08:00
Shane Smiskol
1ffc58a69a Revert "Hyundai Azera: allow fingerprinting without comma power" (#31718)
Revert "Hyundai Azera: allow fingerprinting without comma power (#31717)"

This reverts commit ccda4119a8.
2024-03-05 17:51:13 -08:00
Shane Smiskol
ccda4119a8 Hyundai Azera: allow fingerprinting without comma power (#31717)
* do azera

* azera is same

* need to do this
2024-03-05 17:49:18 -08:00
Kacper Rączy
ecce4663d3 RadarInterfaceBase: remove no_radar_sleep field (#31715)
Remove no_radar_sleep field from base radar interface
2024-03-05 16:45:47 -08:00
Cameron Clough
fb81cfe3c4 fw_versions: add more type hints (#31577)
* fw_versions: add more type hints

* cleanup

* fixes

* more implicit optional

* Update selfdrive/car/fw_versions.py

* backslash is unnecessary inside parenthesis

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-03-05 15:33:39 -08: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
Kacper Rączy
032c0878b8 webrtcd: ability to have multiple streams publishing same message (#31700)
Use single PubMaster with dynamic services
2024-03-05 12:14:50 -08:00
Justin Newberry
9d4d5f6077 torqued: use correct time from carOutput (#31712)
fix timings
2024-03-05 11:02:02 -08:00
Michel Le Bihan
32fb58656a Only print keyboard help on poll start and unknown command (#31710) 2024-03-05 10:36:01 -08:00
Jason Wen
95c748b9f9 M-TSC: Re-enable in release 2024-03-04 22:41:31 -05:00
Justin Newberry
deb79a9c44 card: fix startup condition (#31698)
fix default cc
2024-03-04 16:18:16 -08:00
Kacper Rączy
09e73f8fb6 webrtcd: allow empty bridge_services_out (#31694)
* Test case

* Add messaging only if services non empty

* Fix webrtcd

* Use parametrized_class

* Bump to master teleoprtc
2024-03-04 15:04:28 -08:00
Justin Newberry
be2b48183f updated -> move to selfdrive/updated/updated (#31696)
* move updated

* for release
2024-03-04 14:33:52 -08:00
Justin Newberry
bc2407abeb move card to selfdrive/car/card (#31693)
* more obivous dif

* release
2024-03-04 10:45:32 -08:00
Justin Newberry
82acb87fae bump cereal 2024-03-04 10:11:13 -08:00
Justin Newberry
8ec0d87de0 card: prepare for separate process (#31660)
* Card

* update ref

* bump cpu

* sub to caroutput

* update ref
2024-03-04 09:53:42 -08:00
Adeeb Shihadeh
8cd3bc65bf [bot] Bump submodules (#31690)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-03-04 09:45:56 -08:00
Michel Le Bihan
87a9445d56 Add simple MetaDrive scenario (#31686) 2024-03-04 08:54:08 -08:00
Adeeb Shihadeh
1728355498 boardd: return earlier from bad unpack (#31687) 2024-03-03 19:15:21 -08:00
Jason Young
15955bfcd0 VW: Early EPS faults are temporary, round deux (#31525)
* VW: Early EPS faults are temporary, round deux

* a bit cleaner

* Revert "a bit cleaner"

This reverts commit e836f92394eba0ace8d9cc87b5aa5080d6332d17.

* a little better

* clarity

* consolidate

* cleanup
2024-03-03 17:40:27 -08:00
Shane Smiskol
6fc0a2102f Add Highlander 2024 to car docs 2024-03-03 07:21:53 -08:00
Adeeb Shihadeh
9b2665f0c1 can_replay fixups for bxcan hw 2024-03-02 12:23:46 -08:00
Adeeb Shihadeh
6c11de4b55 fix typo 2024-03-02 12:05:00 -08:00
Harald Schäfer
b48cbdbc0c Update RELEASES.md 2024-03-02 10:01:23 -08:00
Shane Smiskol
3b5f6cd6b2 [bot] Fingerprints: add missing FW versions from new users (#31610)
* Export fingerprints

* Update selfdrive/car/toyota/fingerprints.py
2024-03-01 23:59:28 -08:00
Adeeb Shihadeh
cfc5faee2a fix compress_vipc width 2024-03-01 21:53:16 -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
Adeeb Shihadeh
a38a5e8bb4 tici: enable SIM hot swap (#31680)
* tici: enable SIM hot swap

* only tizi

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-01 17:24:22 -08:00
Shane Smiskol
b74e8c91bd Hyundai: clean up platform configs (#31677)
* formatting

* should always end with comma

* rest are lower

* to avoid confusion, don't subclass from CAN config -- nothing is common
2024-03-01 17:17:52 -08:00
Shane Smiskol
77d896eb89 Honda: two base platform configs (#31676)
* subclass bosch and nidec

* end with comma

* one line

* remove unused flags

* as a test see what happens if we exceeed CP.flags

* Revert "as a test see what happens if we exceeed CP.flags"

This reverts commit f57a346df5e6f3c6ab19875b843633c0571d16e3.

* Update ref_commit
2024-03-01 17:16:46 -08:00
YassineYousfi
f1cd16e367 Recertified Herbalist Model (#31616)
* dfa8bce2-a445-45ea-a4b8-e63989b8df08/700

* update model replay ref
2024-03-01 16:56:33 -08:00
Shane Smiskol
81bed0aad8 Honda Bosch: fix detection for alternate brake signal bug (#31675)
statically set alt brake for platforms where we don't need detection yet
2024-03-01 16:37:09 -08:00
Shane Smiskol
bf20358440 CI: increase test car interfaces examples (#31641)
* increase

* huh

* Revert "huh"

This reverts commit 1a652cbed06a7c814711db6f2bc6b3146d3aec04.

* no huge fp dicts

* ugh

* try 300

* test

* at least increase a bit
2024-03-01 16:11:48 -08:00
Comma Device
9616b3f717 no amp 2024-03-01 15:32:33 -08:00
Jason Young
50a754f470 VW PQ: Volkswagen Caddy Mk3 (#31670) 2024-03-01 16:41:56 -05:00
Justin Newberry
b0496d8294 can_replay: log fingerprint for hardcoding (#31671)
* log

* quotes
2024-03-01 13:28:58 -08:00
Jason Young
e0c840cd02 VW: Cleanup, migrate center-to-front ratio to CarSpecs (#31668)
* VW: Cleanup after PlatformConfig refactor

* whitespace fix
2024-03-01 12:05:28 -08:00
Justin Newberry
b0eae8c1b7 platformconfig and carspecs are now required, carspecs no longer kwarg (#31667)
* required

* mock can be a platform!

* default is mock

* fix that

* and that one
2024-03-01 11:31:51 -08:00
Justin Newberry
a5ee1638b8 Body: move to car specs (#31666)
* specs

* override

* fixes 1

* fix 3

* fixes 4

* fixes

* fixes

* fixc

* fix number 723124

* that too

* fixes

* aa

* do body real quick too

* body too
2024-03-01 10:32:31 -08:00
Justin Newberry
2e0db7f8d8 Hyundai: move car specs to platformconfig (#31661)
* specs

* override

* fixes 1

* fix 3

* fixes 4

* fixes

* fixes

* fixc

* fix number 723124

* that too

* fixes

* aa
2024-03-01 10:31:43 -08:00
Cameron Clough
341b81c0a5 Ford: use flags for CANFD (#31664) 2024-03-01 12:18:03 -05:00
Shane Smiskol
52ee070fe0 Toyota: use platform config (#31607)
* part 1. Toyota platform config

* more

* everything works now

* no more DBC

* janky but that saves a lot of car lines

* need to init inside values or else it won't be reliable

* no return

* fixes

* minor update

* common flags, no dbc grouping

* some clean up

* some clean up

* rename

* copied wrong :(

* another

* copied specs for easiest ones first

* second easiest

* fix erroneous commas

* more clean up

* do the rest

* bug

* the refactor is so error prone

* huh?!

* static

* fix stiffness factor

* detect unsupported DSU

* Revert "detect unsupported DSU"

This reverts commit 9b72de6c8ef282ce20f6472970874a960761884b.

* fix DBC diff

* test carparams

* test sets

* scratch

* catches this

* Revert "scratch"

This reverts commit de08daa9fb8cc0368c5847b669e87b1b2e577616.

* Revert "test sets"

This reverts commit 62402f9b021cdf16a27fd9fb0883d81169711cbd.

* Revert "test carparams"

This reverts commit b02971659c2a8268d0ac8fdff02231dc36b5a197.

* Update ref_commit
2024-03-01 02:14:33 -08:00
Adeeb Shihadeh
9c3f0450bb simple pyqt ui 2024-02-29 21:46:35 -08:00
Justin Newberry
00f2703bbb basic platform config tests 2024-03-01 04:01:59 +00:00
Justin Newberry
e576da1457 VW: use flags for PQ (#31659)
pq use flags
2024-02-29 19:51:20 -08:00
Adeeb Shihadeh
2d2ba37b46 build tools on-device (#31658) 2024-02-29 19:39:28 -08:00
Justin Newberry
a6a6f7bb50 Honda: move carspecs to platformconfig (#31657)
* first pass

* fix
2024-02-29 19:14:31 -08:00
Justin Newberry
e341707b0f HKG: move to platform config (#31649)
* fuck me!

* that kinda makes things pretty nice

* move it down

* and move this comment

* Wip

* more flags :/

* add the debug shit

* add

* lets not break this yet

* MORE flags git add .git add .git add .git add .!

* B

* add mando

* update ref

* possibly better?

* we can use flags here

* formatting

* formatting

* move up

* canfd subclass

* this is more clear

* spacing

* static!

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-29 17:04:54 -08:00
Justin Newberry
7014b52596 Chrysler: fix radar not being enabled (#31655)
fix radar
2024-02-29 15:56:11 -08:00
Shane Smiskol
690dc55ea2 Car flags: label static flags (#31639)
* comment, consistent source

* no caps not global

* no field

* label rest
2024-02-29 15:36:40 -08:00
Shane Smiskol
0fa3445ddb Subaru: use carParams flags in interface (#31653)
* Subaru: don't use platform flags

* clean up
2024-02-29 15:19:31 -08:00
Justin Newberry
ac16c5518a add CAR.print_debug (#31652)
print debug
2024-02-29 15:01:47 -08:00
Shane Smiskol
5d291cb64d Subaru: group steer rate limited with GEN2 (#31640)
* remove sideways diff

* make a subclass

* fix

* fix
2024-02-29 14:45:31 -08:00
Justin Newberry
7ec83c42f8 devcontainer improvements (#31650) 2024-02-29 14:14:24 -08:00
Justin Newberry
5734d7c2bf Honda: move to platformconfig (#31637)
* first

* Fixes

* not

* not

* Fixes

* fix

* cleanup + use sets for now

* update ref

* update ref
2024-02-29 11:29:40 -08:00
Justin Newberry
e122f1d749 Mazda: move to platform config (#31647)
* mazda platform config

* update ref
2024-02-29 11:14:00 -08:00
Justin Newberry
80807879de Tesla: move to platform config (#31648)
tesla platform config
2024-02-29 11:11:37 -08:00
Justin Newberry
f775faf26d carspecs: add more units (#31646)
more units
2024-02-29 10:42:11 -08:00
Cameron Clough
251eee4664 test_processes: fix unclosed file (#31644) 2024-02-29 11:17:13 -05:00
eFini
8e82bce17a CHS/CHT translation update (#31642)
update ZH translations
2024-02-29 02:47:32 -08:00
Shane Smiskol
85150c0289 Platform config small cleanup (#31638)
no field, label mass, correct spacing
2024-02-28 23:54:41 -08:00
Adeeb Shihadeh
b8c9d3bd09 Revert "Ford: remove unnecessary __init__"
This reverts commit 7687cafe8c.
2024-02-28 21:13:26 -08:00
Shane Smiskol
7687cafe8c Ford: remove unnecessary __init__ 2024-02-28 20:47:49 -08:00
vanillagorillaa
e0a80d34d9 Honda: add CanBus class (#31528)
* init canbus class

* zero

* put back after rebase

* cmt

* ordering

* fix bsm bus

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-28 20:45:48 -08:00
Adeeb Shihadeh
7e7a6b1526 bump panda 2024-02-28 20:34:44 -08:00
Adeeb Shihadeh
e4e9243f8d bump cereal 2024-02-28 20:23:40 -08:00
Shane Smiskol
f20bfacb94 move CarControllerBase up with other car classes 2024-02-28 20:23:09 -08:00
Justin Newberry
851df7458f pr comments: only on external prs (#31635)
only on external prs
2024-02-28 20:22:54 -08:00
Justin Newberry
3a6c3315ab Subaru: move to flags within PlatformConfig (#31584)
* flags

* update ref

* use the flags directly

* use post_init (don't freeze)

* we can maintain frozen with custom class

* not preglobal

* move to common

* cleanup
2024-02-28 20:12:14 -08:00
Harald Schäfer
85eb221e4c GpsLocation: Rename accuracy to horizontal accuracy (#31629)
* Rename accuracy to horizontal accuracy

* typo in cereal
2024-02-28 19:55:57 -08:00
Alexandre Nobuharu Sato
3ae151635d Multilang: update pt-BR translations (#31634)
update pt-BR translations
2024-02-28 19:33:37 -08:00
Jason Wen
95b224c155 NNLC: Add HONDA CLARITY 2018 2024-02-29 02:32:55 +00:00
Shane Smiskol
ec9856b784 GM: add more FW logging (#31633)
* add more DIDs

* one more

* update refs

* rm

* btr

* Update selfdrive/car/gm/values.py
2024-02-28 18:01:58 -08:00
Justin Newberry
d4c497d826 add CarControllerBase base class to all CarControllers (#31630)
just base class for now
2024-02-28 17:13:44 -08:00
Shea_D
4cec88c029 Ford - Add OBDC Cable Length to CarPartList (#31608)
* Update comma cable requirement for Ford CANFD

* Adding Long_Cable to part list

* Moving cable info into doc_definitions under CarHarness

* Updating parts for ford_q4

* Updating Q3 info

* Updated MachE with USBC coupler

* fix typo

* updating docs/cars.md

* Add 3X angled no cable

* Adding in nocable device package

* Add missing )

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* Generating new Docs.MD

* Added threex_nocable for MachE

* Swap MachE to regular mount no cable

* confirmed with Comma Operations all boxes include 1.5ft cable regardless of 9.5ft selection

* Updating CarInfo

* Update USB_Coupler for Q4 Harness

* Remove cable from import

* removed ]

* Disagree with the inconsistency but OK

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

* Update selfdrive/car/ford/values.py

---------

Co-authored-by: sheaduncan <sduncan@Yeti-PC>
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-28 17:07:06 -08:00
Justin Newberry
f4a7e8eae6 disable commaCarSegments tests (#31632)
disable this test too
2024-02-28 16:47:08 -08:00
Justin Newberry
7208e37f8c disable notebooks (#31631) 2024-02-28 16:44:10 -08:00
Adeeb Shihadeh
6cf7599bcd setup: add openpilot button (#31628)
* setup: add openpilot button

* rename
2024-02-28 15:54:21 -08:00
Jason Wen
2d6dbc1275 Event: Add additional GitHub path for startup event check 2024-02-28 17:20:58 -05:00
Justin Newberry
e9a10ca712 auto pr review (#31626)
* auto PR comments

* little more

* test

* update action

* cleanup

* ensure it only runs once

* comment that part out

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-28 12:05:43 -08:00
Justin Newberry
7cf2b28b78 scons: fix race condition with opendbc (#31621)
* fix race condition

* add to release

* fix for now

* bump
2024-02-28 11:41:42 -08:00
Jason Wen
71ac15bf4e Update README.md 2024-02-28 12:41:10 -05:00
Jason Wen
fe1dc7b8de Merge branch 'master' into dev-priv/master-priv 2024-02-28 11:40:59 -05:00
Jason Wen
540431a06b Models: Update default name 2024-02-28 11:36:56 -05:00
Jason Wen
8750b25a0f Bump to 0.9.7.0 2024-02-28 11:34:29 -05:00
Shane Smiskol
2c247ea2c6 Honda Civic (Nidec): allow fingerprinting without comma power (#31501)
* civic: FP with no OBD port

* non essential ecus
2024-02-27 22:12:00 -08:00
Shane Smiskol
a5fa419fbd Volkswagen: log camera ECU FW 2024-02-27 21:48:40 -08:00
Shane Smiskol
ce6637cd8f Honda Accord: allow fingerprinting without comma power (#31477)
* Do Accord

* add comment

* good test

* this catches the accord/accordh issue!

* as expected, only if both radar&camera have in common FW does the test fail

* cmt

* clean up

* better

* Use HondaFlags

* detect alt brake

* for test

* hypothesis isn't installed

* test failure

* works

* Revert " works"

This reverts commit bfc0d808abe548630e6507431f13b01e8a1316cb.

* Revert "test failure"

This reverts commit 10ab6eb63ccd411740751b742f31fd610397fe8e.

* Revert "hypothesis isn't installed"

This reverts commit d474cc3f0ed7e84fe8bd24f452b3315fd2b8d47c.

* Revert "for test"

This reverts commit 98e039f4fc0189ccb57c1dae6b344209ef15eb1c.

* this is important too

* clean up

* merge accord fingerprints, test

* remove duplicates

* accordh doesn't have these

* rm

* no unknown

* start over, merge platforms

* add cmt

* note non-essential ecus

* add non essential obd ecus

* combine FW

* format fingerprints (remove dups)

* migrate test models segs

* cmt

* Update ref_commit

* clean up
2024-02-27 20:09:02 -08:00
Jason Wen
ce4055ced6 FCR: Implement during the fingerprint stage 2024-02-27 21:57:14 -05:00
Jason Wen
dbaba022a2 Fix upstream merge conflicts 2024-02-27 21:28:12 -05:00
Jason Wen
f588a0367b Merge branch 'master' into sync-priv-20240227
# Conflicts:
#	panda
#	selfdrive/car/chrysler/values.py
#	selfdrive/car/ford/carstate.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/nissan/values.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/volkswagen/interface.py
#	selfdrive/car/volkswagen/values.py
#	selfdrive/controls/radard.py
#	selfdrive/manager/process.py
#	selfdrive/modeld/modeld.py
2024-02-27 21:22:16 -05:00
Jason Wen
5d6f22d062 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#293) 2024-02-27 21:10:58 -05:00
Jason Wen
4397a687bc Bump submodules 2024-02-27 21:09:47 -05:00
Jason Wen
4d8c13ba42 Merge branch 'upstream/openpilot/master' into sync-20240224
# Conflicts:
#	cereal
#	common/params.cc
#	selfdrive/car/chrysler/interface.py
2024-02-27 21:01:40 -05:00
Shane Smiskol
56e343b3f1 Honda Accord: label non-essential ECUs (#31624)
* note non-essential ecus

* do accordh
2024-02-27 17:41:52 -08:00
Justin Newberry
262b328ad7 ban pytest.main (#31623)
ban it!
2024-02-27 14:17:01 -08:00
Justin Newberry
19db56b1f6 tici tests: remove pytest.main (#31622)
pytest.main is bad!
2024-02-27 14:06:18 -08:00
Harald Schäfer
c05b37979d Wheeled body (#31614)
* Wheeled body

* 100hz only for balance

* No carparams in locationd no more

* Update ref
2024-02-27 13:23:04 -08:00
Justin Newberry
f293f7bad4 scons: move cereal library exports to cereal submodule (#31617)
* cleanup-cereal

* bump
2024-02-27 13:17:56 -08:00
Adeeb Shihadeh
47013fd0a4 Revert "auto PR comments (#30675)"
This reverts commit 402ac424d9.
2024-02-27 12:06:53 -08:00
Justin Newberry
dc37281340 typo (#31618)
dataset
2024-02-27 11:55:19 -08:00
Adeeb Shihadeh
402ac424d9 auto PR comments (#30675)
* auto PR comments

* little more

* test

* update action

* cleanup
2024-02-27 11:09:48 -08:00
Cameron Clough
0e41bf3474 Ford: fix As-Built request identifier (#31609)
Should be 0xDE00 not 0xDE
2024-02-27 10:59:27 -08:00
Justin Newberry
d457ed9d50 chrysler: freeze dataclass + remove more from interface (#31613)
* fix

* fix
2024-02-27 10:23:13 -08:00
Justin Newberry
666c41d969 Chrylser: move to platform config (#31600)
* do chrysler

* chrysler specs

* cleanup

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-27 10:16:22 -08:00
Justin Newberry
d3f0f76a7e Nissan: move to platform config (#31599)
* do nissan

* cleanup + fix
2024-02-27 10:16:06 -08:00
Jason Wen
761b16d8f5 Merge branch 'master' into dev-priv/master-priv 2024-02-27 10:31:13 -05:00
Jason Wen
cdd93855f2 Update CHANGELOGS.md 2024-02-27 10:30:59 -05:00
Shane Smiskol
3978e7e98c [bot] Fingerprints: add missing FW versions from new users (#31572)
* Export fingerprints

* get these FP in
2024-02-27 04:40:46 -08:00
Cameron Clough
c724d1c86c Ford: log interesting module configuration data (#31569)
* Ford: log interesting module configuration data

Ford ECUs have what is called "As-Built Data" which is configured at the
factory/workshop to set what packages/features are enabled on the car.
But they also contain vehicle specific information (VIN, make, model,
weight, wheel base...), DTC information and driver preferences.

I dumped the CAN traffic for the FORScan diagnostic tool to see how it
requests this information from the ECUs.

<details>
<summary>FORScan communication with IPMA (camera)</summary>
<pre>
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': '0200'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'TESTER_PRESENT', 'hex': '00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'TESTER_PRESENT', 'hex': '00'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f190'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f113'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x13JX7T-19H406-CH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1134a5837542d3139483430362d434800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f188'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x88JX7T-14F397-AH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1884a5837542d3134463339372d414800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f120'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1 JX7T-14F397-BF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1204a5837542d3134463339372d424600000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f121'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f124'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1$JX7T-14F398-AG\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1244a5837542d3134463339382d414700000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f125'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1%JX7T-14F398-BF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1254a5837542d3134463339382d424600000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f126'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f10a'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f111'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x11JX7T-14F403-CA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1114a5837542d3134463430332d434100000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f18c'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x8c182762191\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f18c31383237363231393100000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f162'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f110'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x10DS-JX7T-19H406-AD\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f11044532d4a5837542d3139483430362d414400000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': '0202'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd100'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd10001'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd700'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd70001010101'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd701'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'd70101020000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'dd01'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'dd010102f8'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'f113'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'data': b'\xf1\x13JX7T-19H406-CH\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'hex': 'f1134a5837542d3139483430362d434800000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd08'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd0800000500500100300000000000000000000000300000000000000000200100400300100200001200f00300500000000000000300c00b00400200000000000000000000000000000000200f01201e01501400a00200200400700d02501d01700700e06405005e05503401100a000000002002002001000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd09'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'fd09ffec0001fef60002'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DTC_INFORMATION', 'hex': '028f'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DTC_INFORMATION', 'hex': '02ff50019768c253002cc401862cc418862c'}
... skip DTC requests ...
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de00020799dbaa10296516a440000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de01'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de01fd5616db5fffff557fe1f842080000000800000008000000080000000819bfe00f7c00000000000000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de02'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de02800000008000000080000000800000008337fc00800000008000000080000000800000008337fc0000000000000000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de03'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de03fffc26c3800000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de04'}
{'addr': 1806, 'type': 'positive_response', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de04546a8c0000000000'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de05'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de06'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de07'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de08'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de09'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0a'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0b'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0c'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0d'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
{'addr': 1798, 'type': 'request', 'service': 'READ_DATA_BY_IDENTIFIER', 'hex': 'de0e'}
{'addr': 1806, 'type': 'negative_response', 'hex': '2231'}
</pre>
</details>

Using UDS service `READ_DATA_BY_IDENTIFIER`, we can read the As-Built
blocks from `0xDExx` with no diagnostic session/security access necessary.

I used [Online As-Built databases](https://cyanlabs.net/asbuilt-db/) and
various coding spreadsheets shared online to find values we might be
interested in using for fingerprinting (both vehicle parameters and
identifying the platform).

ABS:
- Payload tier (Base, Mid Payload Upgrade, Heavy Duty Payload
  Upgrade...)
- Wheelbase
- Steering ratio
- Cruise Control Mode (Normal, Adaptive)
- Enable Stop and Go

PSCM:
- Enable Lane Keeping Aid
- Enable Traffic Jam Assist
- Enable Lane Centering Assist

IPMA (Q4):
- Steering ratio
- Wheelbase

APIM (Sync 3 and Sync 4):
- Steering ratio
- Vehicle weight
- Wheelbase

There are more potentially useful signals which I haven't included
although they might not be necessary:
- Vehicle (Ford platform code, like "C344" or "C519" - although the
  source of the mapping from index to code is FORScan and not Ford
themselves unless we can find a better source).
- Fuel type
- Vehicle length/height/front track/rear track
- Tire circumference (could be useful for converting wheel speed rad/s
  to m/s)
- Steering angle source (Pinion, Wheel)
- Country code (letters, e.g. US, CA or UK)
- Transmission type
- CAN network architecture
- More feature flags (the APIM also stores settings for ACC, LCA, BLIS)

The full list of settings I have found is
[here](https://github.com/incognitojam/op-notebooks/blob/main/ford/settings.py).

* FwQueryConfig: add data_requests

* add car_data to CarInterface get_params

* Revert "add car_data to CarInterface get_params"

This reverts commit aa161a6b82082705db97bea2c4317e1888a74845.

* test_ford: add APIM ecu address

* Revert "FwQueryConfig: add data_requests"

This reverts commit dc5484a9b80be5bc61a7fdf55560b8813bc43ef7.

* fix block numbers and add extra queries

* bump test_fw_query_timing

* add missing query whitelists

* simplify asbuilt requests

* use forscan block ids

* formatting

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-27 04:22:10 -08:00
Justin Newberry
9ecff49118 platformconfig: freeze all dataclasses (#31605)
* frozen

* frozen
2024-02-26 21:16:05 -08:00
Justin Newberry
6d0027342a remove cast for platformconfig (#31604)
* this isnt required

* Cleaner
2024-02-26 21:01:41 -08:00
Comma Device
14ea615ae4 no amp config 2024-02-26 20:39:41 -08:00
Adeeb Shihadeh
3c4e82f14a get name from kernel (#31602)
* get name from kernel

* revert that

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-26 20:21:44 -08:00
Justin Newberry
edd26acdc3 can_replay: add type hint (#31601)
type hint
2024-02-26 16:26:01 -08:00
Jason Wen
4124c4593f Merge remote-tracking branch 'commaai/openpilot/master' into sync-20240224
# Conflicts:
#	cereal
#	opendbc
#	panda
2024-02-26 16:39:04 -05:00
Justin Newberry
9d1cafd0fc move with_http_server to selfdrive/test/helpers (#31597)
* move

* fix
2024-02-26 12:53:17 -08:00
Justin Newberry
86090a1e15 add common/mock to release (#31596)
* add mock

* fix

* fix2
2024-02-26 11:20:51 -08:00
Adeeb Shihadeh
5c0bbc7dda [bot] Bump submodules (#31594)
* bump submodules

* bump opendbc

---------

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-26 11:20:42 -08:00
Adeeb Shihadeh
a1fefabbca [bot] Update Python packages and pre-commit hooks (#31595)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-02-26 09:08:24 -08:00
Cameron Clough
8e03cdfc2a Ford: move to PlatformConfig (#31554)
* Ford: move to PlatformConfig

* Align Aviator model years with Explorer

* Add CarSpecs to PlatformConfig

---------

Co-authored-by: justin <justin@comma.ai>
2024-02-25 17:55:42 -08:00
Eric Brown
5012e15aa6 GM: move to platform config (#31553)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* Move GM to platform config

* Implement CarSpecs

* Simplify centerToFront

* Accidentally had subaru DBC

* Fix typo in DBC name

* done above

* two spaces

* that is moved up

* fix hardcoded fingerprints

* whitespace

* values

* better?

* fix

* bump

* fix

* fix

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-25 17:53:26 -08:00
Jason Young
da540eac13 VW: Move car specs to PlatformConfig (#31567)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* well that sucked

* cleanup and follow refactor

* diff reduction

* oops

* fix

* force fingerprint

* Revert "force fingerprint"

This reverts commit 600fbcd7d559703601a06c8876a640de417e5b6c.

* space

* Fix specs

* this one too

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-25 17:38:17 -08:00
Cameron Clough
80da3aee14 mypy: use implicit-optional (#31590)
* mypy: set implicit-optional = true

* find and replace '| None = None' -> '= None' in function args
2024-02-25 13:29:18 -08:00
Cameron Clough
3520d47955 vscode: add ruff extension (#31589) 2024-02-25 11:41:27 -08:00
Robbe Derks
854e78eaff linux-aarch64 also works for plotjuggler 2024-02-25 18:18:43 +00:00
Cameron Clough
30afe2c231 scripts: install and run pyupgrade (#31587) 2024-02-25 09:26:11 -08:00
Cameron Clough
be8e503a7d cars: update platforms typing syntax (#31586) 2024-02-25 11:24:33 -05:00
Justin Newberry
cdd4d418aa Subaru: fix forester weight (#31585)
fix weight
2024-02-24 23:15:16 -08:00
Justin Newberry
e6009d80e9 cars: introduce "Platform" union type for all car enums (#31558)
* Hmm

* release

* hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

* unrelated

* forgot

* cleaner

* Platform

* new syntax

* Fix

* clean

* Fix
2024-02-24 22:18:13 -08:00
Adeeb Shihadeh
96ce470b73 VSCode settings (#31582)
* base config

* add launch.json

* little more

* cleanup

* fix

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
2024-02-24 20:54:04 -08:00
Jason Wen
9aca2536aa Merge branch 'upstream/openpilot/master' into sync-20240224
# Conflicts:
#	selfdrive/car/subaru/values.py
2024-02-24 20:46:45 -05:00
Jason Wen
d0911f62e5 Merge branch 'master' into dev-priv/master-priv 2024-02-24 20:41:56 -05:00
Jason Wen
0b0ddd8d9e Update CHANGELOGS.md 2024-02-24 20:41:38 -05:00
Cameron Clough
995250ae49 use pyupgrade to update to new typing syntax (#31580)
* add pyupgrade hook

* run pyupgrade (pre-commit run -a)

* ruff --fix

* Revert "add pyupgrade hook"

This reverts commit 56ec18bb6b8602a0b612f3803d96cdad14b52066.

* revert changes to third_party/

* manual type fixes

* explicit Optional wrapping capnp objects
2024-02-24 16:41:23 -08:00
Cameron Clough
6ed72b3626 Ford: add hybrid variants to docs (#31575)
* Ford: add hybrid variants to docs

Following up on https://github.com/commaai/openpilot/pull/31568

| CarInfoPlatform              | ElectrificationLevel   | ModelYear              | Series                                                                                            | Trim                                                                |
|:-----------------------------|:-----------------------|:-----------------------|:--------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------|
| FORD BRONCO SPORT 1ST GEN    | ICE                    | 2021, 2022             | BADLANDS, BASE, BIG BEND, FIRST EDITION, OUTER BANKS                                              |                                                                     |
| FORD ESCAPE 4TH GEN          | FHEV                   | 2020, 2021, 2022       | SE, SEL, Titanium                                                                                 |                                                                     |
| FORD ESCAPE 4TH GEN          | ICE                    | 2020, 2021, 2022       | S, SE, SEL, Titanium                                                                              |                                                                     |
| FORD ESCAPE 4TH GEN          | PHEV                   | 2020, 2021, 2022       | SE, SEL, Titanium                                                                                 |                                                                     |
| FORD EXPLORER 6TH GEN        | HEV                    | 2020, 2021, 2022, 2023 | Limited, Platinum                                                                                 |                                                                     |
| FORD EXPLORER 6TH GEN        | ICE                    | 2020, 2021, 2022, 2023 | Base, Black Label, King Ranch, Limited, Platinum, Reserve, ST, ST-Line, Standard, Timberline, XLT |                                                                     |
| FORD EXPLORER 6TH GEN        | PHEV                   | 2020, 2021             | Black Label Grand Touring, Blk Label Grand Touring, Grand Touring                                 |                                                                     |
| FORD F-150 14TH GEN          | HEV                    | 2021, 2022, 2023       | , F-Series                                                                                        | SuperCrew                                                           |
| FORD F-150 14TH GEN          | ICE                    | 2021, 2022, 2023       | , F-Series                                                                                        | , Regular Cab, SuperCab, SuperCrew, SuperCrew-Raptor, SuperCrew-SSV |
| FORD F-150 LIGHTNING 1ST GEN | BEV                    | 2022, 2023             |                                                                                                   | SuperCrew                                                           |
| FORD MAVERICK 1ST GEN        | HEV                    | 2022, 2023             | SUPERCREW, XL XLT Lariat                                                                          | , SUPERCREW                                                         |
| FORD MAVERICK 1ST GEN        | ICE                    | 2022, 2023             | SUPERCREW, XL XLT Lariat, XLT Lariat                                                              | , SUPERCREW                                                         |
| FORD MUSTANG MACH-E 1ST GEN  | BEV                    | 2021, 2022, 2023       | California Route 1, GT, Premium, Select                                                           |                                                                     |

Data from NHTSA database and https://www.ford.co.uk/cars.

* revert F-150 model year change
2024-02-24 10:01:02 -08:00
Jason Wen
73ff33005d Merge branch 'upstream/openpilot/master' into sync-20240224
# Conflicts:
#	panda
#	selfdrive/car/subaru/values.py
2024-02-24 09:51:14 -05:00
Jason Wen
fe1e34dc21 Merge branch 'master' into dev-priv/master-priv 2024-02-24 09:48:26 -05:00
Jason Wen
b049836943 Update CHANGELOGS.md 2024-02-24 09:48:18 -05:00
Jason Wen
df79d31a6b ui: Remove device ambient temperature from Sidebar Temperature selector 2024-02-24 09:41:01 -05:00
Jason Wen
8eb043ec7d Merge branch 'master' into sync-priv-20240220
# Conflicts:
#	CHANGELOGS.md
#	panda
#	selfdrive/car/toyota/interface.py
#	selfdrive/controls/controlsd.py
#	selfdrive/manager/manager.py
#	selfdrive/modeld/fill_model_msg.py
#	selfdrive/modeld/modeld.py
2024-02-24 09:35:16 -05:00
Jason Wen
b8773a10d4 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#290) 2024-02-24 09:21:16 -05:00
Jason Wen
8945fffab0 Merge branch 'upstream/openpilot/master' into sync-20240220
# Conflicts:
#	cereal
#	common/version.h
#	selfdrive/controls/controlsd.py
#	selfdrive/thermald/power_monitoring.py
2024-02-24 09:14:42 -05:00
Shane Smiskol
378ba114f9 Ford: support hybrid Q3 platforms (#31568)
* bump

* ford: remove dynamic dashcam lockout for hybrids

* releases?

* Revert "releases?"

This reverts commit 88d950043d79b8c00535f48ed84b854bc2ab2557.

* bump

* Reapply "releases?"

This reverts commit db5079dc3f1a6bce70bd04430be45704d8604e76.

* 097
2024-02-23 21:22:34 -08:00
Justin Newberry
adb7e2e229 CI: Retry multiarch build (#31570)
hardware
2024-02-23 20:54:48 -08:00
Adeeb Shihadeh
92475d653b agnos 9.7 (#31564)
* agnos 9.7

* update
2024-02-23 17:41:03 -08:00
Jason Young
b75a6cea34 VW PQ: Consolidate and cleanup tuning (#31566)
consolidate and cleanup PQ configs
2024-02-23 17:35:21 -08:00
Justin Newberry
1161d33c18 Subaru: move carspecs to PlatformConfig (#31550)
* subaru platform config

* forester wrong dbc

* spacing

* subaru car specs

* someday!

* more red diff

* all brands can be done like this

* but this should be done first and thats subaru specific

* that seems very low but we shouldn't change it here

* as long as it subclasses str its fine

* fix
2024-02-23 13:23:40 -08:00
Justin Newberry
556f973896 segment range docs update (#31560)
* the format

* cleaner
2024-02-23 11:50:33 -08:00
Shane Smiskol
72a7f008ab Volkswagen: log FW on non-OBD buses (#31556)
* log lots

* update refs

* cmt
2024-02-23 04:00:28 -08:00
Justin Newberry
c9c2ab9cc8 pre-commit: run ruff first (#31548)
move ruff up
2024-02-22 18:34:42 -08:00
Justin Newberry
73a497ded8 cleanup PlatformConfig (#31551)
cleanup
2024-02-22 17:49:27 -08:00
Justin Newberry
015eed5d61 Subaru: move to PlatformConfig (#31547)
* subaru platform config

* forester wrong dbc

* spacing
2024-02-22 17:17:00 -08:00
Adeeb Shihadeh
db57a21c88 pandad: wait until USB is up before panda recovery (#31549) 2024-02-22 17:15:53 -08:00
Adeeb Shihadeh
968eaf1cb2 bump to 0.9.7 2024-02-22 16:12:28 -08:00
Justin Newberry
1ee8c9aa33 cars: introduce "platformconfig" to be a configuration for all relevant car information (#31542)
* this is decent

* make sure the docs don't change for now

* hackery

* these can live here
2024-02-22 15:58:37 -08:00
Greg Hogan
43f64ec500 URLFile: default value test (#31544)
* URLFile: default value test

* cleanup

* fix env

* improvements

* fix GET response

* only delete cache dir if it exists

* env pop

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

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-22 13:17:02 -08:00
Shane Smiskol
a2bda8724d Ford: add back OBD queries for logging (#31543)
* Revert "Reapply "Ford: don't fingerprint on engine (#31195)" part 2 (#31320)"

This reverts commit dd6065c33b.

* fix refs

* mark logging
2024-02-22 01:34:15 -08:00
Shane Smiskol
3009a51c06 athenad: check end_event while uploading files (#31541)
* check end_event while uploading, throw abort exception if we need to shut down/restart

* fix

* draft test

stash

* Revert - there's no easy way to know if it breaks early in upload loop
or not yet

This reverts commit ad893687e196ebb31d276a114c19e9af963ed02a.

* todo for now
2024-02-22 00:31:24 -08:00
Shane Smiskol
c0e172e0c0 athenad: fix test timeouts and comments (#31540)
* these pass in 0.5s since server sends ping on connect

* comments

* unused

* fix

* fix these too

* check end_event while uploading, throw abort exception if we need to shut down/restart

* Revert "check end_event while uploading, throw abort exception if we need to shut down/restart"

This reverts commit f0b822fca98cd8e2b3d4d6d5ede6b512d3ed3ec0.

* more tol for lte connection
2024-02-21 22:08:10 -08:00
Shane Smiskol
9dde727974 Fix athenad reconnect test (#31538)
* debugging

* this also works

* so does this

* more similar to existing method

* clean up

* more

* more
2024-02-21 19:40:35 -08:00
Adeeb Shihadeh
d8ce15a869 controlsd: increase initializing timeout (#31535) 2024-02-21 16:23:43 -08:00
Justin Newberry
00315325a3 controlsd: move carParams management to card (#31534)
* card-manage

* fix

* init params

* reversed that

* can be in the init
2024-02-21 16:11:00 -08:00
Adeeb Shihadeh
0b4d08fab8 remove deviceState.ambientTempC (#31533) 2024-02-21 13:57:49 -08:00
Adeeb Shihadeh
34138d0be9 qcomgpsd: use AT helper with retry for all AT commands (#31532) 2024-02-21 13:57:29 -08:00
Justin Newberry
837b811f9c Split out can control into new "card" class (#31529)
* card v1

* fix car events

* fix proc replay

* lets keep that the same

* no extra space here

* move can recv timeouts to card

* organize imports

* organize imports

* slightly bump cpu

* not a card!
2024-02-21 13:18:43 -08:00
Justin Newberry
0eba392cf2 controlsd: sort imports (#31531)
sort imports
2024-02-21 11:58:04 -08:00
Adeeb Shihadeh
7a29617108 tici: ensure DSP permissions are setup on boot (#31530)
Co-authored-by: Comma Device <device@comma.ai>
2024-02-21 11:48:17 -08:00
Justin Newberry
3f104f3fbd fix static analysis 2024-02-21 11:26:49 -08:00
Adeeb Shihadeh
e7695c3f32 add power cycling to can_replay 2024-02-21 11:12:56 -08:00
Shane Smiskol
c3e3103830 torqued: log raw params if calculable (#31521)
* log params when calculable

* better

* Update ref_commit

* this is redundant

* this is only used in one place, confusing which to use so remove

* better
2024-02-20 22:30:51 -08:00
Shane Smiskol
4abda1b6bc thermald: remove instant low voltage check (#31522)
remove instant lv check for old bug
2024-02-20 21:02:38 -08:00
Adeeb Shihadeh
3e6ac26569 thermald: make CPU usage list a constant size (#31526) 2024-02-20 20:15:46 -08:00
Adeeb Shihadeh
27c56722cc fix spinner asset paths (#31524) 2024-02-20 18:01:28 -08:00
Adeeb Shihadeh
1c794b710c uploader: sleep more when no files in queue (#31523)
* uploader: sleep more when no files in queue

* fix test
2024-02-20 17:25:12 -08:00
Adeeb Shihadeh
c645feb1aa pj: gpu usage isn't real 2024-02-20 16:55:46 -08:00
İdris AKBIYIK
272019f73d Add fingerprints.py for Skoda Octavia MK3 2017 (#30846)
* Update fingerprints.py for Skoda Octavia MK2 2017

-Fingerprint values added

* Update fingerprints.py Passat Alltrack 4x4

* another PR

* format

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-20 15:57:40 -08:00
Justin Newberry
51e3daf244 Subaru: add 2024 forester (#31520)
* also angle based

* 24 forester
2024-02-20 15:02:56 -08:00
Adeeb Shihadeh
2cf831a304 debug: improve count_events.py output 2024-02-20 14:20:53 -08:00
Justin Newberry
a51ef41cf8 Simulator: simulate the obd enabled/changed dance (#31519)
obd dance
2024-02-20 12:11:42 -08:00
Shane Smiskol
2184da9deb [bot] Fingerprints: add missing FW versions from new users (#31518)
Export fingerprints
2024-02-20 08:07:43 -08:00
Jason Wen
bbbca41296 Merge branch 'upstream/openpilot/master' into sync-20240220
# Conflicts:
#	cereal
#	opendbc
#	panda
#	selfdrive/car/honda/carstate.py
2024-02-20 11:05:51 -05:00
Jason Wen
4ab41dd619 Update CHANGELOGS.md 2024-02-20 11:02:03 -05:00
Jason Wen
5e16cba5bb MADS: Enforce pedalPressed when MADS is disabled 2024-02-20 14:22:26 +00:00
Jason Wen
f87e3dc433 ui: Update manual brightness in every loop 2024-02-20 09:05:56 -05:00
Adeeb Shihadeh
5d4dc1dc2f Make ui independent of launch path (#31517)
* Make ui independent of launch path

* comment
2024-02-19 22:34:24 -08:00
Adeeb Shihadeh
675eeb9d16 modeld: add extra log for startup time debugging 2024-02-19 22:33:30 -08:00
Adeeb Shihadeh
528e555892 debug: print log messages in relative time 2024-02-19 22:33:08 -08:00
goodchoom
8b5c9e84d2 Alerts: fix inconsistent capitalization (#31514)
fix capitalization
2024-02-19 18:18:20 -08:00
Harald Schäfer
26481d082f Certified Herbalist Model (#31425)
* ab9921cb-6e0a-4816-bec5-ebb55d37a7f1/700

* 93532291-a562-4ab8-82d2-34d6e9fdcfbb/700

* Update ref
2024-02-19 17:26:10 -08:00
Harald Schäfer
d371fb042c Modeld: cleanup unused variables (#31516)
Modeld: cleanup used variables
2024-02-19 17:07:15 -08:00
Adeeb Shihadeh
1145122b3f More startup checks (#31511)
* no lag!

* kill first

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-19 13:58:36 -08:00
Milan Medić
69fb3c2ed5 add Cython static analysis (#31491)
* Adding pre-commit hook for cython static analysis

* Adding changes to cython files to pass static analysis

* Revert "Adding changes to cython files to pass static analysis"

This reverts commit 9a0eb733199abd9eef1eac3d024ef2760348d67c.

* Adding ignore rule for indentation of 4 spaces (E111)

* Fixes for cython-lint static analysis

* Revert "Fixes for cython-lint static analysis"

This reverts commit 972741735b2bdc73460d65a4d7ea167dfc0f4644.

* Adding two new rules into ignore list (2 new lines after difinition of class)

* Adding fixes for cython static analysis
2024-02-19 12:11:56 -08:00
Adeeb Shihadeh
37206a83fe [bot] Bump submodules (#31507)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-02-19 10:54:06 -08:00
Adeeb Shihadeh
86184b76d5 more modeld logging (#31510) 2024-02-19 10:46:04 -08:00
Adeeb Shihadeh
be4bbca9a3 [bot] Update Python packages and pre-commit hooks (#31508)
* Update Python packages and pre-commit hooks

* remove that

---------

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-19 10:45:10 -08:00
Jason Wen
df87f45190 ESCC: Forward FCA11 and FCA12 for all stock FCW/AEB commands 2024-02-19 17:36:55 +00:00
Jason Wen
6336a51cb5 Screen Recorder: Fix blank video files 2024-02-19 17:17:39 +00:00
Adeeb Shihadeh
4ded4c53af thneed: printf -> cloudlog (#31506)
* thneed: printf -> cloudlog

* LOGI

* Revert "LOGI"

This reverts commit e6ab7e45fb7f3678727595f67c1f6c8e2cda734b.
2024-02-18 23:04:24 -08:00
Adeeb Shihadeh
c6eae405a5 ensure startup is clean (#31504)
* strict

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-18 17:03:33 -08:00
Adeeb Shihadeh
b28daef34a controlsd: allow mismatch while boardd reads back mode (#31505)
* controlsd: allow mismatch while boardd reads back mode

* self
2024-02-18 14:43:42 -08:00
Shane Smiskol
49dd8b476c [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#31502)
Export fingerprints
2024-02-18 11:01:01 -08:00
Jason Wen
761f6eb37f Hyundai non-SCC: Fix upstream merge conflict 2024-02-18 10:22:11 -05:00
Jason Wen
5e5b67a33f README: New Discord URL (#286) 2024-02-17 21:18:05 -05:00
Jason Wen
d68905831b FCR: Reset cached param to sync with upstream conflicts 2024-02-17 23:52:08 +00:00
Adeeb Shihadeh
79fa3954b7 bump panda 2024-02-17 14:29:46 -08:00
Jason Wen
25246b1b71 Fleet Manager: Fix Screen Recorder list generation 2024-02-17 16:30:53 -05:00
Jason Wen
8cbfae6eff ui: Speed Limit Assist: Fix Speed Limit Warning button behavior 2024-02-17 21:01:02 +00:00
Jason Wen
5989674a11 DEC: Use modelV2.navEnabled for navigation instruction checks 2024-02-17 20:55:31 +00:00
Shane Smiskol
07adbd347f Honda Accord: remove unknown ECU
Could be the radio/heater controller
2024-02-17 04:40:57 -08:00
Shane Smiskol
2e8c62358c Honda Bosch: detect alternate brake signal (#31500)
* Do Accord

* add comment

* good test

* this catches the accord/accordh issue!

* as expected, only if both radar&camera have in common FW does the test fail

* cmt

* clean up

* better

* Use HondaFlags

* detect alt brake

* for test

* hypothesis isn't installed

* test failure

* works

* Revert " works"

This reverts commit bfc0d808abe548630e6507431f13b01e8a1316cb.

* Revert "test failure"

This reverts commit 10ab6eb63ccd411740751b742f31fd610397fe8e.

* Revert "hypothesis isn't installed"

This reverts commit d474cc3f0ed7e84fe8bd24f452b3315fd2b8d47c.

* Revert "for test"

This reverts commit 98e039f4fc0189ccb57c1dae6b344209ef15eb1c.

* this is important too

* clean up

* more clean up

* Update ref_commit
2024-02-17 04:03:12 -08:00
Adeeb Shihadeh
62f4eecf16 bump panda (#31498) 2024-02-16 23:18:51 -08:00
Shane Smiskol
c5f1f4c676 test_fw_query_on_routes: get first qlog (#31496)
* fast

* this isn't internal

* see
2024-02-16 17:55:15 -08:00
Harald Schäfer
900300a928 Calibration Transform: border pad (#31495) 2024-02-16 15:18:26 -08:00
Mitchell Goff
86410a0ef0 Bumped model replay ref for new map tiles (#31493) 2024-02-16 22:32:43 +00:00
Adeeb Shihadeh
b218abcaa3 controlsd: increase initializing timeout 2024-02-16 13:35:45 -08:00
Adeeb Shihadeh
0723c2bc5f log git commit date (#31490)
* log git commit date

* unix ts

* fix

* bump cereal

* cleanup
2024-02-16 13:19:10 -08:00
Jason Wen
45f21a844a Fix upstream merge conflicts 2024-02-16 15:06:27 -05:00
Jason Wen
18551612e9 FCR: sync with upstream supported car platforms 2024-02-16 08:50:12 -05:00
Jason Wen
31f1dc1ffd Update CHANGELOGS.md 2024-02-16 08:47:58 -05:00
Jason Wen
47caf0e0a4 Merge branch 'master' into sync-priv-20240216
# Conflicts:
#	panda
#	release/files_common
#	selfdrive/car/hyundai/interface.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/plannerd.py
#	selfdrive/sentry.py
#	system/version.py
2024-02-16 08:47:13 -05:00
Jason Wen
89c8382417 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#283) 2024-02-16 08:41:32 -05:00
Jason Wen
658f0f6249 bump submodules 2024-02-16 08:40:54 -05:00
Jason Wen
fd11bc1d7d Merge branch 'upstream/openpilot/master' into sync-20240216
# Conflicts:
#	cereal
#	opendbc
#	panda
#	selfdrive/car/hyundai/interface.py
#	selfdrive/controls/controlsd.py
#	selfdrive/monitoring/dmonitoringd.py
2024-02-16 08:27:39 -05:00
Jason Wen
47e165dd16 DEC: Update logic from dragonpilot-community/dragonpilot:beta3 2024-02-16 13:07:01 +00:00
Jason Wen
b4a6486380 ui: Onroad optimization 2024-02-16 13:05:41 +00:00
Jason Wen
9b48a5667c ui: Add toggles for Feature Status and Onroad Settings 2024-02-16 12:47:06 +00:00
Jason Wen
efd6c7554b ui: Feature Status: Fix SLC stuck in "OFF" 2024-02-16 12:42:10 +00:00
Jason Wen
0a737ba343 MADS: Display pre-enable events with MADS engaged 2024-02-16 12:41:07 +00:00
Adeeb Shihadeh
5a441ec0c4 modeld: fix and cleanup getting carParams (#31488) 2024-02-15 22:20:00 -08:00
Shane Smiskol
0a5e994947 [bot] Fingerprints: add missing FW versions from new users (#31489)
Export fingerprints
2024-02-15 21:44:02 -08:00
Justin Newberry
0cb206cb95 conftest: cleanup environment cleaner (#31486)
* clean env

* no self
2024-02-15 13:38:42 -08:00
Adeeb Shihadeh
663f7017f2 fix linter 2024-02-15 13:35:49 -08:00
Adeeb Shihadeh
eb5a847dc8 Update RELEASES.md 2024-02-15 13:18:19 -08:00
Adeeb Shihadeh
64851baea8 debug/count_events.py improvements 2024-02-15 13:13:11 -08:00
Justin Newberry
c2b9f7163a test_qcomgpsd: subtest the gps_runtime scenarios (#31485)
* subtest this

* runtime

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-15 13:12:11 -08:00
Justin Newberry
16d1339553 test_logreader: test internal scenarios (#31484)
* test source scenario

* test source scenario

* fix
2024-02-15 12:10:56 -08:00
Adeeb Shihadeh
d31269f663 fix no GPS alert when driving slowly in a tunnel (#31483) 2024-02-15 11:52:57 -08:00
Justin Newberry
8aee0d2af2 test_logreader: test interactive mode + fix typo in AUTO_INTERACTIVE (#31481)
* fix spelling

* test interactive

* remove that

* test taht

* move that
2024-02-15 11:24:27 -08:00
Jason Wen
170c63fbc5 FCR: Add description to generate LEAF_IC in Nissan FCR 2024-02-15 11:40:23 -05:00
Shane Smiskol
baa77ced19 TestFwFingerprint: test to prevent mismatches when utilizing non-essential ECUs (#31478)
* test

* same speed
2024-02-15 00:35:21 -08:00
Shane Smiskol
62c51e2d0c HKG CAN FD: fix bus 0 VIN addr
Added camera addr instead of cluster on accident here: https://github.com/commaai/openpilot/pull/31348
2024-02-14 23:35:59 -08:00
Shane Smiskol
b1f452d42b Toyota TSS2: radar disable support (#29094)
* try to disable radar

* fix bug and bump panda

* prep

* always attempt longitudinal for testers

* fix rav4

* send ACC_HUD

* bump panda

* revert

* check for failure to disable

* fix arg

* allow

* this has no effect

* bump

* update docs

* bug fix

* fix

* check relay malfunc for acc control

* remove route where SDSU caused a relay malfunction

* missing rav4

* bump

* use chr route

* bump

* add back

* relay malfunction

* bump to master

* add to releases
2024-02-14 23:27:07 -08:00
Shane Smiskol
622d099d00 Toyota: check ACC_CONTROL for relay malfunction (#31475)
toyota: check acc control for relay malfunction
2024-02-14 21:55:33 -08:00
Shane Smiskol
55ba64568d test_models: add RAV4 route without relay malfunction (#31474)
add it back
2024-02-14 21:41:01 -08:00
Shane Smiskol
0e94567a18 Toyota: only read gas interceptor if we're using it (#31473)
* we shouldn't be reading from interceptor and not writing/sending gas command

* better

* add a test!

* comment is clear
2024-02-14 21:32:44 -08:00
Shane Smiskol
68fcc955ac bump panda (#31472)
* bump

* fix renames
2024-02-14 20:47:30 -08:00
Shane Smiskol
c65dfaac68 Leaf: get VIN (#31398)
* Add Leaf VIN query

* add lots of requests

* add exception for nissan

* no more logging

* update refs

* lower worst case

* Update selfdrive/car/car_helpers.py

* update refs

* it's the vcm!
2024-02-14 20:06:14 -08:00
Shane Smiskol
9acc55861c VIN: lower retries (#31471)
* lower retries

* comment
2024-02-14 17:08:12 -08:00
Adeeb Shihadeh
20db82641f Update RELEASES.md 2024-02-14 15:36:54 -08:00
Adeeb Shihadeh
2f15c878d0 bump cereal (#31469)
* bump cereal

* bump cereal
2024-02-14 15:01:02 -08:00
Greg Hogan
e59fe0014a URLFile: add typing and internalize pool manager (#31466)
* URLFile: add typing and internalize pool manager

* cleanup
2024-02-14 14:09:01 -08:00
Adeeb Shihadeh
3cd0e5d43c Reapply "radard: enable avg input service frequency checks (#31404)" (#31468)
This reverts commit 7f7f1fd21b.
2024-02-14 13:53:33 -08:00
Adeeb Shihadeh
6f905ed979 radard: remove sleep for cars without radar (#31467)
* radard: remove sleep for cars without radar

* fix

* update refs
2024-02-14 13:12:54 -08:00
Adeeb Shihadeh
194bd85905 log all startups 2024-02-14 11:44:19 -08:00
Miguel Fernandez
ab6dd22f71 Merge branch 'master-priv' into sync-priv-20240201 2024-02-14 20:09:13 +01:00
Jason Wen
f17ebeeef6 Torque: Remove additional files 2024-02-14 14:02:55 -05:00
Miguel Fernandez
57be1f4c5f PIPELINE: hardening pipeline - excluding ui.h from prebuilts 2024-02-14 19:40:40 +01:00
Justin Newberry
33cf6bda9e LogReader: add typing hints (#31464)
logreader typing
2024-02-14 10:34:17 -08:00
Jason Wen
071e12e527 NNLC: Slight fixes 2024-02-14 13:08:54 -05:00
Justin Newberry
1436f576df LogReader: retain old behavior for direct parsing of files (#31419)
* maintain exception

* test that head is not called

* annoying mock

* test with cache
2024-02-14 10:05:25 -08:00
DevTekVE
a0dd4d7359 Adding sanity checking and using a different method for the actual artifact being built 2024-02-14 17:51:26 +00:00
Jason Young
991d02ba27 fix pre-commit install process (#31445)
* fix pre-commit install process

* only install pre-commit from a git repo
2024-02-14 08:19:20 -08:00
JJeonbear
beab6e8658 Ioniq 5 2022 AWD FWD camera update (#31322)
* Update fingerprints.py

Update IONIQ5 fwdCamera

* Update fingerprints.py

* Update fingerprints.py
2024-02-14 05:26:25 -08:00
Shane Smiskol
796671fe1a SegmentRange: more explicit slice matching (#31451)
* more explicit

* fix it

* use non capturing group

* only needed for regex101

* make test_logreader.py executable

* fix

* stash

* passes test

* none

* type anotate

* test

* fix

* nice for syntax highlighting
2024-02-14 04:36:58 -08:00
Shane Smiskol
8fe9bc7a69 SegmentRange: simplify slice (#31455)
* simplify slicing

* rm
2024-02-14 04:17:03 -08:00
Shane Smiskol
c4f7991bb6 SegmentRange: test API call (#31456)
* test

* better

* better
2024-02-14 03:29:08 -08:00
Shane Smiskol
8276371009 SegmentRange: type annotations (#31453)
* type annotate SegmentRange

* proper formatting

* oops

* numpy?

format test too

* draft

* fixed

* clean up

* rm

* more

* clean up

* clean up

* rm

* not here

* revert
2024-02-14 02:05:55 -08:00
Shane Smiskol
0846175f44 tools/lib: format code (#31454)
easier to read. pylint used to catch all this stuff, but it's mostly missing in ruff :'(
2024-02-14 01:56:17 -08:00
Shane Smiskol
9479686fa3 test models: more examples in CI (#31444)
* more examples

* how is it so fast?!

* 500

* is there a hypothesis cache?

all

* Revert "is there a hypothesis cache?"

This reverts commit e628ba73d5b639e36f95df0ab9049697b34a58b8.

* same as jenkins
2024-02-13 23:00:44 -08:00
Shane Smiskol
884bd5c7f6 SegmentRange: define __repr__ 2024-02-13 22:58:44 -08:00
Shane Smiskol
b163c1f255 Mazda: fix potential standstill panda mismatch (#31449)
* repro mazda standstill mismatch

* fix mazda standstill mismatch

* clean up
2024-02-13 22:02:04 -08:00
Shane Smiskol
136dc0313a Toyota: fix high driver torque LKAS fault regression (#31448)
one latactive
2024-02-13 21:49:18 -08:00
Shane Smiskol
cff1ad9dd3 Revert "Hyundai CAN-FD: Panda safety config assignments cleanup (#29733)" (#31443)
This reverts commit 8009b11516.
2024-02-13 21:11:22 -08:00
Justin Newberry
659cdec3d0 Revert "test_qcomgpsd: parametize tests" (#31441)
Revert "test_qcomgpsd: parametize tests (#31430)"

This reverts commit 6f4d388348.
2024-02-13 15:27:36 -08:00
Adeeb Shihadeh
3cf845d952 tici: log SOM ID (#31440)
* tici: log SOM ID

* no cat
2024-02-13 15:01:32 -08:00
Jason Wen
17acb0dc49 Driving Model Selector: Create directory if does not exist 2024-02-13 17:57:24 -05:00
Adeeb Shihadeh
c5739651a2 timed: publish clocks periodically (#31434)
* timed: publish clocks periodically

* simplify

* Apply suggestions from code review
2024-02-13 14:22:46 -08:00
Justin Newberry
d6762c3035 live_logreader to its own file (#31436)
own file
2024-02-13 13:29:52 -08:00
Adeeb Shihadeh
7f7f1fd21b Revert "radard: enable avg input service frequency checks (#31404)"
This reverts commit 4b004d59f3.
2024-02-13 13:23:27 -08:00
Adeeb Shihadeh
e9071f1198 dongle id is only hex (#31426)
* dongle id is only hex

* so is the count
2024-02-13 13:01:25 -08:00
Jason Wen
896bd18c0d Driving Model Selector: Handle default model name display 2024-02-13 15:39:03 -05:00
Jason Wen
d2648d42f9 Driving Model Selector: Handle custom navmodel 2024-02-13 15:34:04 -05:00
Justin Newberry
b4a11a7229 CI: reduce car tests timeout (#31433)
* reduce cars timeout

* 10
2024-02-13 11:57:08 -08:00
Justin Newberry
6f4d388348 test_qcomgpsd: parametize tests (#31430)
* parameterize qcomgpsd

* one line
2024-02-13 11:16:24 -08:00
Justin Newberry
cccf28b9ca jenkins: reduce connection timeouts (#31431)
reduce jenkins timeouts
2024-02-13 11:02:21 -08:00
Jason Wen
0e90bf751b Update CHANGELOGS.md 2024-02-13 13:36:17 -05:00
Jason Wen
9413bb5952 Update CHANGELOGS.md 2024-02-13 08:47:10 -05:00
Eric Brown
416e8253ec GM: Remove Equinox from dashcam mode (#31257)
* Remove Equinox from dashcam mode

* Add fingerprint

* Set moving backward only if not moving forward

* Bump opendbc

* Update moving backward definition

* Update docs

* Bump opendbc

* REVERTME: Add assert statement at Shane's request

* REVERTME: check unsupported and fault status

* Revert "REVERTME: check unsupported and fault status"

This reverts commit 5a0ebad66c4dcd33ee4eb5d0c5d3f036244653e2.

* Revert "REVERTME: Add assert statement at Shane's request"

This reverts commit b4b885eb11ad3079a84033f20f670cc905113bb9.

* Use or

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

* Add comment

* Add test route

* Use newer fingerprint

* Emtpy commit to rerun CI

* Empty commit to rerun CI

* Update selfdrive/car/gm/fingerprints.py

* little more

* remove from non-tested

* update

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-12 21:35:44 -08:00
Shane Smiskol
04ada8e436 Toyota: log engine RPM (#31423)
* Update carstate.py

* 42 is safe

* mirai

* we hit this after 30 mins: Exceeded message traversal limit.  See capnp::ReaderOptions.

* too easy to write this bug, no need to be generic yet

* Update ref_commit
2024-02-12 21:28:16 -08:00
Justin Newberry
78e4508e3b FCA: car port for Dodge Durango 2021 (#31015)
* dodge durango

* add dodge

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

* add comment

* more exact

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-12 21:04:53 -08:00
Shane Smiskol
cabde52ac6 Ford: log traction control status (#31424)
* not sure which to use

* cluster changes a bit earlier andis already used for nonAdaptive
2024-02-12 19:20:49 -08:00
Jason Wen
019257eb60 controlsd: Fix upstream conflicts 2024-02-12 21:16:48 -05:00
Jason Wen
5ea1d4416b Driving Model Selector: Handle default model loading 2024-02-12 21:05:49 -05:00
Jason Wen
f44a04056e FCR: sync with upstream supported car platforms 2024-02-12 21:05:49 -05:00
Jason Wen
09fe96daf7 Update CHANGELOGS.md 2024-02-12 21:05:49 -05:00
Jason Wen
7f540311a9 Longitudinal: Fix planner not getting up to set speed 2024-02-12 19:52:03 -05:00
Jason Wen
672a4b3c74 Revert "Longitudinal: Fix planner not getting up to set speed"
This reverts commit 374a284d1c.
2024-02-12 19:51:05 -05:00
Jason Wen
c9bc99f083 Custom Offsets: Only available for gen1 driving models 2024-02-12 19:47:27 -05:00
Jason Wen
374a284d1c Longitudinal: Fix planner not getting up to set speed 2024-02-13 00:34:55 +00:00
Jason Wen
51a5e92212 Driving Model Selector: Always send modelV2SP 2024-02-12 19:20:53 -05:00
Jason Wen
760a3fe86d Quiet Drive: Check param every 50 frames (2.5 seconds) 2024-02-12 19:16:41 -05:00
Jason Wen
e1721bfd6e Update driving model name 2024-02-12 19:11:19 -05:00
Jason Wen
e74a3cf9d0 DLP: Show reason of incompatibility 2024-02-12 19:10:48 -05:00
Justin Newberry
7010aae0a9 jenkins: kill subprocesses on exit (#31422)
* kill-on-exit

* kill all
2024-02-12 15:41:04 -08:00
Adeeb Shihadeh
4b004d59f3 radard: enable avg input service frequency checks (#31404)
* radard: enable avg frequency checks

* freq

* update cpu

* fix diff
2024-02-12 15:00:01 -08:00
Jason Wen
74c3c72ba0 Driving Model Selector: Can't import Params on PC 2024-02-12 16:00:32 -05:00
Justin Newberry
0a92c5bf96 LogReader: live_logreader helpers (#31416)
live helper
2024-02-12 12:58:25 -08:00
Adeeb Shihadeh
279d2c3b23 SubMaster: improve service aliveness checks (#31391)
* bump cereal

* fix

* fixes

* single poll

* bump

* bump

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-12 10:11:37 -08:00
Shane Smiskol
22c966d8fd [bot] Fingerprints: add missing FW versions from new users (#31414)
Export fingerprints
2024-02-12 09:38:41 -08:00
Adeeb Shihadeh
5f087010a9 [bot] Update Python packages and pre-commit hooks (#31413)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-02-12 09:34:15 -08:00
Jason Wen
90e5e237a8 Revert "NNLC: Nuked for now"
This reverts commit 3c82625546.
2024-02-12 12:07:39 -05:00
DevTekVE
4e0708c20d gpxd out again 2024-02-12 16:19:32 +00:00
DevTekVE
ecfb60feff add hash check and validation for model download 2024-02-12 12:07:42 +00:00
Jason Wen
d6abb30453 Driving Model Selector: Fix lag? 2024-02-12 00:26:10 -05:00
Jason Wen
2845581391 Revert "MADS: Don't forget this"
This reverts commit 22ddc78dc7.
2024-02-11 17:29:27 -05:00
Jason Wen
4994372a5d Driving Model Selector: Do this 2024-02-11 17:26:00 -05:00
Jason Wen
22ddc78dc7 MADS: Don't forget this 2024-02-11 17:24:45 -05:00
Jason Wen
3c82625546 NNLC: Nuked for now 2024-02-11 17:03:48 -05:00
Jason Wen
b977a52f92 NNLC: Turn this shit off 2024-02-11 16:46:43 -05:00
Jason Wen
43fd2add8b NNLC: Small fix 2024-02-11 16:27:29 -05:00
Jason Wen
6f4ef8ef1e Revert "NNLC: Fixes"
This reverts commit 852200f4d0.
2024-02-11 16:27:05 -05:00
Jason Wen
8bf9a0e738 Revert "NNLC: Comment out duplicate"
This reverts commit 5a88fbc2ae.
2024-02-11 16:27:04 -05:00
Jason Wen
021fd4f04e Controlsd: Fix 2024-02-11 16:22:20 -05:00
Jason Wen
5a88fbc2ae NNLC: Comment out duplicate 2024-02-11 15:51:03 -05:00
Jason Wen
852200f4d0 NNLC: Fixes 2024-02-11 15:28:49 -05:00
Jason Wen
913a2cc72c Driving Model Selector: Cleanup 2024-02-11 13:36:46 -05:00
DevTekVE
9a62ad78e5 Improving the nav model download process 2024-02-11 18:10:46 +00:00
Jason Wen
05340ffb7e Driving Model Selector: Add TODO 2024-02-11 13:04:44 -05:00
Shane Smiskol
3cf7b05a30 [bot] Fingerprints: add missing FW versions from new users (#31403)
Export fingerprints
2024-02-11 09:56:34 -08:00
Jason Wen
8e82b3abd9 Driving Model Selector: Handle dynamic dictionary inputs 2024-02-11 12:30:32 -05:00
Jason Wen
1299c51924 Driving Model Selector: Handle dynamic dictionary inputs 2024-02-11 11:33:02 -05:00
Justin Newberry
33e6158d9b Subaru: add message for angle LKAS (#31402)
add angle
2024-02-10 17:47:06 -08:00
Justin Newberry
c9951e9d6c camerad: assert isp started successfully (#31385)
* isp assert

* disable this for testing

* Revert "disable this for testing"

This reverts commit e65cf6d4b457babcc1a980d40079a2d6aa6540b8.

* move below
2024-02-10 14:49:45 -08:00
Nelson Chen
299dbb564d Only run repo-maintenance.yaml on 'commaai/openpilot' (#31401)
This otherwise fails and causes a periodic annoying email for users who have forked the repo.
2024-02-10 08:26:39 -08:00
Greg Hogan
667693b8c2 logreader: skip internal source if not available (#31400)
* logreader: skip internal source if not available

* raise exception

* but only when appropriate
2024-02-10 00:20:43 -08:00
Shane Smiskol
743c418a6c [bot] Fingerprints: add missing FW versions from CAN fingerprinting cars (#31396)
Export fingerprints
2024-02-09 22:24:49 -08:00
Adeeb Shihadeh
daceb171bd bump cereal (#31392)
* bump cereal

* update those

* update refs

* bump cereal

* bump

* bump cereal

* bump

* fix

* bump

* typo:
2024-02-09 21:44:23 -08:00
Shane Smiskol
8416331c15 [bot] Fingerprints: add missing FW versions from new users (#31395)
Export fingerprints
2024-02-09 20:29:40 -08:00
Justin Newberry
664a3c86ba test_caching: use with_http_server (#31393)
use http server
2024-02-09 20:06:11 -08:00
Adeeb Shihadeh
ac95838657 radard: cleanup init 2024-02-09 17:54:40 -08:00
Shane Smiskol
e02ec88b1c Honda Civic & CR-V Bosch: allow fingerprinting without comma power (#31259)
* Honda Civic Bosch: remove OBD-reliant ECUs from fingerprinting

* eligible to fingerprint with these responses now

* same for CRV bosch

* add back all FW to test fingerprinting diff on data

* set these ECUs as non essential instead

* comment

* compare old fingerprinting with non essential fingerprinting

* clean up

* cmt
2024-02-09 17:23:47 -08:00
Justin Newberry
f873224235 LogReader: test auto mode fallback (#31390)
* test auto mode

* better

* slow

* better
2024-02-09 15:22:43 -08:00
Shane Smiskol
68899136dd Honda: add missing FW for CR-V 2018 (#31388)
export
2024-02-09 14:09:01 -08:00
Jason Wen
46c7ff26a8 How did I miss this jesus 2024-02-09 16:06:18 -05:00
Jason Wen
d914617ee0 Driving Model Selector: Some fix 2024-02-09 16:03:51 -05:00
Adeeb Shihadeh
714e02d0bd bring this back 2024-02-09 12:46:06 -08:00
Jason Wen
8dda347bf2 Driving Model Selector: Try converting to int 2024-02-09 15:36:58 -05:00
Jason Wen
814ed8e32f Driving Model Selector: More more fixes 2024-02-09 15:11:28 -05:00
Jason Wen
84c6f86805 Driving Model Selector: More fixes 2024-02-09 14:57:45 -05:00
Jason Wen
0850fcfb22 Driving Model Selector: Fix 2024-02-09 14:53:10 -05:00
Jason Wen
a2dd3de3ab Lateral Plan: More fixes 2024-02-09 14:41:49 -05:00
Jason Wen
0d290529d7 Lateral Plan: More fix 2024-02-09 14:38:03 -05:00
Jason Wen
085f17c6c8 Lateral Plan: Fix 2024-02-09 14:36:59 -05:00
Jason Wen
cd3e1db875 NNLC: Fix upstream conflict 2024-02-09 14:22:17 -05:00
Shane Smiskol
cf97c69067 [bot] Fingerprints: add missing FW versions from new users (#31387)
Export fingerprints
2024-02-09 10:54:41 -08:00
Jason Wen
e133647123 Dynamic Lane Profile: Only allow for gen1 driving models 2024-02-09 13:38:31 -05:00
Jason Wen
3d4edc7289 Driving Model Selector: Handle nav models dynamically 2024-02-09 13:27:01 -05:00
Jason Wen
59d9c68196 Driving Model Selector: Navigation model support 2024-02-09 13:18:43 -05:00
Jason Wen
b7836aa04e ui: Onroad Settings Panel - add ENABLE_MAPS flag 2024-02-09 12:53:58 -05:00
DevTekVE
374b43b883 Merge remote-tracking branch 'origin/sync-priv-20240201' into sync-priv-20240201 2024-02-09 18:36:46 +01:00
DevTekVE
f40de9e1bd Fixing mac setup development environment 2024-02-09 18:35:09 +01:00
Jason Wen
1e5fdf3d1a Driving Model Selector: Model generation support 2024-02-09 09:54:10 -05:00
Jason Wen
eeab29969a Lateral Planner: Reimplement for legacy models 2024-02-09 01:00:10 -05:00
Adeeb Shihadeh
013d4bd4ce controlsd: log initializing timeouts 2024-02-08 21:26:07 -08:00
Justin Newberry
1a1f30c4b6 fix bootlog params copying from other prefix (#31381)
* fix

* also in prefix

* no d

* get it from the path
2024-02-08 16:45:55 -08:00
Adeeb Shihadeh
135deb4324 sensord: fix IRQ affinity (#31384) 2024-02-08 16:40:43 -08:00
YassineYousfi
f0e491e3fa Revert "update model replay ref" (#31383)
Revert "update model replay ref (#31310)"

This reverts commit 7eb9b9a277.
2024-02-08 15:31:29 -08:00
YassineYousfi
c84e5e2402 Revert "Certified Herbalist Model" (#31382)
Revert "Certified Herbalist Model (#31294)"

This reverts commit 06bdc69a02.
2024-02-08 15:31:21 -08:00
Justin Newberry
32f049c280 Revert "make vipc and msgq prefix paths easier to cleanup" (#31380)
Revert "make vipc and msgq  prefix paths easier to cleanup (#31378)"

This reverts commit e87135727d.
2024-02-08 13:38:41 -08:00
Justin Newberry
e87135727d make vipc and msgq prefix paths easier to cleanup (#31378)
* ensure order

* cleanup cleaner

* cleaner

* this needs prefix

* rm vipc

* bump

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-08 13:36:14 -08:00
Justin Newberry
88d0231095 pytest: fix tici setup fixture (#31379)
cleanup

Co-authored-by: Comma Device <device@comma.ai>
2024-02-08 13:32:40 -08:00
Justin Newberry
e593ffc28c bump notebooks timeout (#31377)
bump
2024-02-08 11:49:33 -08:00
Justin Newberry
1c201295c7 test_navd: parameterize random test (#31376)
* parameterized

* import

* dumb
2024-02-08 11:41:56 -08:00
Justin Newberry
70288d1742 test_power_draw: combine mapsd and navmodeld (#31375)
* combine

* combine

* combine

* simpler

* nounion
2024-02-08 11:31:55 -08:00
Shane Smiskol
d61b8c90b6 [bot] Fingerprints: add missing FW versions from new users (#31372)
Export fingerprints
2024-02-08 10:43:06 -08:00
Greg Hogan
ec9f3dcef3 simplify URLFile (#31365)
* simplify URLFile

* more space
2024-02-08 10:24:45 -08:00
Justin Newberry
e3028cbdca jenkins: no changeset (#31374)
no changeset

Co-authored-by: Comma Device <device@comma.ai>
2024-02-08 09:59:47 -08:00
Justin Newberry
85fe673ee8 bump uploader cpu (#31373) 2024-02-08 09:36:33 -08:00
Jason Wen
e7d7189d21 Lateral Planner: Use new variable for useLaneLines 2024-02-08 12:05:01 -05:00
Jason Wen
78e8fc9623 Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into sync-priv-20240201
# Conflicts:
#	panda
2024-02-08 11:56:08 -05:00
Jason Wen
fa9a11c4d6 Sync: commaai/openpilot:master into sunnypilot/sunnypilot:master (#277) 2024-02-08 11:55:30 -05:00
Jason Wen
35a47f6bf3 bump submodules 2024-02-08 11:53:44 -05:00
Jason Wen
b657f0f01e bump cereal 2024-02-08 10:56:36 -05:00
Jason Wen
fabb739dbe HKG: Add missing FW versions for Kia Forte 2023 (#30761)
* HKG: Add FW versions for Kia Forte 2023

* more fw

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-07 23:45:08 -08:00
Shane Smiskol
595406be67 ruff: fix deprecated top level linter settings (#31367)
fix deprecation
2024-02-07 22:54:40 -08:00
Shane Smiskol
74ec33f7c7 IsoTpParallelQuery: type hinting (#31370)
* start typing

* fixes

* we only plan on using this for lists

* sort

* this is the correct way to type it

* it knows this!

* it's getting smarter
2024-02-07 22:53:55 -08:00
Shane Smiskol
b6d195f010 VIN: fix rx addr (#31369)
fix rx vin addr
2024-02-07 21:43:52 -08:00
Justin Newberry
c79d1e0192 test_manager: ensure test independence (#31364)
* ensure independent

* still run 10- times

* need index

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-07 20:52:21 -08:00
Shane Smiskol
0355ceaeac fix static analysis 2024-02-07 19:57:33 -08:00
Jason Wen
75b38db870 Merge branch 'sync-20240201' into sync-priv-20240201 2024-02-07 22:49:01 -05:00
Shane Smiskol
1b0a4746eb test_fw_fingerprint: remove timeout
it's fast now
2024-02-07 19:47:20 -08:00
James
d265f5a6ab Re-use existing params declaration in onboarding (#31363)
Re-use existing params declarations in onboarding
2024-02-07 17:44:57 -08:00
James
75b72c2c4b Fix whitespace (#31361) 2024-02-07 17:27:16 -08:00
Justin Newberry
e6f42fa6b3 test_time_to_onroad: log events after engagability/timeout (#31362)
log engagability

Co-authored-by: Comma Device <device@comma.ai>
2024-02-07 17:25:17 -08:00
Justin Newberry
2e7ed5bd88 add loop_until_fail helper (#31360)
* helper

* remove count
2024-02-07 17:07:01 -08:00
Justin Newberry
4fea2a343a test_time_to_onroad: log events after onroad/timeout (#31359)
* log events

* only on fail
2024-02-07 17:05:43 -08:00
Shane Smiskol
768fee7e44 [bot] Fingerprints: add missing FW versions from new users (#31358)
Export fingerprints
2024-02-07 16:45:03 -08:00
Adeeb Shihadeh
4228b6420b agnos 9.6 (#31357)
* agnos 9.6

* manifest
2024-02-07 16:15:09 -08:00
Shane Smiskol
08c3107163 [bot] Fingerprints: add missing FW versions from new users (#31352)
Export fingerprints
2024-02-07 15:46:58 -08:00
Justin Newberry
6a463503a7 add cd for jenkins replacement scripts (#31355)
fix dirs
2024-02-07 15:40:36 -08:00
Shane Smiskol
92025ecbbd Add Lexus LC 2024 to release notes 2024-02-07 15:07:21 -08:00
Justin Newberry
caa9dff610 test_power_draw: wait for power instead of fixed warmup time (#31318)
* wait for valid

* reuuse that

* assert warmup

* Wip

* fix that

* reset

* none

* timeout

* maxlen

* consecutive

* proc

* fix

* local

* same as before

* mean

* fixes

* SA

* this is the real warmup time

* this is the real warmup time

* Cleanup

* Cleanup

* monotonic + len

* reduce duplication

* fix

* fix

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-07 13:54:46 -08:00
Adeeb Shihadeh
ff1dd1f4dd agnos 9.5 (#31313)
* agnos 9.4

* agnos 9.5
2024-02-07 13:23:58 -08:00
Nelson Chen
b234f5abef Update Lexus LC Convertible Steer Ratio to 13 (#31354)
https://media.lexus.co.uk/wp-content/uploads/sites/3/2021/06/1612190405210201MLCConvertibleTechSpec.pdf

Minor follow-up to port
2024-02-07 12:34:45 -08:00
Nelson Chen
879e2521ac Lexus LC 2024 (#31199)
* Initial pass

* Add physical measurements for LEXUS_LC_2024

* Add new test route for TOYOTA.LEXUS_LC_TSS2

* Add new public-OK test route for TOYOTA.LEXUS_LC_TSS2

* update docs

* | not /

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-07 11:45:12 -08:00
Justin Newberry
8f67d3cab9 jenkins: remove pc / car tests (#31353)
* move to scripts

* clean first

* cant have test_*?

* move
2024-02-07 11:33:52 -08:00
Justin Newberry
6933d0560a Pytest: reenable gc in pytest fixture + re-combine jenkins car tests (#31351)
* Revert "jenkins: spilt car tests in two steps (#31346)"

This reverts commit 8a00b30029.

* enable gc

* codespell

* useless comment
2024-02-07 08:35:32 -08:00
Shane Smiskol
8f5dcb3019 HKG CAN FD: potentially get VIN without OBD port on some platforms (#31348)
* add cluster

* think this works

* update refs

not 1

* only add the new address

* bb

* comment
2024-02-07 00:23:16 -08:00
Shane Smiskol
fabec99645 Hyundai: log camera manufacture date (#31345)
* log manufac date

* oof

* should be safe

* update refs
2024-02-07 00:07:01 -08:00
Justin Newberry
8a00b30029 jenkins: spilt car tests in two steps (#31346)
fix
2024-02-07 00:04:27 -08:00
Adeeb Shihadeh
28276a4485 bump panda 2024-02-06 22:32:37 -08:00
Shane Smiskol
bcd29a2b8a Hyundai: add PT queries for all ECUs (#31334)
* We never had any bus 0 logging queries for CAN!

* should be logging

* try all, and try on can fd as well

* update refs

* oof forgot about hda2 can fd where pt is bus 1

* sheesh

* fix the timing

* fix ref
2024-02-06 20:37:26 -08:00
Shane Smiskol
4ec0ed311c FW query timing test: fix total reference time (#31344)
* We never had any bus 0 logging queries for CAN!

* should be logging

* try all, and try on can fd as well

* update refs

* oof forgot about hda2 can fd where pt is bus 1

* sheesh

* fix the timing

* not here

* revert

* this just simply measured the total time of all the brands with aux queries (1.25s)

* clean up
2024-02-06 20:10:06 -08:00
Shane Smiskol
a07259d765 HKG: mark queries as logging (#31343)
* should be logging

* fix cmt
2024-02-06 19:37:15 -08:00
Justin Newberry
530902dfad bump metadrive (#31342)
bump
2024-02-06 19:23:37 -08:00
Justin Newberry
aa43252dc5 bump opendbc (#31340)
bumpitup
2024-02-06 19:16:41 -08:00
Justin Newberry
ceecf39c54 Docker: merge opencl and base images (#31338)
* mergeem

* don't change workdir
2024-02-06 17:11:00 -08:00
Justin Newberry
66dc7030de test_models: cleanup by using new logreader (#31267)
* cleanup

* only check error

* this segment only

* fix

* fix

* keep this

* fix internal
2024-02-06 16:50:30 -08:00
gaanthony
30dd1087ea Update fingerprints.py - for 2023 Kia Sorento X-Line SX Prestige (#31286)
* Update fingerprints.py - for 2023 Kia Sorento X-Line SX Prestige

* Update fingerprints.py - fix file for unit tests

* Update fingerprints.py

trailing

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
2024-02-06 16:00:24 -08:00
Tico Fortes
1185645271 Add fingerprint Hyundai Tucson Hibrid 2022 Europe (#31291) 2024-02-06 15:55:01 -08:00
Justin Newberry
03c183cb05 jenkins: limit cpu and memory (#31329)
* limit that

* we can use 32g

* addopts

* half
2024-02-06 13:51:55 -08:00
Justin Newberry
052519570d jenkins: lock device resource first before making container (#31330)
lock first
2024-02-06 13:35:08 -08:00
dzid26
0af62eb3b0 camerastream instructions (#31326)
* camerastream instructions

* Update README.md

* Update tools/README.md

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-06 13:19:01 -08:00
Justin Newberry
88b635c4e1 jenkins: cleanup stage names for analysis (#31327)
fix names
2024-02-06 12:50:44 -08:00
Adeeb Shihadeh
7fe375f158 [bot] Bump submodules (#31299)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-02-06 11:11:58 -08:00
Shane Smiskol
d5821c6812 [bot] Fingerprints: add missing FW versions from new users (#31277)
Export fingerprints
2024-02-06 01:47:51 -08:00
dblacknc
75ea3f3e3a Add fingerprint and car info for 2021 Kia Niro PHEV (#31275)
* Add 2021 Kia Niro Plug-in Hybrid

* Added CAR.KIA_NIRO_PHEV_2021

* Added CAR.KIA_NIRO_PHEV_2021

Created new block and moved 2022 model to it as well, with correct mass and steerRatio values.

* Added 2021 Kia Niro PHEV

* Added 2021 Kia Niro PHEV

For now, using 2020 Niro EV torque data

* Update values.py

Add '21 Kia Niro PHEV to HYBRID_CAR for gas signal and DBC info

* Test route for 2021 Kia Niro PHEV

* Add public test route for 2021 Kia Niro PHEV

* Fixed typo in test route for 2021 Kia Niro PHEV

* Move '21 Kia Niro PHEV car info under '22

...and remove other mention of '21 as distinct car

* Added '21 Kia Niro PHEV fingerprint under '22

...and removed separate car definition

* Removed '21 Kia Niro PHEV as separate car, now under '22

* Removed '21 Kia Niro PHEV, now under '22 fingerprint

* Removed test route for '21 Kia Niro PHEV

* Update values.py

Missed removing one more reference to '21 Kiro Niro PHEV, consolidating under '22.

* Update selfdrive/car/hyundai/interface.py

* Update selfdrive/car/hyundai/fingerprints.py

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-06 01:10:10 -08:00
neverbread
769c044269 Hyundai: add FW for 2018 Elantra GT Sport (#30732)
* Update values.py

* we really gotta get fuzzy FP for these date codes

* format

* rc

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-02-06 00:56:02 -08:00
Maddog1929
90dbe61c7d Add fingerprint for 2018 Genesis G90 (#31271)
* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update fingerprints.py

* Update values.py

* Update values.py

* Update fingerprints.py

* Update values.py

* Update values.py

* Update fingerprints.py

changed formatting of FW value to match existing convention and removed extra FW value no longer being shown in carParam logs
2024-02-06 00:43:41 -08:00
Jason Young
e6bace867e VW MQB: Add FW for 2024 Volkswagen Jetta (#30979)
* VW MQB: Add FW for 2024 Volkswagen Jetta

* update docs

* fix sorting
2024-02-06 00:42:28 -08:00
Shane Smiskol
ee16eefc1a Ford: Add missing FW for Escape 2022 (#31321)
Add missing FW for a25d5d0b645d8bc3
2024-02-06 00:05:08 -08:00
Shane Smiskol
dd6065c33b Reapply "Ford: don't fingerprint on engine (#31195)" part 2 (#31320)
* Reapply "Ford: don't fingerprint on engine (#31195) part 2"

This reverts commit 7694712cd6.

* add comment

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2024-02-05 23:57:46 -08:00
Adeeb Shihadeh
cbd46802b0 fix bootlog count (#31319) 2024-02-05 23:00:45 -08:00
Justin Newberry
b94aba6281 CI: Move repo maintenance bots to 6am (#31316)
later
2024-02-05 21:52:16 -08:00
Shane Smiskol
618366be06 get_vin: respond to full 11-bit diagnostic address range (#31317)
* fix

* not 7df

* cleaner

* whop
2024-02-05 21:52:06 -08:00
Shane Smiskol
55cc3989d8 Ford: add ABS address to get VIN without OBD port (#31308)
* consider ford abs

* cmts

* fix

* who

* Revert "who"

This reverts commit eef45b147fab715a9f35b9712e8b9d7ebb1b2fdf.

* this doesn't work correctly

* add cmt

* fix

* Revert "fix"

This reverts commit 60dfe09c426e74293711df9e2f3b2f75cf3a1da9.
2024-02-05 21:48:57 -08:00
Justin Newberry
7eb9b9a277 update model replay ref (#31310)
update ref
2024-02-05 21:06:30 -08:00
Shane Smiskol
cd153e6376 log vin request to qlog (#31314) 2024-02-05 20:30:33 -08:00
Kacper Rączy
35d848ad52 webrtcd: lazy import of aiortc (#31304)
* Lazy imports in webrtcd

* Lazy imports in web.py

* Type hints

* Remove FrameReaderVideoStreamTrack

* leave the aiohttp.web import

* Leave the client session

* main leftover
2024-02-05 19:04:59 -08:00
Justin Newberry
b17f24d68e test_logreader: test run_across_segments (#31305)
* more logreader tests

* not in ci for now

* enable cache
2024-02-05 18:35:12 -08:00
Greg Hogan
a8aa04e6bd make URLFile safe after fork() (#31309)
* make URLFile safe after fork()

* cache the pool manager in each instance

* type hints
2024-02-05 18:07:48 -08:00
Harald Schäfer
06bdc69a02 Certified Herbalist Model (#31294)
ab9921cb-6e0a-4816-bec5-ebb55d37a7f1/700
2024-02-06 08:39:44 +08:00
Shane Smiskol
50a552ab8d Reapply "Ford: don't fingerprint on engine (#31195)" (#31303)
* Reapply "Ford: don't fingerprint on engine (#31195)"

This reverts commit 7694712cd6.

* don't change the queries

* revert refs
2024-02-05 14:46:34 -08:00
Justin Newberry
fd07fc3ba4 updated: close lock file on exit (#31285)
* with open

* those too

* just 1 file

* move this to another pr
2024-02-05 13:01:23 -08:00
Adeeb Shihadeh
f0b591e345 [bot] Update Python packages and pre-commit hooks (#31300)
Update Python packages and pre-commit hooks

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-02-05 10:06:18 -08:00
Jason Wen
daae551ea8 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20240201 2024-02-05 11:41:19 -05:00
Shane Smiskol
7694712cd6 Revert "Ford: don't fingerprint on engine (#31195)"
This reverts commit 1d1c9936cf.
2024-02-05 01:35:39 -08:00
Adeeb Shihadeh
43f151eea9 compressed_vipc supports all frame sizes 2024-02-04 15:29:43 -08:00
Adeeb Shihadeh
3972073fd4 tools: fix up can_replay 2024-02-04 14:48:06 -08:00
Adeeb Shihadeh
a094179b4d add cavli modem config (#31297)
* add cavli modem config

* fix linter

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-04 14:26:03 -08:00
Shane Smiskol
81f52f2e53 car_helpers: don't log fingerprints as a dict (#31289)
Update car_helpers.py
2024-02-02 23:45:28 -08:00
Shane Smiskol
0110540300 Test car interfaces: init controllers (#31282)
* not pytest?

* copy what build release does

* test controls step with CI and lat/long controllers, car controller.update, etc

* clean up

* not needed

* not here

* here

* better cmt

* fix test_fuzzy

* see what's failing

* need conftest for OPENPILOT_PREFIX to work!

* up

* clean up

* test

* fix

* params put is slow

* stash

* Revert "stash"

This reverts commit 22cc9f814c0699f7046970763663205907f2890b.

* stash

bad

* just freaking merge

* sort

* rm
2024-02-02 23:43:30 -08:00
Greg Hogan
d0a1fa636a logging: make swaglog context match in python and c (#31288)
* logging: make swaglog context match in python and c

* add git context to athenad
2024-02-02 23:10:04 -08:00
Greg Hogan
7affba06d8 simplify git remote is comma check (#31284)
* simplify git remote is comma check

* cast to str

* eliminate default and always return string

* add type annotation for cache decorator

* fix up default handling
2024-02-02 21:23:32 -08:00
Shane Smiskol
52be3805b0 use pytest for release tests (#31280)
* not pytest?

* copy what build release does

* Update .github/workflows/release.yaml
2024-02-02 19:25:34 -08:00
Adeeb Shihadeh
2193458da9 bump panda (#31287) 2024-02-02 19:20:28 -08:00
Greg Hogan
9ab374f3b0 athenad: return normalized origin in getVersion() (#31283) 2024-02-02 16:29:45 -08:00
Justin Newberry
28a15dbfe9 CI: enable logical cpus for all selfdrive tests (#31281)
logical
2024-02-02 15:45:59 -08:00
Justin Newberry
0277fc5548 Pytest: consistent hardware state for tici tests (#31279)
* consistent hardware

* consistent hardware

* moved

* this too

* ruff

* s

* duplicated

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-02-02 14:18:01 -08:00
Adeeb Shihadeh
a5766e2796 encoderd: get frame size over vipc (#31276)
* encoderd: get frame size over vipc

* bump cereal

* fix ffmpeg

* no print
2024-02-02 12:53:12 -08:00
Hoang Bui
71236204bb Fix self.started value pass in metadrive test (#31153)
* fix value pass

* fix test

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-02-02 12:06:05 -08:00
Adeeb Shihadeh
83fc734b8f add neural ff weights to release 2024-02-02 11:28:42 -08:00
Jason Wen
66df10faaf MSPA: Lat plan deprecation prerequisites (#276)
* MSPA: Lat plan deprecation prerequisites

* bump cereal
2024-02-02 01:14:13 -05:00
Jason Wen
dd49490dae mapd: Remove more legacy implementation (#275)
* mapd: Remove more legacy implementation

* bump cereal
2024-02-02 00:08:53 -05:00
Shane Smiskol
c9bd4e4c0d FW_QUERY_CONFIGS: type annotate (#31265)
* annotate

* fix

* clean up

* test

* clean up

* space

* fix
2024-02-01 21:01:31 -08:00
Adeeb Shihadeh
4962ffa14c camerad: flip OS04C10 image 2024-02-01 20:24:00 -08:00
Jason Wen
fbabd5700f MSPA: lateralPlanSP legacy support (#274)
* MSPA: `lateralPlanSP` legacy support

* bump cereal
2024-02-01 23:02:03 -05:00
Jason Wen
8f0b4c49cc gpxd: Remove support (#273) 2024-02-01 21:03:17 -05:00
Jason Wen
72dba20a60 Enhanced Speed Control: Remove legacy implementation (#271)
Remove outdated Enhanced Speed Control
2024-02-01 20:59:27 -05:00
Justin Newberry
08d9681cf6 Jenkins: select devices randomly (#31274)
radnomly select devices
2024-02-01 17:24:28 -08:00
Shane Smiskol
33c93cc583 Mazda: add missing FW versions for CX9 2022 (#30725) (#31273)
* Adding CX9 engine ECU FW

* Adding cx92023 fingerprints for transmission

* add fingerprints

---------

Co-authored-by: Elshan <8066214+ekodikara@users.noreply.github.com>
Co-authored-by: Elshan <elshan.kodikara@stepglobal.com>
2024-02-01 15:22:26 -08:00
Shane Smiskol
341f8420db fw_versions: type annotate test_brand_ecu_matches (#31272)
* test this

* we
2024-02-01 15:11:10 -08:00
Adeeb Shihadeh
98564961cd manager: remove RTC time pull (#31270) 2024-02-01 14:00:18 -08:00
Hoang Bui
08037594e2 map: Transfer to MapLibre (#31185)
* change codebase

* compile

* add mapboxprovider

* works with map_renderer in c

* remove maplibre temp

* maplibre works

* cleanup build.sh

* x86 stuff

* add lib

* update release files

* don't need that

* tici build

* tici build

* add tici lib

* update refs

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-01 13:37:22 -08:00
Vivek Aithal
619625625c CHEVROLET BOLT EUV 2022: Add a simple neural feed forward (#31266)
* add simple neural feed forward

* update refs

* do not sample during inference in op

* update refs
2024-02-01 12:30:43 -08:00
Moritz Wörmann
628c829d19 GH Actions PR review bot: Check only for substrings in checkbox text when validating PR template (#31262)
check only for substrings in checkbox text
2024-02-01 10:31:10 -08:00
Vivek Aithal
056b330e8b LatControlTorque: Add more inputs (#31252)
* add history and state to the ff inputs

* add history

* resolve comments

* remove history, simplify

* don't compute lateral accel, roll comp always
2024-02-01 04:12:48 -08:00
Shane Smiskol
f0b6f48948 Mazda: use bus 0 to fingerprint (#31261)
* for testing

* switch OBD port to logging

* revert

* cmt

* cmt

* remove OBD query

* Update selfdrive/car/mazda/values.py
2024-02-01 00:28:00 -08:00
Justin Newberry
086c509fde Create message mocking tools (#31249)
* add mocking tools

* fix map renderer

* use for power draw

* fix those

* whitespace

* rename to services

* fix the rate

* remove
2024-01-31 18:47:49 -08:00
Justin Newberry
be33b00499 Jenkins: better timeout when disconnected from devices (#31256)
* timeout better

* timeoutes
2024-01-31 18:46:40 -08:00
Eric Brown
1ab3745400 GM: Fix wheel direction signals (#31258)
* Fix wheel direction signals

* Update name

* Add comment

* Remove signal value table

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

* bump

* add 3

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-31 18:45:10 -08:00
Justin Newberry
5c85925e9b test_athenad: create with_upload_handler decorator (#31250)
cleaner
2024-01-31 18:44:04 -08:00
Shane Smiskol
7222eb3665 Nissan: use bus 0 to fingerprint (#31243)
* Nissan: use bus 0 to fingerprint

* update refs

* switch OBD query to be logging instead, might want OBD logging for one more release
2024-01-31 18:20:33 -08:00
Justin Newberry
6010a39bf8 LogReader: skip file_exists check for comma_api (#31251)
* valid file

* missed this one
2024-01-31 16:43:58 -08:00
Shane Smiskol
5195f0a624 [bot] Fingerprints: add missing FW versions from new users (#31245) 2024-01-31 09:52:44 -08:00
Elshan
883f9458eb Mazda: add missing FW versions for CX9 2022 (#30725)
* Adding CX9 engine ECU FW

* Adding cx92023 fingerprints for transmission

* add fingerprints

---------

Co-authored-by: Elshan <elshan.kodikara@stepglobal.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-31 03:20:58 -08:00
Shane Smiskol
e4e161f8de Hyundai CAN FD: enable enhanced fuzzy fingerprinting for Sorento & Sorento Hybrid (#31242)
* allow fuzzy fingerprinting

* rm todo

* better cmt
2024-01-31 00:52:49 -08:00
Shane Smiskol
b4f958c13f HKG CAN FD: Merge Sorento Plug-in Hybrid and Hybrid (#31241)
* merge sorento plug-in hybrid and hybrid

* format

* allow fuzzy fingerprinting

* rm todo

* Revert "rm todo"

This reverts commit f2457eb58f88f780b25625942dbd9c74202acbb8.

* Revert "allow fuzzy fingerprinting"

This reverts commit 91f143f3115e31107752a5e84d3f587e6917933f.
2024-01-31 00:41:57 -08:00
Shane Smiskol
2f4cadc6bf Hyundai CAN FD: merge Sportage platforms (#31235)
* merge Tucson 4th gen!

* format fingerprints

* fix torque params

* fix

* detect CANFD hybrid with ACCELERATOR_ALT

* passes

* add test

* pass test

* cmt

* Revert "pass test"

This reverts commit 5f48ab1f6e6569def1cbbc92c9c0dd4ea5eebbe2.

* combine sportage hybrid

* merge sportage

* format
2024-01-31 00:19:15 -08:00
Shane Smiskol
e92e856f7a Hyundai CAN FD: merge Tucson and Tucson Hybrid (#31238)
* combine tucson and tucson hybrid can fd

* format fingerprints
2024-01-30 23:06:24 -08:00
Shane Smiskol
e5a8ddc3d0 Hyundai CAN FD: detect hybrid (#31237)
* detect can fd hybrid

* remove from set

* prevent EV & hybrid somehow
2024-01-30 22:43:56 -08:00
Shane Smiskol
b40660692b Hyundai: use hybrid & ev flags (#31236)
* hyundai: use hybrid & ev flags

* Update ref_commit

* todo

* match order
2024-01-30 21:57:29 -08:00
Shane Smiskol
9c48e85c78 Revert "docs: fix car docs video icon" (#31234) 2024-01-30 19:04:43 -08:00
Shane Smiskol
97aa08d8de docs: fix car docs video icon (#31218)
* fix yt icon on docs.comma.ai

* bigger
2024-01-30 18:46:46 -08:00
Shane Smiskol
bd1678e71f Toyota: fix rare panda standstill mismatch (#31232)
* fix

* clean up

* just use 2x lower threshold so we're not on edge again
2024-01-30 16:06:28 -08:00
Adeeb Shihadeh
bc5fdf24ae update min valid time 2024-01-30 15:00:41 -08:00
Shane Smiskol
0176c870ea Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler, Mazda, Ford [bot] (#31231) 2024-01-30 13:57:52 -08:00
Harald Schäfer
feaf52dd4c Ford long control improvements (#31123)
* Ford updates

* back to normal

* Small fixes

* Try max

* Does pred matter

* ref commit

* Update ref
2024-01-30 11:40:52 -08:00
Shane Smiskol
c2ee072907 format fingerprints: fix empty FW versions (#31230)
fix
2024-01-30 03:07:00 -08:00
Cameron Clough
1d1c9936cf Ford: don't fingerprint on engine (#31195)
* Ford: do not fingerprint engine

* add notebook

* Ford: add missing Explorer FW

* revert

* revert

* Revert "revert"

This reverts commit ad32feaa689f2b497c8bcc9fedc73cae6c87f697.

* TestFwFingerprintTiming: try these

* TestFwFingerprintTiming: update total ref time

* remove notebook

* fix ref

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-30 02:42:33 -08:00
Shane Smiskol
06f0e50964 GM: FPv2 logging (#31221)
* bump

* from https://github.com/commaai/openpilot/pull/27929

* get VIN on bolt!

* might as well try on other gms

* remove vin

* ugh gm is going to be slow

* fix

* should really fix this

* revert

* happy?1

* fix unit test

* bump

* functional addressing must be an OBD gateway feature, this does nothing

* fix vin response

* fix addr!

* finally fix fw_versions bugs since boardd IsOnroad refactor

* for

* only bus 0

* clean up

* Update selfdrive/car/gm/values.py

* ChatGPT re-write

* filter out did

* todo

* oof

* preview: what multiple DIDs per ECU would look like in the future

* Revert "preview: what multiple DIDs per ECU would look like in the future"

This reverts commit 88f0d8611e638de644adc5feabade848c03d59e4.

* function to get all ecus

* we can remove this!

* can also do this!

* and this one too :o

* consistency

* yay

* clean up
2024-01-30 02:19:12 -08:00
Shane Smiskol
2c0f7b8727 FPv2: support FwQueryConfig with no FW versions (#31227)
* bump

* from https://github.com/commaai/openpilot/pull/27929

* get VIN on bolt!

* might as well try on other gms

* remove vin

* ugh gm is going to be slow

* fix

* should really fix this

* revert

* happy?1

* fix unit test

* bump

* functional addressing must be an OBD gateway feature, this does nothing

* fix vin response

* fix addr!

* finally fix fw_versions bugs since boardd IsOnroad refactor

* for

* only bus 0

* clean up

* Update selfdrive/car/gm/values.py

* ChatGPT re-write

* filter out did

* todo

* oof

* preview: what multiple DIDs per ECU would look like in the future

* Revert "preview: what multiple DIDs per ECU would look like in the future"

This reverts commit 88f0d8611e638de644adc5feabade848c03d59e4.

* function to get all ecus

* we can remove this!

* can also do this!

* and this one too :o

* consistency

* yay

* add tests

* revert GM stuff

* another PR

* reads better

* revert rest of gm

* use that

* interesting

* these are exactly the same (with ordering differences)

* Revert "these are exactly the same (with ordering differences)"

This reverts commit a9e918dc351d24f1b7c8a05c7ec402e057a0e09a.

* flip
2024-01-30 02:08:08 -08:00
Shane Smiskol
c3fcf75737 GM camera ACC: get VIN from camera (#31224)
* bump

* gm vin

* that's not right

* only check relevant buses

* instead try queries for each bus first

* clean up

* use default retry in function

* all
2024-01-29 23:24:21 -08:00
Shane Smiskol
5a8686b439 fw_versions: fix params.remove 2024-01-29 22:36:29 -08:00
Shane Smiskol
a4cf7745e8 fix manually running fw_versions.py (#31226) 2024-01-29 21:44:00 -08:00
Shane Smiskol
3a0033e81e vin: fix retry logging (#31225)
* retry should really be outside inner query loop

* just req

* nls

* bump

* rmnl

* useful to have

* is it though
2024-01-29 21:28:29 -08:00
Adeeb Shihadeh
4243e9322a update release notes 2024-01-29 17:49:37 -08:00
Adeeb Shihadeh
6caf89bca5 agnos 9.3 (#31163)
* agnos 9.2

* agnos 9.3
2024-01-29 17:44:14 -08:00
Justin Newberry
c782fbc34e LogReader: add ``.filter`` (#31222)
add filter
2024-01-29 17:33:47 -08:00
ZwX1616
ba7f840a06 DM: Quarter Pounder Deluxe model (#31170)
* 1

* pg

This reverts commit 71409ec84a3e04e5e7ec960271d4e278a2472462.

* ee new

* 60ab

* update replay
2024-01-29 16:52:30 -08:00
Justin Newberry
54fe19206e Subaru: eps is non-essential for gen2 cars (#31220)
* eps non essential

* comment

* suggestions
2024-01-29 16:48:03 -08:00
Andrei Tanas
e86aafc723 Add 2022 Subaru Outback IDs to subaru/fingerprints.py (#31016) 2024-01-29 16:07:56 -08:00
Shane Smiskol
50cb6f819d selfdrive/debug: view iso-tp communication from logs (#31217)
* add

* some clean up

* more clean up

* add

* ltl

* add todo

* rm

* use default_mode

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-29 15:05:09 -08:00
Justin Newberry
7835f9cce0 LogReader: add tqdm back to run_across_segments (#31216)
tqdm
2024-01-29 13:18:49 -08:00
Adeeb Shihadeh
ed7cfc2343 [bot] Bump submodules (#31207)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-29 12:37:35 -08:00
Justin Newberry
0b2442314d CI: increase notebook cache build timeout (#31212)
allow more time
2024-01-29 10:22:59 -08:00
Justin Newberry
e49eb4c54f Simulator: prepare to make bridge a PythonProcess (#31201)
* sim services

* clean
2024-01-29 10:11:02 -08:00
Justin Newberry
75d3e5fb4e Webcam: prepare to make camerad a PythonProcess (#31202)
* webcam

* support /dev/* syntax

* support strings
2024-01-29 10:10:55 -08:00
Justin Newberry
bbeeea04a7 CI: fix bot location (#31211)
g
2024-01-29 10:02:11 -08:00
Adeeb Shihadeh
5f3a425015 Update Python packages and pre-commit hooks (#31208)
Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-29 09:43:18 -08:00
Shane Smiskol
fd0b9cd930 Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31210) 2024-01-29 09:38:06 -08:00
Shane Smiskol
80db6f0e28 Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31205)
Export fingerprints
2024-01-29 01:11:28 -08:00
Shane Smiskol
36d6bb3bda Car docs: update model years from users for Toyota, Honda, Chrysler [bot] (#31203)
Update car docs
2024-01-28 19:23:53 -08:00
taggahertz
27c624550f Updated Lexus ES hybrid MY (#31181)
* Updated Lexus ES hybrid MY

Car
2024 Lexus ES 300h

Segment
c52c524e1b873247|2024-01-19--12-11-57--0

Route
https://connect.comma.ai/c52c524e1b873247/1705695117754/1705695298920

* Update CARS.md

fixed url link
2024-01-28 17:52:29 -08:00
Shane Smiskol
2a006f59a5 Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31196)
Export fingerprints
2024-01-28 15:53:55 -08:00
Shane Smiskol
a3eb61b7a3 update refs 2024-01-27 23:25:14 -08:00
garrettpall
58ef40eb22 GM: Add BSM from Powertrain Bus (#30861)
* Add GM BSM

* Move BSM check to fwdCam only

* Detect if BSM message if present

* Remove hardcoding

* Apply Commit Suggestion

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

* Cleanup Suggestions

* bump opendbc

* test out bsm

* BCMBlindSpotMonitors -> BCMBlindSpotMonitor

* Revert "test out bsm"

This reverts commit 0e166530e60165269c1be200f48ead9918d5fe96.

* up here

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-27 20:56:10 -08:00
Shane Smiskol
be4107dc8a Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31193)
Export fingerprints
2024-01-27 18:31:50 -08:00
Justin Newberry
aff3d5ae09 Subaru: move non-obd requests out of logging (#31174)
enable
2024-01-27 09:07:14 -08:00
Justin Newberry
824ddffec8 CommaCarSegments: BIG Database! (#31169)
* sanetized selector

* god damn

* add to re

* slog branch

* slog

* source

* big

* not slog

* cleanup

* no space

* works!

* trigger

* main!
2024-01-27 01:07:29 -08:00
Adeeb Shihadeh
2504341070 bootlog: remove timestamp from filename (#31187)
* bootlog: remove timestamp from filename

* revert route

* test

* revert that

* fix loggerd test
2024-01-26 19:17:38 -08:00
Adeeb Shihadeh
52c7514452 tools: add LOG_ID regex pattern (#31186) 2024-01-26 16:44:12 -08:00
Adeeb Shihadeh
eada51ec8e pin pyopencl to fix aarch64 build (#31184)
* revert pyopencl

* revert that
2024-01-26 16:00:33 -08:00
Adeeb Shihadeh
6fbd844216 mark as flaky for now 2024-01-26 14:37:22 -08:00
Adeeb Shihadeh
1001becfa5 unpin sentry-sdk (#31183)
* unpin sentry-sdk

* update
2024-01-26 14:33:59 -08:00
Alexandre Nobuharu Sato
97488c190e Fingerprint vw taos eduardo (#31113)
* add instructions to my fork

* add braziliam TAOS fingerprint

* Revert "add instructions to my fork"

This reverts commit 46fbee3ebe7ecbb211d855e63b2d4c8919c31b63.
2024-01-26 13:20:35 -08:00
Justin Newberry
9518b66c9e commaCarSegments cleanup (#31182)
* cleanup

* no space
2024-01-26 13:20:25 -08:00
ugtthis
14e83ac9cc UI/sidebar_layout: Removed redundant piece of margin code (#31106) 2024-01-26 13:16:54 -08:00
Shane Smiskol
52d7cfa689 Honda: add logging request for radarless Civic 2022+ camera (#31176)
* try tester present

* radar

* rm whitelist

* refs
2024-01-25 23:58:27 -08:00
Shane Smiskol
d1a8ec0cad Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31173)
Export fingerprints
2024-01-25 23:13:17 -08:00
Shane Smiskol
c99cd3251b vin: reduce retries (#31175)
reduce retries
2024-01-25 22:40:39 -08:00
Shane Smiskol
ca2ed59a64 add comment about sendcan 2024-01-25 22:27:18 -08:00
Justin Newberry
6262de4419 CI: use auto-cache for test_models (#31171)
use auto cache
2024-01-25 20:37:25 -08:00
Shane Smiskol
1612ec6d93 vin: try bus 0 first 2024-01-25 19:09:53 -08:00
Shane Smiskol
289868297e VIN: query on bus 0 to log data (#31165)
* query on bus 0

* fix

* log vin_rx_bus

* fix!
2024-01-25 18:01:49 -08:00
Adeeb Shihadeh
fe4abaa6f6 add flaky package 2024-01-25 17:38:09 -08:00
Comma Device
076810d5bd allow a couple retries 2024-01-25 17:13:35 -08:00
Justin Newberry
979dba33cd Revert "test_loggerd: make rotation test more robust" (#31168) 2024-01-25 17:11:03 -08:00
Justin Newberry
faf99ba711 CI: generate test_ui report (#31151)
* add test

* simpler

* simpler

* false

* move these here

* faster

* map takes logner to render
2024-01-25 16:49:38 -08:00
Shane Smiskol
f5732f9c5b Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31166) 2024-01-25 16:44:25 -08:00
Alexandre Nobuharu Sato
f21ccfbf79 Multilang: Update pt-BR translations (#31167)
* add instructions to my fork

* add paypall.png to gitignore

* Revert "add instructions to my fork"

This reverts commit a6a6f93533add212e321e8472a78a8a69bf932f4.

* translate

* revert this

* why?

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-25 15:55:58 -08:00
Shane Smiskol
9ae8830a43 Fingerprints: add missing FW versions from users for Toyota, Honda, Chrysler [bot] (#31156)
Export fingerprints
2024-01-25 15:28:02 -08:00
Adeeb Shihadeh
4ecaa6da45 update translations 2024-01-25 13:44:26 -08:00
Adeeb Shihadeh
80ea4db7bb update factory reset 2024-01-25 13:34:09 -08:00
Greg Hogan
6901aada14 filereader should use connection pool for file_exists (#31158)
* filereader should use connection pool for file_exists

* remove debug var
2024-01-25 13:26:12 -08:00
Justin Newberry
410db2cd9f Simulator: add comment about mapbox tokens (#31162)
* add to readme
2024-01-25 12:45:43 -08:00
Justin Newberry
3b618c4dfd Simulator: pin metadrive + use pip version (#31161)
* pin metadrive

* pin

* not on git
2024-01-25 12:44:01 -08:00
Justin Newberry
35374f4d57 test_loggerd: make rotation test more robust (#31160)
* no randomness

* lots

* Revert "lots"

This reverts commit 2052fd6f7b8dc4c53fbb7c726026070918d5de00.
2024-01-25 12:13:43 -08:00
Justin Newberry
6f2f966a2f CI: add bot labels to repo_maintenance (#31159)
* add bot lables

* prefix
2024-01-25 11:28:09 -08:00
Justin Newberry
edd2428b60 LogReader: fail-fast on invalid segments (#31152)
* don't check all

* is
2024-01-25 11:09:09 -08:00
Shane Smiskol
be15b31696 Toyota: use radar in place of abs for platform code ECUs (#31043)
* use radar instead of abs

* str the strenum

* Lexus ES: non-TSS2 probably don't have stop and go without DSU-pull and/or pedal

* remove from NO_STOP_TIMER_CAR. this set is so confusing

* Combine ES & ESH (preferring ESH's DSU msgs)

* ES: forgot substitute

* comment

* Highlander: combine, preferring the hybrid for DSU msg mismatches (0x365 and 0x366)

* remove duplicates and sort

* update docs

* toyota non_essential ECU test

* Lexus RX: combine, preferring hybrid's msgs (they all exist on ICE)

* sort and remove dups

* parameterize so we can test with notebook

* this too

* clean up

* clean up

* tuple makes more sense

* update comments

* update

* update

* update
2024-01-25 02:02:00 -08:00
Ruben Medina
8472ae5317 add size to system alt image manifest entry (#31154) 2024-01-24 23:35:39 -08:00
Shane Smiskol
951d7e9cd0 Chrysler: add FW from CAN fingerprinting cars last 90 days on 0.9.5-release (#31142)
* print

* name

* add missing

* -----

* add list so can fingerprint

* transmission doesn't exist on these

* fix abs addr!

* apparantly abs isn't on these cars

* 2018 too

* clean up

* rm abs

* add missing versions!

* Revert "add missing versions!"

This reverts commit 45d36a49363a9c540841e6618c1a73cd3948c754.

* need this to fingerprint!

* Add FW from CAN fingerprinting cars last 90 days on 0.9.5-release

* need this temporarily

* Add rest of dongles

* update docs

* remove FINGERPRINTS

* Apply suggestions from code review

* Update selfdrive/car/fw_versions.py
2024-01-24 21:29:18 -08:00
Justin Newberry
3676ae4da3 test_ui: add onroad state (#31148)
add onroad
2024-01-24 16:51:06 -08:00
kovat74
ae25a13594 Added firmware fingerprint IONIQ 2020 EV (#31049) 2024-01-24 16:15:20 -08:00
Cameron Clough
1a202a55c1 Ford: add missing Mach-E fw (#31145)
From the route 83a4e056c7072678/2023-11-13--16-51-33 (which is already
in selfdrive/car/tests/routes.py, added in #30691).
2024-01-24 15:37:32 -08:00
Harald Schäfer
f55e6a3b81 Los Angeles Model 2 (#31135)
* 7045fb53-6739-4338-8426-20cbd4ad7832/600

* Update constants

* Update parse

* Typos

* Update ref

* 26057144-130f-48e1-8a98-00fae53ae7db/700

* Update ref
2024-01-24 15:26:22 -08:00
Justin Newberry
e2ec5be6ee test_ui: create test ui screenshots and html report (#31147)
* test ui

* report + common

* in ci

* fix

* dont enable in ci yet
2024-01-24 13:54:31 -08:00
Adeeb Shihadeh
7f35d0a909 disable TestManager.test_clean_exit for now 2024-01-24 11:53:03 -08:00
Justin Newberry
1bade14fda car porting examples: subaru fuzzy fingerprinting (#31139)
initial commit
2024-01-24 10:23:59 -08:00
Justin Newberry
dd0c474e6c LogReader: replace get_first_message with LogReader.first (#31146)
* first

* str
2024-01-24 10:21:57 -08:00
Shane Smiskol
e5fe1d2885 Chrysler: add Pacifica 2023 FW versions (#30934) (#31144)
* Revert "Revert "Chrysler: add Pacifica 2023 FW versions (#30934)""

* ICE
2024-01-24 01:56:33 -08:00
Shane Smiskol
ee716a6d9d Revert "Chrysler: add Pacifica 2023 FW versions (#30934)" (#31143)
Revert "Add Pacifica 2023 fingerprint"
2024-01-24 01:29:05 -08:00
Kenny K
1b82e77ed9 Chrysler: add Pacifica 2023 FW versions (#30934)
* Add Pacifica 2023 fingerprint

* add FW

* remove can

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-24 01:01:15 -08:00
Justin Newberry
88dcaa51c4 LogReader: no redownloading on multiple iterations (#31141)
* no redownload

* sort
2024-01-23 23:54:11 -08:00
Shane Smiskol
b9ad854451 Nissan: log FW responses on bus 0 (#31138)
* nissan: log FW responses on bus 0

* update refs
2024-01-23 23:12:48 -08:00
Justin Newberry
ac71c30ad5 auto_source: add commaCarSegments source (#31137)
add source
2024-01-23 21:40:04 -08:00
Justin Newberry
abf2801122 use get_first_message for auto_fingerprint 2024-01-23 20:59:32 -08:00
Justin Newberry
3d9b483e10 comma_api_source: fix qlogs (#31136)
fix qlogs
2024-01-23 20:51:15 -08:00
Justin Newberry
998eb8cde2 test_fw_query_on_routes: use new LogReader (#31134)
a
2024-01-23 17:41:43 -08:00
Shane Smiskol
780f1222ad fw_versions: add extra_fw_versions param (#31132)
* add param

* fix

* fix
2024-01-23 17:21:48 -08:00
Justin Newberry
f22b6681d6 CI: test the car_porting example notebooks (#31131)
* dont use route

* fix and cleanup

* test the example notebooks
2024-01-23 14:57:31 -08:00
Justin Newberry
d574013d7b LogReader: don't use route for max_segment (#31129)
* dont use route

* fix and cleanup
2024-01-23 14:51:45 -08:00
Shane Smiskol
a2028cbfd5 New MY! 2024-01-23 14:29:31 -08:00
Shane Smiskol
ebc916e25c Export fingerprints 2024-01-23 14:23:11 -08:00
Justin Newberry
0234cadec3 LogReader: remove redirect message for internal data (#31088)
fix logging
2024-01-23 12:55:50 -08:00
Justin Newberry
65490bb3c5 plotjuggler: auto fallback to qlogs with prompt (#31110)
* qlog fallback

* show a warning for that

* qlog fallback

* fix

* wording
2024-01-23 12:53:19 -08:00
Justin Newberry
35e1e8ecd2 SegmentRange: __str__ get preferred format (#31126)
get canonical
2024-01-23 11:40:22 -08:00
Shane Smiskol
ea57336005 Fingerprints: automatically add missing FW versions from users [bot] (#31116)
Export fingerprints
2024-01-23 02:19:32 -08:00
Hoang Bui
403610eed9 CI: enable virtual audio sink for soundd (#31120)
* enable virtual sound

* mv install to dockerfile

* cleaner

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-22 23:10:17 -08:00
Adeeb Shihadeh
88757c12b3 Revert "Switch from json11 to nlohmann/json (#31093)"
This reverts commit ee036482b8.
2024-01-22 22:41:59 -08:00
mtribiere
ee036482b8 Switch from json11 to nlohmann/json (#31093)
* Initial commit

* fix release/file_common

* Update common/swaglog.cc

* Swtiched serialize cc

* move to lfs

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-22 22:35:47 -08:00
Adeeb Shihadeh
827aa2e4fa timed: always pull time and timezone from GPS (#31112)
* timed

* rm timezoned

* just gps

* ok

* little more

* fix

* datetime

* sleep a little

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-22 18:35:11 -08:00
Justin Newberry
389b8ca30d add example of using the comma car segments database (#31117)
* add vin fingerprinting example

* perhaps!

* remove segment

* easier
2024-01-22 18:23:07 -08:00
Justin Newberry
caa9153974 CommaCarSegments: public database of segments for each platform (#31114)
* comma car segments

* comma car segments for test_models

* oneliner

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

* better name

* not used here

* sort

* remove print

* better comment

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-22 17:33:03 -08:00
Adeeb Shihadeh
694fc378dd loggerd: speedup unit tests (#31115)
* first speed it up

* pytestify

* no sleep
2024-01-22 17:24:42 -08:00
Justin Newberry
3846130d8e pytest: add marker for sharing the download cache (#31082)
* fix cache

* with a marker
2024-01-22 16:30:59 -08:00
Harald Schäfer
7c9530f743 Code for running legacy models (#31111)
* Code for running legacy models

* Optional outputs
2024-01-22 14:44:48 -08:00
Brad Slavin
95d33164fd Hyundai: add missing Ioniq 5 2024 RWD Limited FW (#30864)
Update fingerprints.py

Added 2024 RWD Limited
2024-01-22 12:09:17 -08:00
Adeeb Shihadeh
77d051f5ec Bump submodules (#31107)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-22 09:15:58 -08:00
Adeeb Shihadeh
eb04935b95 Update Python packages and pre-commit hooks (#31108)
Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-22 09:15:22 -08:00
Harald Schäfer
0067cf3eb1 Los Angeles Model (#31037)
* 1c888f5b-c213-4c1c-9eba-c587afd047fc/700

* Move to action

* Updates

* Add steer delay

* Update curvature grep

* clip speed

* No car params for now

* Add delay back

* Update

* fix lint

* fix lint

* update model regf
2024-01-22 00:58:06 -08:00
Justin Newberry
81516216b1 Simulator: fix metadrive (#31104)
fix metadrive
2024-01-21 17:34:26 -08:00
Bruce Wayne
3b01733900 Revert "Refactor modeld (#31099)"
This reverts commit 599325718e.
2024-01-21 17:29:32 -08:00
Harald Schäfer
7ebd841a0b Deprecate lat planner (#31097)
* Deprecate lat planner

* Bump cereal
2024-01-21 17:10:49 -08:00
Harald Schäfer
599325718e Refactor modeld (#31099)
* First commit

* Allow

* Just camerastream helper
2024-01-21 17:10:40 -08:00
Adeeb Shihadeh
139b0ae3b6 fix test_startup (#31103)
* fix test_startup

* real fix
2024-01-21 16:55:47 -08:00
Adeeb Shihadeh
74a2e3178f pre-commit: only check translations on update (#31102) 2024-01-21 16:40:12 -08:00
Adeeb Shihadeh
b1f457bdc8 pytest: cleanup manager procs on teardown (#31101) 2024-01-21 16:39:52 -08:00
Adeeb Shihadeh
78e20cff39 cleanup tests that are now useless (#31098)
* disable that onoe

* e2e tests catch this

* rm more useless checks
2024-01-21 14:49:57 -08:00
Bruce Wayne
ec72cdca00 Bump cereal 2024-01-21 12:10:55 -08:00
Harald Schäfer
e6c97c3846 Delete lat planner (#31089)
* Initial commit

* Fixup

* typo

* ignore lateral plan

* Update cereal

* Remove lateralPlan

* Fix release build

* Fix release build

* give car params

* Add carParams to include_all_types

* Write car param in powerdraw test

* add demo mode

* Update model regf

* proc replay ref commit

* Try

* Move enum definition

* Update cereal

* typo

* Write car param for modeld test

* Update ref

* Update model ref again

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
2024-01-21 12:09:48 -08:00
Justin Newberry
2c86c023fe sanitizer: sanitize vin number (#31090) 2024-01-21 12:22:32 -05:00
Adeeb Shihadeh
e0d0896dcf test_power_draw: check msgs expect first for cleaner error 2024-01-20 17:20:21 -08:00
Adeeb Shihadeh
332a21965d jenkins: cleanup /dev/shm (#31095) 2024-01-20 15:24:34 -08:00
Justin Newberry
dc9ffd2f10 car tests on namespace (#31080)
cars
2024-01-19 14:53:52 -08:00
Justin Newberry
5c2b7882bf speedup replay test (#31086)
* speedup replay test

* better name

* comment not required
2024-01-19 14:39:08 -08:00
Adeeb Shihadeh
7cd9568423 remove dashcam branch (#31081)
* remove dashcam branch

* fix

* more cleanup

* remove param

* one more
2024-01-19 14:05:03 -08:00
Justin Newberry
18467c8383 fix cache permissions (#31084)
* fix cache permissions

* chown
2024-01-19 13:57:10 -08:00
Comma Device
574fd03208 fix tici build 2024-01-19 13:45:06 -08:00
Andrei Radulescu
28028aef17 Support for newer versions of Qt (#31072)
* Dynamic QtGui version

* Fixed use of undeclared identifier 'va_start'

* Fix for Qt deprecations

* Fix for dynamic QtGui version

* Update selfdrive/ui/SConscript

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-19 13:28:29 -08:00
Justin Newberry
c907dd9e70 CI: fix post run cache (#31078)
* post cache only

* fix

* newline

* really github???
2024-01-19 13:25:41 -08:00
Adeeb Shihadeh
8a26b4383f bump that up 2024-01-19 13:19:41 -08:00
Hoang Bui
f0f7e86dcc Enable cache for pre-commit (#31071)
* enable cache

* test cache

* commai cache

* remove id

* only save on master

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-19 13:06:02 -08:00
Justin Newberry
bbbe94bc3e CI: auto-cache add option to save cache (#31076)
* save cache option

* inputs
2024-01-19 12:43:47 -08:00
Adeeb Shihadeh
16cd20f4eb don't block startup on time (#31074)
* don't block startup on time

* cleanup

* unused
2024-01-19 11:51:58 -08:00
Adeeb Shihadeh
f3689ef561 remove old ref to manager_prepare 2024-01-19 10:44:46 -08:00
ugtthis
a6695e4489 UI/close_btn: Removed unused border code (#31073) 2024-01-19 10:38:11 -08:00
Justin Newberry
dfb56abf91 silence xvfb (#31069)
silence
2024-01-18 22:40:28 -08:00
Justin Newberry
35ed8a0886 CI: use namespace.io (#31064)
* namespace

* mkdir

* fix

* restore only

* restore

* v3

* disable provenance
2024-01-18 22:13:19 -08:00
Adeeb Shihadeh
b4ebba384b cleanup startup params (#31068) 2024-01-18 22:09:55 -08:00
Adeeb Shihadeh
7a6463b2b4 remove early RTC time pull (#31066) 2024-01-18 21:05:57 -08:00
Adeeb Shihadeh
e3b17d10f3 speedup prebuilt check (#31065)
* speedup prebuilt check

* one place
2024-01-18 21:02:18 -08:00
Adeeb Shihadeh
ce947ffe9a manager: merge prepare and init 2024-01-18 20:45:41 -08:00
Comma Device
e2df83089f fix param path 2024-01-18 20:12:04 -08:00
Adeeb Shihadeh
c4362bd958 bootlog doesn't block startup (#31061)
* bootlog doesn't block startup

* keep params

* fix

* cleanup
2024-01-18 20:04:08 -08:00
Shane Smiskol
29536324c1 Toyota: combine more hybrid platforms (#31057)
* Combine

* migrate test models segs

* fix highlander engine

* no change
2024-01-18 18:51:24 -08:00
Justin Newberry
23cbfe9eb3 Revert "CI: use namespace.so" (#31060) 2024-01-18 17:35:24 -08:00
Justin Newberry
9ee0a8a2b1 CI: use namespace.so (#31056)
* namespace

* mkdir

* fix

* restore only

* restore

* v3
2024-01-18 17:17:53 -08:00
Adeeb Shihadeh
00b5424407 time to remove this 2024-01-18 16:38:46 -08:00
Justin Newberry
d98b33adc8 replace pytest-timeouts with pytest-timeout (#31053)
* one timeout

* timeout

* higher timeout for now

* bump
2024-01-18 16:19:49 -08:00
Adeeb Shihadeh
1c09ae99eb Bump submodules (#31054)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-18 15:06:02 -08:00
Adeeb Shihadeh
292f2ea288 Update BOUNTIES.md 2024-01-18 11:51:39 -08:00
Adeeb Shihadeh
5791afda15 update bolt bounty 2024-01-18 11:50:17 -08:00
Adeeb Shihadeh
2280ac50b7 uploader: restrict qcam upload on metered connctions (#31047)
* uploader: restrict qcam upload on metered connctions

* route requesting

* rename

* str

* cleanup

* strip dongle

* upload bookmarked segments

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-17 21:41:58 -08:00
Shane Smiskol
f96aa247cc FW query timing test: mock inconsistent, timing-based functions (#31048)
* Revert "Revert "FW query timing test: mock get_data function for timeout" (#30696)"

This reverts commit b1ecfd55ce.

* no thread

* clean up a bit

* no thread!

* combine functions

* re-enable total time check

* back to 5

* minimal diff

* minimal diff
2024-01-17 19:05:31 -08:00
Adeeb Shihadeh
005a6e4f17 thermald: match metered param to packet 2024-01-17 17:45:22 -08:00
Adeeb Shihadeh
19630c5af9 uploader: delay uploading crash and boot logs on metered connections (#31045)
* uploader: delay uploading some files on metered connections

* just crash and boot for now
2024-01-17 17:43:41 -08:00
Adeeb Shihadeh
4c2bb9f380 updated: only fetch on metered connection when necessary (#31041)
* updated: only fetch on metered connection when necessary

* button always fetches
2024-01-17 16:30:08 -08:00
Harald Schäfer
d36103791c No curv rate for lateral control (#31042)
* No more Curvature rate for lat control

* Update cereal

* Update

* Fix lat control test
2024-01-17 16:00:50 -08:00
Justin Newberry
840db1f1b7 prevent typing issue in azure_container (#31044)
prvent that issue
2024-01-17 15:34:24 -08:00
Adeeb Shihadeh
5f1e7649e3 update param in loggerd unit test 2024-01-17 15:08:36 -08:00
Adeeb Shihadeh
7ce29ef08e cleanup old params (#31039)
* cleanup old params

* one more
2024-01-17 14:42:07 -08:00
Shane Smiskol
8c544d9139 Fix f-string in test_fw_query_on_routes.py 2024-01-17 14:39:31 -08:00
Adeeb Shihadeh
0b5fd7287e uploader cleanup (#31035)
* Reapply "uploader cleanup" (#31033)

This reverts commit 5e4df41b2f.

* always sleep

* more cleanup

* little more

* fix linter

* little more
2024-01-17 14:24:09 -08:00
Justin Newberry
3f0b56b364 cleanup azure handling (#31034)
* wip cleanup

* Wip

* fixes

* fix

* cleanup

* keep this for now

* dest
2024-01-17 14:21:47 -08:00
Justin Newberry
5e4df41b2f Revert "uploader cleanup" (#31033) 2024-01-17 11:07:38 -08:00
Justin Newberry
f6cd009c77 Update PR templates + autogenerate (#31032)
* update templates

* same as before

* no tuning

* same as before

* move up
2024-01-17 10:36:47 -08:00
YassineYousfi
86ac700805 update onnxruntime to 1.16.3 (#31024) 2024-01-16 20:22:05 -08:00
Adeeb Shihadeh
c6c6a441eb uploader cleanup (#31029)
* cleanup

* startup cleanup

* step

* Update test_uploader.py
2024-01-16 19:54:07 -08:00
Shane Smiskol
60a4102892 Fingerprints: automatically add missing FW versions from users [bot] (#31027)
Export fingerprints
2024-01-16 19:32:21 -08:00
Adeeb Shihadeh
baa4e801fe athena: remove MockParams from tests 2024-01-16 19:11:59 -08:00
Justin Newberry
49586fc30e CI: auto_pr_review fix error when label doesn't exist (#31030)
* bot template

* catch error
2024-01-16 18:23:33 -08:00
Justin Newberry
1bf8e04f54 CI: only apply bot-review label when it doesn't pass (#31028)
bot template
2024-01-16 18:02:26 -08:00
Justin Newberry
b933825231 fix typo 2024-01-16 17:30:11 -08:00
Justin Newberry
2967cada71 auto_source: optimize api calls and use head to determine if file exists (#31025)
* fast

* catch all

* source

* fix file_exists

* remove duplicate reset

* test multiple loops

* iterations

* cleanup imports
2024-01-16 17:24:37 -08:00
Justin Newberry
5c24527683 test_models: sanitize segment before running test (#31026)
to ensure sanetized routes will work
2024-01-16 15:08:44 -08:00
Moritz Wörmann
8a05d212ec CI: Add GH Actions workflow Bot to check for a PR template (#30999)
* Add GH Actions workflow to check for a PR template

* switch to headings and checkboxes for template detection

* check for bold text in template too

* move template check over to auto_pr_review action and remove label only if check succeeded

* only run template check on external PRs

* wording

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-16 13:40:38 -08:00
Justin Newberry
61fe705160 LogReader: fix plotjuggler not reading properly (#31023)
* fix plotjuggler

* simpler

* fix juggler

* fix that
2024-01-16 12:40:49 -08:00
Justin Newberry
7d400112df LogReader: move opci to tools/lib (#31021)
move opci
2024-01-16 10:58:51 -08:00
Justin Newberry
0739d5d7b2 LogReader: support lists of identifiers (#31020)
* support lists of logs

* mark as slow instead
2024-01-16 10:40:00 -08:00
Justin Newberry
4da8d16514 LogReader: support only_union_types (#31019)
support only-union-types
2024-01-16 10:03:55 -08:00
Shane Smiskol
8e9be48b7b Revert "docs: include dashcam" (#31017) 2024-01-15 23:49:07 -08:00
Justin Newberry
e1a05deadd test_athena: make test more independent (#31012)
get port auto
2024-01-15 16:57:12 -08:00
Justin Newberry
94cd4c9046 Subaru: ensure consistent firmware version size (#31001)
* fix copying mistakes

* fix SA

* remove print

* ensure size is same

* fix SA

* not in database
2024-01-15 12:52:15 -08:00
Adeeb Shihadeh
a8afaf39d4 Update Python packages and pre-commit hooks (#31003)
* Update Python packages and pre-commit hooks

* fix

---------

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-15 10:34:25 -08:00
Adeeb Shihadeh
a4fac38cf9 Bump submodules (#31002)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-15 10:34:08 -08:00
Shane Smiskol
f256225f29 docs: include dashcam (#31004)
include dashcam
2024-01-15 04:58:43 -08:00
Justin Newberry
4c6f7da404 Subaru: remove incorrect fingerprints from other brands queries (#30984)
s
2024-01-14 19:55:15 -08:00
Adeeb Shihadeh
fe6aff0131 more unit test speedup (#30997)
* that's super slow

* fix startup test

* fix
2024-01-13 22:21:43 -08:00
Adeeb Shihadeh
e17e66180c CI: speedup unit test job (#30995)
* start

* mv to buildjet

* fix
2024-01-13 21:16:35 -08:00
Adeeb Shihadeh
3e601b5e8f camerad: move ae test to pytest/catch2 (#30994)
* mv ae gray test

* cleanup
2024-01-13 15:40:25 -08:00
Adeeb Shihadeh
66ddfece82 speedup devcontainer ci job (#30993) 2024-01-13 15:01:35 -08:00
Korben
2f744f5df4 Update French language (#30992)
Update main_fr.ts

validation of new elements
2024-01-13 13:03:23 -08:00
Justin Newberry
884de6e457 test_proclog: fix conflict with pytest (#30989) 2024-01-13 00:30:55 -05:00
Shane Smiskol
dafde02da3 Fingerprints: automatically add missing FW versions from users [bot] (#30988)
Export fingerprints
2024-01-12 20:58:13 -08:00
Lee Jong Mun
f55d04c172 kor translation update (#30990) 2024-01-12 20:44:03 -08:00
Alexandre Nobuharu Sato
4178f7c1e1 Multilang: Update pt-BR translation (#30987)
* add instructions to my fork

* Revert "add instructions to my fork"

This reverts commit 46fbee3ebe7ecbb211d855e63b2d4c8919c31b63.

* test llm

* Revert "test llm"

This reverts commit fc531f0a1ba81b3444a34a1be8d02a51a060ec7a.

* update pt-BR translation
2024-01-12 18:25:41 -08:00
Justin Newberry
d39b31aed1 remove get_url instances (#30986)
rm
2024-01-12 17:36:38 -08:00
Justin Newberry
28e5d1bb49 Metadrive: fix map config on main (#30983)
* Fix map api too

* dont render
2024-01-12 14:42:40 -08:00
Justin Newberry
3d73512c07 rename segmentrangereader to logreader (#30981)
* Replace multilogiterator

* replace logreader

* update readme

* fix from_Bytes

* new section

* reset before iter

* selector

* fix internal

* whitespace
2024-01-12 12:53:50 -08:00
Justin Newberry
9f1b72ac79 Replace multilogiterator (#30980) 2024-01-12 11:43:32 -08:00
Jason Young
ba792d576a VW MQB: Add FW for 2018 Volkswagen Tiguan (#30951) 2024-01-11 23:16:04 -08:00
Adeeb Shihadeh
5da573ff39 navd: handle errors in parsing api response (#30977) 2024-01-11 23:15:29 -08:00
Adeeb Shihadeh
ef73ee7b37 simple navd test (#30976)
* simple test

* can't check that

* cleanup
2024-01-11 22:55:58 -08:00
royjr
96c91c486e networking: add hidden network option (#30808)
* init

* once

* match

* fix

* maybe

* maybe

* Revert "maybe"

This reverts commit 8386a0a381d5cfe94d7bbf0187d5e311d4b4e9c3.

* Revert "maybe"

This reverts commit 3abf7b19836e5f353fbb94c9bee52b185bd3fc17.

* Revert "fix"

This reverts commit 09e0146f4deeac07b9c26e916a75b70c7dcff1f1.

* Revert "match"

This reverts commit 39a90c6cf88f310623d5e9058152d025ee7213ea.

* fix not at bottom

* padding

* match

* Update networking.cc

* min chars

* translations

* shouldn't need

* need!

* just in case

* Revert "just in case"

This reverts commit a3c1e090682e30400ba9c20b04407b9e5677ad7a.

* finish translations

* not secret

* optional

* allow open networks

* fix

* try

* working

* add divider

* update translations

* fix

* better name

* translate hidden network

* auto

* v2

* remove v1

* fix

* fix translations
2024-01-11 19:42:20 -08:00
Justin Newberry
f2c73039d7 fix metadrive after bump (#30967)
* fix clip

* wip

* oop

* 1.22

* ... ugly

* fix tuning
2024-01-11 18:09:39 -08:00
Justin Newberry
e7657d896f Subaru: fix disable eyesight enum (#30974)
value
2024-01-11 17:15:37 -08:00
Justin Newberry
d7e7659852 move plotjuggler to segment range reader (#30969)
* pj

* limit test to 2 segs

* remove

* fix test
2024-01-11 17:02:47 -08:00
Justin Newberry
eb09294fc2 segmentrangereader: support direct parsing (#30973)
* use correct source

* revert

* cleanup imports

* clean

* direct parsing

* rename

* move up

* fixes

* fix that

* better error message
2024-01-11 16:56:48 -08:00
Shane Smiskol
68bcb6b8da Fingerprints: add missing FW versions from users (#30972)
Export fingerprints
2024-01-11 15:57:04 -08:00
Justin Newberry
8d9e431f43 car porting examples: add example of plotting the response of brake_pressure vs acceleration (#30958)
* another example

* add comment

* fix that

* oop

* fix link
2024-01-11 13:35:50 -08:00
Justin Newberry
042ccb9244 move can replay to segmentrangereader (#30971)
can replay
2024-01-11 13:11:59 -08:00
Justin Newberry
fb994ae782 segmentrangereader: support more sources (#30970)
* support more sources

* remove this
2024-01-11 12:55:19 -08:00
Justin Newberry
7e9843b5e6 replace more tools with SegmentRangeReader (#30968)
* replace lrfros

* and those ones too
2024-01-11 11:46:31 -08:00
Hoang Bui
f820b7cd94 FIx violations and enable --warn=all (#30854)
* --warn=all

* setoption default warn=all

* to old test yaml

* cleanup

* advanced cscanner

* SCons conditional scanner

* not time  yet

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-11 11:16:09 -08:00
Adeeb Shihadeh
ed153141fc rm old debug script 2024-01-11 10:56:46 -08:00
Justin Newberry
0320fb385a fix static analysis 2024-01-11 10:54:53 -08:00
Justin Newberry
be814ed447 SegmentRangeReader: log type selector (#30960)
* log type selector

* test this too

* and this

* invalid selector

* use strenum

* don't hardcode size

* oneline
2024-01-11 10:25:24 -08:00
Justin Newberry
32dfb3f8f2 More migration to segmentrangereader (#30959)
* filter log message

* ffr

* gtfs

* gtfs
2024-01-11 10:14:10 -08:00
Shane Smiskol
3c74a61c97 Honda: remove hud ECU from CR-V Hybrid (#30965)
remove almost absent ECU
2024-01-11 00:39:26 -08:00
Shane Smiskol
bef6d7f0bb pre-commit: speed up translation step (#30966)
* formatting

fix

* fix missing class attr warning

* add translation_files option, remove pluralonly, type hint

* updates

* update
2024-01-11 00:39:15 -08:00
Adeeb Shihadeh
b92e71a2b6 updated: persist more state between runs for UI (#30963)
* persist branches and more

* fix target

* typo

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-10 23:23:13 -08:00
Adeeb Shihadeh
e9e8f4df38 update count_events.py to SegmentRangeReader 2024-01-10 23:19:16 -08:00
Adeeb Shihadeh
3918039e29 manager: clean exit on ctrl-c 2024-01-10 19:37:10 -08:00
Hoang Bui
1da08460cb Enable variable pass between test and metadrive processes (#30961)
pass started between processes
2024-01-10 18:13:21 -08:00
Justin Newberry
af1b7e5c59 Revert "buildjet: pin location to de" (#30956)
Revert "buildjet: pin location to de (#30955)"

This reverts commit 576cba217d.
2024-01-10 15:11:20 -08:00
Justin Newberry
576cba217d buildjet: pin location to de (#30955)
* pin location

* stringify

* Fix

* fromjson

* flip the parens

* and those
2024-01-10 13:48:35 -08:00
Justin Newberry
cfb23eb2d1 segmentrangereader: support sort_by_time (#30954)
support sort-by-time
2024-01-10 13:36:55 -08:00
Justin Newberry
926793b17f migrate can_print_changes to segmentrangereader (#30953)
more tools
2024-01-10 13:02:39 -08:00
Justin Newberry
0d126e1e9e SegmentRangeReader: new format for reading multiple segments (#30940)
* segment range reader

* rename that

* revert that

* cleanup

* revert this for now

* revert this for now

* Fix + test

* rm that

* rm that

* use for auto_fingerprint

* simpler

* for notebook too

* match numpy indexing

* just use numpy directly

* remove that

* spacing

* spacing

* use qlog for auto fingerprint

* add 'read mode'

* pass in read mode

* add test for modes

* numpy indexing

* fix that case

* more examples

* fix the notebook

* cleanup the notebook

* cleaner

* fix those
2024-01-10 11:55:19 -08:00
ugtthis
db3ef3e1d8 UI/MapETA: Increased contrast of widget texts for better readability (#30952) 2024-01-09 20:32:23 -08:00
Jason Young
61ebb5b668 VW MQB: EA driver inactivity workaround (#24711)
* VW MQB: Emergency Assist mitigation

* elide superfluous newline

* update refs

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-09 19:24:46 -08:00
Nelson Chen
4eba5fe68d Add permissions to build_masterci in release workflow so it can push master-ci (#30949) 2024-01-09 16:46:09 -08:00
Adeeb Shihadeh
cd1d7eb4d2 OS04C10 support (#30658)
* getting frames

* ok

* support both output

* cleanup

* fix unused

* undo

* fix release files

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-09 14:19:10 -08:00
Nelson Chen
221f81bbd3 Add more permissions for pushing in prebuilt workflow (#30948)
Continuing on from https://github.com/commaai/openpilot/pull/30947
2024-01-09 11:35:14 -08:00
Nelson Chen
2a074eefac Fix badges workflow blocking release/prebuilt workflows from permission and Git-LFS complications (#30947) 2024-01-09 10:40:45 -08:00
Shane Smiskol
ca57d329e2 Toyota: add 2024 RAV4 (#30909)
* add 2024 RAV4 ICE FP

* docs

* also try vin bus 0 toyota

* it works!
2024-01-09 00:48:48 -08:00
Adeeb Shihadeh
af137bac58 GM: remove GMLAN dash msg (#30547)
* remove GMLAN

* update refs
2024-01-08 19:49:22 -08:00
Shane Smiskol
1d370a0880 Fingerprints: add missing FW versions from users (#30945)
Export FW versions
2024-01-08 19:46:27 -08:00
YassineYousfi
d6cece756c longplanner: expose dt (#30941) 2024-01-08 19:46:13 -08:00
Jason Young
88e445ef15 VW MQB: Improved longitudinal starting and stopping (#30874)
* VW MQB: Improved stopping and starting

* get longcontrol to take off sooner

* oops

* use the carParam instead of the constant

* update refs

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-08 19:40:41 -08:00
Hoang Bui
7fdd5c4a7d Python camerad for webcam (#30930)
* webcamd

* remove destroy windows

* block

* shebang execute

* executaleeeee

* executableeeeeee

* she bang for camerad.py

* listener

* no signal?

* good

* ruff fix

* delete listener

* recover sim

* remove assert

* refactor

* fix shell

* fix namedtuple

* little change

* to tuple

* cleanup

* update readme

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-08 19:22:21 -08:00
Adeeb Shihadeh
90010754d6 unpin metadrive package (#30944)
* unpin metadrive package

* lock
2024-01-08 17:16:15 -08:00
Adeeb Shihadeh
c8df0bd1d0 Bump submodules (#30938)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-08 17:02:40 -08:00
Shane Smiskol
d689a4e653 Fix string indentation (#30943)
* fix bad spacing

* more

* these aren't important
2024-01-08 15:36:43 -08:00
Adeeb Shihadeh
5f191321fd tici: check that peripherals are fully booted (#30942)
* tici: check that peripherals are fully booted

* default

* typo

* fix

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-08 15:09:38 -08:00
Adeeb Shihadeh
6743487d78 Update Python packages and pre-commit hooks (#30939)
Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-08 13:54:09 -08:00
Adeeb Shihadeh
91c5c5eca7 camerad: log request id (#30935)
* camerad: log request id

* bump cereal

* bump cereal
2024-01-08 09:16:50 -08:00
Nelson Chen
2a49f94872 Add necessary permissions/tokens for "lewagon/wait-on-check-action" so it can run nightly (#30923) 2024-01-07 15:02:25 -08:00
Adeeb Shihadeh
073fc89ad4 Revert "UI: single-threaded CameraView (#30397)"
This reverts commit 17ac1d3c7b.
2024-01-07 14:54:39 -08:00
Adeeb Shihadeh
e867aa40db ignore "car port" for stale pr detection 2024-01-07 14:34:04 -08:00
Adeeb Shihadeh
7997fccdfa update mapsd cpu 2024-01-06 17:46:44 -08:00
Adeeb Shihadeh
f0ccb84ae3 remove common.profiler (#30927)
* remove common.profiler

* cleanup
2024-01-06 16:20:28 -08:00
Shane Smiskol
084871ed5b Auto translate: fix prompt & formatting (#30922)
fixes
2024-01-05 23:44:54 -08:00
Meir
2378f311d2 Auto translate with OpenAI (#30899)
* auto translate with OpenAI

* change model

* fix mypy typing errors

* update

* fix lint errors

* check api key after args parser

* fix input args

* use languages.json

* just print

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-05 22:28:56 -08:00
Justin Newberry
03d6233743 move profiling tools to tools/profiling (#30917)
move profiling
2024-01-05 16:22:45 -08:00
Justin Newberry
4cc48b75e8 add sanitizer function (#30919)
* sanetizer function

* spelling

* better

* move to helpers
2024-01-05 16:20:37 -08:00
Adeeb Shihadeh
46f3fdc090 Update Python packages and pre-commit hooks (#30597)
* Update Python packages and pre-commit hooks

* fix

---------

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-05 15:17:49 -08:00
Justin Newberry
239b228ca6 add the notebook example to car port docs (#30920)
* add the notebook example

* fix link

* add image

* no lfs

* no lfs
2024-01-05 13:57:02 -08:00
Justin Newberry
e86d74b347 move car porting tools to tools/car_porting (#30916)
just this for now
2024-01-05 11:53:03 -08:00
Justin Newberry
15e0a906ad tools: add car porting example notebook (#30918)
* add car porting example notebooks

* not required
2024-01-05 11:52:24 -08:00
Shane Smiskol
002ab5637b Car docs: utilize post init (#30912)
move these to earlier post_init
2024-01-04 22:16:39 -08:00
Shane Smiskol
397c1e373c selfdrive/test: fix indentation
no ruff rule for this
2024-01-04 19:53:23 -08:00
Justin Newberry
1148c65d23 add read_seglist helper (#30908)
add helper
2024-01-04 17:52:07 -08:00
Shane Smiskol
63f0d775bc Fingerprints: add missing FW versions from users (#30906)
Export fingerprints from Fingerprint stage
2024-01-04 15:54:50 -08:00
Shane Smiskol
43b0b0f022 Revert "Fingerprints: add missing FW versions from users"
This reverts commit e85e401d07.

Meant for another branch.
2024-01-04 00:51:38 -08:00
Shane Smiskol
e85e401d07 Fingerprints: add missing FW versions from users 2024-01-04 00:50:30 -08:00
Adeeb Shihadeh
3c4150c542 timezoned: set only from gps (#30904)
* timezoned: set only from gps

* unused
2024-01-03 20:18:29 -08:00
Adeeb Shihadeh
fe40905849 Revert "Fingerprint for '21 Explorer ST (#30877)"
This reverts commit ff0fed07ed.
2024-01-03 20:07:58 -08:00
duetschlandftw
ff0fed07ed Fingerprint for '21 Explorer ST (#30877)
* carparams gave me a new firmware entry for "shiftByWire" from 'ford', so i added it here, as well as a new fw value under ecs.engine

* Update selfdrive/car/ford/fingerprints.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-03 19:43:59 -08:00
DevTekVE
28cf3155e2 [HKG-CAN] Consider FCW alerts from SCC (#30885)
* FCW is triggered differently when SCC is active

* Update selfdrive/car/hyundai/carstate.py

* Update selfdrive/car/hyundai/carstate.py

* cmt

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-03 19:34:13 -08:00
Adeeb Shihadeh
115047d858 timezoned: run while onroad (#30903) 2024-01-03 17:53:40 -08:00
Justin Newberry
4430944b29 jenkins: lock "pc" label to limit concurrent workers (#30902)
* lock pc label

* remove that
2024-01-03 16:55:16 -08:00
Shane Smiskol
318d1204e5 CI: bump other lewagon/wait-on-check-action 2024-01-03 14:11:11 -08:00
Dean Lee
17ac1d3c7b UI: single-threaded CameraView (#30397)
* single-threaded CameraView

* updateFrame

* inherit from CameraWidget

* clear frame on offroadTransition

* check frame_id

* optional

* unique_ptr

* CameraView

* cleanup

* cleanup

* log skipping frame

* fix driverview

* disconnectVipc

* debug inconsistent frame

* skip frame if uiPlan is outdate

* cleanup

* set connected = false

* support camerad reboot&seeking in replay

* cleanup

* qDebug

* use deque

* cleanup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-01-03 13:14:29 -08:00
Shane Smiskol
7f398e1cf9 test_models: fallback to public route when route isn't uploaded to CI bucket (#30893)
* not sure why this is a test

* Revert "not sure why this is a test"

This reverts commit c13e16311eb882df65d216bbd59acb5702e985e6.

* no ruff for this pattern :(

* this is always caught

* should fail

* simpler

* Revert "should fail"

This reverts commit 21bd15275c46cd42fd19b058245334bae83cce77.

* fix

* cleanup this

* better comment

* better

* this can be more localized

* better names

* better names

* should fail

* Revert "should fail"

This reverts commit c58495e8b3417ce351df8048752ec60177827cb3.

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2024-01-03 11:54:22 -08:00
Adeeb Shihadeh
8fbe382fa7 make scons parallel by default (#30901) 2024-01-03 11:16:54 -08:00
Jason Wen
ce64433dc9 MADS: Fix wrong variable name in init function 2024-01-03 12:21:48 -05:00
Shane Smiskol
633fef5a96 Fingerprints: add missing FW versions from users (#30837)
Export Toyota fingerprints from last 2 weeks, 0.9.5-release
2024-01-02 21:48:31 -08:00
Shane Smiskol
8c4930d2d3 Revert "test_models: fallback to public route when route isn't uploaded to CI bucket (#30794)" (#30896)
* fails if no skip function

* Revert "fails if no skip function"

This reverts commit ff3d697d38dce56057c83f06033a689f2301a29d.

* Revert "test_models: fallback to public route when route isn't uploaded to CI bucket (#30794)"

This reverts commit 05dc0b51e6.
2024-01-02 17:22:06 -08:00
Shane Smiskol
de4bc31ba6 Toyota: add 2024 RAV4 Hybrid (Canada-built) (#30887)
* add 2024 RAV4

* bump reeleases

* fix star link in PR comments

* ?

* consistent
2024-01-02 17:14:51 -08:00
Shane Smiskol
543cd4460a HKG: fix 2021 Niro Hybrid harness (#30895)
* originally was Hyundai F in the database, but one user on Discord (US) and one in support (SK) both needed hyundai D

* bump
2024-01-02 17:10:23 -08:00
Shane Smiskol
205a78f02d PR comments: fix image links 2024-01-02 14:18:52 -08:00
Justin Newberry
9b25bfc618 CI: set CI=1 in docker image (#30889)
* ci=1

* wrong spot
2024-01-02 13:48:16 -08:00
Adeeb Shihadeh
9cf57cc4e4 CI: bump lewagon/wait-on-check-action 2024-01-02 13:34:35 -08:00
Mitchell Goff
7e71fd7bae new delhi model (#30822)
* 027a1efa-10fb-4291-ad58-90cf0ff150b5/700

* debug

* rm for now

* bump refs

* revert that

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-02 13:27:15 -08:00
Justin Newberry
86bd337952 CI: set CI=1 globally (#30888)
ci=1
2024-01-02 13:17:19 -08:00
Justin Newberry
fba521ecc6 url_file: fix non-200 files being cached (#30886)
* fix + test

* fix unclosed

* easier to read

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

* fix that

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-01-02 12:42:08 -08:00
royjr
9d7f618bc5 multilang: parameterize unit tests (#30842)
* init

* fix indents

* remove import

* safer

* TemporaryDirectory

* much cleaner

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-01 14:54:16 -08:00
stevenworks
0f72467558 Typo fixes / Grammar corrections (#30860)
* CONTRIBUTING.md: Misspelling

* BOUNTIES.md: Misspelling

* SAFETY.md: Grammar

* realtime.py: Comment consistency

* revert for now

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-01-01 14:39:01 -08:00
Kacper Rączy
65ece2081a metadrive: Change camera position to reflect typical height of a vehicle (#30831) 2024-01-01 14:36:37 -08:00
Sliicy
6ccf2cbfde Fixed joystickd.py incorrect steering control (#30879) 2024-01-01 14:29:01 -08:00
Adeeb Shihadeh
d3cdd837fa Bump submodules (#30881)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2024-01-01 14:28:34 -08:00
Robbe Derks
eb805e889e [Cabana] Fix segfault in sparkline (#30870) 2023-12-31 13:02:05 -08:00
Justin Newberry
331ea60422 Add link to contributing channel (#30876) 2023-12-31 14:54:37 -05:00
royjr
fd88990006 multilang: bad language translation check (#30783)
* compare bad against list

* use web

* Update test_translations.py

* uncomment

* override

* wrap

* AssertionError

* better

* detent

* selfish

* check numerusforms

* already checked

* use name

* not again

* combined

* sets

* assume available

* fix assume

* check regardless of other tests

* assert not print

* raise for status

* better

* done

* useless

* happy ruff

* better set

* quiet

* clean

* obvious

* clearer

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

* IGNORED_WORDS

* assert match

* direct assert

* show bad word

* fix numerous empty string checks

* fix IGNORED_WORDS

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-31 10:58:15 -08:00
Justin Newberry
a58baf48fe Subaru: longitudinal cleanup and dash status fixes (#30868) 2023-12-29 23:47:55 -05:00
Justin Newberry
9520153b6a bump submodules (#30866) 2023-12-29 19:39:17 -05:00
Justin Newberry
d33c5bccc6 CI: update labeler to 5.0.0 release (#30862)
* update labeler

* update labeler

* update labeler

* Update labeler (#63)

* update labeler

* update labeler

* update labeler

* fix that

* Update labeler (#65)

* update labeler

* update labeler

* update labeler

* fix that

* and that

* Update labeler (#66)

* update labeler

* update labeler

* update labeler

* fix that

* and that

* fix that
2023-12-28 10:54:09 -08:00
Jason Wen
059cf0f3a3 Torque: Subaru: Ignore paramsd valid checks 2023-12-27 20:08:36 +00:00
Adeeb Shihadeh
6810c5b644 script for checking out a pr 2023-12-26 19:22:34 -08:00
royjr
4df85062c5 setup: Enhance URL Handling to Support Partial Inputs (#30681)
* easy urls

* better
2023-12-26 19:08:57 -08:00
Dean Lee
a1f53c70e6 uploader.py/listdir_by_creation: list directories only (#30806)
list only directories

Co-authored-by: Comma Device <device@comma.ai>
2023-12-26 16:05:45 -08:00
pencilpusher
ee3544d283 replay ui: fix typo in variable name (#30851)
fix typo in variable name
2023-12-26 16:03:59 -08:00
Adeeb Shihadeh
1f9970ba3d stricter file size limits (#30839)
* move all pics to lfs

* wav and rest of so

* more to lfs

* ignore a few

* push that up
2023-12-26 15:22:59 -08:00
Jason Wen
10e82711df Merge branch 'master' into dev-priv/master-priv 2023-12-26 13:35:34 -05:00
Jason Wen
c09b651bd7 Update CARS.md 2023-12-26 12:14:34 -05:00
Adeeb Shihadeh
7638572e38 Bump submodules (#30849)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2023-12-26 01:58:40 -08:00
Jason Wen
71adace06f MADS: Only allow altButton1 trigger if enabled 2023-12-26 02:00:59 +00:00
Jason Wen
519a3bf52c bump panda 2023-12-25 20:08:53 -05:00
Jason Wen
1b49d24db0 bump panda 2023-12-24 14:35:32 -05:00
Jason Wen
3f0c43c7a2 Merge branch 'master' into dev-priv/master-priv
# Conflicts:
#	CHANGELOGS.md
2023-12-24 13:30:21 -05:00
Jason Wen
ce4235f8ec Update CHANGELOGS.md 2023-12-24 13:29:37 -05:00
Jason Wen
4bdcb1f527 Merge branch 'master' into dev-priv/master-priv 2023-12-24 13:22:09 -05:00
Jason Wen
a6cf11ef39 lower to 0.9.5.3 2023-12-24 13:16:35 -05:00
Jason Wen
3ac37a2f20 Speed Limit Assist 2023-12-24 18:05:26 +00:00
Jason Wen
a4edd8d68d Driving Model Selector v2 2023-12-24 17:43:47 +00:00
Jason Wen
ace9b3e451 Toyota: Fix LKAS fault at max steering angle 2023-12-24 16:44:23 +00:00
Jason Wen
d54fd16ae3 DEC: Update logic from dragonpilot-community/dragonpilot:lp-dp-beta2 2023-12-24 16:43:31 +00:00
Jason Wen
4778efe4f6 ui: Feature Status: Revert "parse from cereal" 2023-12-24 16:42:23 +00:00
Jason Wen
1c662ff310 Sentry: Handle unofficial device dongle id 2023-12-24 16:41:39 +00:00
DevTekVE
488f3647d9 UI: only display waring if user chose a model 2023-12-24 16:14:33 +00:00
Jason Wen
d1efa4489c FCA: support steer to 0 with White Panda Mod on certain models 2023-12-24 16:09:55 +00:00
Jason Wen
81a42d9d29 FCA: Fix heartbit forward logic 2023-12-24 11:02:50 -05:00
Jason Wen
880d0c2af1 MADS: Add delay to CRUISE MAIN and non-forward gear 2023-12-24 15:59:11 +00:00
Jason Wen
70fd796e6d M-TSC: New implementation 2023-12-24 15:56:27 +00:00
Jason Wen
3de6b4365b Manager: Gate features behind non-release-c3 branches 2023-12-22 14:41:26 -05:00
Shane Smiskol
5e6290c4a2 Fingerprints: add missing FW versions from users (#30833)
Export fingerprints from Fingerprint stage
2023-12-21 03:55:15 -08:00
Shane Smiskol
b38c580c2e format fingerprints: simplify sorting (#30826)
* unique + sort + don't modify FW_VERSIONS

* clean up

* not here

* self expl
2023-12-20 15:51:56 -08:00
Justin Newberry
cfc85f016b Pytest: exclude teleoprtc (#30829)
exclude
2023-12-20 15:22:48 -08:00
Justin Newberry
a6b17fb1f6 Simulator: fix keyboard ctrl messing with pytest (#30827)
fix
2023-12-20 15:10:11 -08:00
Justin Newberry
abe4780fdb Docs: fix old docs still being populated (#30825)
* fix push

* also remove cached files

* fix readme

* add readme

* remove that wip submodule
2023-12-20 13:56:34 -08:00
Justin Newberry
33e7baee40 Docs: fix push and running locally (#30823)
fix push
2023-12-20 13:27:27 -08:00
Justin Newberry
3d8c78d6b3 format_fingerprints: automatically sort fw fingerprints (#30819)
* Auto sort fingerprints

* add comment
2023-12-20 11:54:31 -08:00
Justin Newberry
05dc0b51e6 test_models: fallback to public route when route isn't uploaded to CI bucket (#30794)
* wip

* add public comment

* fix that

* wip

* retrigger
2023-12-20 11:29:19 -08:00
Justin Newberry
3713e4d5ea add script to automatically format fingerprints file (#30792)
* Add script

* fix script

* fix script

* fix for subaddr

* run the script

* old style can fingerprints

* cleanup

* sort imports, make executable, fix path

* newline w/o newline

* match og can formatting

* match og formatting

* generate template once

* standard name

* less nested

* can fingerprints comments

* fix spacing

* no need for PLATFORM_TO_ENUM_NAME!

* prep for PRs

* comments for all, add honda comments

* Auto-generated fingerprint PR from fuzzy fingerprinting cars

* Revert "Auto-generated fingerprint PR from fuzzy fingerprinting cars"

This reverts commit 97bc9e3bdb9d819dcbe684ceba92ea702d40eaf0.

* even closer to original

* readd this comment

* and run script

* add to precommit

* add comments

* add comments

* add to release

* use for auto fingerprint

* disable precommit for now

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-20 11:18:29 -08:00
Shane Smiskol
adb04b5dc5 fingerprints: fix formatting (#30814)
formatting
2023-12-19 23:47:34 -08:00
Shane Smiskol
1a165c6580 interfaces: fix get_interface_attr typing (#30813)
* fix

* Update selfdrive/car/interfaces.py
2023-12-19 23:35:31 -08:00
Jason Wen
46cb955e33 NNLC: Update description 2023-12-20 06:14:34 +00:00
Jason Wen
de81acb040 ui: sunnypilot: slight refactor 2023-12-20 01:01:46 -05:00
Shane Smiskol
426072bd87 fix bad CAN fingerprint type (#30809)
fix bad wrong type
2023-12-19 20:30:42 -08:00
DevTekVE
57dfee47b8 mapd: New implementation and remove deprecated libraries 2023-12-19 22:14:06 +00:00
Dean Lee
5f04517677 cabana: add csv export (#30800)
export csv
2023-12-19 11:50:16 -08:00
Justin Newberry
8017c25f0b Simulator: only send camera frames at rate that they are generated (#30802)
only send frames at rate that they are generated
2023-12-19 10:45:07 -08:00
Dean Lee
3646ca0a14 refactor swaglog (#30795) 2023-12-19 10:36:35 -08:00
Justin Newberry
adca970ca9 cleanup fingerprinting typing (#30801)
* wip

* undo + add can fingerprints

* add can fingerpints

* those should go there
2023-12-19 09:41:09 -08:00
Shane Smiskol
5052b55c44 test_models: fuzz test panda and CarState (#30443)
* pre-hypothesis

* some hypothesis junk

* this kinda works but is really slow due to counter check

* choose addrs from fingerprint

* stash

* honda nidec brake pressed mismatches fixed

* bump panda

* stash

* tesla: use DI_torque2 (panda msg)

* run

* run

* ah this honda mismatch too

* no more multi can msgs

* clean up, remove old file

* add todo

* prob can remove urandom

* stash, huge examples

* fix pq standstill mismatch

* yuge

* yup there's a leak somewhere

* try to find leak

* skip dashcam (pq and tesla)

* PR comments

* bump

* draft stash

* fix alt brake hondas

* bump

* bump

* bump

* some clean up

* minor clean up

* more clean up

* stash

* fix honda bug

* more

* 100 examples

* revert tesla

* no memory leak any more?

* bring back tests with skips

* parameterize max_examples

* skip interceptor

* is jenkins on my branch?

* ooh that's fast

* 50 is not bad for GH CI

* 300 might be better with rest of test_models

* no more detection

* bump

* need CS_prev to catch bugs where openpilot changes and panda doesn't (eg. not setting interceptor safety mode)

* need to simplify all this

* need a warm up first, since some signals are 1 by default (toyota's gas_released!=1)

* changes

* set honda safety param

* set toyota safety param

* bump panda

* clean up honda

* rm interceptor

* thought interleaving addrs might help, but we can fine tune later

* Revert "thought interleaving addrs might help, but we can fine tune later"

This reverts commit 153301384b48c9f33f9e2af3c224241eaeec41c1.

* get size from dict

* what

* add nocapture marker

* clean up

* try to raise logging level

* need to run last as pytest_runtest_call, since it starts capturing

* get capman conditionally

* mark

* type fingerprint

* should use gen_empty_fingerprint

* no longer needed

* draft

* no longer need gc

* clean that up

* test everything!

* more clean up

* more

* no point

* fix that

* fix errors

* bump

* nice even 300 examples for 300 segs

* final bump :fingers_crossed:

* better import order

* remove debugging prints

* warm up kinda works

* Revert "warm up kinda works"

This reverts commit 7fc77b07d592edb13eadca77deb49540954a7d69.

* random seed

* revert

* strat

strat

* add expl comment

* cmt

* check controls allowed

* Revert "check controls allowed"

This reverts commit e82a0e5396810dd4670e6847aa555194a709e10f.

* not unittests

* run tests!

* run tests 2!

* run tests 3!

* seed unused

* revert

* add shrink phase, and remove health check suppression

* hello

* oncemore

* Update selfdrive/car/tests/test_models.py
2023-12-19 03:18:54 -06:00
Justin Newberry
10b3a22897 Add GH project to bounties.md (#30791)
* update bounties

* just replace the link
2023-12-18 17:12:21 -08:00
Adeeb Shihadeh
cee84381f3 Update README.md (#30793)
* Update README.md

* Update README.md

* Update README.md
2023-12-18 17:05:24 -08:00
Adeeb Shihadeh
b0b4ae9c15 run test_fuzzy.py with pytest 2023-12-18 14:38:57 -08:00
Justin Newberry
28eed156e0 Move all fingerprints to fingerprints.py (#30790)
* move fingerpints

* fix circular imports

* fix circular imports

* fix auto fingerprint

* fix those tests

* and controlsd

* add labeler rule

* no defaultdict
2023-12-18 14:04:27 -08:00
Dean Lee
b9080d2362 camerad: zero memory before returning from MemoryManager::alloc (#30781)
* zero memory

* remove redundant memset

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-12-18 13:54:11 -08:00
Dean Lee
ab0b26d2b8 camerad: cleanup includes (#30782)
* cleanup includes

* continue

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-12-17 22:42:52 -08:00
Adeeb Shihadeh
846be323d5 packages cleanup, part two 2023-12-17 16:37:33 -08:00
Adeeb Shihadeh
51a93cf9aa fix unused 2023-12-17 16:32:56 -08:00
royjr
70624ffc81 dependency: remove pycurl package (#30771)
* Update qcomgpsd.py

* Update url_file.py

* remove pycurl

* requests -> urllib3

* unused

* redundant

* fix import

* Revert "requests -> urllib3"

This reverts commit 7ca39e618917986f50356519d2795a432e3a5280.

* headless

* fix trail

* use requests.exceptions.RequestException

* use fp.tell

* fix indents

* reorder imports

* change timeout

* fix debug timing

* remove exception

* add timeout

* missing headers

* move to constructor

* move import

* unused import

* fix debug

* try

* no retries
2023-12-17 16:25:25 -08:00
Adeeb Shihadeh
8c1176ca83 more common/ pruning (#30778) 2023-12-17 11:40:46 -08:00
Andrei Radulescu
b75cdd1542 wifiManager: fix for lteConnectionPath not set on boot (#30517)
Co-authored-by: Justin Newberry <justin@comma.ai>
2023-12-17 11:07:48 -08:00
Adeeb Shihadeh
2c30421b16 move common.window to xx (#30777) 2023-12-17 10:50:45 -08:00
Adeeb Shihadeh
77bafb0708 Bump submodules (#30776)
bump submodules

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-12-17 10:43:14 -08:00
Adeeb Shihadeh
1421551297 Cython KF1D to Python (#30773)
* Cython KF1D to Python

* cleanup

* set x

* less nesting

* fix release

* Revert "fix release"

This reverts commit 97e5d0f80405660efb861c7b9df7fbfd5dda5dd9.
2023-12-16 23:45:28 -08:00
Adeeb Shihadeh
7aeefaad65 jenkins: only do replay when relevant files change 2023-12-16 23:35:43 -08:00
Adeeb Shihadeh
a07060b24b common: remove statlog (#30774)
* common: remove statlog

* fix release
2023-12-16 23:33:55 -08:00
Adeeb Shihadeh
4b54c0b3cd better uploader cpu thresholds 2023-12-16 22:37:35 -08:00
Adeeb Shihadeh
2d466e70cd ui: show wifi password by default (#30766)
* ui: show wifi password by default

* update immediately
2023-12-16 22:36:26 -08:00
Adeeb Shihadeh
1346704426 common/file_helpers: remove xx stuff (#30772)
* remove xx stuff

* cleanup
2023-12-16 22:19:50 -08:00
royjr
7f9e41ce2e dependency: remove atomicwrites package (#30769)
* Update file_helpers.py

* remove dependency

* Revert "remove dependency"

This reverts commit e2bd5f4edab7d14b75f65c296631855d886e38d1.

* remove atomicwrites

* allow overwrite

* fix indents

* add type hints

* Update poetry.lock

* optional

* wrap
2023-12-16 21:58:19 -08:00
Adeeb Shihadeh
bc54ed794b remove PyYAML package (#30770)
* remove PyYAML package

* remove those

* add comments back

* fix lock

* fix those
2023-12-16 20:48:57 -08:00
Maxime Desroches
6239cf6780 CI: Close PRs not against master (#30768)
* check branch

* Update labeler.yaml

* Update labeler.yaml

* Update labeler.yaml

* rename

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-16 19:29:45 -08:00
Adeeb Shihadeh
a7828eba3c remove sconscontrib package (#30767)
* remove sconscontrib package

* lock
2023-12-16 19:16:34 -08:00
Adeeb Shihadeh
dfa2e9146f cleanup python dependencies (#30764)
* less

* try to remove that

* little more

* update

* ugh still need this
2023-12-16 18:52:15 -08:00
Jason Wen
7cdb6bb45d SLC: Don't convert float NaN to integer 2023-12-16 08:06:23 +00:00
Jason Wen
00a31ce264 ui: Full Screen Navigation 2023-12-16 07:50:39 +00:00
Jason Wen
c313af5cd0 MADS: Honda Nidec: Fix enforce cruise cancel with stock PCM 2023-12-16 07:29:49 +00:00
Dean Lee
ea7e701052 camerad/CameraBuf: remove deprecated rgb_stride (#30758) 2023-12-15 19:48:26 -08:00
Dean Lee
f9ee7bff00 ui: remove unused roadCameraState from submaster (#30757) 2023-12-15 19:32:25 -08:00
Adeeb Shihadeh
cb53e6579f Bump submodules (#30755)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2023-12-15 17:44:54 -08:00
Shane Smiskol
d9a8846d58 test_models: use gen_empty_fingerprint (#30752)
use gen_empty_fingerprint
2023-12-15 17:16:19 -08:00
Shane Smiskol
123ef46af3 Revert "test_models: check consitency between panda and openpilot for velocity (#30750)" (#30753)
This reverts commit 1ca1cf3922.
2023-12-15 17:16:01 -08:00
Justin Newberry
1ca1cf3922 test_models: check consitency between panda and openpilot for velocity (#30750)
* sanity check on velocity

* import from there

* use raw

* just check last

* ignore body

* reduce tolerance and bump panda

* its not average anymore

* slightly higher tolerance
2023-12-15 14:50:37 -08:00
Adeeb Shihadeh
1733b04741 jenkins: always do the copy in safe_checkout 2023-12-14 23:46:25 -08:00
Adeeb Shihadeh
6f143f6c45 full clean for onroad device 2023-12-14 23:00:07 -08:00
Jason Wen
2ae85e71e7 ui: Add hideDescription slot in AbstractControl 2023-12-15 01:39:04 -05:00
Jason Wen
b054089137 ui: Add hideDescription slot 2023-12-15 01:33:24 -05:00
Justin Newberry
d6eb1265a0 Docker: cleanup .git and test folders (#30747)
docker cleanup
2023-12-14 22:31:29 -08:00
Adeeb Shihadeh
37351cbdc1 uploader: reduce max qlog/qcam size (#30746) 2023-12-14 22:30:46 -08:00
Adeeb Shihadeh
10ea451831 test_onroad: fix test_log_sizes when running inside a prefix 2023-12-14 22:24:09 -08:00
Justin Newberry
da12a34ff6 Metadrive: set near clip (#30745)
set near
2023-12-14 21:03:02 -08:00
Kacper Rączy
5fe9f1459c metadrive: fix dual_camera mode (#30743)
* Use wide cam in metadrive

* 120 fov
2023-12-14 20:51:06 -08:00
Adeeb Shihadeh
0830f62b36 also run qcomgpsd on path update 2023-12-14 20:44:14 -08:00
Adeeb Shihadeh
2cad6dfa58 jenkins: only run pandad tests when paths change (#30741)
* jenkins: only run pandad when paths changed

* fix

* ugh shadow
2023-12-14 20:41:11 -08:00
royjr
05d5056e8c car docs: remove outdated video link (#30737)
remove outdated link
2023-12-14 20:36:33 -08:00
Adeeb Shihadeh
303f1cf9cf jenkins: run test_onroad in the normal env (#30740) 2023-12-14 19:59:16 -08:00
Justin Newberry
977dd033c4 Simulator: fix safety param (#30738)
fix param
2023-12-14 19:34:06 -08:00
Jason Wen
f7a674550a Hyundai: Car Port for Bayon Non-SCC 2021 2023-12-15 03:22:12 +00:00
Justin Newberry
23c20bce8f test_athena: remove slow memory leak test (#30734)
way too long
2023-12-14 17:24:47 -08:00
Justin Newberry
5d668701cb CI: move test_maprenderer to GH actions (#30610)
maprenderer to ci
2023-12-14 16:59:28 -08:00
Shane Smiskol
582743fdb5 Use a safety param for gas interceptor (#30719)
* bump

* bump

* space

* remove from boardd

* set flag for honda to pass tests

* migrate

* Update ref_commit

* final bump

* bump cereal

* bump to master
2023-12-14 16:53:22 -08:00
Adeeb Shihadeh
5b909c7d52 Update CONTRIBUTING.md 2023-12-14 14:51:56 -08:00
YassineYousfi
e82d5419a8 remove carla from README (#30731) 2023-12-14 14:43:42 -08:00
Justin Newberry
bd9d5f363d make the main photo link to the comma shop (#30729) 2023-12-14 14:13:11 -08:00
Adeeb Shihadeh
f78e7ed175 jk 2023-12-14 13:59:22 -08:00
Adeeb Shihadeh
f36866c898 better video thumbnails 2023-12-14 13:50:30 -08:00
Adeeb Shihadeh
57b9e75d6d Docs update (#30726)
* update readme

* three videos looks way better

* shorter picture

* even smaller

* Update README.md

* Update README.md
2023-12-14 13:24:48 -08:00
Justin Newberry
075e6ff3e6 Docker: add xvfb (#30727)
add xvfb
2023-12-14 12:46:24 -08:00
Adeeb Shihadeh
b69c71eda9 Update CONTRIBUTING.md 2023-12-14 11:25:09 -08:00
Jason Wen
4ff444a7d6 Toyota: ZSS: Re-enable and add safety checks 2023-12-14 18:55:20 +00:00
Jason Wen
55b87c4b13 DEC: Update logic from dragonpilot-community/dragonpilot:beta3 2023-12-14 18:54:11 +00:00
Adeeb Shihadeh
0c24126a6b add comma10k to contributing 2023-12-14 10:42:43 -08:00
Adeeb Shihadeh
2b12a499f7 bump up installer size (#30722) 2023-12-13 21:18:20 -08:00
Adeeb Shihadeh
bd8a99ba28 fix put_nonblocking reference 2023-12-13 20:52:43 -08:00
Dean Lee
b53b505d2e boardd: improve the performance of PandaUsbHandle::list() (#30673)
* improve list performance

* revert test_onroad

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-12-13 20:48:51 -08:00
Dean Lee
3c4c4d1f7f common/params: support nonblocking write (#29808)
* 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

* pass prefix to asywriter

* move to params

* assert(queue.empty())

* add comment

* add todo

* test_power_monitoring: remove patch

* rm laikad.py

* fix import

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-13 20:36:01 -08:00
Jason Wen
fcc671297e torqued: cache bucket points every minute while onroad (#30515)
* torqued: cache bucket points every minute while onroad

* use put_nonblocking

* remove caching on exit

* unused

* more unused

* remove logging
2023-12-13 20:30:33 -08:00
Adeeb Shihadeh
ea94a6d89f athena: cleanup unused methods 2023-12-13 20:27:54 -08:00
Justin Newberry
abe76065a9 update docs 2023-12-13 20:26:51 -08:00
Dean Lee
dbda641cee ui: destroy egl_images in main thread (#30253)
* call eglDestroyImageKHR in ui thread

* assert
2023-12-13 20:18:45 -08:00
Justin Newberry
5f24078a48 Subaru: enable alpha longitudinal for gen1 cars (#30714)
* enable alpha long

* update docs

* added footnote about eyesight

* only for these cars

* add alpha

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

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 20:17:33 -08:00
Jason Wen
8009b11516 Hyundai CAN-FD: Panda safety config assignments cleanup (#29733)
* Hyundai CAN-FD: Interface small cleanup

* some more

* Do this too

* fix

* cleaner

* use flag

* consolidate

* do it there

* Fix

* hda2 only

* cleaner

* default to False

* in another PR

* lint
2023-12-13 20:15:25 -08:00
Harald Schäfer
8c25741e46 Ford: radar + long control fixups (#28948)
* enable radar

* manual new track

* Don't filter points

* cleanup

* Update radar_interface.py

* This is non-zero in stock

* add speed

* more extreme

* A few more things

* fixes

* cleanup

* revert that

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-13 19:54:06 -08:00
Adeeb Shihadeh
fe24bdc689 read params in a thread 2023-12-13 19:00:22 -08:00
Adeeb Shihadeh
ae85ee0932 fixup can replay for jungle v2 and tres 2023-12-13 17:00:14 -08:00
Dean Lee
33987d4cc9 ui/onroad: avoid drawing invalid lanes and leads (#29666) 2023-12-13 14:51:09 -08:00
Adeeb Shihadeh
2a1403a46b bounties docs (#30718) 2023-12-13 13:57:50 -08:00
Justin Newberry
a3c0e2bd25 CI: add codecov token (#30716)
* add codecov token

* retrigger with token
2023-12-13 11:50:44 -08:00
Isaac
26a67641d2 Ford: Add Mach-E (#30691)
* Update interface.py

* Update values.py

* Update routes.py

* Update override.yaml

* Update selfdrive/car/ford/values.py

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

* Update interface.py

* order

* only have dongles for these

42f08a29af3699f4
83a4e056c7072678

from https://github.com/commaai/openpilot/pull/30444

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 09:05:41 -08:00
Jason Wen
d6465e39bd Hyundai: Car Port for Staria 2023 (#30672)
* Hyundai: Car Port for Staria 2023

* camera scc!

* add test route

* Update RELEASES.md

* Apply suggestions from code review

* bump down max torque

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-13 08:23:10 -08:00
Adeeb Shihadeh
7ca440fe51 ignore tools/ in codecov (#30711) 2023-12-12 23:59:38 -08:00
Shane Smiskol
c4759c0a50 Car docs: fixes (#30710)
* always lower case

* more fixes

* link

* rm ()
2023-12-12 20:41:43 -08:00
Shane Smiskol
77066a2260 Ford: consolidate comments about unsupported hybrid platforms (#30709)
* fix typo, move comments to one place

* -appear

* Update selfdrive/car/ford/carstate.py
2023-12-12 20:37:37 -08:00
Isaac
2192cc170c Ford: Add F-150 Lightning (#30692)
* Update interface.py

* Update values.py

* Update routes.py

* Update override.yaml

* Update values.py

* Update interface.py

* Update selfdrive/car/ford/interface.py

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

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-12 20:07:59 -08:00
Cone Guy
fb977e45cd Link to setup guide in WORKFLOW.md (#30708)
* Mention dev containers and WSL

* Update WORKFLOW.md

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-12 19:24:36 -08:00
Adeeb Shihadeh
73db7e8e3a Revert "compressed_vipc: fix issues with VisionIpcServer in ZMQ mode (#30115)"
This reverts commit 0e5cfa3426.
2023-12-12 19:16:46 -08:00
Dean Lee
a4179a7c23 encoder: reduce memory allocations and copying (#28704)
* reduce memory allocations and copying

* #include <vector>
2023-12-12 19:15:47 -08:00
Justin Newberry
5d80858a16 cleanup car port docs (#30707)
readme
2023-12-12 18:17:10 -08:00
Justin Newberry
02373fcb05 jenkins: retry docker_build (#30629)
* retry docker build

* retry docker build

* retry docker build

* does this work nicely?

* docker fail!

* Revert "docker fail!"

This reverts commit ab227a1ea37fad3d6413081e4516211b474b0712.
2023-12-12 18:12:19 -08:00
Justin Newberry
93cd19e3a5 jenkins: retry pc setup (#30659)
* retry pc setup

* sleep and retry

* exception

* throw e

* remove force exit

* make a function for it

* remove force exit

* move to top

* separate exception
2023-12-12 17:54:17 -08:00
Justin Newberry
c066fdd7a3 jenkins: remove old root user permission fixes (#30684)
* Batman

* add debug stuff

* Revert that for now

* remove debug stuff
2023-12-12 17:48:03 -08:00
Adeeb Shihadeh
3a97bde863 Update contributing (#30705)
* update

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2023-12-12 17:27:42 -08:00
Justin Newberry
595041ffc0 add car porting docs (#30704)
* add car porting docs

* add cabana

* absolute link

* absolute link

* absolute link

* selfdrive/car
2023-12-12 16:40:21 -08:00
Justin Newberry
4f3a186a6f soundd/micd: retry getting stream (#30701)
retry soundd/micd
2023-12-12 15:58:24 -08:00
Yassine
8184186dd3 update release notes 2023-12-12 15:53:15 -08:00
Adeeb Shihadeh
7931561416 workflow docs (#30703)
* start workflow docs

* update

* update

* linter

* update

* update
2023-12-12 15:19:57 -08:00
Kacper Rączy
e62756596b controlsd: require joystick mode param for the body (#30680)
* Update joystick mode in step

* Stop putting the body in joystick mode by default

* Toggle JoystickDebugMode by default for notCars in process_replay

* Remove subsection about web joystick

* Update param only in non-cars

* Make joystickDebug non-static event, and add it in a loop

* Add comment
2023-12-12 14:14:51 -08:00
Kacper Rączy
43e1409fd2 metadrive: fix wasd steer signs (#30623)
* Swap AD signs

* Fix type annotation

* fix user torque

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2023-12-12 14:09:07 -08:00
YassineYousfi
dd54ec9aa8 blue diamond model 💎 (#30504)
* c53b1113-ca16-434f-a3e7-457a36ba98cc/700

* 672ee0a5-0466-420d-be18-0610c5d71b6d/700

* update model replay ref commit
2023-12-12 11:24:04 -08:00
Jason Young
aaff6aebca VW MQB: Add FW for 2020 Škoda Superb (#30699) 2023-12-12 10:57:12 -08:00
Justin Newberry
be33d29d7a Simulator: --simulator is no longer an argument (#30700)
these are also gone
2023-12-12 09:45:34 -08:00
Jason Wen
0772ef2b8c CSLC: Hyundai CAN-FD: Disable for CRUISE_BUTTONS_ALT platforms 2023-12-12 10:43:25 -05:00
Rabin Karki
a03a931737 HKG: Add FW Versions for Kia Carnival 2022 (#30677)
* HKG: Add FW Versions for Kia Carnival 2022

* 2022

* should

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-12 00:52:36 -08:00
Shane Smiskol
fc0daa9693 Revert "2022"
This reverts commit ad0a882c1c.
2023-12-12 00:51:05 -08:00
Shane Smiskol
ad0a882c1c 2022 2023-12-12 00:50:42 -08:00
Shane Smiskol
1c011e6024 Ford: add CAN FD harness info (#30698)
* add correct harness to f150 and angled mount

* can remove this
2023-12-12 00:45:13 -08:00
Jason Wen
bcf1736265 Sentry: Fix set_tag with route_name 2023-12-12 02:18:26 -05:00
Shane Smiskol
b1ecfd55ce Revert "FW query timing test: mock get_data function for timeout" (#30696)
Revert "FW query timing test: mock get_data function for timeout (#29712)"

This reverts commit 4028cb6121.
2023-12-11 22:12:21 -08:00
Dean Lee
62670e66bf camerad/CameraBuf: rename yuv_type to stream_type (#30695) 2023-12-11 21:53:27 -08:00
Jason Wen
704577e22f V-TSC: Add conditions to allow engaging 2023-12-11 23:59:45 -05:00
Justin Newberry
11ec5bf25e Simulator: remove carla (#30690)
* no carla

* no arg and stylize metadrive
2023-12-11 20:38:37 -08:00
Jason Wen
9807bd99db HKG: Car Port for Kia Niro Plug-in Hybrid 2022 (#30576)
* HKG: Car Port for Kia Niro Plug-in Hybrid 2022

* Update CARS.md and add test route

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-11 20:32:36 -08:00
Sparkguys
d2583d64f0 Update values.py for VW Passat MK8 (#30646)
Update values.py

Added FW for Passat MK8
2023-12-11 19:25:55 -08:00
Justin Newberry
4028cb6121 FW query timing test: mock get_data function for timeout (#29712)
* use a mock function to simulate timeout

* Cleanup

* Cleanup

* clean refs

* tolerance can also go down

* fix

* better name

revert refs

* use unittest

* revert

* Revert "use unittest"

This reverts commit 7a1d6a6fc72fa129a66590e0e5998c2438ecbe55.

* order

* local

* use a context

* revert

* stress test it

* let's try

* it's consistent

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-11 19:24:01 -08:00
Justin Newberry
b0831fb117 soundd/micd: increase stream buffer size (#30685)
* increase buffer

* update cpu refs

* go to 100ms

* correct spot
2023-12-11 17:25:37 -08:00
Adeeb Shihadeh
3a70708228 Revert "remove extra sleep", weston is fixed but a couple other things relied on this
This reverts commit d2d4802ad0.
2023-12-11 16:21:19 -08:00
Lukejb14
76c53e4742 Add 2021 Mazda CX-5 engine fingerprint (#30616) 2023-12-11 15:41:51 -08:00
Kacper Rączy
8049731553 run_process_on_route: qlog and fingerprint options (#30688)
Add --qlog and --fingerprint options for run_process_on_route
2023-12-11 15:38:59 -08:00
Justin Newberry
7b5d4d031a Revert "Process Replay: move to pytest (#30260)" (#30687)
This reverts commit 90c873ab1d.
2023-12-11 14:46:56 -08:00
Adeeb Shihadeh
5a518243dd Bump submodules (#30682)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2023-12-11 09:28:47 -08:00
Jason Wen
c6de841d79 ui: V-TSC: Only hide experimental button when debug UI is on 2023-12-11 02:35:30 -05:00
royjr
84a3b10da9 cabana: fix typo (#30678) 2023-12-10 16:46:41 -08:00
Jason Wen
8e84ebeadb V-TSC: New implementation 2023-12-10 23:18:34 +00:00
Dean Lee
48cf7eb6d9 ui/driverview: inherit from CameraWidget (#29769)
* refactor DriverViewWidow to inherit from CameraWidget

* emit done on visible

* merge master

* cleanup

* lock_guard

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-10 12:12:27 -08:00
Adeeb Shihadeh
702c4392a4 three way merge 2023-12-10 12:10:40 -08:00
Adeeb Shihadeh
3831bf19e4 remove Qt wrapper scripts (#30454)
* remove Qt wrapper scripts

* revert those
2023-12-10 11:45:35 -08:00
Adeeb Shihadeh
f09ee083a2 helper script for fixing up repo size (#30028)
* small

* mv
2023-12-10 11:33:40 -08:00
Dean Lee
13e5e708c2 boardd: cleanup includes (#30674)
cleanup includes

Co-authored-by: Comma Device <device@comma.ai>
2023-12-10 09:18:44 -08:00
Jason Wen
a19c45d5a2 Hyundai CAN: Enable radar tracks for certain Sante Fe platforms at all times 2023-12-10 12:13:34 -05:00
Shane Smiskol
86ab1dca18 bump 2023-12-09 17:37:48 -08:00
Jason Wen
63bf098017 Hyundai CAN-FD Longitudinal: Enable for ICE camera-SCC cars (non-HDA2) (#30034)
* Hyundai CAN-FD Longitudinal: Enable for all camera-based SCC platforms (non-HDA2)

* allow ice camera scc longitudinal

* allow ice camera scc longitudinal

* Update docs

* Merge commaai#30021

* Update CARS.md

* revert unrelated changes

* add test route

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-09 17:36:34 -08:00
Shane Smiskol
e03f1282a8 bump panda (#30670) 2023-12-09 17:13:36 -08:00
Jason Wen
83a1c8d6a9 CI: Fix commit message for prebuilt branches 2023-12-09 19:58:28 -05:00
DevTekVE
f601c7be0b CI: test version differently 2023-12-10 01:14:14 +01:00
DevTekVE
75d2fbf22a CI: test version differently 2023-12-10 00:48:32 +01:00
Jason Wen
128390aadc Enhanced Speed Control: Remove acceleration solution 2023-12-09 23:36:37 +00:00
DevTekVE
9bb3844301 CI: Update VERSION extraction command in .gitlab-ci.yml
Refactored the command used to extract the version information in the .gitlab-ci.yml file. The new command targets the `#define COMMA_VERSION` line, going through 'common/version.h' and printing the version without quotation marks. This change affects both the "staging-c3" and "release-c3" branches.
2023-12-10 00:30:32 +01:00
DevTekVE
1073aecf79 Update version handling in GitLab CI configuration 2023-12-09 23:09:22 +00:00
Shane Smiskol
b3908e3c82 Volkswagen: update MY for Tiguan 2023-12-09 15:05:06 -08:00
hodgiers
dd034bbfb7 Volkswagen: Tiguan R-Line 2024 Fingerprint (#30605)
* Update values.py

2024 Tiguan R Line

* Update values.py

Removed extraneous text

* already here

* Update values.py

Updating model year for Volkswagen Tiguan to include 2024.

* Update values.py

Correcting Tiguan fingerprint values

* Apply suggestions from code review

* Update selfdrive/car/volkswagen/values.py

---------

Co-authored-by: Hodge <rhodge@Hodge-MBP.local>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-09 15:04:27 -08:00
Jason Wen
05f3074a79 Hyundai: CSLC: don't calculate counters manually for LEGACY_SAFETY_MODE_CAR 2023-12-09 22:55:43 +00:00
hanyiabc
5051ff0b84 Added fingerprint for 22 Kia Stinger KIA_STINGER_2022 (#30589)
* added fingerprint for my 22 kia stinger

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-09 14:46:40 -08:00
TerryWloch
6d9629b0e1 VW: add missing FW for Skoda Kodiaq 2017 (#30665)
* Update values.py

Added FingerPrint for my Skoda Kodiaq 2017 14. tsi DSG 4x4

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-09 14:35:15 -08:00
Shane Smiskol
ac83318ac4 test_models: randomize internal segment list (#30653)
* randomize internal seg list segments

* random

* pytest-randomly sets random.seed to a consistent value for all the workers/processes

* noeol

* update

* Revert "update"

This reverts commit aff9a69c4e5e3934deebaa33986b42f44b55b002.

* lock

* don't randomize by default

* remove random-order

* strict

* random

* one fix

* test

* does nothing

* rm tests

* Revert "rm tests"

This reverts commit b548e3fcd48e60538695506888d863c01b459d27.

* (can't repro locally) just athena should be fine

* bs1

* bs2

* bs3

* bs4

* bs5

* wrong way

* no controls

* no car

* no board

* controls?

* crazy -common

* Revert "crazy -common"

This reverts commit 02365d712b3d09cab1893cce2261a4b418bb3851.

* test athena

* test athena 2

* test athena 3

* test athena 4

* test athena 5

* test athena 6

* test athena 7

* test athena 8

* test athena 9

* ??

* in one commit

* common?

* car and board

* -controls -board

* random-order

* no board

* revert

* car/tests

* least likely

* try

* try 2

* draft

* draft

* so much better

* cmt

* use randomly

* not needed here

* directly modify option works

* bb

* test time

* Revert "test time"

This reverts commit 2c5caabe2b470b47b7322e37800680b92773fccc.

* tmut

* i concur

* revert
2023-12-09 14:28:32 -08:00
Jason Wen
a1aecf4ba4 Toyota: Temporary disable ZSS 2023-12-09 21:47:43 +00:00
Jason Wen
df7b56ff06 Honda: Bosch Civic changes with modified EPS 2023-12-09 21:40:34 +00:00
Jason Wen
e143d45c21 Sentry: Log params as attachment and new tags to startup event 2023-12-09 21:34:03 +00:00
Shane Smiskol
97da129e11 ruff: check newline (#30668)
* check newline

* nothing catches this
2023-12-09 13:24:18 -08:00
Jason Wen
e13641080b Sentry: Cleanup redundant code 2023-12-09 19:37:30 +00:00
Dean Lee
aa744e8437 cabana: cleanp code (#30666) 2023-12-09 08:12:11 -08:00
Dean Lee
8a530621b4 camerad: Remove deprecated 'fps' parameter (#30662)
remove parameter fps
2023-12-09 08:10:53 -08:00
DevTekVE
002d0d10de CI: Unifying gitlab steps 2023-12-09 15:12:57 +00:00
Shane Smiskol
2afff9a0cb athena tests: patch instead of juggling function (#30664)
patch instead of juggling function
2023-12-09 05:06:30 -08:00
Shane Smiskol
90c2aee6c3 athenad: use socket constant (#30663)
Update athenad.py
2023-12-09 04:53:15 -08:00
Jason Wen
e19383d5f0 CI: Post notifications to Discord 2023-12-09 11:58:25 +00:00
Shane Smiskol
e78b80c8fe jenkins: run all car tests with one command (#30661)
* run all jenkins car tests in one script, less down time?

* fix

* speed up

* u
2023-12-08 22:15:27 -08:00
Shane Smiskol
17d71d2829 test_athena: remove no-op line (#30660)
* test

* Update selfdrive/athena/tests/test_athenad.py
2023-12-08 21:40:15 -08:00
Justin Newberry
bc70c94f75 soundd/micd: more robust setup procedure (#30640)
* just use the default device :/

* Ruff

* this seems like the most reliable way

* Ruff

* move comments too

* wait for devices

* fix that

* and that

* ruff

* add logging for avaliable devices

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-12-08 17:59:31 -08:00
Adeeb Shihadeh
e909f634f5 Bump submodules (#30655)
bump submodules

Co-authored-by: sshane <sshane@users.noreply.github.com>
2023-12-08 16:44:07 -08:00
Adeeb Shihadeh
371c1366d4 bump cereal 2023-12-08 16:34:23 -08:00
Justin Newberry
bb9dda9764 simulator: set valid flags (#30656)
sim set valid
2023-12-08 16:31:30 -08:00
Dean Lee
ea0b8920f5 camerad: remove camera_id (#30654)
* remove camera_id

* use variable
2023-12-08 16:15:58 -08:00
Shane Smiskol
bf4026ed7e Toyota: enable LTA (#30109)
* bump panda

* enable lta

* try upper/lower delay similar to longcontrol lag comp

* add comment about eps torque rate limits

* more clear

* more clear

* Revert "try upper/lower delay similar to longcontrol lag comp"

This reverts commit 8e85333ee6e2456fcda076af4c31a9e9babbc897.

* bump

* no driver torque limiting to test

* fix the setme_x3

* bump

* bump

* enable inactive safety

* use vEgoRaw

* rename

* fix

* some comments/organization

* bump

* docs

* no corolla

* shorter name

* bump

* bump

* add to releases

* bump panda

* remove camry

* bump

* bump

* rm

* bump

* bump

* bump again

* bump
2023-12-08 15:31:10 -08:00
Dean Lee
21d5d7d07a camerad: move ar0231_register_lut to AR0231 (#30652) 2023-12-08 14:57:29 -08:00
Adeeb Shihadeh
80bc5833e7 remove common/xattr.py 2023-12-08 14:44:39 -08:00
Dean Lee
fb2f2d9cb2 camerad: c++ sensorInfo (#30650)
* move remaining sensor parameters to CameraInfo

* same order

* member functions

* fix segfault
2023-12-08 14:27:28 -08:00
Dean Lee
011b1a6e6a ui/ParamControl: do not create ConfirmationDialog on every click (#30496) 2023-12-08 13:48:31 -08:00
Dean Lee
8fdcddec8a camerad: define the constants directly in ctor (#30651) 2023-12-08 13:01:41 -08:00
Adeeb Shihadeh
e757d9bae7 camerad: renames (#30649)
* sensorinfo

* drop the camera
2023-12-08 11:39:40 -08:00
Adeeb Shihadeh
2590cf8615 update plannerd cpu usage 2023-12-08 11:39:30 -08:00
Dean Lee
ef262ff9eb camerad: move sensor related code to /sensors (#30647) 2023-12-08 11:19:10 -08:00
Dean Lee
51328609d2 camerad: refactor sensor parameters to struct (#30644)
* refactor camerainfo

* include <memory>
2023-12-08 00:01:16 -08:00
Dean Lee
9bff8ccd0f camerad: fix use of uninitialized CameraInfo in camera_open() (#30642) 2023-12-07 20:11:44 -08:00
Shane Smiskol
49317e3903 Ford: add Explorer 2020 FW (#30638)
* 49cead668ca2ac46

* docs

* b18d8435f1460528
2023-12-07 16:37:59 -08:00
Adeeb Shihadeh
0586f86ad0 Revert "camerad: refactor sensor parameters to struct (#30639)"
This reverts commit a70911d639.
2023-12-07 16:21:16 -08:00
Dean Lee
a70911d639 camerad: refactor sensor parameters to struct (#30639)
* refactor camerainfo

* include <memory>
2023-12-07 16:06:55 -08:00
Dean Lee
bdf868ddc2 camerad: split sensor_ic2.h (#30641)
* split sensor_ic2.h

* move start_reg,stop_reg
2023-12-07 15:45:49 -08:00
Jason Wen
0959f34669 Merge branch 'master' into dev-priv/master-priv 2023-12-07 16:22:46 -05:00
Jason Wen
d92246638a bump to 0.9.6.1 2023-12-07 16:22:30 -05:00
Dean Lee
ecfe201a57 camerad: move AR0231 functions to camera_ar0231.cc (#30635)
* move AR0231 functions to camera_ar0231.cc

* move to sensors/aro231.cc
2023-12-07 11:48:17 -08:00
Shane Smiskol
1cd7b04e6f Ford: add Explorer 2023 FW (#30637)
* 49cead668ca2ac46

* docs
2023-12-07 11:37:18 -08:00
Kacper Rączy
7f07f47302 locationd: disable locationd temporary error alert on the body (#30608)
* Disable locationd temporary error alert on the body

* Disable locationd/paramsd/planner alerts on body with joystick mode

* joystick_enabled param not joystick_mode
2023-12-07 10:53:33 -08:00
Dean Lee
8bf78399e2 sensor2_i2c.h: add #pragma once (#30636) 2023-12-07 10:21:14 -08:00
Jason Wen
557728aa09 NNLC: Update event texts 2023-12-07 15:25:08 +00:00
Adeeb Shihadeh
2f2b9c782e qcomgpsd: retry quectel setup (#30632) 2023-12-06 20:56:20 -08:00
Jason Wen
7b27ee2b91 Merge branch 'master' into dev-priv/master-priv 2023-12-06 23:23:43 -05:00
Jason Wen
20e6c58611 Update CHANGELOGS.md 2023-12-06 23:23:08 -05:00
Jason Wen
5ab39133ec NNLC/NNFF: Better events and description handling 2023-12-07 04:09:25 +00:00
Adeeb Shihadeh
51fa7b227a qcomgpsd: move retry logic to a decorator (#30633)
* qcomgpsd: move retry logic to a decorator

* make that same

* fix

* fix that
2023-12-06 19:55:27 -08:00
Adeeb Shihadeh
35f819c823 swaglog.py goes in common/ (#30631)
* swaglog.py goes in common/

* all of these go in release

* we'll even include the pyx
2023-12-06 17:27:51 -08:00
Justin Newberry
36bebb1aa0 jenkins: retry build_devel (#30628)
* will it work

* retry build devel

* correct p[ath

* try a failure

* Revert "try a failure"

This reverts commit ba4e6a0a2096b94887fcfbf7d011e34aa2a16c41.
2023-12-06 17:22:32 -08:00
Justin Newberry
f16df8e4b7 pytest: group test_models by route instead of car name (#30625)
* group by route

* dont need those
2023-12-06 16:00:59 -08:00
Justin Newberry
3777bf7fb9 jenkins: disable xdist on tici (#30624)
to preserve it
2023-12-06 15:51:29 -08:00
Justin Newberry
9dc8ecf722 ruff: ignore teleoprtc repo (#30627)
ignore it
2023-12-06 15:33:17 -08:00
Adeeb Shihadeh
492ba68cfc Update RELEASES.md 2023-12-06 15:32:46 -08:00
Justin Newberry
5600a82889 Soundd: only update ambient db when not playing an alert (#30620)
* move to soundd + only when quiet

* not filtered
2023-12-06 14:59:16 -08:00
Justin Newberry
31ab43ce41 jenkins: remove pytest tici conf (#30621)
* remove pytest conf

* remove that too
2023-12-06 11:13:22 -08:00
Greg Hogan
db35dcd0b5 replace common.file_helpers.mkdirs_exists_ok with python os.makedirs funtion (#30618)
replace common.file_helpers.mkdirs_exists_ok with python os.makedirs function
2023-12-06 09:55:29 -08:00
DevTekVE
2d870d1d8b Updating to pub github 2023-12-06 17:49:58 +00:00
DevTekVE
d50171d130 Add retry to default in GitLab CI config
This commit introduces a retry parameter under the default settings in .gitlab-ci.yml to improve the robustness of CI/CD pipeline. Additionally, an unnecessary whitespace has been removed from the file to maintain neat and clean code.
2023-12-06 17:05:58 +01:00
Jason Wen
84c7b3322a Volkswagen MQB: Car Port for CC Only platforms 2023-12-06 06:36:08 +00:00
Adeeb Shihadeh
3985103974 update mapsd cpu usage 2023-12-05 21:32:55 -08:00
Adeeb Shihadeh
3b89c5fe29 agnos 9 (#30543)
* agnos 9

* new build

* update

* Soundd: use alsa (#30617)

* update release notes

* agnos does this now

* prod manifest

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2023-12-05 21:17:49 -08:00
Shane Smiskol
67d6186bbd Toyota: LTA unit test (#30613)
LTA unit test
2023-12-05 19:24:28 -08:00
Justin Newberry
abe39e5076 Soundd: move to python (#30567)
soundd python
2023-12-05 18:10:01 -08:00
Justin Newberry
f32e3ae799 Docker: pull image before building (#30614)
* pin to a specific version

* pull latest version

* dont need version debug
2023-12-05 15:48:26 -08:00
Kacper Rączy
7948a61b0e bodyteleop: toggle joystick debug mode (#30611)
* Enable joystick debug mode in web

* Remove mutable vals

* Rename thread back to main
2023-12-05 15:00:05 -08:00
Kacper Rączy
6c62a31466 joystickd: remove WEB (#30612)
Remove WEB option from joystickd
2023-12-05 14:42:44 -08:00
Justin Newberry
56b8a1a5db pytest: add durations to tici (#30609)
add durations to tici
2023-12-05 12:24:03 -08:00
DevTekVE
c48d1bee55 Update Gitlab Pipeline user configurations 2023-12-05 18:19:18 +00:00
DevTekVE
8c817a37e0 ci: Remove after_script from .gitlab-ci.yml 2023-12-05 07:54:04 +00:00
Kacper Rączy
f46f00b373 webrtcd: endpoint for message schema retrieval vol. 2 (#30607)
* webrtcd: endpoint for message schema retrieval (#30578)

* Capnp json schema conversion

* Schema get endpoint

* Type annotation for generate_field

* Filter empty services

* Add schema.py to release
2023-12-04 23:51:52 -08:00
Shane Smiskol
2ae7d99143 Revert "webrtcd: endpoint for message schema retrieval" (#30606)
Revert "webrtcd: endpoint for message schema retrieval (#30578)"

This reverts commit 10eb70daf7.
2023-12-04 22:59:35 -08:00
Jason Wen
6cee1edb2e Merge branch 'master' into dev-priv/master-priv
# Conflicts:
#	CHANGELOGS.md
2023-12-05 00:21:32 -05:00
Jason Wen
3ad2b60eb8 Update CHANGELOGS.md 2023-12-05 00:18:42 -05:00
Shane Smiskol
09a9ba6de1 joystick: bump max angle (#30602) 2023-12-04 21:16:33 -08:00
Shane Smiskol
3fed87dbb7 Toyota: rename LTA torque wind down signal (#30603)
* bump

* rename

* bump
2023-12-04 21:16:12 -08:00
Jason Wen
faa1ecbbbe Driving Model Selector 2023-12-05 05:15:30 +00:00
Kacper Rączy
10eb70daf7 webrtcd: endpoint for message schema retrieval (#30578)
* Capnp json schema conversion

* Schema get endpoint

* Type annotation for generate_field

* Filter empty services
2023-12-04 20:43:19 -08:00
Jason Wen
f6977cc925 SLC: Properly handle previous setpoint updates 2023-12-04 22:36:18 -05:00
Kacper Rączy
6a354ddab7 webrtcd: stop cereal proxy runner when data channel is closed (#30601)
Stop the proxy when channel reaches invalid state
2023-12-04 19:14:11 -08:00
Dean Lee
33ee7530b3 cabana: add test case for parsing all opendbc files (#30584)
* test opendbc files

* bump opendbc

* bump opendbc

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-04 17:12:22 -08:00
Adeeb Shihadeh
36ccbc8bbe Bump submodules (#30596)
bump submodules

Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2023-12-04 17:02:48 -08:00
Adeeb Shihadeh
99d51bf02c Revert "Simplify passive mode handling (#30593)" 2023-12-04 15:05:05 -08:00
Justin Newberry
05e932b088 Fix passive mode (#30600)
remove passive
2023-12-04 13:58:43 -08:00
Jason Wen
6d42a7bf85 ui: Feature Status: parse from cereal 2023-12-04 04:25:06 +00:00
Jason Wen
448e71e584 Torque: Neural Network Lateral Controller (formerly NNFF) 2023-12-04 03:55:09 +00:00
Jason Wen
536d9f2fc3 MADS: Allow NoO in Chill Mode 2023-12-04 03:23:35 +00:00
Jason Wen
b7bb78723b Hyundai CAN Longitudinal: Enable radar tracks for certain Sante Fe platforms 2023-12-04 03:14:39 +00:00
Adeeb Shihadeh
ce4bac8218 remove unused last_actuators arg from lateral controllers (#30595) 2023-12-03 15:54:18 -08:00
Adeeb Shihadeh
bd0ab957b1 add carParams.passive (#30594) 2023-12-03 14:09:37 -08:00
Adeeb Shihadeh
5ccff25d88 Simplify passive mode handling (#30593)
* simplify passive handling

* makes more sense
2023-12-03 13:59:59 -08:00
Adeeb Shihadeh
a1d36961cf new msgs default to invalid (#30587)
* new msgs default to invalid

* fix lm

* set more valid

* update rest

* update refs

* fix logMessage

* more valids

* cleanup

* fix llk test

* pigeond is also valid

* more valids
2023-12-03 10:50:17 -08:00
Adeeb Shihadeh
a2b48efa20 process replay: check valid flag (#30588) 2023-12-02 10:47:08 -08:00
Adeeb Shihadeh
8971e2c177 longitudinal tests: cleanup old hacks (#30585) 2023-12-02 10:01:28 -08:00
DevTekVE
54f7ccab8c Add new JsonFetcher class in Sunnypilot 2023-12-02 10:29:37 +00:00
Adeeb Shihadeh
c028688a65 bump cereal (#30582)
* bump cereal

* fix dmonitoringd

* update refs

* update refs
2023-12-02 01:16:07 -08:00
Adeeb Shihadeh
531e62fc03 clear non-release params on startup (#30583) 2023-12-01 23:57:54 -08:00
Adeeb Shihadeh
b97e5b0e03 rename carEvents -> onroadEvents (#30577)
* rename carEvents -> onroadEvents

* bump cereal

* bump cereal
2023-12-01 22:48:29 -08:00
Adeeb Shihadeh
8e00ce672d controlsd: remove old process replay sentinel (#30581) 2023-12-01 22:42:43 -08:00
Shane Smiskol
54517c0638 Toyota: LTA cleanup (#30579)
* have been running this for a few weeks: good

* set setme_x3 closer to stock

* add comment to values about additional EPS torque rate safety

* rename some variables

* should use vEgoRaw here to match panda!

* switch

* more notes

* specify

* smaller

* for

* oof
2023-12-01 22:27:29 -08:00
Kacper Rączy
f058b5d64e webrtcd: webrtc streaming server (audio/video/cereal) (#30186)
* WebRTCClient and WebRTCServer abstractions

* webrtc client implementation

* Interactive test scripts

* Send localDescriptions as offer/asnwer, as they are different

* Tracks need to be added after setting remote description for multi-cam streaming to work

* Remove WebRTCStreamingMetadata

* Wait for tracks

* Move stuff to separate files, rename some things

* Refactor everything, create WebRTCStreamBuilder for both offer and answers

* ta flight done time to grind

* wait for incoming tracks and channels

* Dummy track and frame reader track. Fix timing.

* dt based on camera type

* first trial of the new api

* Fix audio track

* methods for checking for incoming tracks

* Web migration part 2

* Fixes for stream api

* use rtc description for web.py

* experimental cereal proxy

* remove old code from bodyav

* fix is_started

* serialize session description

* fix audio

* messaging channel wrapper

* fix audiotrack

* h264 codec preference

* Add codec preference to tracks

* override sdp codecs

* add logging

* Move cli stuff to separate file

* slight cleanup

* Fix audio track

* create codec_mime inside force_codec function

* fix incoming media estimation

* move builders to __init__

* stream updates following builders

* Update example script

* web.py support for new builder

* web speaker fixes

* StreamingMediaInfo API

* Move things around

* should_add_data_channel rename

* is_connected_and_ready

* fix linter errors

* make cli executable

* remove dumb comments

* logging support

* fix parse_info_from_offer

* improve type annotations

* satisfy linters

* Support for waiting for disconnection

* Split device tracks into video/audio files. Move audio speaker to audio.py

* default dt for dummy video track

* Fix cli

* new speaker fixes

* Remove almost all functionality from web.py

* webrtcd

* continue refactoring web.py

* after handling joystick reset in controlsd with #30409, controls are not necessary anymore

* ping endpoint

* Update js files to at least support what worked previously

* Fixes after some tests on the body

* Streaming fixes

* Remove the use of WebRTCStreamBuilder. Subclass use is now required

* Add todo

* delete all streams on shutdown

* Replace lastPing with lastChannelMessageTime

* Update ping text only if rtc is still on

* That should affect the chart too

* Fix paths in web

* use protocol in SSLContext

* remove warnings since aiortc is not used directly anymore

* check if task is done in stop

* remove channel handler wrapper, since theres only one channel

* Move things around

* Moved webrtc abstractions to separate repository

* Moved webrtcd to tools/webrtc

* Update imports

* Add bodyrtc as dependency

* Add webrtcd to process_config

* Remove usage of DummyVideoStreamTrack

* Add main to webrtcd

* Move webrtcd to system

* Fix imports

* Move cereal proxy logic outside of runner

* Incoming proxy abstractions

* Add some tests

* Make it executable

* Fix process config

* Fix imports

* Additional tests. Add tests to pyproject.toml

* Update poetry lock

* New line

* Bump aiortc to 1.6.0

* Added teleoprtc_repo as submodule, and linked its source dir

* Add init file to webrtc module

* Handle aiortc warnings

* Ignore deprecation warnings

* Ignore resource warning too

* Ignore the warnings

* find free port for test_webrtcd

* Start process inside the test case

* random sleep test

* test 2

* Test endpoint function instead

* Update comment

* Add system/webrtc to release

* default arguments for body fields

* Add teleoprtc to release

* Bump teleoprtc

* Exclude teleoprtc from static analysis

* Use separate event loop for stream session tests
2023-12-01 21:13:37 -08:00
Adeeb Shihadeh
e34ee43eea camerad cleanup (#30573)
* misc cleanup

* rm those

* rm utils

* fix build

* rm pool

* little more

* goodbye imgproc
2023-12-01 20:10:07 -08:00
Adeeb Shihadeh
5dba9187e5 CI: speedup docs build (#30574) 2023-12-01 19:55:27 -08:00
Hoya
169132c6cc Hyundai: add FW for 2019 AZERA_HEV_6TH_GEN (#30548)
* added AZERA_HEV_5TH_GEN (2019)

* Update values.py

* Update interface.py

* Update values.py

* Update hyundaican.py

* Update hyundaican.py

* Update interface.py

* Update values.py

* one line

* didnt see harness change

* Update selfdrive/car/hyundai/values.py

* docs

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-12-01 14:59:49 -08:00
Adeeb Shihadeh
afd5877be8 bump model unit test timeout 2023-11-30 21:48:11 -08:00
Dean Lee
d87191c1c1 cabana: fix missing opendbc files (#30555)
* fix missing dbc files

* remove suffix
2023-11-30 20:46:31 -08:00
Shane Smiskol
e687be939e FW fingerprinting timing: fix refs (#30566) 2023-11-30 16:36:20 -08:00
Adeeb Shihadeh
6ac75e492a bump panda (#30563) 2023-11-30 15:28:46 -08:00
Adeeb Shihadeh
613ccf4b74 falsify rx checks (#30564) 2023-11-30 14:53:33 -08:00
Greg Hogan
7e0f0165f4 replay: get api url from env var (#30562) 2023-11-30 10:42:18 -08:00
Justin Newberry
4086795c29 Pytest: more post-test path cleanup (#30556)
* test cleanup

* missed this one

* remove that

* static class
2023-11-30 09:55:48 -08:00
Justin Newberry
b1e2e0f565 Revert "Subaru: log eyesight fault as a cruise fault" (#30560) 2023-11-30 07:57:29 -08:00
Justin Newberry
a2bb41e0ec Subaru: non-obd FW queries logging (#30552)
* add subaru logging fw

* whitelist + comma

* whitelist is empty for the other requests

* all whitelisted
2023-11-29 17:47:09 -08:00
Justin Newberry
44ef143ae7 Subaru: add 2023 forester (#30554)
23
2023-11-29 14:53:43 -08:00
Shane Smiskol
4f8a232382 Car docs: add '19-'20 Santa Fe video (#30553)
* Add '19-'20 Santa Fe video

Add link to YouTube video for 2019-2020 Hyundai Santa Fe

* update docs

---------

Co-authored-by: Steve J <easternpa@gmail.com>
2023-11-29 14:27:37 -08:00
ebo2k
e61ea66415 Ford: add missing engine FW for Bronco Sport 2021 (#30483)
Update values.py

Updated to have correct engine firmware
2023-11-29 14:26:20 -08:00
DriftedPrism
dcbff66f0c Kia: add missing fwdCamea FW for Sorento PHEV 4th gen (#30526)
* Update values.py

Adding Ecus for KIA Sorento PHEV 4th gen

* Update values.py

added fwdCamera version

* fix

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-29 14:16:17 -08:00
Justin Newberry
9634e7b8af Subaru: log eyesight fault as a cruise fault (#30546)
log cruise fault
2023-11-29 12:55:52 -08:00
Vivek Aithal
573db49deb torqued: Update HYUNDAI TUCSON 4TH GEN offline values (#30513)
* update tucson offline values

* modify params, compute max accel
2023-11-28 15:10:30 -08:00
Shane Smiskol
2e45a7c2fd Toyota: add test route for 2023 RAV4 (#30465)
* test rav4 2023 (stripped)

* don't use initData, remove relay malfunction tolerance!

* all passes!

* some clean up

* more

* uncomment

* rm line

* remove ignore_addr_checks_valid

* right

* some changes for stripping data

* clean up

* check exist

* shouldn't be possible

* should be success if here

* no delete

* ""

* rm

* rm

* cleanup

* one list comp

* more clear

* not used

* add back legit source

* clean up

* copy files we don't need to strip (need sas to copy between accounts)

* default to strip

* revert
2023-11-28 14:55:03 -08:00
Keen-coffee
c56c8a719c Add 2022 Maverick engine and abs fingerprint (#30467) 2023-11-28 14:40:04 -08:00
Justin Newberry
5030824572 jenkins auto cpu count (#30544)
* auto cpu

* build too

* need bash
2023-11-28 14:34:00 -08:00
Vincent Wright
0b41d1c6e8 Chrysler: add Ram HD 2500 2024 FW versions (#30505)
* New Ram HD firmwares. Dongle ID is 0f88f104416b674a.

* docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-28 14:17:20 -08:00
Hoya
a7d3eb87c7 Kia: Add missing fwdCamera for KIA_CARNIVAL_4TH_GEN (#30540)
* Update values.py

Dongle ID : f9ec55916091ba61

RouteName : f9ec55916091ba61_2023-11-28--13-53-02

KIA_CARNIVAL_4TH_GEN finger need to be added 

Thanks

* Update values.py

* Update values.py

* Update values.py

* Update values.py

* Update values.py

* Update selfdrive/car/hyundai/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-28 14:01:00 -08:00
Adeeb Shihadeh
07e75c7cb8 athena: remove primeActivated endpoint (#30542) 2023-11-28 11:43:01 -08:00
Jason Wen
2e3bddffa1 Sentry: Set user property for every event 2023-11-28 07:34:16 +00:00
Jason Wen
b0ac95a473 MADS: Volkswagen: Add delay to initial MADS engagement 2023-11-28 05:22:49 +00:00
Jason Wen
7b32df43f9 SLC: User Confirm: Convert to km/h when setting speed 2023-11-27 23:27:31 -05:00
Jason Young
2f5c0bd016 JEEP_CHEROKEE -> JEEP_GRAND_CHEROKEE (#30539) 2023-11-27 18:19:03 -08:00
Justin Newberry
7a387962c6 CI: automatically create PR for submodule bump (#30538)
* add job

* add job (#52)

* add body

* Bump submodules (#53)

* add job

* add body

* add .

* rm that

* need submodules too

* better message

* monday at 4am

* i thought i was still est lol
2023-11-27 17:09:32 -08:00
Adeeb Shihadeh
749d192f54 bump panda 2023-11-27 16:36:26 -08:00
Adeeb Shihadeh
d2d4802ad0 remove extra sleep on startup 2023-11-27 14:57:40 -08:00
Jason Wen
4bf4ad32da SLC: User Confirm: Remove temp active with opposite buttons 2023-11-27 14:34:35 -05:00
Jason Wen
7bd95fb749 SLC: Fix rounding mismatch with MPH 2023-11-27 19:32:24 +00:00
Adeeb Shihadeh
ae4e848285 Update Python packages and pre-commit hooks (#30534)
Co-authored-by: jnewb1 <jnewb1@users.noreply.github.com>
2023-11-27 09:57:37 -08:00
Adeeb Shihadeh
e0ab068273 Revert "CI: automatically create PR to bump submodules (#30523)"
This reverts commit 6f073aed5f.
2023-11-27 09:40:37 -08:00
Jason Wen
ec748af4d0 Revert "SLC: Fix rounding mismatch with MPH" 2023-11-27 15:55:42 +00:00
Adeeb Shihadeh
6f2af97381 Bump submodules (#30533)
bump submodules

Co-authored-by: sshane <sshane@users.noreply.github.com>
2023-11-27 01:18:27 -06:00
Jason Wen
e93e51d000 Update HOW-TOS.md 2023-11-26 18:01:55 -05:00
Jason Wen
c2142cdaad ui: Feature Status: Sync SLC with Engage Mode 2023-11-26 20:26:53 +00:00
Jason Wen
c5e21314e0 SLC: Fix rounding mismatch with MPH 2023-11-26 20:11:58 +00:00
Adeeb Shihadeh
eb3833037f Update Python packages and pre-commit hooks (#30529) 2023-11-26 09:31:20 -08:00
Adeeb Shihadeh
1d0538bdef Bump submodules (#30528) 2023-11-26 09:31:08 -08:00
Justin Newberry
6f073aed5f CI: automatically create PR to bump submodules (#30523) 2023-11-26 08:27:25 -08:00
Adeeb Shihadeh
e25f788318 bump panda (#30519) 2023-11-25 11:47:04 -08:00
DevTekVE
ea5643afb1 Add ccflags option to SConstruct configuration 2023-11-25 07:40:04 +00:00
Jason Wen
6806fb83df Hyundai CAN Longitudinal: Set SP_CAMERA_SCC_LEAD flag with CAMERA_SCC_CAR 2023-11-24 23:31:22 -05:00
Justin Newberry
4b0d0b0f1e cleanup cameraview shader (#30520)
cleanup shader

Co-authored-by: Comma Device <device@comma.ai>
2023-11-24 20:17:51 -08:00
Jason Wen
3c834b7692 Hyundai CAN: Detect LKAS12 and set spFlags 2023-11-24 04:10:20 +00:00
Jason Wen
5671f65c1b Lane Change: Allow entering preLaneChange with Nudge while manually braking 2023-11-24 04:06:04 +00:00
Jason Wen
6192e75380 DEC: Only allow engage with Experimental Mode 2023-11-24 04:03:30 +00:00
Justin Newberry
f845c69b43 Subaru: ignore eyesight faults when openpilot is controlling long (#30390)
ignore eyesight faults
2023-11-23 11:10:44 -08:00
DevTekVE
9a53a53fc5 Add External Tools configurations for Poetry SCons
The commit introduces a new XML file, tools/External Tools.xml, laying out configurations for several external tool commands using Poetry and SCons. These tools include options for building in debug, clean, and release operations, enhancing the development process.
2023-11-23 16:39:07 +01:00
Justin Newberry
8d3bf1f41a Pytest: add cpp harness (#30471)
cpp harness
2023-11-22 13:45:49 -08:00
Kacper Rączy
f65e6bc30e locationd: remove models unused in openpilot (#30481)
* Remove filters used exclusively by xx

* Update SConstruct

* Remove from release

* Accomodate rednose build changes

* Update rednose ref

* rednose/helpers in rpath

* Add rednose_filters to files_common

* Change rednose_root

* Copy rednose site_scons to docker images

* Remove rednose from rpath

* Bump rednose

* Bump rednose

* Bump rednose
2023-11-22 13:25:29 -08:00
Justin Newberry
7f14bdfb22 allow onscreen cpu rendering (#30510)
* spinner POC cpu

* should be single threaded

* how tf did that get added

* allow non offscreen

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-22 12:44:32 -08:00
Adeeb Shihadeh
2a55ff4f55 Update Python packages and pre-commit hooks (#30509)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-11-21 11:50:35 -08:00
Harald Schäfer
8e88366955 Qcomgpsd: Dont use system timezone (#30508) 2023-11-21 11:12:39 -08:00
Adeeb Shihadeh
afd61352d0 bump panda (#30501)
* bump panda

* bump

* bump

* fix renamed variables

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-20 14:45:51 -08:00
Justin Newberry
7a4a8c9a4a update profiler docs again (#30503)
update SD docs again
2023-11-20 13:30:16 -08:00
Justin Newberry
631691c212 SDProfiler: update readme (#30479)
* update instructions

* fix that

* and that too
2023-11-20 10:56:50 -08:00
Adeeb Shihadeh
31ef352234 CI: manage stale PRs (#29367)
* CI: manage stale PRs

* before_close

* rename to ignore stale

* no push

* prod mode!

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2023-11-18 23:31:33 -08:00
Adeeb Shihadeh
4cae08e636 rename rawgpsd to qcomgpsd (#30493)
* rename rawgpsd to qcomgpsd

* fix more paths

* that moved

* forgot the d
2023-11-18 23:23:16 -08:00
DevTekVE
2a9986d948 [cabana] fix clang17 warning (#30490)
[cabana] Improve signal timing calculation in findsingal.cc

The variables `first_sec` and `last_sec` have been separately initialized first before being used in `std::minmax` for signal timings. This resolves compilation warnings and potential risks of using temporary values of these variables.
2023-11-18 23:05:10 -08:00
Logan Lasiter
5b2bcf6bf2 adding --local-partial-types mypy opt (#30491) 2023-11-18 22:47:11 -08:00
Dean Lee
335237aea0 modeld: remove modeldata.h (#30423)
* remove modeldata.h

* remove TRAJECTORY_SIZE
2023-11-18 22:45:26 -08:00
Adeeb Shihadeh
c055fdc853 one more 2023-11-18 22:22:31 -08:00
Adeeb Shihadeh
3d36a0f70d rm old loggerd debug scripts 2023-11-18 22:20:10 -08:00
Dean Lee
17cab9bb50 ui/controls.cc: fix QLabel leak (#30382)
fix QLabel leak
2023-11-18 22:14:05 -08:00
Dean Lee
c5f73a748e replay: support for setting a custom playback speed (#30462)
* support for setting a custom playback speed

* rename to playback speed
2023-11-18 22:12:35 -08:00
Dean Lee
3527c1da67 loggerd: c++ LoggerState (#25869)
* c++ LoggerState

* trigger ci

* trigger ci

* merge master

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-11-18 22:11:13 -08:00
Adeeb Shihadeh
99fbd4b150 updated: wait 1m before first cycle (#30492) 2023-11-18 21:55:56 -08:00
Jason Wen
96a67d464a Merge branch 'master' into dev-priv/master-priv 2023-11-18 08:54:30 -05:00
Jason Wen
758f58c5e9 bump to 0.9.5.2 2023-11-18 08:54:19 -05:00
Jason Wen
b028de02f2 Merge branch 'master' into dev-priv/master-priv 2023-11-17 22:47:52 -05:00
Jason Wen
55979b27a0 Update CHANGELOGS.md 2023-11-17 22:47:43 -05:00
Jason Wen
413fba812a Merge branch 'master' into dev-priv/master-priv 2023-11-17 22:43:33 -05:00
Jason Wen
b157b4d1b0 Update CHANGELOGS.md 2023-11-17 22:43:10 -05:00
Adeeb Shihadeh
fa353401f4 bump to 0.9.6 2023-11-17 18:44:05 -08:00
Adeeb Shihadeh
d3aad9ca46 esim is metered (#30486)
* esim is metered

* it's an enum

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-17 15:29:52 -08:00
DevTekVE
05e4d908df Enhance SConstruct by enabling arbitrary compiler flags (#30484)
* Update SConstruct allow no-inline

Allows disabling inline functions when compiling to help with the debugging process

* Update SConstruct

typos

* Update SConstruct
2023-11-17 13:53:16 -08:00
Adeeb Shihadeh
3b1e9017c5 Update RELEASES.md 2023-11-16 19:17:36 -08:00
Adeeb Shihadeh
460d9af5b7 more esim config (#30480)
* load single conn

* high priority

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-16 19:12:36 -08:00
Adeeb Shihadeh
e6e073d099 Revert "tici: use BASEDIR to lookup nm connection path"
This reverts commit 30ab9f8482.
2023-11-16 14:20:55 -08:00
Adeeb Shihadeh
30ab9f8482 tici: use BASEDIR to lookup nm connection path 2023-11-16 14:19:02 -08:00
Dean Lee
3d9f394533 cabana: update message count after filtering (#30461)
update message count after filtering
2023-11-15 23:43:59 -08:00
Shane Smiskol
c2af245b85 CI: use azure-storage-blob for uploading (#30478)
* use azure-storage-blob

* fix pattern

* nsp
2023-11-15 21:22:14 -08:00
Shane Smiskol
0addee2b4b openpilot CI: fix azure bucket names (#30477)
fix azure bucket names
2023-11-15 21:15:10 -08:00
Adeeb Shihadeh
9cd60de0b9 we don't go in the release notes 2023-11-15 19:56:02 -08:00
Shane Smiskol
fc8cfe1280 test_models: check if in relay-breaking safety mode (#30476)
* remove initData, remove tolerance

* can check faster now

* don't
2023-11-15 18:57:37 -08:00
Shane Smiskol
e44d84a7f9 test_models: remove ignored address check list (#30475)
* remove ignore_addr_checks_valid

* lessgoooo
2023-11-15 18:50:39 -08:00
Justin Newberry
291c04163a CI: disable registry caching (#30474)
* Revert "CI: separate image for docker cache (#30413)"

This reverts commit 361ffb5e54.

* Revert "CI: enable buildx for registry cache (#30473)"

This reverts commit edf90f3e76.
2023-11-15 18:21:57 -08:00
Justin Newberry
edf90f3e76 CI: enable buildx for registry cache (#30473)
* just registry cache

* enable buildx
2023-11-15 17:53:00 -08:00
Justin Newberry
361ffb5e54 CI: separate image for docker cache (#30413)
just registry cache
2023-11-15 17:48:43 -08:00
Adeeb Shihadeh
0f0acc190b ui: add purple prime def 2023-11-15 17:04:07 -08:00
Justin Newberry
ba3067a560 Revert "Pytest: run tests in random order" (#30469)
Revert "Pytest: run tests in random order (#30134)"

This reverts commit a5d99e0ebb.
2023-11-15 10:41:11 -08:00
Justin Newberry
a5d99e0ebb Pytest: run tests in random order (#30134)
* enable random order

* logprint info

* revert that

* better logging

* go to dfu

* try to flash every panda if not up to date

* revert panda debugging
2023-11-15 10:16:51 -08:00
Kacper Rączy
2de13bea91 Remove laika submodule (#30453)
* Remove laika submodule

* Remove laika check for minimal builds

* Fix minimal build check

* Bring back exclude for opendbc in codespell

* Fix typo

* Copy GNSS indices from laika

* Delete laika dependencies
2023-11-15 10:06:37 +01:00
Dean Lee
7ded7a0720 cabana: fix double comparisons (#30468)
compare double with epsilon
2023-11-14 21:44:22 -08:00
Shane Smiskol
102687e1ac Sort car ports 2023-11-14 18:45:31 -08:00
Justin Newberry
31c682d407 Pytest: load by group by default (#30466)
* wip

* use a class marker

* this one should be grouped too
2023-11-14 17:33:47 -08:00
Justin Newberry
f99939426f thermald: recover from modemmanager restart (#30464)
* test modem recovery

* static analysis

* also test lte reload

* this should just be try catched as well

* maybe we can find a better way than this

* rm the test

* make it clear

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-14 16:57:34 -08:00
Adeeb Shihadeh
b3c7a0c871 remove mui 2023-11-14 15:43:57 -08:00
Adeeb Shihadeh
51207aaae2 Update Python packages and pre-commit hooks (#30463)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-11-14 15:18:42 -08:00
Tam Chau
96eee13836 Mazda: add CX5 2022 fingerprint values (VN 2023) (#30342)
Add mazda cx5 VN 2023 values
2023-11-14 03:36:26 -08:00
Saber
06fbaacefe VW MQB: Add FW for 2021 Tiguan (#30401)
* VW MQB: Add FW for 2021 Tiguan

route name:f3946aa3bdb4bfc7|2023-11-06--14-53-07--0

The carParams always show transmission as "Hyundai", cant get VW format

* add correct transmission

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 03:29:57 -08:00
Dean Lee
86a5ac383e cabana: highlight dowloaded segments (#30459)
highlight dowloaded segments
2023-11-14 03:23:33 -08:00
Viktor Hansson
6ce66dee4f VW: Add FW versions for Passat GTE 2018 (#30450)
* VW: Add fw-versions for Passat GTE 2018

* Remove duplicate fw-versions for PASSAT_MK8

* Removed duplicate fw version for PASSAT_MK8

One of them included \023 and the other \x13 which was interpreted as the same character in python

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 03:13:33 -08:00
Erich Moraga
b643aca8d6 Lexus: add several ECU versions for 2018 Lexus RC (#30322)
`OQO0#8618` 2018 Lexus RC  DongleID/route 01762a5235a24145|2023-10-24--17-44-27
2023-11-14 03:03:56 -08:00
Saber
78ccef28a8 VW MQB: Add FW for 2020 Golf (#30375)
route name:0bbe367c98fa1538|2023-10-25--11-23-54--0
2023-11-14 02:58:20 -08:00
ohber
919303ec08 Kia: add 2023 Stinger FW (#30344)
* Added 2023 Kia Stinger Fingerprint

* Fixed type on FP value

* Fixed typo on fingerprint value

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 02:56:04 -08:00
Saber
5b50cc2954 VW MQB: Add FW for 2023 Kamiq (#30376)
* VW MQB: Add FW for 2023 Kamiq


route name:0bbe367c98fa1538|2023-11-04--12-56-37--0

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 02:47:04 -08:00
Vadim Pronin
62d4f464a0 VW MQB: Add FW for 2018 and 2022 Volkswagen T-Roc (#30315)
* Added ECU values for VW T-Roc 2022

* Added ECU values for VW T-Roc 2018

* fix docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 02:43:11 -08:00
Calvin Chui
2647a4b4a9 Toyota: Add Lexus GS F 2016 (#30245)
* added GSF ECU values

* Added Lexus GSF data

* added route for GSF

* test RC code

* revert fingerprints back from RC test to GSF

* fixed type for route

* specify route segment for GSF

* added GSF to torque substitute

* removed year designation for GSF

* added MY back to all "Lexus GSF"

* removed route, don't think it does anything

* move GSF ecu values to better place

* remove whitespace from toyota > interface.py

* added in public route for LEXUS_GSF

* added GSF to docs

* update test route

* update test route

* update 266 Supported cars

* trying different dbc

* updated to working route

* clean up

* add to releases

* updated test route

* new route

* docs

* slightly better torque params

---------

Co-authored-by: cchui <cchui@eogresources.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-14 02:31:27 -08:00
Jason Wen
aae39f6bd5 Merge branch 'master' into dev-priv/master-priv 2023-11-14 01:54:43 -05:00
Jason Wen
a534e974e6 Update CHANGELOGS.md 2023-11-14 01:54:32 -05:00
Jason Wen
5213aca6db SLC: User Confirmation State Machine 2023-11-14 06:25:23 +00:00
Adeeb Shihadeh
e323191299 new sim connection settings (#30457)
* new sim connection settings

* fix att conflict

* sim id

* clenaup

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-13 21:38:22 -08:00
Adeeb Shihadeh
cc32a6bf9f tici: fix leftover APN config from AT&T (#30458) 2023-11-13 21:33:22 -08:00
Harald Schäfer
c0942dbf9f Rm laika deps in rawgpsd (#30452)
* Rm more laikad references

* rawgpsd usage of laika

* bugfix
2023-11-13 20:38:24 -08:00
Harald Schäfer
95c6d5140a Rm more laika references (#30451)
Rm more laikad references
2023-11-13 16:52:57 -08:00
Shane Smiskol
32a0b10983 Toyota: bump Camry model years to 2024
3d35748a8816ca62
2023-11-13 15:43:28 -08:00
Justin Newberry
90c873ab1d Process Replay: move to pytest (#30260)
* process replay pytest

* enable long diff

* readd job name

* make it executable

* cleanup imports

* retrigger
2023-11-13 13:50:23 -08:00
Justin Newberry
2ad82cbfb0 Pytest: default settings on PC improvements (#30441)
* always multithreaded

* multithreaded

* pkill correct process

* escape more

* load for interfaces
2023-11-13 10:45:24 -08:00
Dean Lee
da95fd3019 replay: simplify the code for allow/block list (#30449)
simplify allow/block list
2023-11-13 09:19:39 -08:00
Tim Wilson
d3b91f266a C3: add gps_vs_llk plotjuggler layout (#30448)
add gps_vs_llk plotjuggler layout
2023-11-13 09:19:23 -08:00
Jason Wen
b34089693f Revert "FCR: Reset cached param to sync with upstream conflicts" 2023-11-13 10:53:42 +00:00
Jason Wen
433a6320f6 Merge branch 'master' into dev-priv/master-priv 2023-11-12 17:03:12 -05:00
Jason Wen
602bd1090f FCR: sync with upstream supported car platforms 2023-11-12 17:02:08 -05:00
Jason Wen
99d542d0cc Merge branch 'master' into dev-priv/master-priv 2023-11-12 15:15:53 -05:00
Jason Wen
cb28eb44f0 bump cereal 2023-11-12 15:14:59 -05:00
Jason Wen
daafa7d63a Update CHANGELOGS.md 2023-11-12 13:55:36 -05:00
Dean Lee
9e06525642 replay: remove deprecated support for PANDA_STATE_D_E_P_R_E_C_A_T_E_D (#30447) 2023-11-12 10:54:08 -08:00
Jason Wen
4afb19c97e Sentry: Log error in Error Troubleshoot with only last 3 lines 2023-11-12 06:34:10 +00:00
Jason Wen
bce0dc3efa Update CHANGELOGS.md 2023-11-12 01:16:22 -05:00
Jason Wen
574ca41478 Update driving model name 2023-11-12 01:15:45 -05:00
Jason Wen
9465da083f Merge branch 'dev-priv/master-priv' into sync-priv-20231108 2023-11-12 01:06:57 -05:00
Jason Wen
9e00a2f066 Merge branch 'master' into sync-priv-20231108
# Conflicts:
#	panda
#	selfdrive/car/subaru/interface.py
#	selfdrive/locationd/torqued.py
2023-11-12 01:00:33 -05:00
Jason Wen
4a9bd576e5 Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-11-12 00:56:10 -05:00
Jason Wen
9d47fa2fb3 bump panda 2023-11-12 00:55:47 -05:00
Jason Wen
09a4536b8a Merge branch 'upstream/openpilot/master' into sync-20231112
# Conflicts:
#	panda
#	selfdrive/car/subaru/interface.py
2023-11-12 00:49:42 -05:00
Jason Wen
8a12b77748 omg we flipped the logic 2023-11-11 11:58:58 -05:00
Jason Wen
1349fa576e omg we flipped the logic 2023-11-11 11:53:05 -05:00
DevTekVE
29c65ff033 Dont create folder with sudo 2023-11-11 13:45:44 +01:00
DevTekVE
c073305bae Update build configurations for Poetry SCons
The build configurations for both Debug and Release modes have been updated to use the Poetry SCons tool. A new customTargets.xml file has been added to specify the build actions for Poetry SCons in Debug and Release targets.
2023-11-11 12:55:15 +01:00
DevTekVE
b0cb6bf0a4 Add new Build Release and Build Debug configurations
Two new run configurations for Build Release and Build Debug have been added. These configurations include specific options, like location of working directory and external build option. Each configuration includes a unique name and target name.
2023-11-11 12:38:16 +01:00
DevTekVE
050c38d0ab Merge remote-tracking branch 'origin/master-priv' into master-priv
# Conflicts:
#	release/ci/install_gitlab_runner.sh
2023-11-11 09:50:11 +01:00
DevTekVE
aad8cd295b Update GitLab runner scripts and add sudo permissions
The GitLab Runner installation and uninstallation scripts have been refined, including directory management improvements and user handling enhancements. The install script now exports the base directory for subprocess availability and validates script arguments presence. An uninstall script has been added for smoother user experience. Additionally, sudo permissions have been granted to the gitlab-runner user group in both scripts and the .gitlab-ci.yml file, enhancing workflow efficiency.
2023-11-11 09:47:58 +01:00
DevTekVE
bcf6cd8e1a Add sudo permissions to gitlab-runner
This update adds sudo permissions to the gitlab-runner user group. The .gitlab-ci.yml file has been altered to change user ownership of ${OUTPUT_DIR} in the after_script phase. In install_gitlab_runner.sh, we also add gitlab-runner to the sudo group and explicitly grant it NOPASSWD: ALL rights in the sudoers file.
2023-11-11 08:31:51 +01:00
Shane Smiskol
816c18a4ec bump panda (#30437)
* bump

* bump
2023-11-10 20:59:14 -08:00
Hoya
252531e1bb Hyundai: Add FW for Genesis G80 2018 (#30425)
* Update values.py

* Update selfdrive/car/hyundai/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-11-10 20:58:59 -08:00
Adeeb Shihadeh
5f7143df02 jenkins: use build.py to manage cache size (#30440)
* jenkins: use build.py to manage cache size

* label

* set pp

* double

* cleanup

* non mimimal build on PC

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2023-11-10 16:55:25 -08:00
Justin Newberry
2629417320 CI: codecov for multiprocessing (#30432) 2023-11-10 10:02:05 -08:00
Shane Smiskol
e94c3c5569 Hyundai CAN: update driver braking signal (#30424)
* use DriverOverride

* bump
2023-11-10 01:20:23 -08:00
Adeeb Shihadeh
72cc2e34cb camerad: reduce to 1s of buffers 2023-11-09 20:52:21 -08:00
Dean Lee
86efd70fa9 cabana: allocate qt objects on the heap instead of stack (#30374)
allocate qobject in heap
2023-11-09 20:20:48 -08:00
Jason Young
db3f56a6f6 VW MQB: Add FW for 2020 Volkswagen Atlas (#30430)
* VW MQB: Add FW for 2020 Volkswagen Atlas

* oops
2023-11-09 20:18:35 -08:00
Adeeb Shihadeh
515e57402a SOM boot recovery (#30427)
* SOM boot recovery

* bump

* master
2023-11-09 18:09:18 -08:00
Dean Lee
26a82e70d5 replay: make speed_ atomic (#30429)
make speed_ atomic
2023-11-09 18:02:48 -08:00
Nickolas Komarnitsky
cf2d4fd7ea Subaru: Add FW for 2022 Legacy (#30434)
Update values.py
2023-11-09 17:42:36 -08:00
Eric Brown
bd00fba980 Fix typo in CARS.md (#30433) 2023-11-09 17:11:44 -08:00
Justin Newberry
863fdec50e Revert "CI: codecov for multiprocessing" (#30431)
Revert "CI: codecov for multiprocessing (#30428)"

This reverts commit 1e91cf92a1.
2023-11-09 15:52:28 -08:00
Justin Newberry
1e91cf92a1 CI: codecov for multiprocessing (#30428)
* concurrencty codecov

* its a list

* retrigger ci

* increase delay
2023-11-09 15:19:10 -08:00
DevTekVE
294b0ad038 Refactor driver view transform function 2023-11-09 19:15:20 +00:00
Justin Newberry
5c2796a104 CI: label codecov uploads (#30426)
* label

* matrix
2023-11-09 11:12:19 -08:00
Adeeb Shihadeh
f9a5f64498 bump panda 2023-11-09 10:54:24 -08:00
Justin Newberry
eed0ddc3b8 bump panda (#30419) 2023-11-08 16:30:22 -08:00
Justin Newberry
53b6ab9e18 CI: pytest for the rest for GHA (#30418)
* pytest car

* all pytest

* need more time

* keep release test short

* keep it short
2023-11-08 16:04:02 -08:00
Vivek Aithal
2eb487c9a5 params: Remove separate CarParams from each daemon (#30405)
* remove separate previous route carparams from each daemon and add centrally to controlsd

* extract out sigint handler

* make process replay work for torqued

* don't write param if None
2023-11-08 15:25:41 -08:00
Justin Newberry
844cbd95e7 build_release: increase timeout again (#30417)
* inc timeout

* 3 minute timeout
2023-11-08 14:32:16 -08:00
Justin Newberry
fa9d3ec1f5 build_release: increase timeout (#30416)
inc timeout
2023-11-08 14:15:15 -08:00
Justin Newberry
d02dd50749 Pytest: consistent codecov (#30408)
* seed only

* random seed

* ignore version.py

* increase max examples

* increase default max examples
2023-11-08 13:43:32 -08:00
Jason Wen
783267ec29 Merge branch 'master' into sync-priv-20231108
# Conflicts:
#	panda
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/controls/lib/lateral_planner.py
2023-11-08 16:41:32 -05:00
Jason Wen
24aa478376 Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-11-08 16:30:11 -05:00
Jason Wen
1a87a204d3 bump submodules 2023-11-08 16:19:11 -05:00
Jason Wen
a667364b59 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20231108
# Conflicts:
#	cereal
#	panda
2023-11-08 15:58:35 -05:00
Adeeb Shihadeh
4967377b3f Update RELEASES.md 2023-11-08 11:05:23 -08:00
YassineYousfi
84d2fa68f7 modeld: handle division by zero (#30411)
* modeld: avoid division by zero

* undefined at 0
2023-11-08 10:06:30 -08:00
Shane Smiskol
1d7caa80aa bump panda (#30415)
bump
2023-11-07 20:04:46 -08:00
Justin Newberry
aec7cea30d Pytest: tici mark for skipping on-device tests (#30412)
* mark tici

* not those ones

* missed that one

* add those

* add pypoetry

* oops
2023-11-07 17:35:44 -08:00
Kacper Rączy
c419376bbd controlsd: reset axes in joystick mode if message is old (#30409)
Reset joystick if it wasnt received after 0.2 sec
2023-11-07 15:48:13 -08:00
Dean Lee
0f6b16d1e0 ui/wifi.cc: fix small QPixmap leak (#30395)
fix QPixmap leaks
2023-11-07 15:22:43 -08:00
Harald Schäfer
37ba6d8503 Update RELEASES.md 2023-11-07 13:29:30 -08:00
Justin Newberry
c9915ceba9 Codecov: ignore selfdrive/test (#30407)
* ignore

* fix that
2023-11-07 13:16:23 -08:00
Jason Wen
741237f6e2 FCR: Reset cached param to sync with upstream conflicts 2023-11-07 20:05:37 +00:00
DevTekVE
5d2de35fc4 Refactor traffic signal update in Hyundai 2023-11-07 19:50:47 +00:00
Adeeb Shihadeh
d2edc239fd jenkins: disable ciui for now 2023-11-07 11:27:56 -08:00
Harald Schäfer
9118973ed0 Farmville model (#30392)
* slightly different

* Revert "slightly different"

This reverts commit 8a470ecab40c295f3b8c777b82cb7a22890d116e.

* d09c9c88-1797-4ed5-ab2d-9dca5b12340b/700

* Update power draw

* Revert "Update power draw"

This reverts commit 1c95b663ec9c507604dd8580ff6386497b5391a8.

* Update ref
2023-11-07 11:17:37 -08:00
Adeeb Shihadeh
3c043ba570 Update Python packages and pre-commit hooks (#30403)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-11-07 10:58:01 -08:00
Harald Schäfer
c9fae805bc Tinygrad: use compile2 (#30400)
* Tinygrad: use compile2

* unused

* compile2 file

* slightly different

* Revert "slightly different"

This reverts commit 8a470ecab40c295f3b8c777b82cb7a22890d116e.

* slightly different ref

* add release file

* rm default args
2023-11-07 09:54:48 -08:00
Harald Schäfer
11855eab5d power draw test: improve verbosity (#30402)
* improve verbosity

* unused import
2023-11-07 08:39:23 -08:00
Justin Newberry
60b21b55d2 Subaru: initial eyesight disable support (#30373)
* initial eyesight disable

* disable_eyesight

* comment
2023-11-06 22:13:39 -08:00
Adeeb Shihadeh
af86e30566 remove mapsd exit code exception (#30398) 2023-11-06 21:26:52 -08:00
Jason Wen
928528a13c bump cereal 2023-11-06 23:36:01 -05:00
Jason Wen
81bdfaf198 ui: Rearrange SLC related toggles 2023-11-06 23:07:34 -05:00
Jason Wen
e51063fb6e ui: Fix exceed speed limit warning conditions 2023-11-06 21:23:32 -05:00
Justin Newberry
9257066c4e Mapsd: disable threading on PC too (#30396)
single threaded rendering
2023-11-06 16:36:48 -08:00
Jason Wen
f2d6949402 ui: Speed Limit Warning 2023-11-06 21:56:05 +00:00
Shane Smiskol
d2c3c92fb4 Revert "ui/wifi.cc: fix QPixmap leaks" (#30394)
Revert "ui/wifi.cc: fix QPixmap leaks (#30377)"

This reverts commit b4e1ad5e62.
2023-11-06 13:55:23 -08:00
Jason Wen
8f2682022e ui: Speed limit cleanup 2023-11-06 21:40:03 +00:00
Dean Lee
b4e1ad5e62 ui/wifi.cc: fix QPixmap leaks (#30377)
fix QPixmap leaks
2023-11-06 13:31:00 -08:00
Justin Newberry
ace14698c4 Subaru: 2019-2020 forester is also rate limited (#30391)
* forester rate limited

* better comment

* better comment
2023-11-06 13:22:58 -08:00
Jason Wen
d8faa2a6ea ui: SLC: Common description builder 2023-11-06 16:15:07 -05:00
Jason Wen
81acbe224f controlsd: Get minimum set speed in a method 2023-11-06 21:07:00 +00:00
Adeeb Shihadeh
08054e9800 bigger map tile cache (#30228)
* bigger map tile cache

* start with 2x default

* Update selfdrive/ui/qt/maps/map_helpers.cc
2023-11-06 09:18:42 -08:00
Justin Newberry
bdf2fa0f83 Mapsd: move on the CPU (#30349)
* mapsd -> cpu

* link directly to mesa

* Fix gitignore

* without launcher script

* dont change that

* dont need that

* add to files_common

* rename to configure cpu rendering

* without a symlink!

* update time refs

* update ref

* update ref

* remove duplicate include

* bump up again

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-06 09:04:53 -08:00
Jason Wen
3d1cac8946 ui: Disallow SLC toggles if longitudinal is off or not available 2023-11-06 09:44:32 -05:00
Jason Wen
45babf70df Revert "ui: Error Troubleshoot: Scroll to the bottom on init" 2023-11-06 11:12:50 +00:00
Jason Wen
8ad8238e38 SLC: slight cleanup 2023-11-05 21:06:39 -05:00
Jason Wen
40eb5801bd Revert "SLC: slight cleanup" 2023-11-06 02:05:09 +00:00
Justin Newberry
df79ec5314 Subaru: improve longitudinal tuning (#30389)
subaru long tuning
2023-11-05 17:53:42 -08:00
DevTekVE
f0b81d9151 ui: SLC: Expand settings 2023-11-05 19:24:25 +00:00
Jason Wen
6d11fa71d2 SLC: slight cleanup 2023-11-05 19:23:30 +00:00
Jason Wen
87ede67c96 ui: Error Troubleshoot: Scroll to the bottom on init 2023-11-05 13:20:12 -05:00
DevTekVE
fe2c9f97ca ui: DLP: Sync settings and onroad status 2023-11-05 10:31:34 +01:00
Justin Newberry
0fbc36bce1 Subaru: forester 2017 fingerprint (#30388)
forester fw
2023-11-05 01:21:46 -07:00
Justin Newberry
1463fd3917 Subaru: 2015 outback fingerprint (#30387)
subaru outback fw
2023-11-04 22:31:09 -07:00
Justin Newberry
b791c0296b Subaru: 2016 legacy fingerprint (#30386)
legacy fw
2023-11-04 22:09:43 -07:00
Stephen Marin
240f43b421 Subaru: Fingerprint for 2021 Outback XT (#30380)
* Fingerprint for 2021 Outback XT

* that one already exists

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
2023-11-04 22:04:54 -07:00
Dean Lee
fb3c0934d8 ui/body.cc: fix QMovie leak (#30379)
fix QMovie leak
2023-11-04 07:07:45 -07:00
Dean Lee
f5279284f5 cabana: fix QChart leak (#30369)
fix QChart leak
2023-11-03 11:16:58 -07:00
Dean Lee
a46544f708 cabana/sparkline: Fix "Painter not active" warning (#30370)
fix painter not active
2023-11-03 11:16:48 -07:00
Justin Newberry
983ac6c235 Mapsd: test render performance (#30367)
* cleanup and fix test

* sa

* fix test failing

* increase tolerance more for stddev

* increase that more

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-03 10:59:07 -07:00
Dean Lee
bf932c6277 cabana: remove dependence on opendbc (#30329)
* remove dependence on opendbc

* move into function
2023-11-02 22:37:56 -07:00
Adeeb Shihadeh
0788573a73 add lfs pull to setup instructions 2023-11-02 22:36:53 -07:00
Justin Newberry
a73412b39d Cabana: fix wsl compilation (#30366)
fix wsl
2023-11-02 20:59:38 -07:00
Adeeb Shihadeh
bb828f0cda Revert "Mapsd: test render performance (#30363)"
This reverts commit 676ba9f951.
2023-11-02 20:19:13 -07:00
Justin Newberry
c52f2ec19b model_replay: allow skipping modeld/dmodeld (#30365)
* skip model

* sa

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-02 18:10:11 -07:00
Justin Newberry
676ba9f951 Mapsd: test render performance (#30363)
* cleanup and fix test

* sa

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-02 16:07:30 -07:00
JGO51810499
446f57040f Add missing LEXUS_RX_TSS2 FW (#30301)
LEXUS RX 2020

dongle_id:b00aaa46833ddfa1
route_name:b00aaa46833ddfa1|2023-10-18--17-57-48--0
2023-11-02 14:35:22 -07:00
YassineYousfi
4c2bd853e4 (New) Lemon Pie Model 🍋 (#30209)
* 6f6e3749-1b7c-42e8-a33b-03929b7fc476/700

* oops deleted too much

* 1b4308b7-a659-4ebd-b4c6-c81c1c3890f8/700

* 1be192f3-f407-4217-9757-78b9ad92750a/700

* remove some todos

* more cleanup in lat planner

* vego > min_speed

* regen and update process replay refs

* update model replay ref

* update model replay ref commit again

* Revert "update model replay ref commit again"

This reverts commit 922cb796b8dfe264b0cce7a18206bb898b18bcb3.

* update again

* bump cereal
2023-11-02 14:01:00 -07:00
Shane Smiskol
ac471036fb GM: update harness parts (#30361)
GM harness parts
2023-11-01 22:38:25 -07:00
Kacper Rączy
0c6101e267 bodyteleop: fix browser audioinput (#30360)
Fix browser mic in bodyteleop
2023-11-01 18:04:28 -07:00
Justin Newberry
ddbdaf3cf9 test_onroad: assert the procs that use the GPU (#30359)
* test gpu

* keep it localiized

* has to be later

* reduce diff

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-11-01 17:31:54 -07:00
Adeeb Shihadeh
7bee13e2d1 raise gpu clock (#30358)
* raise gpu clock

* update modeld power draw
2023-11-01 14:48:49 -07:00
Jason Wen
779ec5c491 Toyota: Adjust safety param flags 2023-11-01 04:56:51 +00:00
Jason Wen
0febc36428 ui: Add back missing toggles 2023-11-01 04:41:24 +00:00
Shane Smiskol
ab637f2ae0 Hyundai: add missing Tucson Hybrid 2024 FW (#30356)
* add missing hev tucson 2024 fw

* bump MY
2023-10-31 20:34:06 -07:00
Jason Wen
d3118cabca VW: Custom Stock Longitudinal Control: calculate counters manually 2023-10-31 21:30:40 +00:00
Jason Wen
0c01b99967 ui: New Settings Panels 2023-10-31 20:42:25 +00:00
Dean Lee
bf5a45ed98 cabana: fix messages not updated correctly after seekto() (#30351)
fix messages not updated correctly after seekto
2023-10-31 11:34:54 -07:00
Adeeb Shihadeh
c04e019af4 Update Python packages and pre-commit hooks (#30352)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-10-31 11:31:57 -07:00
Jason Wen
590577911d DEC: Refactor toggle states 2023-10-31 01:04:23 -04:00
Jason Wen
14de9f1c64 Toyota: Keep sending pcm_cancel_cmd until disengaged 2023-10-31 04:46:19 +00:00
Jason Wen
8a0385e13e ui: Fix Speed Limit Control interaction with speed limit sign 2023-10-31 04:45:26 +00:00
Jason Wen
c4ee64c0aa Disable Onroad Upload: Cleanup 2023-10-31 00:27:53 -04:00
Jason Wen
3fa111b61c ui: watchdog: don't use param to check offroad state 2023-10-31 03:54:24 +00:00
Jason Wen
77800c7112 Gpxd: Disable services 2023-10-30 23:51:04 -04:00
Jason Wen
dde1a6e881 Fleet Manager: Always running 2023-10-30 23:47:02 -04:00
Kacper Rączy
e5eea7276f regen: update refs with dummy dcamera (#30347)
Update refs
2023-10-30 15:33:17 -07:00
Kacper Rączy
7a5d85232f regen: dummy dcamera support (#30323)
* DummyFrameReader

* dummy_dcam_if_missing flag

* Blank dcamera for all neo segments, as dmonitoringd does not support neo camera feeds

* Remove trailing whitespace

* zero_dcamera staticmethod

* enable dmonitoring in test_regen

* Simplify. User decides wether to use dummy or not

* Moving some stuff

* rename to dummy_driver_cam
2023-10-30 15:17:32 -07:00
Shane Smiskol
d67276a45d bump panda (#30346) 2023-10-30 13:08:43 -07:00
DevTekVE
7b94c831ef Improve GPS data processing and accuracy evaluation 2023-10-30 18:49:37 +00:00
DevTekVE
68e1379003 Reimplement SLC 2023-10-30 18:16:23 +00:00
Adeeb Shihadeh
57c8304c25 jenkins: retry on failed git checkouts (#30345)
* jenkins: retry on failed git checkouts

* test

* Revert "test"

This reverts commit ea57ba025630eb3105a9ccdce3bdc17f72678c72.
2023-10-30 09:58:57 -07:00
Dean Lee
01610128bb cabana: support suppress highlighted bits (#30336)
* support suppress highlighted bits

d

* faster filtering and sorting

* improve livestream

* specify the context in the connections

* remove inline
2023-10-30 09:47:23 -07:00
Jason Wen
08c0c8e85b Toyota: Gate UNSUPPORTED_DSU_CAR from PCM_CRUISE_2 2023-10-30 13:07:33 +00:00
Jason Wen
a0ad76294e MADS: Toyota: UNSUPPORTED_DSU_CAR support 2023-10-30 13:01:29 +00:00
Jason Wen
2c1fe0213b Revert "MADS: Toyota: UNSUPPORTED_DSU_CAR support"
This reverts commit b3784fc2f8.
2023-10-30 08:59:32 -04:00
Jason Wen
b3784fc2f8 MADS: Toyota: UNSUPPORTED_DSU_CAR support 2023-10-30 12:58:58 +00:00
Dean Lee
61288dfe06 athenad: fix memory leak in _do_upload() (#30237)
* fix memory leak

* test: stash

* clean up

* clean up

* ruff

* rm

* add py memory profiler

* test compress and no compress

* proper test

* comment

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-29 07:08:28 -10:00
Jason Wen
0eea00e887 ui: Always display Wi-Fi list when navigating to Network panel (#30333)
* ui: Display Wi-Fi list when navigate to Network panel

* pertain to PR description
2023-10-29 07:06:34 -10:00
Dean Lee
fe4ad96701 cabana: support multiple cameras (#30339)
support multiple cameras
2023-10-29 07:05:59 -10:00
Adeeb Shihadeh
91380f085b fix up docker script 2023-10-29 07:05:13 -10:00
Jason Wen
4f65f9f8e6 Update CHANGELOGS.md 2023-10-28 10:24:30 -04:00
Jason Wen
1a06a4c250 Update CHANGELOGS.md 2023-10-28 08:45:07 -04:00
Jason Wen
bd9770982c mapd: add Spain to offline OSM database list 2023-10-27 00:03:05 -04:00
Jason Wen
0e74dfa7a8 ui: Fix states for longitudinal related toggles 2023-10-26 12:54:16 -04:00
Jason Wen
6d7be9153c Update CHANGELOGS.md 2023-10-26 11:02:05 -04:00
Jason Wen
d1a3d6abe8 Hyundai: Car Port for Kona Non-SCC 2019 2023-10-26 14:54:54 +00:00
Jason Wen
9e66af59a0 Merge branch 'master' into sync-priv-20231026 2023-10-26 10:44:15 -04:00
Comma Device
87223dc0ca final fixes to gitlab_runner.sh 2023-10-26 10:58:18 +02:00
Comma Device
615cf68e14 More fixes to the gitlab runner 2023-10-26 10:43:09 +02:00
Comma Device
0f7663baef Fix permissions for the gitlab runner scripty 2023-10-26 10:30:47 +02:00
DevTekVE
0e4d7c6f74 Add check for service existence in gitlab_runner.sh
A new function has been added to the gitlab_runner.sh script to check if a service is present on the system before trying to start or stop it. This will prevent potential errors caused by attempting to interact with nonexistent services.
2023-10-26 08:33:32 +02:00
DevTekVE
5ac7e9e2c0 Update .gitlab-ci.yml to point to public repo 2023-10-26 05:53:15 +00:00
mitchellgoffpc
eecdaf9950 Added sentry hooks for modeld 2023-10-25 21:37:54 -07:00
Jason Wen
4cfdd2b119 Hyundai: Car Port for Kona 2019 Non-SCC (#234)
* Hyundai: Car Port for Kona Non-SCC 2019

* add car name
2023-10-25 22:10:11 -04:00
Kacper Rączy
c27e977475 URLFile: exception type for failed requests (#30330)
URLFileException for URLFile request errors
2023-10-25 16:20:12 -07:00
Kacper Rączy
4094d584f3 process_replay: use frame dimensions from FrameReader (#30332)
Use dimensions from FrameReader to setup vipc server
2023-10-25 15:46:16 -07:00
Kacper Rączy
21715d7f81 process_replay: migrate cameraStates of segments without driverEncodeIdx (#30331)
Migrate camera states of segments without driverEncodeIdx
2023-10-25 15:42:06 -07:00
Shane Smiskol
2acb22fada selfdrive_tests: allow manual run (#30307)
* allow manual run

* Apply suggestions from code review
2023-10-25 15:17:17 -07:00
Adeeb Shihadeh
9c7e5ca6ea rawgpsd: add flag for cold start (#30224)
* rawgpsd: add flag for cold start

* other datasheet is wrong

* keep things in a good state
2023-10-25 15:05:07 -07:00
Shane Smiskol
f62ee97cb0 cabana: rename signal node
More clear what this is

Receiver Nodes
2023-10-25 15:03:27 -07:00
Madnevil
82291a247f Honda: add FW for Civic Sport 2023 (#30316)
* Update values.py

* Update values.py

* Update values.py

* removing duplicate

* Update values.py

* Update values.py

* this is from a logging request

* Add missing FW

* bump MY

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-25 14:57:08 -07:00
Dean Lee
ae26280118 cabana: fix two ui bugs (#30327)
fix ui bugs
2023-10-25 14:39:52 -07:00
Dean Lee
b73329092c cabana: save settings to user-specific directory (#30328)
* save settings to user-specific directory

* include
2023-10-25 14:39:41 -07:00
Jason Wen
2d8e67980b Merge branch 'master' into sync-priv-20231025 2023-10-25 15:28:19 -04:00
Jason Wen
3ea399f9a6 FCR: sync with upstream supported car platforms 2023-10-25 15:28:04 -04:00
Jason Wen
3efe44db07 Merge branch 'master' into sync-priv-20231025
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2023-10-25 15:22:57 -04:00
Jason Wen
b0dd2a3ddb Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-10-25 15:21:44 -04:00
Jason Wen
08a271b678 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20231025
# Conflicts:
#	README.md
#	selfdrive/car/hyundai/interface.py
2023-10-25 15:18:53 -04:00
Dean Lee
952838335d cabana: improve playback controller (#30325)
improve playback controller
2023-10-25 10:57:09 -07:00
Dean Lee
57621afcb0 cabana/chart: populate the points incrementally (#30326)
* populate the points incrementally

* less spacing
2023-10-25 10:56:49 -07:00
Dean Lee
691c7c2c66 cabana: add Node column to message table (#30317)
* add Node column

* add views menu to toolbar

* match NODE

* rename fetchData to filterAndSort

* simplify sortMessages
2023-10-25 10:56:07 -07:00
Dean Lee
f47723d1d1 cabana: fix sparkline glitch (#30320)
fix glitch
2023-10-24 11:25:50 -07:00
Adeeb Shihadeh
d3d51980bc Update Python packages and pre-commit hooks (#30321)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-10-24 11:25:39 -07:00
Dean Lee
e287a5f164 cabana: remove the qlog parsing thread (#30319)
remove the qlog thread
2023-10-24 10:38:50 -07:00
Jason Wen
78ec50e6c8 Toyota: ZSS fix 2023-10-24 13:36:17 -04:00
DevTekVE
607513b733 Simplify rules in .gitlab-ci.yml
The commit streamlines the 'rules' condition in our CI/CD pipeline configuration. It removes redundant and unnecessary conditions, leaving only the essential check for a new branch creation. This revision not only makes the code cleaner but also enhances our pipeline's clarity and readability.
2023-10-24 19:15:55 +02:00
DevTekVE
87b4ca54b6 Add CI/CD pipeline and Docker support 2023-10-24 17:13:32 +00:00
Jason Wen
6175360a8e Merge branch 'master' into sync-priv-20231020
# Conflicts:
#	selfdrive/controls/lib/speed_limit_controller.py
#	selfdrive/controls/lib/turn_speed_controller.py
2023-10-24 00:24:05 -04:00
Jason Wen
57e135cdf9 Fix upstream conflicts (#232) 2023-10-24 00:22:58 -04:00
Dean Lee
0431bbaa8b cabana: set the COMMA_CACHE environment variable (#29849)
* set COMMA_CACHE enviroment

* use /tmp/comma_donwloand_cache
2023-10-23 20:51:39 -07:00
Justin Newberry
412f4cbc1a Pytest: fix local params overriden (#30312)
* fix local params being overriden

* just reset prefix after completion
2023-10-23 17:41:19 -07:00
Jason Wen
c8cefa4af1 fix with T_IDXS 2023-10-23 20:22:49 -04:00
YassineYousfi
1802de3f01 modeld: fix prev brake probs shapes (#30309) 2023-10-23 15:22:32 -07:00
Shane Smiskol
c626078e9d Toyota: combine rest of hybrid platforms (#30259)
* Highlander TSS2: merge

* Highlander TSS2: remove duplicate FW

* Highlander TSS2: merge torque params

* C-HR TSS2: merge

* Alphard TSS2: merge

* Avalon 2019: merge

* Avalon TSS2: merge

* Camry TSS2: merge

* Camry TSS-P: merge

* Camry TSS-P: remove duplicate FW

* RAV4 TSS 2022: merge

* RAV4 TSS 2023: merge

fix

* clean up tss2 car list

* fix from merge

* rename internal seg list platforms

* fix test
2023-10-23 11:41:42 -07:00
Jason Wen
c006e24599 Merge branch 'dev-priv/master-priv' into sync-priv-20231020
# Conflicts:
#	selfdrive/controls/lib/longitudinal_planner.py
2023-10-23 11:37:06 -04:00
Jason Wen
1682eaa03c Merge branch 'master' into sync-priv-20231020 2023-10-23 11:16:05 -04:00
Jason Wen
8b01831aa8 FCR: sync with upstream supported car platforms 2023-10-23 11:14:54 -04:00
DevTekVE
4b8109666b Revert "Refactoring the speed limit control" 2023-10-23 11:05:17 +00:00
Harald Schäfer
56dea7b0b4 Rm laikad (#30299)
* rm laika

* Rm laika

* Needed this

* More rm

* More rm
2023-10-23 00:15:39 -07:00
Adeeb Shihadeh
67f2321060 delete clocksd (#30252) 2023-10-22 14:47:38 -07:00
Shane Smiskol
964460c0c3 Hyundai: remove Kona EV and Ioniq 6 from radar-ACC set (#30214)
* ADAS ECU sends SCC

* try non-silenced

* leave rx enabled?

* revert

* also not a radar scc car

* make a canfd unsupported long set

* comment
2023-10-21 04:25:16 -07:00
Jason Wen
820cccf8d9 Hyundai: split Elantra and Elantra GT (i30) platforms (#29969)
* Hyundai: Add FW Versions for 2019 Elantra

* wrong platform

* Update selfdrive/car/hyundai/values.py

* split platforms again

* add engine and other trans

* legacy: don't trust long

* fix

* elantra has no eps and i30 has no dates as well

* 19 still has no sng

* new harness

* todo comment

* Update CARS.md

* re-did

* add back

* rev

* Add Elantra 2017 FW from f6f9e1708bae2ef6

* Add Elantra 2017 FW from 5af39b105269f0f3

* Add Elantra 2017 FW from 2e158bb0e7396dd9

* should be all i30 and elantra drivers

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 03:16:50 -07:00
Tim Wilson
b95d69ae1b Car port: CADILLAC ESCALADE ESV 2019 (#29913)
* add CADILLAC ESCALADE ESV PLATINUM 2019

* add test route

* Update selfdrive/car/gm/interface.py

* combine params

* that's just a trim

* wow, there's a huge torque offset (left is 1.2 m/s^2, right is 1.9 m/s^2 max lat accel)

* don't hard code

* Update selfdrive/car/torque_data/override.yaml

* consistent formatting

* add to releases

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 02:04:24 -07:00
Erich Moraga
6e8301410c Toyota: add ABS ECU version for HIGHLANDERH_TSS2 (#30230)
* Toyota: add ABS ECU version for HIGHLANDERH_TSS2

`@doodoo6163` 2021 Highlander Hybrid Platinum 
 daae45a94e9e3ac6|2023-10-12--12-33-25

* sorted

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 01:34:03 -07:00
systwo
880afedbb8 Toyota: Added missing Highlander Hybrid FW versions (#30255)
Added Highlander hybrid fingerprint values
2023-10-21 01:29:17 -07:00
Jason Young
0b7e512a58 VW MQB: Add FW for 2023 Volkswagen Tiguan (#30271) 2023-10-21 01:14:33 -07:00
stevenaa123isme
48209b4644 Added FW for 2022 Audi Q3 (#30275)
* Added 2022 Audi Q3 to Fingerprint

* Fingerprinted 2022 Audi Q3/ cleaned up code

* add missing srs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-21 01:13:23 -07:00
Dean Lee
ac19ecee6f cabana: remove the installed handlers on exit (#30297)
remove the installed handlers on exit
2023-10-20 23:48:48 -07:00
Adeeb Shihadeh
54db997d80 add CNAME for docs.comma.ai 2023-10-20 20:28:21 -07:00
Jason Wen
80da209baf Merge branch 'master' into sync-priv-20231020
# Conflicts:
#	selfdrive/car/toyota/carstate.py
#	selfdrive/controls/lib/longitudinal_planner.py
2023-10-20 16:59:04 -04:00
Jason Wen
512f8b053f Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-10-20 16:56:59 -04:00
YassineYousfi
b7cc6983c3 modeld: send_raw_pred under a flag (#30298)
* modeld: SEND_RAW_PRED under a flag

* not twice
2023-10-20 13:53:22 -07:00
Jason Wen
1ee8df2d28 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20231020
# Conflicts:
#	selfdrive/car/chrysler/interface.py
2023-10-20 16:53:09 -04:00
Dean Lee
9e01f4a85e replay: make installDownloadProgressHandler thread safe (#30296) 2023-10-20 12:41:18 -07:00
Jason Wen
faf2ac1e4d ui: Developer UI: MEMORY -> RAM 2023-10-20 12:46:50 -04:00
Jason Wen
019454bd34 ui: Hide Screenrecorder button when alert is displayed 2023-10-20 15:43:56 +00:00
Jason Wen
9717829840 ui: Fix Onroad Settings button alignment with DM transition 2023-10-20 11:40:09 -04:00
Jason Wen
6057d460c0 Update CHANGELOGS.md 2023-10-20 10:35:07 -04:00
Jason Wen
20a39376e9 Update driving model name 2023-10-20 10:34:55 -04:00
Adeeb Shihadeh
2338f76fdd eSIM profile management (#30262)
* eSIM profile management

* start download

* loaded a profile

* more stuff

* fixups

* fix linter

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-10-19 14:54:11 -07:00
YassineYousfi
cad17b1255 modeld: parsing and publishing in python (#30273)
* WIP try modeld all in python

* fix plan

* add lane lines stds

* fix lane lines prob

* add lead prob

* add meta

* simplify plan parsing

* add hard brake pred

* add confidence

* fix desire state and desire pred

* check this file for now

* rm prints

* rm debug

* add todos

* add plan_t_idxs

* same as cpp

* removed cython

* add wfd width - rm cpp code

* add new files rm old files

* get metadata at compile time

* forgot this file

* now uses more CPU

* not used

* update readme

* lint

* copy this too

* simplify disengage probs

* update model replay ref commit

* update again

* confidence: remove if statemens

* use publish_state.enqueue

* Revert "use publish_state.enqueue"

This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.

* confidence: better shape defs

* use ModelConstants class

* fix confidence

* Parser

* slightly more power too

* no inline ifs :(

* confidence: just use if statements
2023-10-19 14:23:51 -07:00
Adeeb Shihadeh
09c8866d17 Update test_onroad.py 2023-10-19 10:36:18 -07:00
DevTekVE
df23ba80dd Reimplement HKG: Add lead distance indicator on cluster 2023-10-19 17:21:01 +00:00
Shane Smiskol
28a778b677 Lexus: enable fuzzy fingerprinting for ES & RX TSS2 (#30281)
* it's a freaking rx?!

* can unblacklist now!

* remove rest of FW from that PR

* Update selfdrive/car/toyota/values.py

* typing
2023-10-19 05:02:08 -07:00
Shane Smiskol
b35658e21f docs: fix model year formatting 2023-10-19 04:11:18 -07:00
colin-cho
0c0682d88f HKG: add missing FW for Kia Sorento Hybrid 2021 (#30247)
* Update values.py

2021 Kia Sorento HEV add

* missing radar

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-19 03:10:42 -07:00
DevTekVE
1d8091aea1 Revert "HKG: Add lead distance indicator on cluster"
This reverts commit aa5bcb2762
2023-10-19 08:29:50 +00:00
DevTekVE
aa5bcb2762 HKG: Add lead distance indicator on cluster 2023-10-19 05:53:12 +00:00
Adeeb Shihadeh
13bf8c26f3 Update Python packages and pre-commit hooks (#30269)
* Update Python packages and pre-commit hooks

* fix pyqt

---------

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-10-18 20:18:08 -07:00
Greg Hogan
68acb26aa2 framereader: eliminate tempfile usage (#30289) 2023-10-18 19:48:26 -07:00
Adeeb Shihadeh
13d780a5f2 test_onroad: log sizes check (#30265)
* test_onroad: check log sizes

* fix

* check logs

* rb

* len

* pytest

* mb

* corolla log is small

* adjust qlog
2023-10-18 19:44:46 -07:00
Adeeb Shihadeh
71a9b2c24c jenkins: clear commacache dir (#30290) 2023-10-18 19:37:29 -07:00
Greg Hogan
59e947dc6c fix ffprobe on device (#30286)
* fix ffprobe on device

* use FileReader

* no more requests
2023-10-18 18:31:14 -07:00
Justin Newberry
b86567d330 compare_logs: separate format_process_diff into a new function (#30284)
support separate
2023-10-18 15:12:43 -07:00
Shane Smiskol
3707bbadef Ram 1500: fix temp steering fault from incorrect steer speed (#30280)
starts with 68
2023-10-18 04:47:21 -07:00
Shane Smiskol
c32927de96 Toyota: don't calculate angle offset when angle rate is high (#30277)
* comment

* debug

* clean up
2023-10-18 03:59:39 -07:00
Jason Wen
19e8728477 Merge branch 'master' into sync-priv-20231016
# Conflicts:
#	panda
2023-10-18 01:21:52 -04:00
Jason Wen
396fab62a8 Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-10-18 01:20:41 -04:00
Jason Wen
4de4821dfc bump panda 2023-10-18 01:18:44 -04:00
Jason Wen
04e21399f1 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20231018
# Conflicts:
#	panda
2023-10-18 01:08:29 -04:00
Yassine
52b5a33d35 Revert "update model replay ref commit"
This reverts commit 40817b6810.
2023-10-17 19:49:42 -07:00
Yassine
40817b6810 update model replay ref commit 2023-10-17 19:49:13 -07:00
Shane Smiskol
2f1ece0716 bump panda (#30276)
bump
2023-10-17 18:10:52 -07:00
Justin Newberry
1820b5f259 Proc Replay: cleanup iterable log typing (#30261)
* cleanup log typing

* use iterable

* fix those

* Cleanup

* cleanup

* missed that one
2023-10-17 12:58:28 -07:00
Jason Wen
b1f4dc6bb0 Merge remote-tracking branch 'commaai/openpilot/master' into sync-priv-20231016 2023-10-17 14:37:34 -04:00
George Hotz
50d720fc2e Bump tinygrad to master (0.7) (#30254)
* bump tinygrad to master

* ops_cpu is required now

* and that one too

* tinygrad is getting out of hand with all the files

* bump tinygrad

* update ref commit

* tinygrad master

* Revert "update ref commit"

This reverts commit e7284152899d6dd8a986d9570e6021addfbc6b0f.

* bump tinygrad repo

* bump master

* update ref commit
2023-10-17 10:05:28 -07:00
Shane Smiskol
ffeb99db54 events: fixup printing script (#30268)
* fix typing, no need for ordereddict, show priority name again

* just repr
2023-10-17 01:52:20 -07:00
Mars
ec30897912 Add missing COROLLA_TSS2 engine (#30267)
* Add missing COROLLA_TSS2 engine

* Missing abs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-17 01:10:51 -07:00
alex
6b303cea4c Added firmware values for 2020 VW Passat NMS (#30233)
* Update values.py

Added FW for NMS Passat 2020

* Update interface.py

Removed requirement for force dashcam.

* Update interface.py

Uncommented the dashcam mode line.
2023-10-17 01:07:59 -07:00
Dean Lee
1866e53957 ui.py: support strided buffer (#30236)
fix crash
2023-10-17 01:03:56 -07:00
Justin Newberry
def2b93895 compare_logs: better names for short/long diffs (#30263)
* better names

* dont need that

* those too
2023-10-16 17:04:14 -07:00
Justin Newberry
d23f5d2ec5 test_processes: assert that mazda is tested (#30258)
mazda left dashcam mode
2023-10-16 12:18:25 -07:00
Justin Newberry
db460762c2 add fingerprinting template (#30257)
Add fingerprint template
2023-10-16 11:32:31 -07:00
Jason Wen
ccfb7ff153 Merge branch 'master' into sync-priv-20231016
# Conflicts:
#	panda
#	selfdrive/car/chrysler/values.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/toyota/values.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/plannerd.py
#	selfdrive/sentry.py
#	selfdrive/ui/qt/offroad/settings.cc
2023-10-16 11:52:39 -04:00
Jason Wen
fafdf82409 Subaru: Fix brake light signal for Pre-Global platforms (#225) 2023-10-16 11:44:37 -04:00
Jason Wen
0cafd36f15 Sync: commaai/openpilot:master into sunnyhaibin/sunnypilot:master 2023-10-16 11:37:26 -04:00
Jason Wen
adc9b2f3bb bump submodules 2023-10-16 11:32:08 -04:00
Jason Wen
0e8a762fdd brakeLights -> brakeLightsDEPRECATED 2023-10-16 11:18:24 -04:00
Jason Wen
cfeba34d5d Merge branch 'upstream/openpilot/master-20231016-sync' into master-20231016
# Conflicts:
#	cereal
#	panda
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/hyundai/values.py
#	selfdrive/car/subaru/values.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/plannerd.py
#	selfdrive/monitoring/dmonitoringd.py
2023-10-16 11:03:27 -04:00
DevTekVE
2559c299cd brakeLights -> brakeLightsDEPRECATED 2023-10-16 06:10:29 +00:00
Jason Wen
6a730bd8dd fixup! Revert "Suppress panda siren if in park gear (#175)" 2023-10-16 06:04:45 +00:00
Jason Wen
18e630c436 bump cereal 2023-10-16 01:28:50 -04:00
Jason Wen
6c67abe65f Revert "Sync master-priv with public sunnypilot:master" 2023-10-16 04:53:55 +00:00
Jason Wen
71b9fe4918 Suppress panda siren if in park gear - V2 2023-10-16 02:35:08 +00:00
DevTekVE
455b448d8a Revert "Suppress panda siren if in park gear (#175)" 2023-10-16 02:34:12 +00:00
Adeeb Shihadeh
f616dd77a1 loggerd: add wall time to initData (#30251)
* loggerd: add wall time to initData

* bump cereal

* fix
2023-10-15 15:21:51 -07:00
Justin Newberry
998763b4bc Subaru: 2021 impreza fingerprint (#30249) 2023-10-15 17:15:41 -04:00
DevTekVE
3aef2ddbd9 Refactor GPS data handling to use 'liveLocationKalman' 2023-10-15 09:01:43 +00:00
Adeeb Shihadeh
0336219b6a CI: update to checkout@v4 (#30248) 2023-10-14 23:25:41 -07:00
Adeeb Shihadeh
f8a7def515 docs: move to gh pages (#30242)
* mv to pages

* cleanup

* push static

* mv that

* new name for the orphan

* only master

* build op
2023-10-14 23:03:57 -07:00
Adeeb Shihadeh
f0aa631818 cleanup up old lib64 references (#30246)
* cleanup sensord

* rm rest

* fix that

* update that
2023-10-14 20:39:15 -07:00
Dean Lee
383964cd5b ui: make default_face_kpts_3d constexpr (#30239) 2023-10-14 09:14:20 -07:00
Adeeb Shihadeh
b68cfbb332 cleanup old sm pm args (#30241)
* cleanup sm pm

* fix controlsd

* fix
2023-10-13 23:27:04 -07:00
Vivek Aithal
9e24a11f17 torqued: Refactor to share code with magd (#30238)
* refactor to extract common functions and classes out

* Add helpers.py to release files

* refactor
2023-10-13 17:24:04 -07:00
DevTekVE
f885863e1e Sync master-priv with public sunnypilot:master 2023-10-13 16:40:08 +00:00
Dean Lee
818d29818f cabana: reduce minimum size (#30223)
reduce minimumsize
2023-10-12 11:09:32 -07:00
Dean Lee
47813ae8b5 cabana: fix crash when switching dbc file (#30227)
fix crash when switching dbc file
2023-10-12 11:09:17 -07:00
DevTekVE
db4d201819 Move speed_limit_controller to sunnypilot module 2023-10-11 07:54:15 +00:00
Jason Wen
fb9ab1db28 mapd: PubMaster var fix 2023-10-10 20:22:10 -04:00
Shane Smiskol
e030a701fa Kia: add missing K5 2024 FW (#30220)
* Add missing K5 FW

All it took was the extra few months for the camera FW date

* update docs
2023-10-10 15:17:09 -07:00
Adeeb Shihadeh
ac21dcbdcb Update Python packages and pre-commit hooks (#30215)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-10-10 10:37:54 -07:00
DevTekVE
99f8adde71 Refactoring the speed limit control 2023-10-10 15:02:35 +00:00
Christian B. G. Ta
66d5914175 Hyundai: add missing FW versions for Kona EV 2022 (#30200)
* Update values.py - Hyundai Kona 2022 fingerprints

Car was new in summer 2023 in EU/Norway

* Update selfdrive/car/hyundai/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-09 16:58:45 -07:00
Jason Wen
ffd3c98c20 gpxd: Only allow GPX uploads if the network is Wi-Fi 2023-10-09 13:37:04 +00:00
Jason Wen
0aa33b7303 mapd: Set thread affinity 2023-10-09 00:06:53 +00:00
Jason Young
8e247e063e VW MQB: Add FW for 2023 Volkswagen California (#30207) 2023-10-08 15:21:34 -07:00
Shane Smiskol
c14b765623 Toyota: parse FW versions for more reliable fuzzy fingerprinting (#28641)
* add test from hyundai

* found tss2

* abs and engine are very rarely shared (avalonh tss2 and camryh tss2 is one example)

* some bad regex

* some pattern work

* some work

* .

* some conceptual clean up

* fix short fw pattern

* hyundai test

* clean up values.py a bit

* print platform codes

* hyundai fuzzy

* pass test

* move around constants

* clean up

* clean up hyundai

* fix print

* more clean up, fix med pattern

* add documentation

* use major version

* some clean up from merge

* some clean up from merge 2

* spot check

* clean up imports

* missing FW_QUERY_CONFIG

* short version: always prefixed with 3, get real platform code

* limit to max chunks seen (3)

* rm engine

* fix that

* get_platform_codes returns dict

* tests

* comments

* fix test

* enable a test

* fix script

* print ecu parts

* enable old test

* clean up some tests

* clean up

* more clean up

* static

* this is all it took?

* add note

* ...

* use less ECUs

* bump

* todo

* clean up fuzzy fp function

* make deterministic in a feat of engineering

* add temp exclude_fw argument for testing

* fix logic

* add blacklist

* add platform and its matches

* fix for nb

* remove fw exclusion

* Revert "remove fw exclusion"

This reverts commit 0e3b47c5a30ebdb647caf5d792b10f517cbdf48f.

* clean up

* Revert "Revert "remove fw exclusion""

This reverts commit 42c55f006a4a0596ff404c67db1a88eb64b45d9e.

* these two have similar chassis according to wikipedia (but mass is relatively different)

* Revert "Revert "Revert "remove fw exclusion"""

This reverts commit 0f874233422d2007cc87bfb1c714cabed6e80049.

* Revert "Revert "Revert "Revert "remove fw exclusion""""

This reverts commit 2411967f5a2b0712773d614ee589321cca4d52a5.

* oof

* shadows global variable

* rm comment
2023-10-07 18:09:52 -07:00
Adeeb Shihadeh
1a74ed91ee hyundai: add comment with link to PR for corner radars 2023-10-07 16:23:47 -07:00
DevTekVE
9ce273765c FIX mac m1 compilation - Add sstream library to onroad.cc (#30205)
Add sstream library to onroad.cc

Needed to solve a bug when compiling on mac m1.

Co-authored-by: Miguel Fernandez <miguel.fernandez@cimpress.com>
2023-10-07 15:55:12 -07:00
fpjuojyv810059
62e812f4e1 Lexus: add missing FW for Lexus ES 2024 (#30198)
* Lexus: add missing FW for Lexus ES 2024

* already here

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-07 07:12:12 -07:00
Hiroshi Nomiyama
a8c37ba29b Lexus: add 2023 RX hybrid firmware (#30193)
* Update values.py

* Update values.py

* add FW (camera already here!)

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-07 07:06:52 -07:00
Jason Young
8a10d1f5ae VW MQB: Add FW for 2021 Audi Q3 (#30182) 2023-10-07 07:01:24 -07:00
Shane Smiskol
3cd0e392eb Toyota: combine similar TSS2 hybrid platforms (#30194)
* combine corolla

* corolla tss2: remove duplicates

* remove gas pedal hybrid signal

* combine RX TSS2

* we only split for static DSU msgs, or sng differences

* Combine NX TSS2

* remove nb

* Combine ES TSS2

* Combine RAV4 TSS2 (torque params for each EPS variant are similar enough, and eps and fwdcamera all are identical)

* Merge TSS-P Lexus NX

* TSS-P Lexus NX: remove duplicates

* TSS-P C-HR: merge

* TSS-P C-HR: remove duplicates

* fix routes

* re-did everything: no diff 🎉

* update test models seg list

* Update ref_commit
2023-10-07 01:26:49 -07:00
Jason Wen
374dea106c Subaru: Fix safety param assignment for IMPREZA_2020 torque increase 2023-10-07 06:50:27 +00:00
Justin Newberry
7fd52cd0d1 Codecov: ignore tests files (#30202)
codecov ignore test
2023-10-06 20:13:52 -07:00
Dean Lee
d02558c400 cabana: check if index is valid (#30204) 2023-10-06 20:13:08 -07:00
Adeeb Shihadeh
1abea5a259 don't upload crash logs from forks (#30203)
* don't upload crash logs from forks

* fix
2023-10-06 15:30:43 -07:00
Justin Newberry
8b2b72499f CI: run jenkins as batman (#30184)
* I'm batman

* chown batman

* sudo

* add batman to sudo group

* try without cleanup

* Revert "try without cleanup"

This reverts commit f59554f2f373417f2c59fd250463eca2fda4d49e.

* comment
2023-10-06 11:12:41 -07:00
Shane Smiskol
9350b7e179 Car tests: fix serialize error on fail (#30185)
* Update test_toyota.py

* fix others

* fix
2023-10-06 00:07:37 -07:00
Greg Hogan
6f98a987af vidindex improvements (#30196)
* vidindex improvements

* fix spelling
2023-10-05 22:48:50 -07:00
Justin Newberry
2884fd6e3d Simulator: set params enabled (#30195)
set params enabled
2023-10-05 22:19:38 -07:00
Greg Hogan
86b90a8ba2 filereader cleanup (#30191)
* filereader cleanup

* make name return url

* remove unused imports
2023-10-05 19:45:46 -07:00
Greg Hogan
f8e488f881 convert vidindex to python (#30176)
* convert vidindex to python

* fix whitespace

* corrupt file option

* fix up typings

* fix return type

* update framereader

* change length delimiter to uint32 value

* change length to uint32 value

* move url_file changes to separate PR

* cleanup caching

* revert whitespace change

* fix frame type param type
2023-10-05 18:40:24 -07:00
Justin Newberry
7f945f10c6 Subaru: Outback 2023 fingerprint (#30190)
fingerprint
2023-10-05 17:15:26 -07:00
Justin Newberry
d731c85b2e Docker: add batman to sudo group (#30188)
add batman to sudo group
2023-10-05 15:53:07 -07:00
Adeeb Shihadeh
f80db10720 UI: remove drive stats (#30183)
* UI: remove drive stats

* little more

* vanish
2023-10-05 14:53:49 -07:00
Kacper Rączy
3aa74c28fc CI: add regen job (#30157)
* Ability to whitelist/blacklist cars in regen_all

* Add CI job for regen, running on 2 segments

* Run regen_all, not regen

* Use coverage run

* Add test_regen

* Use test_regen in ci test

* Add test case names

* ONNXCPU = 1

* Add mazda segment

* Use RUN_CL

* build cl image before running

* unset PYTHONWARNINGS

* Create regen cache

* Replace daemons with processes

* Skip ford

* Skip mazda

* Add comment about commented segments

* Update selfdrive/test/process_replay/test_regen.py

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

* Remove unset pythonwarnings

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-10-05 13:59:00 -07:00
Dean Lee
29f10fd2aa cabana: fix parsing multiple line comment (#30178)
fix parse error
2023-10-05 01:48:56 -07:00
Shane Smiskol
ed0f506359 Toyota: add missing engine FW for TSS-P Camry Hybrid (#30177)
* missing FW for 2ed432126627c66a

* dups

* dups
2023-10-05 01:24:05 -07:00
Shane Smiskol
a1ca5dc484 scripts: format diff when comparing logs (#30174)
* move format diff to compare_logs to pretty print

* smaller
2023-10-04 22:59:03 -07:00
Jason Wen
f548322753 ui: ButtonParamControl style update 2023-10-05 00:13:23 -04:00
Jason Wen
22b72e02e1 Update CHANGELOGS.md 2023-10-04 23:31:14 -04:00
Jason Wen
76c99b92a4 ui: ButtonParamControl: redesign 2023-10-05 02:44:58 +00:00
Justin Newberry
f4b2b70791 Metadrive: fix slow acceleration and enable past 50 mph (#30171)
metadrive tuning
2023-10-04 17:25:44 -07:00
Justin Newberry
56b16e77a4 Metadrive: no preloading models (#30170)
no preloading
2023-10-04 15:49:05 -07:00
Kacper Rączy
18f41d1910 regen: skip fetching camera files when not needed (#30169)
* Fetch only camera files which are needed in current setup

* Refactor daemons to processes
2023-10-04 15:00:50 -07:00
Justin Newberry
d00832cb2b Devcontainer: initial windows support (#30168)
* windows support

* windows support
2023-10-04 14:58:21 -07:00
Kacper Rączy
898acb13f2 process_replay: migrate panda/peripheral/manager states (#30141)
* Migrate pandaStates

* Fix import

* Make pandaStates migration optional, so process_replay still works on logs without carParams

* peripheralState migration if its not available

* Do nothing if log file has peripheralStates

* Add migrate_managerState

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-04 13:41:50 -07:00
Justin Newberry
fa51bbc236 URLFile: don't cache non-existent file's lengths (#30071)
* urlfile empty

* simplify with mock

* better test name

* PR cleanup

* cleanup the length file
2023-10-04 12:57:56 -07:00
Jason Wen
4f07bf2504 ui: Hide description on SPAbstractControl init 2023-10-04 15:02:16 -04:00
Justin Newberry
786f13b0e3 cleanup environment variables between tests (#30167) 2023-10-04 11:51:44 -07:00
Justin Newberry
2048808827 add random order plugin (#30166)
add random order
2023-10-04 11:51:24 -07:00
Jason Wen
969767bb68 Explicitly define non-private submodule URLs 2023-10-04 13:25:34 -04:00
Jason Wen
fb6acf9ff1 ui: New ButtomParamControl design 2023-10-04 16:59:33 +00:00
Kacper Rączy
cf3549fe8a process_replay: migrate cameraState timestampSof if its missing (#30153)
Migrate timestampSof if its missing
2023-10-03 19:46:24 -07:00
Jason Wen
2c43f3b15b ui: Use local variables for cereal 2023-10-04 02:42:20 +00:00
Justin Newberry
7f69f8458a Tests: fix pandad setup (#30160)
fix panda test
2023-10-03 18:54:40 -07:00
Kacper Rączy
5cb9291de8 modeld: don't attempt to connect extra vipc client if its not available (#30154)
Do not connect extra client if it's not available
2023-10-03 15:54:21 -07:00
Adeeb Shihadeh
4f769d0a38 pandad: ensure panda is in a good state before each test case (#30151)
* pandad: ensure panda is in a good state before each test case

* less overhead

* fix pc

* update that

* Update selfdrive/boardd/tests/test_pandad.py

* update
2023-10-03 15:42:04 -07:00
Adeeb Shihadeh
377722fd5e Update Python packages and pre-commit hooks (#30149)
* Update Python packages and pre-commit hooks

* fixes

* Update common/transformations/README.md

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

* fix

---------

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-10-03 15:31:26 -07:00
Jason Wen
98dbd39209 Mazda: Custom Stock Longitudinal Control: calculate counters manually 2023-10-03 21:38:52 +00:00
nickn066
c3479f8984 Fingerprint: 2023 Volkswagen Taos (#30126)
* Update values.py

Add 2023 Taos

* Update values.py

Removed additional space

* Update values.py

Removed trailing white space

* Update values.py

removed duplicate ecu.srs for CAR.TAOS_MK1

* Update values.py
2023-10-03 14:28:16 -07:00
Harald Schäfer
3c0a7d6986 Night Strike Model (#30148)
* baab2a46-f0c3-46eb-8756-00c55354945b/700

* Update model replay ref
2023-10-03 14:25:30 -07:00
Jason Wen
8d993284b3 Hyundai: Custom Stock Longitudinal Control: calculate counters manually 2023-10-03 21:23:37 +00:00
Jason Wen
9af11f99b0 Merge branch 'subaru-sng-fix' into 'master-priv'
Subaru: Stop and Go autoresume counter fix

See merge request openpilot-devtekve/sunnyhaibin/openpilot-special!321
2023-10-03 20:54:19 +00:00
Jason Wen
c4068f34a2 Subaru: Stop and Go autoresume counter fix 2023-10-03 20:54:18 +00:00
Justin Newberry
c6ad15e52f CI: label for research and fix CI/testing label (#30152)
* research label

* add jenkinsfile
2023-10-03 13:48:17 -07:00
Justin Newberry
8cc8952d81 Subaru: crosstrek hybrid is a B harness (#30150)
its a b harness
2023-10-03 13:29:07 -07:00
Jason Wen
c946f50a70 Subaru: Stop and Go: Initialize for all platforms (#329) 2023-10-03 11:14:29 -04:00
Shane Smiskol
c003048269 Toyota: whitelist hybrid ECU (#30110)
0x7e2: OBD query, 0x7d2: UDS query
2023-10-03 03:30:32 -07:00
Shane Smiskol
661edd7d8b regen: fix wide road camera msg name (#30147)
fixed
2023-10-02 21:21:49 -07:00
Shane Smiskol
0a5e50b5a7 Kia: update harness & package for 2018 Kia Sorento
only aus 2018 sorento has LKAS (US has LDWS -- not supported) - https://resource.digitaldealer.com.au/pdf/200674377859eeaf8eb22c1234370909.pdf
2023-10-02 20:28:32 -07:00
Jason Wen
62e6d6392d V-TSC: Parse lane lines calculation fix (#326) 2023-10-02 22:54:01 -04:00
Kacper Rączy
9c5bbe1a91 process_replay: fix support for single cam segments (#30143)
* Fix assertion for vision_pubs

* Get camera states from meta

* Convert deviceType to string

* Use neo instead of eon for frame sizes dict

* update vision_pubs of process config when creating vipc
2023-10-02 19:36:47 -07:00
Jason Wen
5e0c958618 Subaru: Safety param assignment fix (#327) 2023-10-02 20:52:25 -04:00
Adeeb Shihadeh
0694d3b8f6 remove some python packages (#30135)
* less dependencies

* rm that

* add that back for now

* revert for now
2023-10-02 17:13:45 -07:00
Adeeb Shihadeh
c347096c3e finish hardware move to system/ (#30140)
* finish hardware move to system/

* fix release

* couple more
2023-10-02 16:49:07 -07:00
Justin Newberry
4d7caff0c8 Metadrive: fix reset (#30142)
* fix reset

* 2 seconds
2023-10-02 16:43:35 -07:00
Justin Newberry
3c55f76790 remove carla dependency (#30139)
* only docs and default

* remove carla dependency

* remove carla dependency
2023-10-02 16:11:56 -07:00
Adeeb Shihadeh
f58969cb60 remove rtshield 2023-10-02 15:40:35 -07:00
Adeeb Shihadeh
67161a7174 remove panda flash logs (#30138)
* bump panda

* unused

* update test
2023-10-02 15:34:33 -07:00
Justin Newberry
78469b7ef6 Simulator: metadrive is the default (#30133)
only docs and default
2023-10-02 14:44:40 -07:00
Adeeb Shihadeh
8461cdb77e back to 0.9.5 2023-10-02 14:37:04 -07:00
Notstupe
364353d897 hyundai: fix ioniq5/6 sorting (#30122)
put ioniq5/6 back in there place
2023-10-02 13:47:53 -07:00
Justin Newberry
f32294772d Update metadrive (#30128)
update metadrive
2023-10-02 13:18:03 -07:00
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
d0e58efaf6 Hyundai CAN Longitudinal: Only use vision-based yRel for Hyundai camera-based SCC platforms (#320) 2023-10-01 21:43:00 -04:00
Jason Wen
1a3899e062 ui: Hide Custom Stock Longitudinal Control if not available (#319) 2023-10-01 15:22:50 -04:00
Jason Wen
7a072093dd Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/lib/lateral_planner.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/controls/lib/speed_limit_controller.py
#	selfdrive/controls/plannerd.py
#	selfdrive/mapd/mapd.py
#	selfdrive/ui/qt/onroad.cc
#	selfdrive/ui/ui.cc
2023-10-01 11:35:25 -04:00
Jason Wen
925bc21912 Update CHANGELOGS.md 2023-10-01 11:32:22 -04:00
Jason Wen
dfe106f1b0 Revert "ui: Hide bottom row dev UI when alerts are displayed (#272)" (#318)
* Revert "ui: Hide bottom row dev UI when alerts are displayed (#272)"

This reverts commit ccde494acc.

* Update CHANGELOGS.md
2023-10-01 11:30:51 -04:00
Jason Wen
e6d11a46b4 Torqued: Hide torqued in Dev UI when Custom Live Tune is overriding (#317) 2023-10-01 03:14:36 -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
61d39a5558 MSPA: Unused service (#218) 2023-10-01 02:10:49 -04:00
Jason Wen
c8debe77db MSPA (#217)
* Cereal: Use custom reserved structs

* fix dmonitoring

* sync with upstream

* bump cereal

* bump cereal

* fix

* bump cereal

* fix

* unused

* check sm valid
2023-10-01 02:05:05 -04:00
Justin Newberry
05f7c96327 Tools: a basic auto fingerprinting tool (#30117)
* v1 auto fingerprint tool

* executable

* static analysis

* move to selfdrive/debug

* from any directory

* fix static analysis
2023-09-30 20:50:29 -07:00
Jason Wen
12a56eb46e ui: Settings toggle color change (#314)
* ui: Move toggle to the left of ParamControl

* blank icons

* tesla blue

* tesla blue

* Revert "ui: Move toggle to the left of ParamControl"

This reverts commit 3f6a3c831e5eebc740733ce625ef7dd11985c7e7.

* Revert "blank icons"

This reverts commit d778cf378b6374b89fa679b4f3358dbf48c89a06.
2023-09-30 22:16:49 -04:00
Kacper Rączy
0e5cfa3426 compressed_vipc: fix issues with VisionIpcServer in ZMQ mode (#30115) 2023-09-30 18:45:45 -07:00
Justin Newberry
2dd13c60cc Revert "run unit tests in a random order (#29799)" (#30116)
This reverts commit b483efe764.
2023-09-30 17:23:38 -07:00
Justin Newberry
6ae465e4af Use StrEnum for car classes (#30114)
* str enum

* import sort

* fix car helpers

* fix that

* fix static analysis
2023-09-30 17:15:34 -07:00
Justin Newberry
205cf12258 Standardize line endings in repo (#30112)
use lf by default
2023-09-30 17:05:43 -07:00
Adeeb Shihadeh
1dd4ade197 delete some old files 2023-09-30 16:07:26 -07:00
Adeeb Shihadeh
b483efe764 run unit tests in a random order (#29799)
* run unit tests in a random order by default

* bump panda

* fix startup

* re-add random order plugin

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
2023-09-30 15:56:23 -07:00
royjr
e156ab41ad ui: better Arabic translations (#30004)
* initial

* fix additional tag

* fix missing semicolon

* fix missing semicolon

* fix missing whitespace/punctuation

* dont translate

* fix deleted source

* mark missing as unfinished

* needs to be fixed

* typo

* dont translate

* translate wifi

* dont translate sidebar

* missing space

* dont translate

* these are good

* missing

* fix unfinished

* more fixes

* fix typo

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

* dont translate

* fix vanished translation

* add test_entities_error test

* fix entity

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

* dont translate comma prime

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-30 15:37:07 -07:00
Jiyong Youn
2fee341a90 HKG: Enable radar tracks for 2021 K5 Hybrid (#30113) 2023-09-30 15:19:12 -07:00
Adeeb Shihadeh
023792c431 Revert "ui: brighten cameraview (#29744)"
This reverts commit a08cdfdda7.
2023-09-30 15:14:48 -07:00
Jason Wen
5d8354ec63 ui: Redesign settings sidebar panel (#313)
* ui: Redesign settings sidebar panel

* redesign close button

* add icon

* remove

* no icons for now

* more adjust
2023-09-30 03:16:55 -04:00
Mike Busuttil
a21437a708 improved script for fetching images from routes (#30089)
* easily target desired camera

* easily target desired camera

* cleaner authentication fallback
2023-09-29 23:55:41 -07:00
Jason Wen
d6a768c96f Hyundai CAN Longitudinal: Parse lead info for camera-based SCC platforms (#299)
* Hyundai CAN Longitudinal: Parse lead info for camera-based SCC platforms

* typo

* another typo

* camera SCC has them flipped

* disable `radarUnavailble`

* Missing on these platforms

* parse lateral position of lead car from vision model output

* fix CP init
2023-09-30 01:20:13 -04:00
Erich Moraga
ca5a317a50 Toyota: add several ECU versions for 2023 Toyota RAV4 Hybrid (#30111)
`joshtheplumber` 2023 Toyota RAV4 Hybrid  DongleID/route a493a1ab8ea51c2a|2023-09-29--23-51-04
2023-09-29 20:35:26 -07:00
Shane Smiskol
a067f86320 Toyota: add missing FW for ICE RAV4 2023 2023-09-29 20:16:57 -07:00
Kacper Rączy
d15c2d951f devcontainer: use VirtualGL on mac hosts (#30090)
* Install virtualgl in a container

* Initialize virtualgl in bashrc

* Create virtual screen when starting

* Start vglclient on host

* Run Xvfb in separate tmux session to keep it running

* Add note about virtualGL in readme

* Add wget

* source vglrun

* Start xvfb only when forwarding x11

* Remove section about vglrun from readme

* HOST_DISPLAY implementation

* Add MOTD message instead of readme section
2023-09-29 17:45:06 -07:00
Justin Newberry
ba90bdf7d9 Simulator: blinkers and lane changes (#30107)
blinkers and lane changes
2023-09-29 16:32:45 -07:00
Kacper Rączy
481f18710e devcontainer: expose zmq ports for bridging (#30072)
* Expose ZMQ ports for bridging

* Limit ports to 8070-8079
2023-09-29 23:40:11 +02:00
Justin Newberry
7ab14fa71f Docker: keep poetry installed (#30108)
keep poetry
2023-09-29 14:28:53 -07:00
Justin Newberry
84609f365b Simulator: update documentation for metadrive (#30002)
* update sim docs

* update docs
2023-09-29 12:44:12 -07:00
Justin Newberry
5c2cbec06e Simulator: wait for engageable (#30105)
wait for engageable
2023-09-29 12:18:49 -07:00
Justin Newberry
9d3dbd245a Metadrive: move to a separate process (#30103)
* split bridge into two files

* fix metadrive

* wip

* fix tests too

* separate process

* sepeprate process

* finish moving to another process

* remove spammy output
2023-09-29 11:45:14 -07:00
Mike McKay
a5f2fd5b1a Update vw_mqb_config.py (#30101)
Added a message to tell the user to kill the comma process when running the script.
2023-09-29 11:00:44 -07:00
Jason Wen
b982079429 HKG: Car Port for Kia Seltos Non-SCC 2023-24 (#288)
* HKG: add Kia Seltos 2024 Non-SCC platform

* 2023 MY also works

* finish port

* Update CHANGELOGS.md

* update name

* add fw

* fix

* fix list
2023-09-29 08:59:01 -04:00
Jason Wen
47096cbb3c Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
2023-09-29 08:57:43 -04:00
Jason Wen
44b0b11ff1 HKG: add Kia Seltos 2023-24 Non-SCC platform (#215)
* HKG: add Kia Seltos 2024 Non-SCC platform

* 2023 MY also works

* Update CHANGELOGS.md

* add fw

* fix

* fix list
2023-09-29 08:56:50 -04:00
Shane Smiskol
571ebf77fa CI: fix building prebuilt image (#30099)
* fix prebuilt and test it

* that does not work
2023-09-29 02:19:10 -07:00
Shane Smiskol
5bf117ce29 Toyota docs: expand Camry Hybrid years to 2024 (#30098)
we've seen a 2024 camryh

1de6c58d0ee17682|2023-09-28--06-37-11--0
2023-09-29 01:01:49 -07:00
Shurui Gui
0d7272ea19 Mazda: add FW versions for CX-5 2024 (#30093)
* Port CX-5 2024

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-29 00:59:23 -07:00
Dean Lee
21f4af4d6d cabana: fix QCompleter leak (#30097)
fix QCompleter leak
2023-09-29 00:54:56 -07: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
71fc267606 ui: Feature Status: Update only when param is changed (#311)
* ui: Feature Status: Update only when param is changed

* less calls
2023-09-29 01:49:43 -04:00
Kacper Rączy
bfddcdaf89 aarch64: onnxruntime (#30095)
base onnxruntime for aarch64
2023-09-28 22:32:21 -07:00
Jason Wen
c0f2e6bc05 ui: Allow SPOptionControl button group enabled state modifications (#310) 2023-09-29 00:54:15 -04:00
Jason Wen
c49b5c8e35 Lateral Planner: Fix Custom Offsets and Path Offset in all modes (#309)
* Lateral Planner: Fix Custom Offsets and Path Offset in all modes

* Update init values
2023-09-29 00:39:49 -04:00
Jason Wen
429f7307be Subaru: Stop and Go autoresume (#289)
* Subaru: Stop and Go autoresume

* Update CHANGELOGS.md

* Update CHANGELOGS.md

* do this

* sync with subaru-community

* sync for manual parking brake

* no slot machine pls

* fix this too

* flipped

* fix panda

* comments

* Update CHANGELOGS.md

* check every 2.5 second

* move them to a function

* more logical

* frame-based frequency sends

* type hinting

* should be tuple

* better grouping

* for docs regeneration

* same as upstream

* move it down

* cleanup

* use int flag and safety param, only block message when sng is allowed

* Do it here instead

* gate everything

* move comment

* block tx if sng is not allowed on certain platforms

* bump panda
2023-09-29 00:33:03 -04:00
Justin Newberry
5af5469c66 Simulator: split bridge and world into two files (#30091)
* split bridge into two files

* fix metadrive

* fix tests too
2023-09-28 17:50:01 -07:00
Kacper Rączy
32ac71af37 README: mention git-lfs requirement (#30092)
Mention lfs in setup instructions
2023-09-28 17:45:01 -07:00
Shane Smiskol
b918e06822 Car docs: update parts docs for 3X (#30076)
* add panda kit

* better: 3X is default

* how about

* replace more three refs
2023-09-28 16:20:03 -07:00
Harald Schäfer
2162d149e8 calibrationd: Pitch spread different tolerance (#30065)
* calibrationd: Pitch spread different tolerance

* Improve calibrationd tests
2023-09-28 14:27:50 -07:00
Sean Aguinaga
a30d5d2b7a Ford: add 2023 Maverick Engine FW (#30085)
* Add 2023 Maverick Engine FW

* Pasted wrong line - corrected

* Update selfdrive/car/ford/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-28 13:59:05 -07:00
Justin Newberry
fb89a2a6dd Devcontainer: run setup as batman user (#30084) 2023-09-27 23:40:02 -07:00
YassineYousfi
04e239f7ed onnxmodel: fp16_to_fp32 (#30080)
* onnxmodel: force fp32

* rename

* rename this too
2023-09-27 22:37:03 -07:00
Adeeb Shihadeh
2d5a2e3ab6 Update Python packages and pre-commit hooks (#30062)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-09-27 21:42:41 -07:00
Adeeb Shihadeh
4f72e87ab7 CI: disable native mac build (#30082) 2023-09-27 21:15:53 -07:00
Jason Wen
c2c2be07bc 3D Building on Map (#308)
* ui: 3D buildings on map

* add toggle

* toggleable offroad only

* fixes

* Revert "toggleable offroad only"

This reverts commit 7c0c8d99bca3bbec00921c2d438e68b5f9054393.
2023-09-28 00:10:51 -04:00
Vivek Aithal
0461ea8a82 paramsd: Add condition to sensor valid check (#30066)
add condition to sensorvalid check
2023-09-27 21:00:36 -07:00
Jason Wen
5214a703d7 Sentry: Cleanup unncessary inits (#307)
* Sentry: cleanup unncessary inits

* unnecessary

* unused

* cleanup
2023-09-27 21:59:13 -04:00
mitchellgoffpc
86a334ae19 bump cereal 2023-09-27 17:51:24 -07:00
Shane Smiskol
dbd8e24a17 Hyundai: update Optima Hybrid 2017 harness (#30079)
it's c
2023-09-27 16:15:29 -07:00
Lee Jong Mun
c7e1eb12c6 kor translation update (#30073) 2023-09-27 10:58:01 -07:00
Jason Wen
a612ee07d7 ui: Fix blinker positions when in split view (#306)
* ui: Fix blinker positions when in split view

* Shorten name
2023-09-27 12:27:02 -04:00
Jason Wen
5bf6368947 ui: Clear road name cache when going onroad (#305)
* ui: Clear road name cache at UI initiation

* clear on offroad
2023-09-27 11:17:16 -04:00
Justin Newberry
2792e5f2db Simulation: engage on startup, print help message (#30044) 2023-09-27 07:21:46 -07:00
Justin Newberry
09325b01ff Simulator: Looping metadrive world (#30068) 2023-09-27 07:20:54 -07:00
Jason Wen
c8cb9b3b75 ESCC: Disable radarUnavailable when detected (#304) 2023-09-27 02:27:34 -04:00
Jason Wen
5dbecc7d38 Hyundai: radar interface fixups (#303) 2023-09-27 02:10:44 -04:00
Jason Wen
67208ee372 ui: sunnypilot settings panels params cleanup (#302) 2023-09-26 23:00:10 -04:00
Jason Wen
934aa7acd2 ui: Controls Panel: slight cleanup (#301) 2023-09-26 21:46:31 -04:00
Shane Smiskol
61c5618f15 torqued: useParams field reflects if using torque control (#30059)
fix useParams
2023-09-26 17:23:10 -07:00
Justin Newberry
f18d66fa3e Simulator: cleanup old common stuff (#30069)
cleanup
2023-09-26 17:05:46 -07:00
Adeeb Shihadeh
a4aa801fbe simplify sensor alert (#29824)
* simplify

* update proc replay
2023-09-26 16:47:21 -07:00
Shane Smiskol
7073882f87 HKG tests: assert standard FW requests in database (#30061)
* test to help catch random FW in PRs

* just fwdCamera

* better?
2023-09-26 16:41:24 -07:00
Adeeb Shihadeh
0e02d8b8d1 CI: reduce master-ci build frequency 2023-09-26 16:18:41 -07:00
Adeeb Shihadeh
fa06a69101 add extra debug info to onroad test (#30067) 2023-09-26 16:11:26 -07:00
Vivek Aithal
6d5f4f149d locationd: Replace allAliveAndValid with allValid (#30064)
* replace allaliveandvalid check with allvalid, all necessary time checks are already used

* update refs
2023-09-26 15:31:40 -07:00
Justin Newberry
0251742079 CI: use "slow" marker for pytest (#30063)
* skip to mark

* fix quotes
2023-09-26 13:44:18 -07:00
Jason Wen
5cf452acdd Hyundai: radar interface cleanup (#298) 2023-09-26 10:00:41 -04:00
Pitte86
7d4fead1b8 Skoda: add FW versions for Superb MK3 (#30026)
* Update Skoda Superb MK3 values.py

* Update selfdrive/car/volkswagen/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-26 02:57:20 -07:00
Saber
db50e42202 HKG: Car Port for Hyundai Custin 1st Gen (#29476)
* HKG: Car Port for Hyundai Cusitn 1st Gen

Hyundai Custin is asia only car ,named Custo in China.
Hyundai K , talk with Sotana CAN BUS
test route"0bbe367c98fa1538|2023-08-19--01-58-42--0"

It's my fisrt time to PR a port car. I must miss something I don't know. Waiting your instruction to complete it.

* Add route

Add route

* update interface.py

Add interface values

* Update values.py

type

* slight cleanup

* stock openpilot route

* Add credit to release note

* lkas11 fault fix

* Generate CARS.md

* SCC is standard

* crc8

* Update new route

Add a new route "0bbe367c98fa1538|2023-09-16--00-16-49--0"

* sort

* Update selfdrive/car/hyundai/interface.py

* rename platform var

* we want abs!

* was looking at a vw lol

* 096

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-26 02:56:32 -07:00
Jason Wen
d3763039da Hyundai: add FW Versions for Santa Fe Plug-in Hybrid 2023 (#30036)
* Hyundai: Add FW Versions for Santa Fe Plug-in Hybrid 2023

* Update CARS.md
2023-09-26 02:31:05 -07:00
Jiyong Youn
eb7d68ec1d Multilang: improve Korean translation (#30038)
* Improve Korean translation

* Korean translation: fixed typo, improved translations
2023-09-26 02:17:05 -07:00
Jaeseok Choi
ef79f908fc Kia: add FW versions for KIA_K5_2021 (#30048)
* add fingerprint for KIA_K5_2021

* remove FW from other queries

---------

Co-authored-by: Jaeseok Choi <js01.choi@samsung.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-26 02:01:53 -07:00
Erich Moraga
8fbf62a608 Car docs: add Lexus IS 2022 (#30055)
* Car docs: add Lexus IS 2022

https://github.com/commaai/openpilot/pull/30032 was actually a 2022, so updating documentation accordingly.

* docs.py gen'd CARS.md w/ 2022 Lexus IS update
2023-09-26 01:33:25 -07:00
Adeeb Shihadeh
425fa316d1 pre-commit: always check all file sizes (#30050)
* pre-commit: always check all file sizes

* fix release
2023-09-25 22:22:48 -07:00
Adeeb Shihadeh
e185e5ffcd move remaining big files into LFS (#30053) 2023-09-25 21:53:03 -07:00
Adeeb Shihadeh
7ac659ade4 remove old profiling tool 2023-09-25 20:20:24 -07:00
Adeeb Shihadeh
f33874b0dc move fonts and training images into LFS (#30049) 2023-09-25 20:06:44 -07:00
Shane Smiskol
aaed1b2790 HKG: add note for Kona EV 2nd gen (#30051)
* HKG: add note for Kona EV 2nd gen

* HKG: fix CAR_INFO dict formatting
2023-09-25 19:44:43 -07:00
Adeeb Shihadeh
8ecafa45a0 Revert "move big assets into LFS (#30030)"
This reverts commit eb97ff8a66.
2023-09-25 19:24:13 -07:00
Kacper Rączy
3cf58e55eb devcontainer: fix rc files, move CARLA_HOST to json (#30047)
* Download rc files to batman home directory. Fix links

* Move CARLA_HOST to devcontainer.json

* Remove user root
2023-09-26 04:11:57 +02:00
Kacper Rączy
c054b665c2 devcontainer: force 256 color support in shell (#30045)
Hard-code 256 color support
2023-09-26 01:53:53 +02:00
Justin Newberry
98451611be Simulator: fix metadrive tick frequency (#30043)
sim rate fix
2023-09-25 16:28:09 -07:00
Dean Lee
2cca0cbde8 replay: fix missing events before INIT_DATA (#30039)
fix missing events
2023-09-25 15:16:41 -07:00
Justin Newberry
dd3cdbf4cc Tests: speedup replay test (#30037)
speedup
2023-09-25 14:26:01 -07:00
Kacper Rączy
2fc307cc87 devcontainer: fix display override (#30041)
* Fix display override on mac

* Add newline
2023-09-25 22:56:23 +02:00
Justin Newberry
51674f61c1 Simulator: passthrough BLOCK on launch script (#30040)
sim block passthrough
2023-09-25 13:44:26 -07:00
Erich Moraga
9e64eabc3c Toyota: add several ECU versions for LEXUS_IS_TSS2 (#30032)
`@lawabidingcitizen#7036` 2023 Lexus IS350  DongleID/route 0a89412f77c48f02|2023-09-22--17-56-09
2023-09-25 12:24:23 -07:00
Nelson Chen
ffeb9a93b7 Lexus: add engine FW for Lexus NX 2020 (#30031)
New Engine

Example Routes:

* 4c7b96026712d831|2023-09-24--14-16-17
* 4c7b96026712d831|2023-09-23--18-32-11
2023-09-25 12:19:51 -07:00
Jason Wen
65b74b45c4 Toyota: Stop and Go hack implementation (#290) 2023-09-25 14:46:50 -04:00
Jason Wen
dd98954ce3 Toyota: ZSS support (#292)
* Toyota: ZSS support

* comment
2023-09-25 14:45:27 -04:00
Justin Newberry
021effc5ac Devcontainer: use "batman" user instead of root (#29704)
* devcontainer user

* cleanup permissions

* remove that

* remove that since it's not used

* clean that up after merge

* build base image first

* remove the pull

* build base image

* ensure we can pip install

* build base image as batman user

* add user uid

* add temporary comment about chown instruction
2023-09-25 10:36:54 -07:00
Jason Wen
99d64ed1b4 ui: Sync Onroad Settings buttons with Onroad Feature Status (#297) 2023-09-25 12:45:15 -04:00
Jason Wen
172d629393 Retain hotspot/tether: Check HotspotOnBoot toggle (#296) 2023-09-25 11:44:26 -04:00
Jason Wen
7445c42b5d Retain hotspot/tether: Initialize after modem is configured (#295) 2023-09-25 10:48:39 -04:00
Jason Wen
8d75ca9a7b Retain hotspot/tether: Fix initialization (#293)
* Retain hotspot/tether: Fix initialization

* init before manager starts

* simpler
2023-09-25 01:14:48 -04:00
Justin Newberry
003018fc46 Devcontainer: improve CI tests and support using local built image (#30012)
* improve devcontainer tests

* test full build with cache

* fix that

* fix the cache

* fix the cache
2023-09-24 17:24:44 -07:00
Adeeb Shihadeh
eb97ff8a66 move big assets into LFS (#30030)
* move fonts

* move training
2023-09-24 10:08:06 -07:00
zaidhas0
d8480a0448 Hyundai: 2023 Santa Fe fingerprint (#30020)
* values.py

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-23 23:08:08 -07:00
Jason Wen
9cab2802ea Merge branch 'master' into dev-priv/master 2023-09-24 00:22:53 -04:00
Jason Wen
ab66732ee9 ui: Some comments in sunnypilot settings (#291) 2023-09-24 11:33:19 -04:00
Adeeb Shihadeh
045ed8a91e remove big gif file (#30029)
* remove big gif file

* remove
2023-09-23 21:16:45 -07:00
Jason Wen
fb9a990184 FCR: sync with upstream supported car platforms 2023-09-24 00:09:50 -04:00
Adeeb Shihadeh
efa9d73827 rm old boardd test file 2023-09-23 16:50:29 -07:00
Jason Wen
3b1ad57ee2 sunnypilot: Fix upstream conflict 2023-09-23 14:12:49 -04:00
royjr
f7f8b769ef debug: update alerts (#30023)
* remove vehicleModelInvalid

* add locationdTemporaryError

* add paramsdTemporaryError
2023-09-23 08:31:20 -07:00
Jason Wen
da58d5114b Fleet Manager: paths cleanup (#216) 2023-09-23 10:33:33 -04:00
Jason Wen
07e1b55df2 Update CHANGELOGS.md 2023-09-23 08:36:17 -04:00
Jason Wen
c5a85ba831 Gap Adjust Cruise: Fix object reference 2023-09-23 05:18:36 -04:00
Jason Wen
acdfbbb359 Gap Adjust Cruise: Fix unnecessary I/O (#287) 2023-09-23 13:53:46 -04:00
Shane Smiskol
c3d0bf7b5e Toyota: improve platform code understanding (#30015)
* return a dict where minor version is not in keys

* limit valid chunks to 3 (max seen)

* First short version character is always 3 (we were using wrong platform code)

* docs updates

* not here

* fixes for printing new platform code format

* ecu notes

* notes

* platform code tests

* no tuple

* can visualize the whole thing now

* make it clear there's no major versions

make it clear there's no major versions

* static analysis

* two minor versions

* fix

* not using dsu

* comment

* comment

* comment

* forgot this one
2023-09-23 02:13:58 -07:00
Yassine
231f2331aa Gap Adjust Cruise: Fix param typing 2023-09-23 03:16:52 -04:00
Jason Wen
3b776937fa Sync params 2023-09-23 01:31:57 -04:00
coffee-cake-isaac
c43325fa17 joystick mode: add curvature control (#30010)
* Added curvature controls to joystick mode

* same line

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-22 21:53:31 -07:00
Shane Smiskol
2ebf0b186e Hyundai: use EV/hybrid car lists for ELECT gear signal (#30009)
* remove duplicate hybrid/ev list

* test
2023-09-22 21:52:29 -07:00
Shane Smiskol
a0c8df3d73 ui: update calibration limits text (#30014)
* update translations

* update text

* round down
2023-09-22 21:38:07 -07:00
Jason Wen
64e38459d0 Merge branch 'master' into dev-priv/master
# Conflicts:
#	system/fleetmanager/fleet_manager.py
#	system/fleetmanager/helpers.py
2023-09-23 00:36:44 -04:00
Jason Wen
d20dbdf12b Update CHANGELOGS.md 2023-09-22 23:53:46 -04:00
Jason Wen
a8fbb3bcec Merge branch 'master' into dev-priv/master 2023-09-22 23:50:24 -04:00
Jason Wen
9308c16823 Core management (#232)
* set core affinity and priority for gpxd and gpx_uploader

* use higher cores

* 4 is available offroad

* sync them all

* set for fleet manager

* only upload gpx while offroad
2023-09-23 09:43:29 -04:00
Jason Wen
c514823c94 navd: Prioritize comma Prime Mapbox token (#286) 2023-09-23 01:59:16 -04:00
Jason Wen
ac7d86d292 navd: Auto detect custom Mapbox token (#285)
* navd: Auto detect custom Mapbox token

* cleanup
2023-09-23 01:26:09 -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
Jason Wen
84f6fce906 ui: Onroad Options Panel (#249)
* init and bring back DLP

* Add button, DLP, GAC

* GAC: remove in separate PR

* sync

* unused

* readjust onroad settings button

* uncomment

* cleanup

* more cleanup

* update params right away

* fix values

* Rearrange buttons

* align buttons with dev ui dynamically

* draw feature statuses on camera view

* ui: Consolidate feature status string updates

* narrower panel

* slight cleanup

* rearrange

* slight cleanup

* subtitle below

* slc text color

* Revert "ui: Consolidate feature status string updates"

* change all to driving_personality

* declare their own

* Adjust panel subtitle

* Add Speed Limit Control button

* fix slc

* cleanup

* cleanup

* update comment
2023-09-22 23:23:00 -04:00
Justin Newberry
f223b66b7b CI: remove warning messages (#30013)
remove ci warnings
2023-09-22 19:59:38 -07:00
Adeeb Shihadeh
5f318faf93 model replay: add cameraOdometry (#30007)
* model replay: add back cameraOdometry coverage

* update refs

* try again

* fix cmp log
2023-09-22 17:10:36 -07:00
Hoya
e16d530da9 Hyundai: Car port for AZERA Hybrid 6TH Generation (#29984)
* Update interface.py

add AZERA HEV 6TH_GEN

* Update hyundaican.py

ADD AZERA HEV 6TH_GEN

* Update values.py

add AZERA_HEV_6TH_GEN

* Update override.yaml

add AZERA HEV 6TH GEN

* Update CARS.md

add AZERA HEV 6TH GEN

* Update CARS.md

* Update routes.py

Add AZERA HEV 6TH GEN

* Update routes.py

* Update values.py

* Update values.py

* Update routes.py

* Update routes.py

* Update values.py

* Update values.py

* Update CARS.md

* Update values.py

* Update RELEASES.md

* Update RELEASES.md

* Update routes.py

* Update routes.py

* Update routes.py

* The route driven by added value.py with engine and transmission finger.

* Update interface.py

I applied it with the actual vehicle spec value.

* move up release to 096

* fixes

* docs

* fix mass

---------

Co-authored-by: haram-KONA <88036668+haram-KONA@users.noreply.github.com>
Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-22 02:06:16 -07:00
Shane Smiskol
f341baff8a Add Optima to release notes
It's the first OptimaH in release
2023-09-22 00:59:36 -07:00
Shane Smiskol
39c8bfc09c Kia: Optima Hybrid 2019 car port (#29992)
* add 2019 OptimaH

* fix

* fix gears

* rename

* should be in unsup long

* fix

* probable cause

* add test route

* update docs

* fix test

* spacing

* note it's only old
2023-09-22 00:58:14 -07:00
Adeeb Shihadeh
63068b936b disable panda flash logging (#30000)
* disable panda flash logging

* bump panda
2023-09-21 20:51:28 -07:00
Adeeb Shihadeh
362c0bf2ca Revert "modeld: remove extra cloudlog.bind, manager does this"
This reverts commit 754af893e9.
2023-09-21 20:13:13 -07:00
Adeeb Shihadeh
754af893e9 modeld: remove extra cloudlog.bind, manager does this 2023-09-21 20:06:46 -07:00
Jiyong Youn
d62a1135af HKG: Add FW versions for Kia K5 Hybrid 2022 (#29988)
* HKG: Fingerprint for Kia K5 HEV 2022

* update docs

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-21 19:04:53 -07:00
Jason Wen
b1bb33418e ui: Feature Status display conditions (#283) 2023-09-21 21:35:55 -04:00
Shane Smiskol
d47e8f53a5 bump pandaStates to 10Hz (#29889)
* bump pandaStates to 10Hz

* run thermald at 2 Hz

* use service list for freq

* even better

* fix import

* use DT_TRML

* revert service list

* bump cereal

* no inter

* not sure why 5hz before

* revert

* revert peripheral

* poll on peripheralState

after pandaStates

* Revert "poll on peripheralState"

This reverts commit 5eecb83e070dd51b550a47f3e0e7a1600b8da4e4.

* revert this

* bump

* cmt

* fix

* bump to master
2023-09-21 18:35:14 -07:00
Shane Smiskol
7f073483bb services: capitalize constant service list (#30005)
* rename

* bump

* Apply suggestions from code review
2023-09-21 18:25:15 -07:00
Shane Smiskol
37422d0437 pre-commit: use non-deprecated lock file check command (#30003)
Update .pre-commit-config.yaml
2023-09-21 17:41:44 -07:00
Shane Smiskol
fb8f7ba847 hypothesis: fix too slow health check (#30001)
* update hypothesis

* change less
2023-09-21 17:40:14 -07:00
Harald Schäfer
3799fe46b3 Optimus Prime Model 🤖 (#29752)
* b449f295-7e40-4f97-96a6-d858815955e5/700

* make it compile b449f295-7e40-4f97-96a6-d858815955e5/700

* simpler - b449f295-7e40-4f97-96a6-d858815955e5/700

* feature_len changed

* 0a833ab4-9fc7-4e51-a686-9bce3eafcb91/700

* Revert "0a833ab4-9fc7-4e51-a686-9bce3eafcb91/700"

This reverts commit 41708b88447cfcf302b16f21f0caa69450bbd3df.

* 0a833ab4-9fc7-4e51-a686-9bce3eafcb91/700 again

* Update ref

* update ref

---------

Co-authored-by: Yassine <yassine.y10@gmail.com>
2023-09-21 13:51:12 -07:00
Justin Newberry
2132e2358d Simulator: improve carla experience (#29996)
* wip

* carla improvments

* reset that
2023-09-21 10:38:06 -07:00
Dean Lee
494228e0e1 proclogd: fix test failures (#29971) 2023-09-21 10:25:35 -07:00
Justin Newberry
0857f4bb85 Simulator: add reset hotkey (#29995)
add sim reset
2023-09-20 17:28:41 -07:00
Justin Newberry
f69a45faba Tests: power_monitoring disable nonblocking writes (#29994)
* better error logging

* fix power monitoring test

* revert that

* properly patch it
2023-09-20 16:51:46 -07:00
Justin Newberry
1f8ceb4ca1 Simulator: fix port issues in devcontainer (#29977)
* fix sim devcontainer

* use host.docker.internal instead

* devcontainer supports jsonc
2023-09-20 16:34:29 -07:00
Terry Huang
feeb827369 Chinese translations update (#29993) 2023-09-20 13:58:37 -07:00
Justin Newberry
6f0affbcd2 CI: disable buildjet on PR's from forks (#29979)
* fix fork CI

* linter

* needed for docker build too

* slightly more clear

* you should have gone for the head
2023-09-20 13:15:23 -07:00
Justin Newberry
e02519bb71 Simulator: add metadrive as optional simulator (#29935)
* Add metadrive sim

* use monotonic

* don't use cuda if it's not available

* Cleanup metadrive patches

* PR suggestions

* fix typo
2023-09-20 10:35:57 -07:00
Shane Smiskol
897566957d HKG: remove duplicate FW version 2023-09-20 03:00:05 -07:00
Shane Smiskol
16f0829404 Honda: add missing Ridgeline 2021 FW version (#29991)
add missing combo meter
2023-09-20 02:18:57 -07:00
kiwicolt
28e384e7a3 HKG: FW for ICE Kia Sportage 2022/23 Australia and New Zealand (#29990)
* Update values.py

* Update values.py

Added Kia Sportage 2022/23 for Australia and New Zealand.

* Update values.py

Added Kia Sportage for AUS and NZ
2023-09-20 02:07:09 -07:00
Jason Wen
6a4c4836b8 HKG: Add FW Versions for Kia Carnival 2024 (#29962) 2023-09-20 00:29:25 -07:00
Saber
9959a93a4a VW MQB: Add FW for 2019 Skoda Superb (#29955)
route name:0bbe367c98fa1538|2023-09-18--12-06-13--0
2023-09-20 00:25:24 -07:00
Shane Smiskol
8b962479dc pj: fix CAN bus layout for test 2023-09-20 00:19:34 -07:00
Adeeb Shihadeh
165157748c can debug pj layout 2023-09-19 21:25:20 -07:00
Adeeb Shihadeh
cd75dcb03f Update Python packages and pre-commit hooks (#29974)
* Update Python packages and pre-commit hooks

* fix linter

---------

Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-09-19 16:24:58 -07:00
Dean Lee
81d4595c19 params: log prefix on fail (#29973) 2023-09-19 16:22:33 -07:00
Adeeb Shihadeh
a90a2cd656 bump version to 0.9.6 2023-09-19 16:18:39 -07:00
Justin Newberry
206fab9b4e Params: nogil at the end (#29983)
* nogil at the end

* Wrong pr

* Wrong pr
2023-09-19 15:07:54 -07:00
Shane Smiskol
b50a769ae9 Revert "Toyota: use torque control for Japanese-made 2023 RAV4" (#29978)
Revert "Toyota: use torque control for Japanese-made 2023 RAV4 (#29896)"

This reverts commit 9dfd0579d4.
2023-09-19 14:29:54 -07:00
DevTekVE
32e514f421 mapd: Bump scipy to 1.11.1 (#209)
Update scipy version in custom_dep.py

This commit updates the version of scipy in custom_dep.py from 1.7.1 to 1.11.1. This change is done to allow installing from non prebilt branches as the former scipy requested is incompatible with python 3.11.

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-09-19 17:06:51 -04:00
Justin Newberry
bee40de703 Simulator: fix controlsd mismatch (#29976)
fix controls mismatch
2023-09-19 12:51:54 -07:00
Jason Wen
65e08b51a0 ui: Update Feature Status texts (#282) 2023-09-19 00:26:43 -04:00
Adeeb Shihadeh
d0a31515a0 dev container: pull docker base image (#29968) 2023-09-18 19:45:12 -07:00
Adeeb Shihadeh
66e5531c25 add tmux and vim config to dev container (#29967) 2023-09-18 19:32:27 -07:00
Harald Schäfer
4b55d90af9 setup README: Native on 20.04, WSL on windows, otherwise devcontainer (#29928)
* Main README: Webcam needs work, don't mention

* Update README.md

* Link to VSCode guide

* Update README.md

* Fix formatting

* Update README.md

* little more

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-18 19:01:32 -07:00
Justin Newberry
8aad9758cf Params: better error logging on constructor (#29954)
* ensure params path

* static anlysis

* revert that
2023-09-18 16:50:44 -07:00
Adeeb Shihadeh
747a6149b4 docs: don't show panda kit in shop (#29963) 2023-09-18 16:30:11 -07:00
Dean Lee
50cca99e45 cabana/chart: add contex menu (#29957) 2023-09-18 16:14:54 -07:00
Adeeb Shihadeh
4b7b234b9e CI: login to docker hub on BuildJet (#29961)
* CI: login to docker hub on BuildJet

* shell

* try quotes

* forward

* try this

* can't believe this is broken

* try

* fix process replay
2023-09-18 15:53:16 -07:00
Jason Wen
0481fefa26 Merge branch 'master' into dev-priv/master 2023-09-18 16:15:05 -04:00
Jason Wen
1f1d09d91b FCR: sync with upstream supported car platforms 2023-09-18 16:13:58 -04:00
Dean Lee
a450eff89f cabana: fix QMenu leak (#29956)
fix qmenu leak
2023-09-18 11:25:35 -07:00
royjr
da4d4cff7d ui: add missing Arabic translations & show in UI (#29881)
* Update languages.json

* update_translations.py

* update_translations.py + vanish

* fix unfinished

* use arabic language for name and move down based on similar

* goreless

* better

* Revert "better"

This reverts commit f19f6cb5ba31209bd2659a16953fcc20b3ce31e7.

* better again
2023-09-18 01:06:39 -07:00
Jason Wen
f743c2f78a ui: Singleton Feature Status text and color (#281)
* ui: Singleton Feature Status text and color

* lower

* move color to eclipse to left of text

* move to right

* does not work

* cleanup

* more cleanup

* move a bit

* rename

* add commment
2023-09-17 20:19:26 -04:00
Adeeb Shihadeh
844b2815d5 add ruff package 2023-09-17 15:44:34 -07:00
Dean Lee
6f9798745c cabana: add button to skip to the end of stream (#29953) 2023-09-17 15:20:21 -07:00
Alexandre Nobuharu Sato
8a0711a67d Duplicated #include in settings.cc (#29951) 2023-09-17 15:19:43 -07:00
Adeeb Shihadeh
079a51cfdf Revert "CI: login to dockerhub on aarch64 runners (#29915)"
This reverts commit c9ec7bc2a3.
2023-09-17 15:16:07 -07:00
Shane Smiskol
5cb4e83528 ruff: check mutable default values for data class attributes (#29945)
* Update pyproject.toml

* Update pyproject.toml
2023-09-16 15:11:09 -07:00
Narayan Babu
5831c05a11 Add Tiguan 2019 fingerprint (#29892)
* Added new ECU fingerprints

* Update values.py

formatting, syntax
2023-09-16 00:19:20 -07:00
venmer2
ce608d03b7 VW: missing FW for Tiguan 2019 (#29943)
* Update values.py for VW Tiguan 2019 SEL

Added all ECU Firmware Versions for VW Tiguan 2019 SEL model

* rm duplicates

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-15 23:24:30 -07:00
Quake4net
f7d49ecca1 VW: fingerprint for Crafter MK2 (#29926)
* Update values.py

Added Crafter_MK2 fwVersions: Problem there where two engine ecu's with the same address, I added both into the fwVersion list.

* Update values.py

deleted the hyundai engine ecu fwVersion - Discord told me to ignore Hyundai parts so I deleted that one line again.
2023-09-15 23:11:20 -07:00
Jason Wen
2b8af5d398 ui: Handle frequency checks for live params and other element (#280) 2023-09-15 23:40:23 -04:00
Jason Wen
1a0da520fc Revert "ui: Handle frequency checks for live params and other elements (#278)" (#279)
This reverts commit acf280e15b.
2023-09-15 23:15:17 -04:00
Jason Wen
acf280e15b ui: Handle frequency checks for live params and other elements (#278) 2023-09-15 22:55:59 -04:00
Kacper Rączy
f0b8ecd14f macOS: add prompt about support in setup script (#29939)
* Add prompt about the state of macos support in mac_setup

* Change words

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

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-09-15 19:05:32 -07:00
Jason Wen
22a5951aa7 ui: Add comment and organize Auto Hide Button and Onroad Brightness (#277) 2023-09-15 21:55:16 -04:00
Adeeb Shihadeh
ccc8e099b6 sensord: test update for provisioning (#29942)
sensord: update for provisioning
2023-09-15 18:50:43 -07:00
Jason Wen
d315926396 Revert "UI: check params every 5 seconds" (#276)
* Revert "UI: check params every 5 seconds"

* add comment
2023-09-15 20:28:25 -04:00
Jason Wen
27dc94e52a ui: Adjust screenrecorder button position (#275) 2023-09-15 19:18:27 -04:00
Harald Schäfer
ef50b4fdac Test modeld: 3s enough for modeld startup (#29936)
* Test modeld: 3s enough for modeld startup

* Always fails when you send frames before modeld is ready

* Wait for modeld to read
2023-09-15 14:59:46 -07:00
Justin Newberry
ad7432b45d update metadrive (#29938) 2023-09-15 14:55:08 -07:00
Justin Newberry
c6f1f36789 CI: reduce unittest timeout (#29937)
reduce timeout
2023-09-15 14:38:51 -07:00
next176
22e7aa3d98 Hyundai Ioniq 6 "EUR" fwdCamera fingerprint (#29930)
* Update values.py

Hyundai Ioniq 6 Premium AWD 2023 / EUR fingerprint

* Update routes.py

Ioniq6 EUR model

* Update selfdrive/car/tests/routes.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-15 14:05:44 -07:00
Justin Newberry
7f6718a7cb Simulator: cleanup in preparation for metadrive (#29903)
* sim bridge cleanup

* fix carla

* remove that exception

* pr cleanup

* update car in a thread

* more cleanup

* import sorting

* handle exits better
2023-09-15 14:02:09 -07:00
Kacper Rączy
dd26a1faad devcontainer: expose host config, fix mac screen issues (#29932)
* export host config via .host/.env file. fix mac display issues

* append instead of replace for bashrc

* Log when mac display override happens

* Update xauthority path in json
2023-09-15 23:00:24 +02:00
Justin Newberry
09bef0a165 ignore temp translations (#29931) 2023-09-15 13:33:05 -07:00
Justin Newberry
7e54882458 test_locationd: don't redownload logs (#29929)
don't redownload logs
2023-09-15 13:11:39 -07:00
Adeeb Shihadeh
e0edff65d5 Update RELEASES.md 2023-09-15 12:57:45 -07:00
mitchellgoffpc
33c51c122b Added release notes for new driving model 2023-09-15 10:26:38 -07:00
Dean Lee
6a72d53296 cabana/chart: fix value overflow (#29924)
fix value overflow
2023-09-15 03:20:27 -07:00
Shane Smiskol
05db624884 GM: use new ignition signal (#29923)
bump panda
2023-09-15 02:55:30 -07:00
Jason Wen
04b62555a0 Gap Adjust Cruise: Fix carstate button press logic (#274) 2023-09-15 04:02:12 -04:00
Shane Smiskol
7ceccaf6c3 bump opendbc (#29922)
* change signals

* bump opendbc

* bump

* bump
2023-09-15 00:30:49 -07:00
Dean Lee
c4df40a04a cabana: support ECU node names (#29897)
* support display&edit node name

* cleanup

* set validator for Node name

* modify validator to support multiple receivers

* set default to XXX in updateMsg

* add DEFAULT_NODE_NAME

* Update tools/cabana/commands.h

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-15 00:27:44 -07:00
Shane Smiskol
1410a1150c test_models: check controlsd events (#29907)
* test_moedls: check controlsd events

* clean up

* sort

* controlsd modifies CP

* fix

* can use any segment now

* final fix

* use constant
2023-09-14 20:20:49 -07:00
Adeeb Shihadeh
59c7a1d5d4 bump panda (#29917) 2023-09-14 19:05:17 -07:00
Kacper Rączy
c9ec7bc2a3 CI: login to dockerhub on aarch64 runners (#29915)
* DOCKER_HUB_LOGIN command

* Add docker creds

* checkout runner name

* test again

* Use runner.name to distinguish between buildjet and GH runners
2023-09-14 17:08:49 -07:00
Shane Smiskol
9dfd0579d4 Toyota: use torque control for Japanese-made 2023 RAV4 (#29896)
* use torque for 2023 RAV4s that allow it

* FW

* better cmt

* better

* better values comment

* switch

* add torque params

* simpler

* better to use steerControlType

* ???

* fix condition

* adjust params

* pid is only for old cars

* add comment

* move comment up

* one if

fix

* invert

* better comment

* better here

* for

* add torque hybrid test route

* fix condition

* this might be simpler

* back to one if

fix

* better name

* other way

* this reads so much better

* last change

* better

* did i break ci?
2023-09-14 14:48:12 -07:00
YassineYousfi
880157f5a6 framereader: add cache_dir argument (#29904)
* framereader: add cache_dir argument

* make it an env var
2023-09-14 14:36:32 -07:00
Adeeb Shihadeh
7ef8898624 don't run test twice 2023-09-14 14:08:24 -07:00
Vivek Aithal
e9edf1300a locationd: Unit tests for different scenarios (#29908)
* add different scenarios for locationd

* add locationd scenario tests to unit tests
2023-09-14 13:59:21 -07:00
Jason Wen
a809a7f6fd ui: 15% opacity drop shadow with Feature Status (#273) 2023-09-14 15:39:37 -04:00
Jason Wen
ccde494acc ui: Hide bottom row dev UI when alerts are displayed (#272) 2023-09-14 15:12:01 -04:00
Jason Wen
814e644a35 ui: Drop shadow on Feature Status texts (#271) 2023-09-14 15:02:51 -04:00
Jason Wen
020cd7b1f8 ui: Feature Status cleanup (#270) 2023-09-14 13:54:33 -04:00
Jason Wen
e8a6afa656 Subaru: Fix brake light signal rename (#269) 2023-09-14 11:55:10 -04:00
Jason Wen
b68ce95c87 Gap Adjust Cruise: Unused UI variable (#268) 2023-09-14 11:26:58 -04:00
Jason Wen
59fa3c8770 Gap Adjust Cruise: Slight cleanup (#267) 2023-09-14 04:31:13 -04:00
Jason Wen
0b09c641a9 Gap Adjust Cruise: Handle distance bar on cluster for Hyundai CAN-FD (#266) 2023-09-14 04:15:04 -04:00
Jason Wen
1958fa95cf Gap Adjust Cruise: Handle min and max distance on cluster (#265)
* Gap Adjust Cruise: Handle min and max distance on cluster

* lint
2023-09-14 04:11:46 -04:00
Jason Wen
b2ef8fb5bf Gap Adjust Cruise: Remove unused variables (#264) 2023-09-14 03:47:47 -04:00
Jason Wen
b868339f7a Gap Adjust Cruise: Merge with Driving Personality (#263)
* Merge Gap Adjust Cruise with Driving Personality

* last bit
2023-09-14 03:15:43 -04:00
Jason Wen
787406ba39 ui: Detect and sync param changes with ButtonParamControl (#262) 2023-09-14 01:42:32 -04:00
Justin Newberry
6666413626 test_replay: speedup by preventing multiple downloads (#29901)
* Demo route fixture

* fix tests

* demo route download

* remove iostream
2023-09-13 19:19:06 -07:00
Dean Lee
82452ec66b cabana: use QStaticText to boost rending performance (#29900)
use QStaticText to boost rending performance
2023-09-13 19:00:00 -07:00
Vivek Aithal
01011c6c1d liblocationd: No longer used (#29909)
remove liblocationd
2023-09-13 18:59:32 -07:00
Justin Newberry
a95c896b5f Simulator: launch simulator from any directory (#29910)
launch sim from any directory
2023-09-13 18:47:39 -07:00
Jason Wen
0d3cc2ae04 HKG: Car Port for Kia K8 Hybrid 2023 (HDA2) (#29899)
* HKG: Car Port for Kia K8 2023 (HDA2)

* Fix release docs

* add test route

* engaged segment

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-13 15:20:03 -07:00
Kacper Rączy
fb804c9529 scons: delete SHARED flag (#29906)
Delete SHARED
2023-09-13 14:39:06 -07:00
Jason Wen
d3e93e919c ui: Add Dynamic Lane Profile to Feature Status Panel (#261)
* ui: Add Dynamic Lane Profile to Feature Status Panel

* missed
2023-09-13 17:17:13 -04:00
Jason Wen
91770b9afb Revert "ui: Add Dynamic Lane Profile to Feature Status Panel (#259)" (#260)
This reverts commit b4acb61c1c.
2023-09-13 17:16:22 -04:00
Jason Wen
b4acb61c1c ui: Add Dynamic Lane Profile to Feature Status Panel (#259) 2023-09-13 17:15:39 -04:00
Jason Wen
35186a31a6 ui: Draw feature statuses on camera view (#258) 2023-09-13 17:10:58 -04:00
Dean Lee
0bd9df3193 cabana: bug fixes (#29902)
* fix freq

* fix chart legend alignment issue
2023-09-13 12:52:56 -07:00
Dean Lee
34f5cad4e7 cabana/chart: use different colors to distinguish similar signals (#29890)
* Use different colors to distinguish similar signals

* check hueF value

* lighter
2023-09-13 03:03:16 -07:00
Jason Wen
748eb4a7c7 Hyundai: Car Port for Azera 6th Generation (#29876)
* Hyundai: Car Port for Azera 2022

* harness k

* not crc8

* use gen

* add test route

* Middle East only

* Revert "Middle East only"

This reverts commit 1abe795ad00d10344761e99f415a1cfc14f4c163.

* rename to 6th gen

* sorting

* has a little less torque

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-13 02:22:04 -07:00
Dean Lee
587f6ce0dc cabana: mark the undo stack as clean after save as (#29898)
Marks the undo stack as clean after save as
2023-09-13 01:14:12 -07:00
Jason Wen
9545f2547e ui: screenrecorder button resize (#257) 2023-09-12 23:23:43 -04:00
Jason Wen
fa1188a1f2 ui: Align bottom row icons and buttons with Dev UI dynamically (#256)
* ui: Align bottom row icons and buttons with Dev UI dynamically

* fix
2023-09-12 23:08:43 -04:00
Dean Lee
d9f107a2c9 cabana: improve precision of timeline (#29872) 2023-09-12 19:49:59 -07:00
Jason Wen
25a3fa5333 ui: Custom onroad button sizes (#255)
* ui: Custom button sizes

* remove space
2023-09-12 18:13:38 -04:00
Jason Wen
43c89de187 ui: Fix buttons layout recreation (#254) 2023-09-12 18:04:59 -04:00
Dean Lee
f63dc51284 cabana: display warning if failed to write settings (#29873)
* display warning if failed to write_settings

* use Settings::filePath()
2023-09-12 13:13:59 -07:00
Adeeb Shihadeh
ac2d052512 Update Python packages and pre-commit hooks (#29891)
Co-authored-by: adeebshihadeh <adeebshihadeh@users.noreply.github.com>
2023-09-12 13:12:55 -07:00
Varun Nair
9596a3c940 Updating the readme.md to make it easier to follow (#29820)
* upadting the readme.md to make it easier to follow

* addressing pr comments

* addressing the pr

* Update README.md

* bold

---------

Co-authored-by: Harald Schäfer <harald.the.engineer@gmail.com>
2023-09-12 11:38:29 -07:00
Greg Hogan
140a4ba558 importing auth_config.py should not have side effects (#29893)
import should not create directory
2023-09-12 18:00:18 +00:00
Jason Wen
311b53b514 ui: Wrap buttons layout in AnnotatedCameraWidget (#253) 2023-09-12 12:38:10 -04:00
Jason Wen
53e45a81ef ui: fix spacing from upstream merge 2023-09-12 12:31:16 -04:00
Jason Wen
f76534cf75 ui: Wrap wake screen timeout check in OnroadWindow (#252) 2023-09-12 12:29:23 -04:00
Jason Wen
f5a518b8af GAC: remove legacy onroad button (#251) 2023-09-12 12:21:06 -04:00
Jason Wen
dbbb20a0ef ui: Rename mapVisible to splitPanelVisible (#250) 2023-09-12 12:15:59 -04:00
Erich Moraga
9b959dc86e VW MQB: Add missing FW versions for 2018 Skoda Superb (#29792)
VW MQB: Add SRS, transmission, & engine ECU versions for 2018 Skoda Superb

`@Gottmoz#6511` 2018 Skoda Superb  DongleID/route 54ada937747ef8ca|2023-09-06--06-40-46
2023-09-12 01:44:59 -07:00
Shane Smiskol
279377ec0b Hyundai CAN FD: disallow Manual Speed Limit Assist for EVs (#29888)
* bump opendbc

* block MSLA

* EV only

* Update selfdrive/car/hyundai/carstate.py

* Update selfdrive/car/hyundai/carstate.py

* Update selfdrive/car/hyundai/carstate.py

* Update selfdrive/car/hyundai/carstate.py
2023-09-12 01:34:33 -07:00
Shane Smiskol
3d60e8a2a0 Hyundai CAN: log nonAdaptive cruise state (#29880)
* log nonAdaptive

* bump opendbc

* test labeler

* test labeler 2

* revert
2023-09-12 00:09:09 -07:00
Justin Newberry
a87d62ffa6 CI: fix setup retry sleep time (#29877) 2023-09-11 23:08:04 -07:00
Justin Newberry
f9a60072f7 CI: never remove existing labels (#29885) 2023-09-11 23:04:53 -07:00
Dean Lee
11d157369b cabana/chart: fix rubber band precision issue (#29887)
fix rubber band precision issue
2023-09-11 22:56:40 -07:00
Shane Smiskol
d0c922ce77 bump opendbc (#29884) 2023-09-11 20:58:30 -07:00
Kacper Rączy
57f0c3b8d5 macos: link qt5 during setup (#29879)
* link qt5 or prompt user to unlink existing qt installation if needed

* change condition

* version detection fixes

* fix wording
2023-09-11 17:00:08 -07: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
freddiebd
30084bb1be VW MQB: Add FW for 2019 Golf R Estate (#29843) 2023-09-11 14:11:32 -07:00
Adeeb Shihadeh
2c1dfc2f34 use pytest for cpp tests (#29833)
* add pytest-cpp package (#29828)

* add pytest-cpp package

* disable for now

* use in ci

* use pytest cpp

* use my branch

* add missing tests

* that doesn't make sense

* it was merged upstream

* replace TEST_RLOG_URL with a publicly accessible url

* PR Cleanup

* assert instead

* update poetry lock

* add comment about  pytest-cpp

---------

Co-authored-by: Justin Newberry <jnewberry0502@gmail.com>
Co-authored-by: Justin Newberry <justin@comma.ai>
Co-authored-by: deanlee <deanlee3@gmail.com>
2023-09-11 14:01:50 -07:00
Dean Lee
5e1b5b36e4 cabana: use applicationPath for settings (#29875) 2023-09-11 13:18:40 -07:00
Angus Gratton
43210ca0e2 replay: Include cstdarg from util (#29871)
Fix compilation errors "use of undeclared identifier" for va_start & va_end.
2023-09-11 08:01:07 -07:00
Jason Wen
253d8ccb85 Hyundai longitudinal: enable for KONA_EV (#29779)
* Hyundai longitudinal: enable for `KONA_EV`

* add test route

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-10 20:48:41 -07:00
Shane Smiskol
d7f8a489a3 bump panda (#29838)
* bump panda

* bump to master
2023-09-10 20:34:48 -07:00
Jason Wen
72d383262d HKG: Add FW Versions for Kia Carnival 2024 (#29840) 2023-09-10 20:33:02 -07:00
Jason Wen
d857c01f0d Fix upstream conflicts 2023-09-10 22:10:54 -04:00
Jason Wen
ff1d7d446b Merge branch 'master' into dev-priv/master 2023-09-10 22:07:06 -04:00
Jason Wen
29f32bc331 Fix upstream conflicts 2023-09-10 22:05:10 -04:00
Adeeb Shihadeh
d036148550 jenkins speedup (#29869)
* jenkins speedup

* cleanup
2023-09-10 16:47:07 -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
royjr
ece433f18e macOS: install gcc@13 to match panda requirements (#29868) 2023-09-10 16:26:27 -07:00
Dean Lee
ef4c963c60 cabana: add comparision operator for CanEvent (#29864) 2023-09-10 16:09:22 -07:00
Adeeb Shihadeh
a411af4f02 jenkins scripted pipeline (#29865)
* scripted

* exclude branches

* try that

* fix credentials

* fix

* tag with commit
2023-09-09 21:30:21 -07:00
Shane Smiskol
06233ca331 Toyota: get platform codes & docs (#29853)
* add get_platform_codes function

* add print_platform_codes.py

* add test

* not optional

* constant

* remove optional

* more
2023-09-09 19:48:44 -07:00
Jason Wen
20b54929ab ui: Adjust RocketFuel positions (#248) 2023-09-09 12:21:07 -05:00
Jason Wen
433f00ae0e ui: Dynamic blinker positions when the map is visible (#247) 2023-09-09 11:43:02 -05:00
Dean Lee
95ae87659d test_util.cc: do not compare file contents in REQUIRE (#29861) 2023-09-09 08:47:52 -07:00
Justin Newberry
50b954d595 CI: fix pr labeler permissions (#29862)
* fix pr labeler

* fix that
2023-09-09 01:02:49 -07:00
Justin Newberry
aa52cf3e81 CI: auto label PR's (#29842)
* auto label

* on pull request

* checkout

* yaml not yml

* recursive here too

* start with just car stuff and CI

* require all

* no fps

* add translations and fix CI
2023-09-08 17:24:19 -07:00
Kacper Rączy
c417669cbd docker: fix cl tag (#29858)
unset TARGET_ARCHITECTURE before running build
2023-09-08 17:20:03 -07:00
Justin Newberry
d3e5f66fc1 CI: fix aarch64 cache (#29857)
was not passed in
2023-09-08 17:13:18 -07:00
Mitchell Goff
9cc00c2101 Converted onnx runner to python (#29856) 2023-09-08 16:45:38 -07:00
Mitchell Goff
2d69f3d63e Update model input names to match onnx inputs (#29855)
Updated model input names to match onnx inputs
2023-09-08 16:06:16 -07:00
Shane Smiskol
c61479b1ae Hyundai: add platform code fuzzy FW test (#29847)
add test to assert no crashing
2023-09-08 15:15:22 -07:00
Kacper Rączy
b09ec6bb5b docker: fix multiarch tag push (#29850)
Fix multiarch merge script
2023-09-08 15:03:40 -07:00
Justin Newberry
0adc2f20c2 Prefix: cleanup more folders (#29848)
cleanup downloads folders
2023-09-08 14:54:15 -07:00
Kacper Rączy
1344a93a35 docker: multiarch images (amd64/aarch64) (#29691)
* arch specific tags

* merge multiarch script

* arm64 build and merge jobs

* update tag script

* casual ci test

* change image to 2204

* docker -v test

* arch specific naming

* Remove test_buildjet

* build -arch images only when CURRENT_ARCH_BUILD is set

* support new tags in tag_multiarch

* Toggle CURRENT_ARCH_BUILD on in ci

* Docker common

* Fix condition

* Fix path to docker_common

* Add more stuff to common

* Add build_arm job

* composite job for building

* Run checkout before build composite

* add shell arg

* move timeout to selfdrive_tests

* TARGET ARCHITECTURE var

* Support TARGET_ARCHITECTURE in workflow

* Rewrite to Single build job with matrix

* Remove shebang from docker_common

* Attempt for fix build matrix

* Remove setup arch

* build matrix for docker push

* Use 2vcpu for arm build

* 2vcpu for docker_push too

* temporarly unlock docker_push

* Remove requirement for target arch when pushing

* Unset target architecture in docker_push cl

* fix sha tags

* Rename action to compile-openpilot

* move push_image line to tag_multiarch step

* arch suffix for scons cache

* cache_key_prefix for setup-with-retry

* Re-disable docker_push on non-master

* Add newlines
2023-09-08 14:46:39 -07:00
Adeeb Shihadeh
fb1b1f15aa mock car cleanup (#29835)
* mock car cleanup

* fix
2023-09-08 14:03:14 -07:00
Adeeb Shihadeh
947abbcba0 fixup power draw test output (#29844)
* fixup power draw test

* no pytest
2023-09-08 13:01:04 -07:00
Justin Newberry
110cfef1c2 Ruff: disallow non-openpilot imports (#29841) 2023-09-08 10:43:02 -07:00
Adeeb Shihadeh
c96fe132e8 CI: increase model replay timeout 2023-09-08 10:41:54 -07:00
Jason Wen
26805f6184 Update CHANGELOGS.md 2023-09-08 11:28:10 -04:00
Jason Wen
9997c611f3 Custom Stock Longitudinal Control: re-enable for HKG CAN-FD 2023-09-08 11:20:55 -04:00
Jason Wen
f1eccc6036 Update CHANGELOGS.md 2023-09-08 11:10:16 -04:00
Jason Wen
d9ce8ab716 Hyundai: Add FW Versions for Kona Electric 2023 (#29805)
* Hyundai: Add FW Versions for Kona Electric 2023

* Update selfdrive/car/hyundai/values.py

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2023-09-08 00:39:48 -07:00
Shane Smiskol
3a7a42cf5b Hyundai: add comment about date codes in ABS FW 2023-09-08 00:34:27 -07:00
Shane Smiskol
aee6629690 bump panda (#29837) 2023-09-08 00:13:40 -07:00
Dean Lee
e9c1cf3b5a cabana/Sconscript: add back dependency on #opendbc (#29832)
add dep on #opendbc
2023-09-07 23:59:02 -07:00
Jason Wen
cedd322667 ui: update driving model name 2023-09-07 00:24:37 -04:00
Jason Wen
e50f3baa45 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/nissan/interface.py
#	selfdrive/car/subaru/carcontroller.py
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/car/toyota/interface.py
2023-09-07 00:05:25 -04:00
Jason Wen
ebfe40b76a Merge remote-tracking branch 'commaai/openpilot/master'
# Conflicts:
#	.github/workflows/selfdrive_tests.yaml
#	.pre-commit-config.yaml
#	cereal
#	opendbc
#	panda
2023-09-06 23:58:35 -04:00
Jason Wen
1376baeee4 Merge branch 'master-09052023' into dev-priv/master
Merge with upstream - 09-05-2023
2023-09-06 01:26:37 -04:00
Jason Wen
80cfdf13b7 bump panda 2023-09-06 01:26:02 -04:00
Jason Wen
a4cd9129ba Merge branch 'master' into dev-priv/master-test
# Conflicts:
#	selfdrive/controls/lib/speed_limit_controller.py
#	selfdrive/manager/process_config.py
2023-09-06 01:09:19 -04:00
Jason Wen
e0cc25c3e2 Migrate otisserv to pub (#205)
Migrate otisserv to pub
2023-09-06 01:06:02 -04:00
Jason Wen
7dbbc001eb Upstream merge fixes 2023-09-06 01:05:01 -04:00
Jason Wen
9b407fee17 MADS: set flag for minEnableSpeed > 0 cars (#245) 2023-09-05 23:54:51 -04:00
Jason Wen
92abd64efd Upstream merge fixes 2023-09-05 22:30:15 -04:00
Jason Wen
affe7884a0 Upstream merge fixes 2023-09-05 21:57:12 -04:00
Jason Wen
808611e691 Upstream merge fixes 2023-09-05 21:20:52 -04: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
27c485c621 bump to 0.9.5.1 2023-09-05 12:18:24 -04:00
Jason Wen
94e34f2539 bump panda 2023-09-05 12:17:10 -04:00
Jason Wen
7f8f9e2613 sunnypilot: fix duplicate ordinal 2023-09-05 11:55:45 -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
3d87d88dc6 MADS: Toyota: handle pedal disengage (#244) 2023-09-04 19:29:11 -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
Jason Wen
c9932561c4 ui: remove Q_PROPERTY from AnnotatedCameraWidget (sync with upstream) (#231) 2023-08-28 11:00:17 -04:00
Jason Wen
6341be1cd3 ui: sunnypilot menu refactor (#242)
* ui: `SPOptionControl`

* This works

* only need to initialize

* Use QButtonGroup

* Add method to update specific labels

* Always init label with value

* add method to update external methods

* Update in another PR

* Unnecessary

* construct std map with defined range

* Test that it works

* In separate PR

* change var

* refreshLabels() instead

* Revert "refreshLabels() instead"

This reverts commit ceed9935cf48c7db974e45ab5ab496a7bc3f9f26.

* allow individual `refresh` classes

* now we can do it in another PR!

* General: OnroadScreenOff

* General: OnroadScreenOffBrightness

* General: BrightnessControl

* Controls: CameraOffset

* Controls: PathOffset

* Controls: AutoLaneChangeTimer

* Controls: GapAdjustCruiseMode

* Controls: TorqueFriction

* Controls: TorqueMaxLatAccel

* Controls: SpeedLimitOffsetType

* Controls: SpeedLimitValueOffset

* General: MaxTimeOffroad

* Visuals: DevUiInfo

* Visuals: ChevronInfo

* unused

* add comment
2023-08-21 20:40:27 -04:00
Jason Wen
f673a44438 ui: add SPOptionControl to sunnypilot settings (#241)
* ui: `SPOptionControl`

* This works

* only need to initialize

* Use QButtonGroup

* Add method to update specific labels

* Always init label with value

* add method to update external methods

* Update in another PR

* Unnecessary

* construct std map with defined range

* Test that it works

* In separate PR

* change var

* refreshLabels() instead

* Revert "refreshLabels() instead"

This reverts commit ceed9935cf48c7db974e45ab5ab496a7bc3f9f26.

* allow individual `refresh` classes

* now we can do it in another PR!
2023-08-21 20:29:59 -04:00
Jason Wen
e47b386a23 bump panda 2023-08-19 21:54:28 -04:00
Jason Wen
bd583b98c1 MADS: keep longActive state for minEnableSpeed > 0 cars (#240) 2023-08-19 12:07:26 -04:00
Jason Wen
ec47a9e977 Manager: delay ui start (#238)
* remove unused

* start ui at the end

* Revert "remove unused"

This reverts commit f1cf4a597295da62bc93e4e858423cd50d439824.
2023-08-17 23:19:55 -04:00
Jason Wen
2741088ab0 ui: display wide cam based on steering angle (#217)
* ui: display wide cam based on steering angle

* Update CHANGELOGS.md
2023-08-17 12:35:11 -04: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
Jason Wen
6284795809 Merge branch 'master' into dev-priv/master 2023-08-16 21:58:39 -04:00
Jason Wen
57136b3e1a Toyota longitudinal: new TSS2 tuning (#200) 2023-08-16 21:57:31 -04:00
Jason Wen
dac7aeba87 Nissan: sendcan format fix (#233) 2023-08-14 17:11:55 -04:00
Jason Wen
7931f18df8 Merge branch 'master' into dev-priv/master 2023-08-11 17:52:12 -04:00
Jason Wen
583bf38e6a bump to 0.9.4.2 2023-08-11 17:51:36 -04:00
Jason Wen
fcd3520c35 Merge branch 'master' into dev-priv/master 2023-08-11 09:50:13 -04:00
Jason Wen
3449d301ae Update CHANGELOGS.md 2023-08-11 09:49:38 -04:00
Jason Wen
5e2b06668c ui onroad: utilize local variables for repeated capnp reader access (#230) 2023-08-11 01:22:59 -04:00
Jason Wen
bdd40ae585 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/mapd/lib/NodesData.py
2023-08-10 22:46:30 -04:00
Jason Wen
e57d077fd3 Update CHANGELOGS.md 2023-08-10 22:45:00 -04:00
Jacob Pfeifer
fbd4771469 mapd: utilize advisory speed limit in curves (#142)
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-08-10 22:43:39 -04:00
Jason Wen
9bc1632141 GAC: Ford support (#226)
* GAC: Ford support

* Update CHANGELOGS.md
2023-08-10 22:37:11 -04:00
Jason Wen
d7a2214dc9 MADS: Ford: LCA button signal fix (#229) 2023-08-10 22:05:33 -04:00
Jason Wen
edcb497308 MADS: disallow lateral control when process not running (#228) 2023-08-10 21:23:36 -04:00
Jason Wen
95393495f6 ui: remove Speed Limit Style and fix speed limit display (#227)
* ui: only allow single speed limit type to display

* Use unit conversion to set speed limit style if not nav

* Remove Speed Limit Style override options

* unused

* unused
2023-08-10 16:17:19 -04:00
Jason Wen
f0fecb14cb Merge branch 'master' into dev-priv/master 2023-08-10 16:07:37 -04:00
Jason Wen
fc59ed06f2 ui: remove Speed Limit Style 2023-08-10 16:07:13 -04:00
Jason Wen
e5a9e4439c ui: even driving screen button gaps (#225) 2023-08-10 09:43:37 -04:00
Jason Wen
6b21f7a72a ui: fix MapSettings/PrimeAdWidget border radius 2023-08-10 01:59:01 -04:00
Jason Wen
cf6e50af69 Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
2023-08-10 00:21:04 -04:00
Jason Wen
07a81c16bb Update CHANGELOGS.md 2023-08-10 00:20:27 -04:00
Jason Wen
d076a193be MADS: Ford support (#212)
* MADS: Ford support

* Update CHANGELOGS.md

* bump panda

* Update CHANGELOGS.md

* bump panda

* bump panda

* add LCA button
2023-08-10 00:18:29 -04:00
Jason Wen
019e612776 nav: Local Webserver Enhancements (from sunnypilot upstream) (#224) 2023-08-09 23:56:46 -04:00
Jason Wen
ea35f72528 ui: driving path size scaling with MADS status (#223)
* ui: driving path size scaling with MADS status

* cleanup
2023-08-09 03:46:39 -04:00
Jason Wen
cbc2469494 Merge branch 'master' into dev-priv/master 2023-08-07 00:41:31 -04:00
Jason Wen
aa043a3073 bump cereal 2023-08-07 00:41:07 -04:00
Jason Wen
eefcf0a266 DLP: move selector to SP - Controls menu (#222)
* DLP: move options to SP - Controls

* remove driving ui button

* Update CHANGELOGS.md

* no longer used
2023-08-06 23:39:16 -04:00
Jason Wen
1cb131c507 Revert "DLP: move selector to SP - Controls menu (#220)" (#221)
This reverts commit c3fd676e67.
2023-08-06 23:36:23 -04:00
Jason Wen
c3fd676e67 DLP: move selector to SP - Controls menu (#220)
* DLP: move options to SP - Controls

* remove driving ui button

* Update CHANGELOGS.md
2023-08-06 23:26:16 -04:00
Jason Wen
a22b22d4ae ui: driving screen button sorting (#219) 2023-08-06 22:22:20 -04:00
Jason Wen
8e7f3dbf44 mapd: check dependency versions at startup (#216)
* mapd: check dependency versions at startup

* can i do this

* can i do this

* store versions in var

* more concise

* loop it
2023-08-06 00:36:28 -04:00
Jason Wen
a4d793be92 Screenrecorder: fix layout hierarchy (#215) 2023-08-05 15:30:12 -04:00
Jason Wen
c81d29e8cf Merge branch 'master' into dev-priv/master 2023-08-04 17:46:37 -04:00
Jason Wen
259203e8b2 Update CHANGELOGS.md 2023-08-04 17:45:56 -04:00
Jason Wen
6a93469290 bump to 0.9.4.1 2023-08-04 17:41:01 -04:00
Jason Wen
dc98584f80 Screenrecorder: adjust button position (#214)
* screenrecorder: small fixes

* remove QPushButton press, use mouse release instead

* Revert "remove QPushButton press, use mouse release instead"

This reverts commit 02821f63bf428332c41301a1aeb577b838ac6885.

* use horizonal layout to store buttons

* make button smaller and center text
2023-08-04 17:31:49 -04:00
Jason Wen
eee9b8b67c sunnypilot: fix upstream conflicts 2023-08-03 00:48:44 -04:00
Jason Wen
f67d25dc01 ui: update driving model name 2023-08-02 23:34:45 -04:00
Jason Wen
e388b49872 mapd: bump scipy to 1.11.1
upstream openpilot 0.9.4 has Python upgraded to 3.11.4, scipy upgrade is required
2023-08-02 23:32:15 -04:00
Jason Wen
a9c70aa12b Merge branch 'master' into dev-priv/master 2023-08-02 22:52:54 -04:00
Jason Wen
1c7e799cc8 bump to 0.9.4.1 2023-08-02 16:38:33 -04:00
Jason Wen
e58a6eabdd sunnypilot: fix upstream conflicts 2023-08-02 15:07:02 -04:00
Jason Wen
1719fbc7e2 Merge branch 'master' into dev-priv/master 2023-08-02 15:06:14 -04:00
Jason Wen
58e106c0d5 sunnypilot: fix upstream conflicts 2023-08-02 15:03:05 -04:00
Jason Wen
31b29bc094 Merge branch 'master' into dev-priv/master 2023-08-02 12:58:28 -04:00
Jason Wen
35e8d675bc bump submodules 2023-08-01 23:04:11 -04:00
Jason Wen
8498b1a1c3 Merge branch 'upstream/openpilot/master' 2023-08-01 23:03:54 -04:00
Jason Wen
ec5258c69e files common: sync with sunnypilot:master 2023-07-12 01:27:47 -04:00
Jason Wen
43521a963e Merge branch 'master' into dev-priv/master 2023-07-12 01:17:31 -04:00
Mathew Locoteta
ac9315f6a7 Honda: Car Port for Accord 4-Cylinder 9th Generation (#124)
* Add 2016/2017 Accord 2.4L (Serial Steering V3)

* No longer used

* bump opendbc

* bump opendbc

* bump opendbc

* IDE

* unused

* small cleanup

* platform rename

* some more

* add to docs

* shorter name

* add to FCR

* update footnote

* Update CARS.md

* Update CARS.md

* bump opendbc

* Update footnote

* Update CARS.md

* Update CHANGELOGS.md

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-07-12 01:16:26 -04:00
Jason Wen
9d9383a61a Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
2023-07-11 09:29:56 -04:00
Jason Wen
1dfa7c0039 Update CHANGELOGS.md 2023-07-11 09:29:32 -04:00
Jason Wen
8476948e0c Torque lateral control: Disallow for angle control platforms (#208)
* Torque lateral control: Disallow for angle control platforms

* Update CHANGELOGS.md

* Update CHANGELOGS.md

* do this properly
2023-07-11 09:28:42 -04:00
Jason Wen
7d8db21954 Merge branch 'master' into dev-priv/master 2023-07-11 09:11:21 -04:00
Jason Wen
06b1a862d9 bump to 0.9.3.2 2023-07-11 09:10:53 -04:00
Jason Wen
54f17f0b5e Merge branch 'master' into dev-priv/master 2023-07-09 23:51:59 -04:00
Jason Wen
0621af480e car docs: add additional supported cars in sunnypilot (#192)
* car docs: add additional supported cars in sunnypilot

* Update non-SCC models

* Update non-SCC required parts

* sync
2023-07-09 23:51:08 -04:00
Jason Wen
9c0cfddacb Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2023-07-09 23:48:47 -04:00
Jason Wen
2658378ebe HKG: disable experimental longitudinal for non-SCC platforms (#195)
* HKG: disable experimental longitudinal for non-SCC platforms

* CAN-FD also
2023-07-09 23:47:42 -04:00
Jason Wen
eeef3491e5 Merge branch 'master' into dev-priv/master 2023-07-09 23:42:39 -04:00
Jason Wen
140d5272c8 HKG: specify required parts with no SCC models (#194) 2023-07-09 23:42:14 -04:00
Jason Wen
199e9e2c37 Merge branch 'master' into dev-priv/master 2023-07-09 23:36:19 -04:00
Jason Wen
06960c04fe HKG: specify supported trims with no SCC (#193) 2023-07-09 23:35:16 -04:00
Jason Wen
433dfd2b52 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/interface.py
2023-07-09 01:39:58 -04:00
Jason Wen
7ec767f53f Update CHANGELOGS.md 2023-07-09 01:38:20 -04:00
Jason Wen
d43592022a ui: Screen Recorder toggle display (#207)
* ui: Screen Recorder toggle display

* not needed

* duplicate

* Update CHANGELOGS.md
2023-07-09 01:36:15 -04:00
Jason Wen
f269e799b1 Re-enable Screenrecorder with resource fix (#204)
* Re-enable Screenrecorder with resource fix

* add this back

* didn't fix

* Update CHANGELOGS.md
2023-07-09 01:29:23 -04:00
Jason Wen
0bfa681eb7 ui: enable always_watchdog (#206) 2023-07-09 01:28:40 -04:00
Jason Wen
be7ee80d58 watchdog: always seen if offroad (#205)
* watchdog: always seen if offroad

* do this instead

* don't set always_watchdog until we have an exitcode
2023-07-09 01:27:10 -04:00
Jason Wen
122efe3a89 Use spFlags for sunnypilot specific features (pub) (#189)
* Use spFlags for sunnypilot specific features (pub)

* add remaining
2023-07-01 05:49:16 -04:00
Jason Wen
18120d8ee8 Merge branch 'master' into dev-priv/master 2023-06-30 15:48:47 -04:00
Jason Wen
32dd76bcb7 ui: Screen Recorder toggle display default on 2023-06-30 15:48:31 -04:00
Jason Wen
cdc69f925d Merge branch 'master' into dev-priv/master 2023-06-30 15:40:04 -04:00
Jason Wen
133fdcb43a ui: Screen Recorder toggle display prerequisites 2023-06-30 15:38:40 -04:00
Jason Wen
c0df986710 Update CHANGELOGS.md 2023-06-30 15:37:40 -04:00
Jason Wen
e04cdaf9e3 ui: revert onroad round border corners (#203) 2023-06-29 23:04:17 -04:00
Jason Wen
82cb6b6754 Merge branch 'master' into dev-priv/master 2023-06-29 17:26:15 -04:00
Jason Wen
d79689b967 Update CHANGELOGS.md 2023-06-29 17:25:56 -04:00
Jason Wen
39e0a32bcb Update CHANGELOGS.md 2023-06-29 11:55:58 -04:00
Jason Wen
6c68af71f0 DLP: enforce laneless when below 10 MPH or 16 KPH (#202)
* DLP: enforce laneless when below 5 MPH or 8 KPH

* Update CHANGELOGS.md

* make this simpler

* unused

* Update CHANGELOGS.md
2023-06-29 11:52:24 -04:00
Jason Wen
7bdb43a62c Revert "DLP: enforce laneless when below 10r MPH or 16 KPH (#187)" (#201)
This reverts commit 87a972b718.
2023-06-29 11:50:19 -04:00
Jason Wen
87a972b718 DLP: enforce laneless when below 10r MPH or 16 KPH (#187)
* DLP: enforce laneless when below 5 MPH or 8 KPH

* Update CHANGELOGS.md

* make this simpler

* unused
2023-06-29 11:49:58 -04:00
Jason Wen
eb75b0cfbd DLP: display Laneless path on initialization (#200)
* DLP: display Laneless path on initialization

* Default in ui as well
2023-06-28 16:07:20 -04:00
Jason Wen
3d9668d622 DLP: param loading changes (#199)
* DLP: read param in real-time

* read from param instead of lateralPlanner for init
2023-06-28 15:46:03 -04:00
Jason Wen
7ce9f862b3 Road Edge Detection: toggle state fix (#198)
* Road Edge Detection: toggle state fix

* one liner

* Revert "one liner"

This reverts commit 44a34a3505456181af47329fbe76119c7fa204fb.
2023-06-28 00:00:30 -04:00
Jason Wen
89e28560c0 Lateral Planner: read params every 2.5 second (#197)
* Lateral Planner: read params every 2.5 second

* Check every 2.5 second

* add all params here
2023-06-27 23:43:09 -04:00
Jason Wen
938a64620f Auto Lane Change Timer: cleaner method (#196) 2023-06-27 23:39:47 -04:00
Jason Wen
30c5781e11 Revert "Road Edge Detection: toggle state fix (#186)" (#195)
This reverts commit 42d1a75a02.
2023-06-27 23:16:13 -04:00
Jason Wen
42d1a75a02 Road Edge Detection: toggle state fix (#186) 2023-06-26 23:07:45 -04:00
Jason Wen
9e89575310 Toyota: TSS2 Longitudinal: Custom Tuning toggle (#185)
* Toyota: TSS2 Longitudinal: Custom Tuning toggle

* add this in another PR
2023-06-26 14:38:03 -04:00
Jason Wen
0da0e9231c Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/car/toyota/interface.py
2023-06-26 12:10:52 -04:00
Jason Wen
31a7b305ee Update CHANGELOGS.md 2023-06-26 12:09:53 -04:00
Jason Wen
2b506e49f0 Toyota longitudinal: TSS2 custom tuning behind toggle (#186)
* Toyota longitudinal: TSS2 custom tuning behind toggle

* cleanup

* add param

* Update CHANGELOGS.md

* Update CHANGELOGS.md
2023-06-26 12:28:20 -04:00
Jason Wen
4d614c6830 Driving Personality: sunnypilot changes (#176)
* make it callable

* ui: disable longitudinal personality when GAC is enabled

* different profiles between stock and gac

* not this class

* update profiles in stock

* only checks once on init

* Match GAC names

* update description
2023-06-25 23:52:24 -04:00
Jason Wen
1fa95672b7 GAC: update objects when toggling GAC (#178) 2023-06-25 23:45:47 -04:00
Jason Wen
05353894e8 ui: Sidebar Temperature selector (#183)
* ui: Sidebar Temperature selector

* don't update

* should be numerical

* update it!

* fix index

* fix

* correct wording

* use ListWidget-like method

* No lines, can shrink

* update description

* fix

* not needed

* Update CHANGELOGS.md

* cleanup
2023-06-25 10:34:07 -04:00
Jason Wen
6027b8a623 ui: Skip comma Prime ad if Mapbox token exists (#184)
* ui: Ski comma Prime ad if Mapbox token is valid

* check sk

* update!

* test

* might be doing it wrong all along

* try this
2023-06-25 10:08:35 -04:00
Jason Wen
23bd4e8659 Merge branch 'master' into dev-priv/master 2023-06-25 06:30:38 -04:00
Jason Wen
f7f90fd847 ui: Sidebar Temperature selector prerequisites 2023-06-25 06:30:22 -04:00
Jason Wen
0125389414 DLP: check state properly (#182)
* DLP: check state properly

* in a method
2023-06-25 00:47:32 -04:00
Jason Wen
8eb936d440 GAC: check state properly (#181) 2023-06-25 00:38:48 -04:00
Jason Wen
afb446231e Screenrecorder: Remove UI init hack (#180) 2023-06-25 00:31:25 -04:00
Jason Wen
31dccdce3a Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
2023-06-25 00:30:29 -04:00
Jason Wen
8f192cb975 Update CHANGELOGS.md 2023-06-25 00:29:52 -04:00
Jason Wen
c83de72cc4 Disable Screenrecorder (#179)
* ui: split screenrecorder as independent native process

* would this work

* Revert "would this work"

This reverts commit 9ef6e54f0d4161c64682ca98229e92a124e9995e.

* Revert "ui: split screenrecorder as independent native process"

This reverts commit 0b6c7f77ebbe4c39bfc84ada8b0c1d906ccd99d6.

* Let it compile

* start ui very late

* Revert "start ui very late"

This reverts commit b6437ab0172ded0addda66ebd48812fcb356e546.

* remove hack

* ignore 0x80001000

* oops

* Try this

* Check with this

* Revert "remove hack"

This reverts commit 45407b01fc349f0ab7dc1d06214ab28af306b60a.

* Revert "Revert "remove hack""

This reverts commit ad739cbbe93d2266f24dece5ee58dc73a0bf9079.

* Revert "Check with this"

This reverts commit b9c59fc4830e0a89272af01e8f5c086bfd343583.

* Revert "Try this"

This reverts commit ff31bca2794c2dc3541f5d66648fc27eba33094f.

* Revert "oops"

This reverts commit 8a5e56baed75ccdc3890b47cb1a531732b1a4574.

* Revert "ignore 0x80001000"

This reverts commit 24bc8f6f6c9571a75976a39d9a56aa50a91482b4.

* Revert "remove hack"

This reverts commit 45407b01fc349f0ab7dc1d06214ab28af306b60a.

* Revert "Revert "start ui very late""

This reverts commit a5b7d53b73b77a6982db203f6afe5035daffe404.

* Revert "start ui very late"

This reverts commit b6437ab0172ded0addda66ebd48812fcb356e546.

* Revert "Let it compile"

This reverts commit 06e82419fb366a46bef9f6eb06eb13a27b1d15aa.

* Revert "Revert "ui: split screenrecorder as independent native process""

This reverts commit 35618db461a319b138444957e0134e011f6f725b.

* Revert "Revert "would this work""

This reverts commit 25ec02d9dd12eb1166b979e3f6f1d2eac338c12b.

* Revert "would this work"

This reverts commit 9ef6e54f0d4161c64682ca98229e92a124e9995e.

* Revert "ui: split screenrecorder as independent native process"

This reverts commit 0b6c7f77ebbe4c39bfc84ada8b0c1d906ccd99d6.

* Disable Screenrecorder

* Add update
2023-06-25 00:29:14 -04:00
Jason Wen
df1c24b253 ui: E2E Longitudinal Status toggle fix (#177) 2023-06-23 21:33:40 -04:00
Jason Wen
f9ecf5cea1 Merge branch 'master' into dev-priv/master 2023-06-22 21:12:02 -04:00
Jason Wen
813d591204 Update CHANGELOGS.md 2023-06-22 21:11:46 -04:00
Jason Wen
7dd66a22c6 fix upstream conflict 2023-06-22 20:43:01 -04:00
Jason Wen
fead5d9d82 Use spFlags for sunnypilot specific features (#171) 2023-06-22 16:38:03 -04:00
Jason Wen
64558ef76a ui tests: skip check 2023-06-22 16:36:07 -04:00
Jason Wen
81f0c6bc63 ui: update driving model name 2023-06-22 15:23:22 -04:00
Jason Wen
78638a4a5f fix upstream conflict 2023-06-22 15:21:19 -04: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
ad18e2181b Merge branch 'master' into dev-priv/master 2023-06-22 11:54:42 -04:00
Jason Wen
ac75b20104 Rename DevUIInfo 2023-06-22 11:54:19 -04:00
Jason Wen
a9bcf732d0 Suppress panda siren if in park gear (#175)
* Suppress panda siren if in park gear

* bump panda
2023-06-21 07:33:00 -04:00
Jason Wen
a9c0e59004 Revert "Skip heartbeat check if in parked gear" (#174)
* bump panda

* Revert "Skip heartbeat check if in parked gear"

* bump panda
2023-06-21 07:23:25 -04:00
Jason Wen
67c7816c35 Merge branch 'master' into dev-priv/master 2023-06-18 22:36:26 -04:00
Jason Wen
6e781d3801 Update CHANGELOGS.md 2023-06-18 22:36:14 -04:00
Jason Wen
4eaaebc592 HKG CAN: Smoother Stopping Performance toggle (#173)
* HKG CAN: Smoother Stopping Performance toggle

* only toggleable offroad
2023-06-18 22:29:54 -04:00
Jason Wen
eeaa6185ff Merge branch 'master' into dev-priv/master 2023-06-18 22:09:29 -04:00
Jason Wen
97a61463b2 HKG CAN: Smoother Stopping Performance prerequisites 2023-06-18 22:09:17 -04:00
Jason Wen
ce91902139 Jenkins: Manual approval and 10-minute timeout for staging-c3 builds (#172) 2023-06-18 21:21:40 -04:00
Jason Wen
479fe77756 Merge branch 'master' into dev-priv/master 2023-06-18 20:49:28 -04:00
Jason Wen
733cf3c521 Add SP flags 2023-06-18 20:49:05 -04:00
Jason Wen
52a927c08a Merge branch 'master' into dev-priv/master 2023-06-18 20:33:52 -04:00
Jason Wen
30e455e367 bump to 0.9.3.1 2023-06-18 20:33:30 -04:00
Jason Wen
fe08549ded Build scripts: disable concurrent builds 2023-06-18 20:23:02 -04:00
Jason Wen
a7771a66aa Build scripts: add identity.sh (#170)
* Build scripts - concurrent builds with Jenkins

* Allow concurrent builds

* Build scripts: add identity.sh
2023-06-18 17:06:02 -04:00
Jason Wen
ab7d30dbfc Build scripts - concurrent builds with Jenkins (#169)
* Build scripts - concurrent builds with Jenkins

* Allow concurrent builds
2023-06-18 16:59:35 -04:00
Jason Wen
5801d081e8 Merge branch 'master' into dev-priv/master 2023-06-18 10:03:58 -04:00
Jason Wen
d4fa3ad160 Update CHANGELOGS.md 2023-06-18 10:03:05 -04:00
Jason Wen
9868e6df88 Merge branch 'master' into dev-priv/master 2023-06-18 07:16:20 -04:00
Jason Wen
848718e0c1 Update CHANGELOGS.md 2023-06-18 07:14:01 -04:00
Jason Wen
842f18ba3b Jenkins: dev and staging builds (#168)
* Add SP Jenkinsfile

* try this

* or this?

* New method

* good ol method

* how about this

* Revert "how about this"

This reverts commit a05741621f86ea65f727c1814c7fee0a819159ae.

* another new method

* try this

* Revert "try this"

This reverts commit a4456e4167bcb47b2ccd1c0c6b2544379563fcf9.

* Revert "another new method"

This reverts commit 7faea7661e5a660411a9bc68b48f119a1bfca1d2.

* skip for now

* do this

* set env

* this

* run in c3

* building now!

* No concurrent builds

* test no concurrent builds

* try discord notifier

* in description

* don't stop

* try this

* always send

* can we do this?

* in a script pls

* ready

* no need

* take a step back

* test

* misspell

* replace cred

* try this

* quote

* this should send it

* gave it wrong URL

* use explicit url for now

* Revert "use explicit url for now"

This reverts commit 932d0117d1e1720caf5d3f0c6af659457f438e7f.

* use explicit url for now

* try this

* working as-is!
2023-06-18 06:45:30 -04:00
Jason Wen
816fc6e5d7 Build scripts: add exec to staging & dev (#167) 2023-06-17 21:57:14 -04:00
Jason Wen
73113a6b31 Merge branch 'master' into dev-priv/master 2023-06-17 12:38:13 -04:00
Jason Wen
e2f7da5cc9 Update CHANGELOGS.md 2023-06-17 12:37:51 -04:00
Jason Wen
b148b58601 ui: display blinker when blinker is on (#165)
* init

* looks good

* left done

* next to speedometer

* adjusted

* pass in x and y

* color & x

* spaced out properly next to speedometer!

* blindspots and pulsing rate

* fixes

* int instead

* Update CHANGELOGS.md

* add road edge block

* lower

* center a bit more

* that's it!

* only show green when hazard is on
2023-06-17 12:36:07 -04:00
Jason Wen
32ac0b0a2d Merge branch 'master' into dev-priv/master 2023-06-15 19:37:42 -04:00
Jason Wen
bac7873513 Update CHANGELOGS.md 2023-06-15 19:37:23 -04:00
Jason Wen
ae993522d2 ui: reset all sunnypilot params (#164)
* ui: reset all sunnypilot params

* test successful
2023-06-15 19:36:17 -04:00
Jason Wen
a05b549d9c Merge branch 'master' into dev-priv/master 2023-06-15 18:42:02 -04:00
Jason Wen
d9b652af7c Update CHANGELOGS.md 2023-06-15 18:41:46 -04:00
Jason Wen
17ad67821b Ram HD: ignore paramsd sanity check (#162)
* Ram HD: ignore paramsd sanity check

* can we do this

* this instead
2023-06-15 18:40:14 -04:00
Jason Wen
0063036aa3 MADS: Cruise Main button engage with cruise state available (#163)
* MADS: Cruise Main button engage with cruise state available

* simplify

* Revert "simplify"

This reverts commit 09276bc5d250d4357f593276686045e1359c0c37.
2023-06-15 16:03:24 -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
ea903ccff7 Merge branch 'master' into dev-priv/master 2023-06-15 07:10:07 -04:00
Jason Wen
7e3f6add58 Update CHANGELOGS.md 2023-06-15 07:09:38 -04:00
Jason Wen
6e0132856f Fleet Manager: toggle PIN requirement (#160)
* Fleet Manager: toggle PIN requirement

* update the entire title

* update the param

* handle conditions

* update on toggle press
2023-06-15 07:07:10 -04:00
Jason Wen
f762bd2155 Merge branch 'master' into dev-priv/master 2023-06-15 07:03:05 -04:00
Jason Wen
8dbfd8180e Update param 2023-06-15 07:02:53 -04:00
Jason Wen
7e86bdc371 Fleet Manager: toggle PIN requirement prerequisites 2023-06-15 07:02:27 -04:00
Jason Wen
a76ad396c8 Merge branch 'master' into dev-priv/master 2023-06-15 04:15:06 -04:00
Jason Wen
f67b0f5f77 Hyundai: Longitudinal support for CAN-based Camera SCC cars (#139)
* Hyundai: Longitudinal support for CAN-based Camera SCC cars

* gate FCA12 send to CAMERA_SCC_CARS for now

* unused

* sync with upstream PR

* Update CHANGELOGS.md

* Update CHANGELOGS.md

* separate from upstream

* bump panda
2023-06-15 04:14:43 -04:00
Jason Wen
97dce4ab17 Update CHANGELOGS.md 2023-06-15 04:11:59 -04:00
Jason Wen
653c3ea5d7 Merge branch 'master' into dev-priv/master 2023-06-14 23:52:10 -04:00
Jason Wen
20d5802010 Update CHANGELOGS.md 2023-06-14 23:51:49 -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
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
d50a9a7303 Merge branch 'master' into dev-priv/master 2023-06-14 07:28:58 -04:00
Jason Wen
1fbaab0b34 Auto Lane Change: Delay execution with BSM detection prerequisites 2023-06-14 07:28:45 -04:00
Jason Wen
56232b5535 Merge branch 'master' into dev-priv/master 2023-06-14 07:27:39 -04:00
Jason Wen
d5a7644209 Update CHANGELOGS.md 2023-06-14 07:27:22 -04:00
Jason Wen
7927c72076 Auto Lane Change: Delay execution if lane change was blocked by BSM (#153)
* Auto Lane Change: Delay execution if lane change was blocked by BSM

* add toggle

* add changelogs

* flipped

* show/hide toggles with param updates

* fix docs

* 1 second instead
2023-06-14 07:26:40 -04:00
Jason Wen
9bcfc1a855 ui: Reset Mapbox Access Token button (#152) 2023-06-13 14:05:46 -04:00
Jason Wen
9be71b864a Merge branch 'master' into dev-priv/master 2023-06-13 13:45:47 -04:00
Jason Wen
728c65a14a Update CHANGELOGS.md 2023-06-13 13:45:25 -04:00
Jason Wen
cfaef14f05 Green Traffic Light Chime: alert status = normal (#151) 2023-06-13 13:43:11 -04:00
Jason Wen
1647175135 mapd: better exceptions handling when loading dependencies (#150)
* mapd: better exceptions handling for loading dependencies

* handle the last

* clean them up
2023-06-13 12:26:11 -04:00
Jason Wen
c9e7ca09e5 Merge branch 'master' into dev-priv/master 2023-06-13 12:24:46 -04:00
Jason Wen
d576dfdf2d Update CHANGELOGS.md 2023-06-13 12:24:23 -04:00
Jason Wen
64bc894349 ui: Onroad Screen Off Timer: add additional conditions (#147)
* ui: Onroad Screen Off Timer: add additional conditions

* fix logic and rename

* Update CHANGELOGS.md
2023-06-13 11:40:02 -04:00
Jason Wen
439cad86fd ui: Driving Screen Off: show/hide toggles with param updates (#149)
* ui: Driving Screen Off: show/hide toggles with param updates

* not just yet
2023-06-13 11:37:29 -04:00
Jason Wen
dbab500b23 Sentry: only import sentry module if there are exceptions (#148) 2023-06-13 11:14:47 -04:00
Jason Wen
2f835a9738 Merge branch 'master' into dev-priv/master 2023-06-13 11:06:35 -04:00
Jason Wen
132762fd17 Update CHANGELOGS.md 2023-06-13 11:06:13 -04:00
Jason Wen
e092e7ed19 Driving Screen Off: param updates 2023-06-13 11:05:58 -04:00
Jason Wen
67c62353c4 Merge branch 'master' into dev-priv/master 2023-06-13 05:07:57 -04:00
Jason Wen
10937acba1 Revert "bump to 0.9.2.3"
This reverts commit ec96a0dd9a.
2023-06-13 05:07:51 -04:00
Jason Wen
d66c7f18c8 bump to 0.9.2.3 2023-06-13 05:07:39 -04:00
Jason Wen
ec96a0dd9a bump to 0.9.2.3 2023-06-13 05:06:51 -04:00
Jason Wen
5d1e1ccc81 Merge branch 'master' into dev-priv/master 2023-06-13 04:55:28 -04:00
Jason Wen
676fdd31c8 Update CHANGELOGS.md 2023-06-13 04:55:01 -04:00
Jason Wen
bbbae5e252 MADS: Toyota: gate LKAS button behind toggle: update description (#146) 2023-06-13 00:29:19 -04:00
Jason Wen
41aa099b3e Merge branch 'master' into dev-priv/master 2023-06-13 00:26:51 -04:00
Jason Wen
76896a910f Update CHANGELOGS.md 2023-06-13 00:26:28 -04:00
Jason Wen
2fd9e71bf1 MADS: Toyota: gate LKAS button behind toggle (#145)
* MADS: Toyota: gate LKAS button behind toggle

* better title
2023-06-12 23:26:26 -04:00
Jason Wen
0dae7c7e04 Merge branch 'master' into dev-priv/master 2023-06-12 23:23:01 -04:00
Jason Wen
af6b2979d0 MADS: Toyota: gate LKAS button behind toggle default off 2023-06-12 23:22:44 -04:00
Jason Wen
6b63ac47f6 Ram: always prioritize user button presses (#142)
* Ram: always prioritize user button presses

* Custom Stock Long Control: manual presses need to reset timer

* separate logic for ram_cars

* handle FCA resume button differently
2023-06-12 23:12:39 -04:00
Jason Wen
f3c86bd9dd CSLC: handle FCA resume button differently (#144) 2023-06-12 23:10:55 -04:00
Jason Wen
5cf13b0a72 MADS: Toyota: gate LKAS button behind toggle prerequisites 2023-06-12 22:45:44 -04:00
Jason Wen
bd1c833920 Docs: Don't be a ghost @FrogAi 2023-06-12 21:28:13 -04:00
Jason Wen
018cc21025 Custom Stock Long Control: FCA: reset timer with manual button press (#143) 2023-06-12 20:20:24 -04:00
Jason Wen
12be6a0dbb Ram: CRUISE_BUTTONS rx/tx improvements (#138)
* Ram: CRUISE_BUTTONS rx/tx improvements

* unnecessary

* try forwarding everything

* only block tx for speed set/change buttons if cruise not engaged

* separate pacifica and ram

* flip around

* gotta send set buttons too

* rename

* don't check the buttons then

* bump panda

* cleanup
2023-06-12 07:46:10 -04:00
Jason Wen
9e0680cdec Merge branch 'master' into dev-priv/master 2023-06-11 20:08:12 -04:00
Jason Wen
3aa5a23118 bump to 0.9.2.2 2023-06-11 20:08:00 -04:00
Jason Wen
20bd203ca2 Merge branch 'master' into dev-priv/master 2023-06-11 19:52:46 -04:00
Jason Wen
19e2cf185b bump to 0.9.2.2 2023-06-11 18:44:56 -04:00
Jason Wen
2e7e26ef95 mapd: remove liveMapData and time_since_epoch fix check (#137) 2023-06-11 18:40:04 -04:00
Jason Wen
83efa3738b Sentry: name -> username (#132) 2023-06-11 09:29:23 -04:00
Jason Wen
d78bdaafec Docs: update comma three branches (#183) 2023-06-11 08:58:06 -04:00
Jason Wen
e57cdfe5fe Docs: update Installation section (#182)
* Start the cleanup

* add

* update some urls

* add version

* revert c2 instructions

* revert c2 instructions

* c3 only
2023-06-11 08:50:50 -04:00
Jason Wen
5ec32dcbe2 Updater: persistent superseded branch alert 2023-06-11 08:13:18 -04:00
Jason Wen
cd1077e93e Updater: superseded branch alert prerequisites 2023-06-11 08:10:32 -04:00
Jason Wen
cb097260c0 ui/SConscript: fix duplicated environment 2023-06-11 08:07:12 -04:00
John P
1a7c469a13 Update README.md | Update Recommended Link (#168)
Update README.md | Update Link

The [1] marker mentions an old link to an old branch, so I fixed that.
2023-06-11 00:45:10 -04:00
Jason Wen
a9fd1b36c1 ui: show Target Branch selector for all branches (#129) 2023-06-10 23:31:03 -04:00
Jason Wen
28b0a8f40e Build script: add build_staging.sh (#128) 2023-06-10 22:38:44 -04:00
Jason Wen
eef6588bcd Merge branch 'master' into dev-priv/master 2023-06-10 22:32:30 -04:00
Jason Wen
9f60ec8871 Update CHANGELOGS.md 2023-06-10 22:32:16 -04:00
Jason Wen
d5bf4daecf Merge branch 'master' into dev-priv/master 2023-06-10 22:08:30 -04:00
Jason Wen
6cfa7445ac Update CHANGELOGS.md 2023-06-10 22:06:08 -04:00
Jason Wen
f6335f1f7b ui: display current driving model in software settings (#127) 2023-06-10 22:04:38 -04:00
Jason Wen
3dc9ffb9bb ui: sunnypilot setting panels refactor (#125)
* General: use ListWidget

* Controls: use ListWidget

* Visuals: use ListWidget

* General: tuple list

* Controls: full refactor based on ListWidget change

* Controls: FINALLYYYYYYY

* Controls: move things around

* check actual toggle as well

* handle this

* Visuals: use ListWidget

* const for

* separate each panel into each file

* rename and move files

* Revert "rename and move files"

This reverts commit 5cfedabe2c6a2cb25355318107f119ade480baac.

* Revert "separate each panel into each file"

This reverts commit aa2c0e9162d5344a5cbbbfaf1ff2bd77d1e5a10b.
2023-06-10 21:12:00 -04:00
Jason Wen
c566e87b61 ui: sunnypilot Vehicles panel refactor (#126)
* take out toyota stock long for now

* remove scrollbar (use in other areas!)

* use ListWidget for toggles

* Revert "remove scrollbar (use in other areas!)"

This reverts commit 0b6bbc49e968598b204558060e04fb6f64ad1977.

* turn off scrollbar

* new fcr styling
2023-06-10 12:08:49 -04:00
Jason Wen
bf19c7dddf ui: ensure driving path is colored when cruise state enabled (#124) 2023-06-10 06:58:49 -04:00
Jason Wen
547059a67f Merge branch 'master' into dev-priv/master 2023-06-10 06:36:44 -04:00
Jason Wen
27f1df1a9b sunnypilot: bump version to 0.9.2.1 2023-06-10 06:36:19 -04:00
Jason Wen
baf96a4f87 Build script improvements (#123)
* add build_dev

* udpate build_release
2023-06-10 06:34:38 -04:00
Jason Wen
48391b6b5c Build Release: files cleanup (#122) 2023-06-10 02:00:45 -04:00
Jason Wen
526b106c9a Merge branch 'master' into dev-priv/master 2023-06-10 01:49:14 -04:00
Jason Wen
7d2eaa7d74 Fleet Manager: update instruction screenshot (#181) 2023-06-10 01:48:35 -04:00
Jason Wen
c8aff167bb Fleet Manager: rolling PIN implementation (#121)
* Fleet Manager: rolling PIN implementation

* format

* spacing

* use scheduler

* use thread
2023-06-10 01:02:58 -04:00
Jason Wen
b341c81522 ui: CPU temperature on sidebar: rate limit to refresh every second (#120)
* cleaner

* ui: CPU temperature on sidebar: rate limit to refresh every second
2023-06-09 23:20:11 -04:00
Jason Wen
8f5a6b129b Merge branch 'master' into dev-priv/master 2023-06-09 18:11:01 -04:00
Jason Wen
1bc6193d3d ui: update SidebarCpuTemp toggle name (#119) 2023-06-09 18:10:29 -04:00
Jason Wen
34619be925 Revert "ui: update SidebarCpuTemp toggle name"
This reverts commit 6a8f789816.
2023-06-09 18:09:13 -04:00
Jason Wen
a421b78972 Update CHANGELOGS.md 2023-06-09 18:08:52 -04:00
Jason Wen
6a8f789816 ui: update SidebarCpuTemp toggle name 2023-06-09 18:07:48 -04:00
Jason Wen
b006e48a2d ui: display CPU temperature on sidebar (#118)
* ui: display CPU temperature on sidebar

* ui: display CPU temperature on sidebar

* take it out for now

* Revert "take it out for now"

This reverts commit 3e7daa11f6a3e8ed6dec92df02bb4c390c99583c.

* small changes

* push this

* string

* flip???

* no setproperty

* check param every 1 second

* wrong param!

* do this

* flip them back

* don't need this
2023-06-09 18:06:37 -04:00
Jason Wen
63fb07b4b8 Merge branch 'master' into dev-priv/master 2023-06-09 18:03:27 -04:00
Jason Wen
88821fb8d8 ui: display CPU temperature on sidebar prerequisites 2023-06-09 18:02:53 -04:00
Jason Wen
dde5309015 Tmux error viewer: catch more exceptions (#117)
* Tmux error viewer: new file name convention and cleanup

* log in local_osm_install

* show on ui

* add this

* not needed

* just need these

* unused

* log custom_dep

* rename

* cleaner
2023-06-09 15:11:31 -04:00
Jason Wen
1a87f92097 ui: show path color when cruise state enabled (#116) 2023-06-09 11:12:36 -04:00
Jason Wen
a88941837b Merge branch 'master' into dev-priv/master 2023-06-09 09:36:10 -04:00
Jason Wen
ceb2a6a721 Update CHANGELOGS.md 2023-06-09 09:20:26 -04:00
Jason Wen
f39ea7e446 mapd: smaller query radius to lower RAM usage (#115) 2023-06-09 09:09:53 -04:00
Jason Wen
e6ce327b8c mapd: Preload dependencies (#114)
* exclude third_party/mapd/ from gitignore

* all mapd dependencies

* exclude more

* more dependencies!

* add to files_common

* add script to compress locally

* compressed dependencies

* Revert "more dependencies!"

This reverts commit 0cd08beb3fa81b5e037ceb41b5e0554261c56dd5.

* Revert "all mapd dependencies"

This reverts commit b1a19b82b3911313e543a91d77ece124f5e7ded0.

* decompress preloaded deps

* fix path

* use xz

* fix script

* update deps

* no need

* strip first level

* missed this

* try that

* not needed

* try except extraction

* handle exception

* unused

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-06-09 09:04:12 -04:00
Jason Wen
100aa5685b gpxd: Filesystem permission error handling (#113)
* gpxd: Filesystem permission error handling

* convert to string

* shadow name
2023-06-09 07:25:22 -04:00
Jason Wen
9a78c0a776 Revert "mapd: Preload dependencies (#111)" (#112)
This reverts commit 00351268b4.
2023-06-09 07:01:58 -04:00
Jason Wen
00351268b4 mapd: Preload dependencies (#111)
* exclude third_party/mapd/ from gitignore

* all mapd dependencies

* exclude more

* more dependencies!

* add to files_common
2023-06-09 02:49:50 -04:00
Jason Wen
9737b0d366 Retain hotspot/tether: start later in manager (#110) 2023-06-09 00:34:26 -04:00
Jason Wen
9171aa6718 Merge branch 'master' into dev-priv/master 2023-06-08 23:19:15 -04:00
Jason Wen
73b2e4bb2a Update CHANGELOGS.md 2023-06-08 23:15:34 -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
9644ea30d8 Merge branch 'master' into dev-priv/master 2023-06-08 22:56:59 -04:00
Jason Wen
6d9eeced08 Custom Stock Longitudinal Control: temporary disable for HKG CAN-FD 2023-06-08 22:54:42 -04:00
Jason Wen
5570211c10 Tools: autogenerate all supported platforms (#107)
* init script

* Parse and generate json

* move to scripts

* no print

* ford is supported
2023-06-08 22:41:14 -04:00
Jason Wen
b5b85ca64f Merge branch 'master' into dev-priv/master 2023-06-08 22:38:35 -04:00
Jason Wen
cdb4bd0a4c FCR: Autogenerate HKG Non-SCC platforms (#180) 2023-06-08 22:37:48 -04:00
Jason Wen
a937e82015 FCR: sync with upstream supported car platforms 2023-06-08 22:34:14 -04:00
Jason Wen
f182323cf3 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/manager/process_config.py
2023-06-08 20:33:08 -04:00
Jason Wen
1dd4eb6fe0 Fleet Manager: rename process 2023-06-08 20:30:28 -04:00
Jason Wen
64b47e89ab Add staging-c3 and release-c3 as tested branches 2023-06-08 17:16:06 -04:00
Jason Wen
75f23637dc ui: don't grey out Error Troubleshoot when onroad (#105) 2023-06-08 17:01:23 -04:00
Jason Wen
46c9d00516 Release branch redefinition 2023-06-08 12:12:46 -04:00
Jason Wen
5d3caec440 ui: move Error Troubleshoot to Device menu (#102) 2023-06-08 12:31:20 -04:00
Jason Wen
ddf590e6d2 Merge branch 'master' into dev-priv/master 2023-06-08 11:45:24 -04:00
Jason Wen
fd07250d2a Update CHANGELOGS.md 2023-06-08 11:43:50 -04:00
Jason Wen
869573d282 GAC: new implementation and jerk changes (#95)
* GAC: Harald's method

* unused

* match harald's

* Revert "match harald's"

This reverts commit f2015eb2d8ffe80f8e02ffb92bd1d244dbfdb38c.

* try this

* Revert "try this"

This reverts commit 993adce26f594c5d2da1752657fe3af21c17cd27.

* do this instead

* fix

* cleanup

* align with harald's method

* fix init at 0

* use cereal

* unused

* maniac, aggro, stock

* unused

* fake lead when no lead

* print desired following distance from lead_0

* default at 3

* update carstate obj

* clip this

* use actual profiles

* cleanup

* scale maniac text smaller

* should be 1
2023-06-08 11:22:26 -04:00
Jason Wen
780c83102e MADS: FCA: add LKAS button (#97)
* MADS: FCA Ram: add LKAS button

* FCA: add LKAS button and heartbit send

* bump panda

* non-Ram only

* non-Ram only too

* Revert "FCA: RAM HD - steer down to 0 (hardware modification required)"

* make sure cruise button is forwarded?!

* only check tx for CHRYSLER_PACIFICA, forward all cruise buttons for Ram

* add fw for not working ram 1500 and hd

* Revert "add fw for not working ram 1500 and hd"

This reverts commit 6f60b488ac1cebdbcafaa62ea4df097fd765b7d8.

* add fw for not working ram 1500 and hd

* use this logic

* fixup! use this logic

* does it help?

* Revert "does it help?"

This reverts commit 6cca9105459dd50d657ded94cba863baa0c6151d.

* Revert "fixup! use this logic"

This reverts commit 3a0d43ef76c762244e9edfab5497de9c55ccd468.

* Revert "use this logic"

This reverts commit 337eb1596f1a4e782d11fb15c0bdfe76763fd0d0.

* set event

* Revert "make sure cruise button is forwarded?!"

This reverts commit 1b51818c89fbf31315d1c992efb96298c7b63899.

* Revert "only check tx for CHRYSLER_PACIFICA, forward all cruise buttons for Ram"

This reverts commit c72ef05cf0f4450d21a2be7ddbc1c50273570cc4.

* Revert "Revert "FCA: RAM HD - steer down to 0 (hardware modification required)""

This reverts commit 0849fdc1f1557807af83d8c69fb7432743a95b2d.

* Can't use upstream to check EPS fw for minEnableSpeed

* reversed

* revert and wait for upstream

* bump panda
2023-06-08 10:45:35 -04:00
Jason Wen
8949ad0b8f Ram DT: handle lower speed alert (#179) 2023-06-08 10:32:08 -04:00
AlexandreSato
6fd591e4b5 Fleet Manager: Error log access support (#169)
* Update README.md

* add error troubleshooting and delScreenRecords btn

* Revert "Update README.md"

This reverts commit 5d22fe815f.

* complete coment at paths

* add button to delete screen record

* remove button to delete screen record

* index cleanup

* rename

* simpler

* same module

* no need auth on home

* ide

* name

* smaller text

* spacing

* Update README.md

* Update CHANGELOGS.md

* '\n on changelogs.md

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-06-08 10:19:24 -04:00
Jason Wen
c032563908 Merge branch 'master' into dev-priv/master 2023-06-08 09:58:20 -04:00
Jason Wen
75ca9e18e1 Merge branch 'master' into dev-priv/master 2023-06-08 09:48:14 -04:00
Jason Wen
0065709a25 Fleet Manager: redirect cleanup (#178) 2023-06-08 09:17:10 -04:00
Jason Wen
3790c6c756 Fleet Manager: One-Time Password cleanup (#177)
* init

* keep previous page from session
2023-06-08 08:48:37 -04:00
Jason Wen
d9c348fb48 Ram DT: check EPS firmware explicitly to set minEnableSpeed to 0 (#173) 2023-06-08 06:42:20 -04:00
Jason Wen
2cf7e23b83 files common: dashcamviewer ▶️ fleetmanager 2023-06-07 17:33:28 -04:00
Jason Wen
48c440f24d Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/manager/process_config.py
2023-06-07 17:22:21 -04:00
Jason Wen
8c41f9a81e Sentry: set environment tag properly (#101) 2023-06-07 16:06:54 -04:00
Jason Wen
462b20ac12 Dashcam Viewer ▶️ Fleet Manager (#174)
* Dashcam Viewer ▶️ Fleet Manager

* missed

* process
2023-06-07 13:56:36 -04:00
Jason Wen
a34c596b76 Docs: add Patreon and GitHub Sponsor links 2023-06-07 12:41:23 -04:00
Jason Wen
b30b1222d9 Add sunnypilot Patreon 2023-06-07 03:09:06 -04:00
Jason Wen
df185e6ead Merge branch 'master' into dev-priv/master 2023-06-07 02:12:24 -04:00
Jason Wen
e4aa1dee05 Dashcam Viewer: One-Time Password support (#171)
* skeleton

* Print PIN under Device menu

* wrap in decorator

* login page reformat

* simplify

* cleanup

* add instruction

* formatting
2023-06-07 02:10:43 -04:00
Jason Wen
604761f6a4 Dashcam Viewer: small style change (#172) 2023-06-07 02:08:58 -04:00
Jason Wen
199aabb476 Merge branch 'master' into dev-priv/master 2023-06-06 21:01:50 -04:00
Jason Wen
bf0411be00 Enhanced Speed Control: accelerator press state handling (#170)
Enhanced Speed Control: accelerator press state handling
2023-06-06 21:00:21 -04:00
Jason Wen
65de8af740 GAC: allow profile changes in Experimental Mode (#99) 2023-06-06 16:51:24 -04:00
Jason Wen
955926a80e Block Enhanced Speed Control events on unsupported platforms (#98) 2023-06-06 14:45:41 -04:00
Jason Wen
a2b8970a83 Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
2023-06-06 01:27:55 -04:00
Jason Wen
8eafdd7058 Update CHANGELOGS.md 2023-06-06 01:13:05 -04:00
Jason Wen
a1b6cb1077 Update CHANGELOGS.md 2023-06-06 01:12:08 -04:00
Jason Wen
899eb2e99f Merge branch 'master' into dev-priv/master 2023-06-05 22:54:17 -04:00
Jason Wen
9aed6070a9 GAC: init at 3 2023-06-05 22:54:04 -04:00
Jason Wen
cd7bed1d2e Merge branch 'master' into dev-priv/master 2023-06-05 22:31:46 -04:00
Jason Wen
cb8ba14c53 bump opendbc 2023-06-05 22:31:29 -04:00
Jason Wen
95078c22d5 CarState: update objects when refreshing params (#96) 2023-06-05 17:16:57 -04:00
Jason Wen
8a9bec3a82 Don't append immediate disable events if in park gear (#94) 2023-06-05 15:32:47 -04:00
Jason Wen
091d662a5e Merge branch 'master' into dev-priv/master 2023-06-05 12:43:28 -04:00
Jason Wen
7ff8e02ed5 bump cereal 2023-06-05 12:43:12 -04:00
Jason Wen
d94abf9e2e Sentry: tag improvements (#93)
* Sentry: include dongle_id, ip_address, gitname

* allow default pii

* use sentry default ip query

* use sentry auto ip

* unused
2023-06-04 20:41:30 -04:00
Jason Wen
a3d632ad0a Merge branch 'master' into dev-priv/master 2023-06-03 21:09:22 -04:00
Jason Wen
2f77c0d9ee Docs: sunnypilot README and relevant docs (#167)
* Docs: sunnypilot README and relevant docs

* Update QR dir

* Add icon

* Add back later

* Dividers
2023-06-03 20:57:51 -04:00
Jason Wen
6cfc7a76a1 Separate Lead Vehicle Departure Alert from E2E Status (#88) 2023-06-03 19:13:51 -04:00
Jason Wen
b6cb343a4a Update CHANGELOGS.md 2023-06-03 01:59:47 -04:00
Jason Wen
013221c06d Merge branch 'master' into dev-priv/master 2023-06-03 01:55:40 -04:00
Jason Wen
b2fd4ec25a HKG: support steer to 0 with smartMDPS on certain models (#166)
HKG: support steer to 0 with a smartMDPS on certain models
2023-06-03 01:52:44 -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
5ea521920b ui: back button change (#91) 2023-06-03 00:50:31 -04:00
Jason Wen
f627a34e47 Retain hotspot/tethering state across reboots (#89)
* Retain tethering state across reboots

* store state

* Update CHANGELOGS.md

* Add toggle to "SP - General"

* Network icon
2023-06-03 00:17:13 -04:00
Jason Wen
c4fc609883 ui: remove unused toggles (#90) 2023-06-03 00:13:38 -04:00
Jason Wen
75ec6119fd Merge branch 'master' into dev-priv/master 2023-06-03 00:04:48 -04:00
Jason Wen
f03492e2cf Retain hotspot/tethering state across reboots prerequisites 2023-06-03 00:04:08 -04:00
Jason Wen
e4668cbf4f ui: delay DM camera initialization when reversing (#87)
* ui: delay DM camera initialization when reversing

* faster
2023-06-02 21:24:15 -04:00
Jason Wen
892ce2754b Merge branch 'master' into dev-priv/master 2023-06-02 18:21:01 -04:00
Jason Wen
8ba9748ad9 Parse and display sunnypilot changelogs 2023-06-02 18:20:43 -04:00
Jason Wen
a0a70f563f Merge branch 'master' into dev-priv/master 2023-06-02 18:17:36 -04:00
AlexandreSato
1846814ac5 Dashcam Viewer: Screen Recordings support and interface refresh (#160)
* init bootstrap 5.3

* bootstrap done

* watch screen records

* formatting

* syntax

* import

* specific path

* pathing

* text

* not needed

* sunnypilot home

* better name

* Revert "syntax"

This reverts commit 45c54a54ef.

* path

* fix miss "/" at end of path and show current screenrecord video

* Created the About page

* Display errors in a more communicative way

* enable <br> at error messages

* display title on top of the page

* link to download screenrecord

* Update README.md

* Update styles

* Navbar on top, don't block content

* Don't center and format

* Update CHANGELOGS.md

* Update About page

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-06-02 18:16:02 -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
Vincent Wright
a004024ef4 Ram HD: remove from dashcam (#164)
* Added support for Ram steer to 0/7

* Made the suggested changes

Also added in additional FW to support the other trucks.

* Spacing

* Spacing

* Match stock

* Match stock

* Reverted FW changes

* Put back the max steer

* Bring back comment

* Unused

* Remove DashCamOnly for HD

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-06-01 14:20:12 -04:00
Jason Wen
8179a56926 Add toggle for Road Edge Detection (#85) 2023-05-31 13:25:05 -04:00
Jason Wen
e5525f6bc0 Merge branch 'master' into dev-priv/master 2023-05-31 13:24:12 -04:00
Jason Wen
c1c4a241e0 MADS toggle with Cruise Main on by default 2023-05-31 13:23:58 -04:00
Jason Wen
2e07780eae RoadEdge param 2023-05-31 13:22:53 -04:00
Jason Wen
5728cd7b7a ui: screen touch fixes (#84)
* ui: don't toggle map if buttons are hidden

* keep button the same height during screen touches

* fixed height
2023-05-31 13:06:23 -04:00
Jason Wen
f107f51b4a Screenrecorder cleanup and 1 minute clip (#83)
* Record from OnroadWindow

* not from here

* not needed

* make it whole

* Revert "make it whole"

This reverts commit 318c28c1ac921b52672fdd4665d903c2bdf5ef41.

* Revert "not needed"

This reverts commit 45d9707736b942b3a671bf853333a35741beb079.

* Revert "not from here"

This reverts commit 1bb002ff86630f3b1f6c6171606e4f7a8922253b.

* Revert "Record from OnroadWindow"

This reverts commit f4ceab4d9f4f1be992ba447c1474fdd47063c41b.

* cleaning

* cleaning

* 1 min per clip

* remove

* add back
2023-05-31 03:18:52 -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
99de69095c Merge branch 'master' into dev-priv/master 2023-05-30 22:40:06 -04:00
Jason Wen
d0be8af88d No disengage lateral on brake by default 2023-05-30 22:39:53 -04:00
Jason Wen
22b310c556 MADS: add toggle for Cruise Main button engage - prerequisites 2023-05-30 22:38:49 -04:00
Jason Wen
828ef6e6a5 Merge branch 'master' into dev-priv/master 2023-05-30 22:03:56 -04:00
Vincent Wright
9cb81a8dac Ram: Steer to 0/7 MPH support (#157)
* Added support for Ram steer to 0/7

* Made the suggested changes

Also added in additional FW to support the other trucks.

* Spacing

* Spacing

* Match stock

* Match stock

* Reverted FW changes

* Put back the max steer

* Bring back comment

* Unused

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-05-30 22:03:18 -04:00
Jason Wen
674b416d11 Merge branch 'master' into dev-priv/master 2023-05-30 21:28:32 -04:00
Jason Wen
2673fbecd0 Subaru: add FW for 2019 Impreza with increased torque (#163) 2023-05-30 21:26:30 -04:00
Jason Wen
9c32204bb4 Add Honda Clarity DBC to files_common 2023-05-30 10:30:52 -04:00
Jason Wen
7f1edf0966 Add dashcamviewer to files_common 2023-05-30 00:14:34 -04:00
Jason Wen
a75f5adf2a Merge branch 'master' into dev-priv/master
# Conflicts:
#	CHANGELOGS.md
#	panda
2023-05-30 00:02:11 -04:00
Miles Calloway
1067a18445 Honda: Car Port for Clarity 2018-22 (#154)
* Fork

* Revert "Fork"

This reverts commit a10cb9677b.

* I think this is it, to be tested.

* Correct panda

* update panda

* Revert "update panda"

This reverts commit 09d7cc9330.

* Revert "Correct panda"

This reverts commit aa052a52e7.

* Update sunnypilot_carname.json

* bump panda

* sort

* formatting

* could break OP long cars

* simpler

* separate

* missed

* format

* cleaner

* bump panda

* Clarity is not in HONDA_BOSCH_RADARLESS

* match

* update MY in docs

* format

* format

* Update CHANGELOGS.md

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-05-29 23:57:19 -04:00
Jason Wen
5351d6fe5b Bring back CHANGELOGS.md (#161) 2023-05-29 23:49:22 -04:00
Jason Wen
b2f3d576ba Merge branch 'master' into dev-priv/master 2023-05-29 22:08:33 -04:00
Jason Wen
6e7c2c54c4 FCR: sync with upstream supported car platforms & add Ford support 2023-05-29 22:07:29 -04: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
c69e49c064 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/manager/process_config.py
2023-05-29 19:35:21 -04:00
Curtis Jenkins
13616ab771 Dashcam Viewer support (#155)
* add webserver + dashcam reviewer

* add offroad flag to webserver process

* fix process and rename tag in webpage

* add read me

* formatting & shadow names

* small cleanup

* +

* Force offroad only

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>

* Update function name

change from "hello_world" to "index"

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>

* Change webserver process name

now dashcam_viewer

* change process name to dashcam(_)viewer

* sort

* Update README.md

* Credit

* fix

* shadow

* name

* name

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2023-05-29 19:32:12 -04:00
Jason Wen
f52b52b1d4 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
2023-05-29 10:51:28 -04:00
Jason Wen
4fc2e41c47 Subaru legacy: flip driver torque (#158)
* Subaru legacy: flip driver torque

* bump panda
2023-05-29 10:49:22 -04:00
Jason Wen
5f01dca186 Visuals: Remove Navigation Full Screen toggle (#80) 2023-05-29 02:05:33 -04:00
Jason Wen
eba305649d Hide Stand Still Timer when map is visible 2023-05-28 23:38:47 -04:00
Jason Wen
30328c50a4 Don't trigger CAN bus timeout if in park gear 2023-05-28 23:04:54 -04:00
Jason Wen
d27eb2b4b8 Skip heartbeat check if in parked gear (#79)
* Skip heartbeat check if parked

* bump panda
2023-05-28 22:56:37 -04:00
Jason Wen
10d2fbb0b8 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
2023-05-28 19:53:22 -04:00
Jason Wen
4796f674da Higher torque limit (3071) for 2018 Crosstrek / 2017 Impreza @ClockeNessMnstr (#146)
* Higher torque limit (3071) for 2018 Crosstrek / 2017 Impreza @ClockeNessMnstr

* bump panda

* set with int flag

* bump panda

* flag

* sync tune

* bump panda

* fix

* fix

* oops

* update FW

* List comprehension

* bump panda
2023-05-28 19:51:22 -04:00
Jason Wen
184b3aaf99 Lead Vehicle Departure Alert: fix relative distance parsing (#78) 2023-05-28 17:40:08 -04:00
Jason Wen
ef5d612475 Revert "change it up (#76)" (#77)
This reverts commit ab6116776b.
2023-05-28 17:39:31 -04:00
Jason Wen
ab6116776b change it up (#76) 2023-05-28 17:39:20 -04:00
Jason Wen
28d3ebe95b Merge branch 'master' into dev-priv/master 2023-05-28 01:38:52 -04:00
Jason Wen
3894a930b3 bump cereal 2023-05-28 01:38:33 -04:00
Jason Wen
7e052e77ee Merge branch 'master' into dev-priv/master 2023-05-28 00:50:34 -04:00
Jason Wen
a7a3190f6d bump cereal 2023-05-28 00:50:18 -04:00
Jason Wen
633cdaca9b Merge branch 'master' into dev-priv/master 2023-05-28 00:26:12 -04:00
Jason Wen
cb33af841c bump cereal 2023-05-28 00:25:55 -04:00
Jason Wen
39006f7401 Invert DM cam if reversing (#74) 2023-05-27 23:59:18 -04:00
Jason Wen
50a96c9a92 General: Lead Vehicle Departure Alert (#73)
* UI: Display E2E Longitudinal status icon

* don't forget init

* take these out

* and this

* can't leave this

* spam the event

* publish here instead

* try this now

* expose the toggle

* Spam all the time!!!

* Spam all the time with this!

* see if this works

* new way to trigger

* fix

* another one

* more to it

* more of that

* move to car controls instead

* no longer needed

* 20 hz

* unnecessary

* send like this pls

* move to long planner

* let's see what it looks like first

* don't alert yet lol

* re-enable and try out prompt!

* move chime event to longitudinal_planner

* AlertStatus to userPrompt

* Add more reset conditions

* less conditions to test first

* louder sound

* permanent alert

* LOUDER SON!

* use stock prompt

* Revert "less conditions to test first"

This reverts commit b24a096e65e80f303f7d92072cdf273a30dd37e2.

* remove lead car take off alert (in separate PR)

* cleanup

* longer

* Nicki Minaj Model (#28218)

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

* Updated model_replay_ref_commit

(cherry picked from commit 328b5d9d47)

* use the event

* move logic to c++

* cleanup

* no prompt border

* use brake light from car state

* lead car take off event

* lead car take off event

* always reset last distance

* show border when prompted

* remove lead car take off alert (in separate PR)

* don't prompt when lead car detected

* Revert "Nicki Minaj Model (#28218)"

This reverts commit b25e96c9d8fe0ac3a93c97eec2e91064c12a5649.

* bad sounds

* simpler

* lead car takeoff prompt

* log to tmux

* Nicki Minaj Model (#28218)

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

* Updated model_replay_ref_commit

(cherry picked from commit 328b5d9d47)

* only print when stopping or starting

* remove debug msgs

* Revert "Nicki Minaj Model (#28218)"

This reverts commit 4fa06f12db858f65570bbf4bc2d9ee1709aead19.

---------

Co-authored-by: Mitchell Goff <mitchellgoffpc@gmail.com>
2023-05-27 13:35:11 -04:00
Jason Wen
0372bf8e11 UI: E2E longitudinal status icon and prompt chime (#23)
* UI: Display E2E Longitudinal status icon

* don't forget init

* take these out

* and this

* can't leave this

* spam the event

* publish here instead

* try this now

* expose the toggle

* Spam all the time!!!

* Spam all the time with this!

* see if this works

* new way to trigger

* fix

* another one

* more to it

* more of that

* move to car controls instead

* no longer needed

* 20 hz

* unnecessary

* send like this pls

* move to long planner

* let's see what it looks like first

* don't alert yet lol

* re-enable and try out prompt!

* move chime event to longitudinal_planner

* AlertStatus to userPrompt

* Add more reset conditions

* less conditions to test first

* louder sound

* permanent alert

* LOUDER SON!

* use stock prompt

* Revert "less conditions to test first"

This reverts commit b24a096e65e80f303f7d92072cdf273a30dd37e2.

* remove lead car take off alert (in separate PR)

* cleanup

* longer

* Nicki Minaj Model (#28218)

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

* Updated model_replay_ref_commit

(cherry picked from commit 328b5d9d47)

* use the event

* move logic to c++

* cleanup

* no prompt border

* use brake light from car state

* lead car take off event

* lead car take off event

* always reset last distance

* show border when prompted

* remove lead car take off alert (in separate PR)

* don't prompt when lead car detected

* Revert "Nicki Minaj Model (#28218)"

This reverts commit b25e96c9d8fe0ac3a93c97eec2e91064c12a5649.

* bad sounds

* simpler

---------

Co-authored-by: Mitchell Goff <mitchellgoffpc@gmail.com>
2023-05-27 13:32:05 -04:00
Jason Wen
6cee8b6827 Merge branch 'master' into dev-priv/master 2023-05-27 12:26:38 -04:00
Jason Wen
f965ebee27 Remove unused params 2023-05-27 12:26:25 -04:00
Jason Wen
28aef88932 MADS: Remove global cruise cancel and Toyota cruise cancel (#72)
* remove global check for now, refactor later

* Toyota cruise cancel fix

* add this back

* add this back
2023-05-27 12:08:52 -04:00
Jason Wen
3119402f4e Merge branch 'master' into dev-priv/master 2023-05-27 12:05:03 -04:00
Jason Wen
1aeff99740 E2E Long State: update params (#156)
update params
2023-05-27 12:03:58 -04:00
Jason Wen
9c1dc31998 bump panda 2023-05-27 00:16:45 -04:00
Jason Wen
9434ad909e Screenrecorder: stop recording when transition to offroad (#71)
* Screenrecorder: stop recording when transition to offroad

* slower ui start
2023-05-25 16:16:10 -04:00
Jason Wen
4d3a97a5d5 fix upstream conflict 2023-05-25 13:35:01 -04:00
Jason Wen
dba3eb7a50 fix upstream conflict 2023-05-25 12:50:37 -04:00
Jason Wen
141c04e46f Merge branch 'master' into dev-priv/master 2023-05-25 12:46:27 -04:00
Jason Wen
a0dc58fc5d bump cereal 2023-05-25 12:45:59 -04:00
Jason Wen
6ef022758e fix upstream conflict 2023-05-25 12:42:33 -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
Jason Wen
6c2a58f2e9 Merge branch 'upstream/openpilot/master'
# Conflicts:
#	cereal
#	common/params.cc
#	panda
#	selfdrive/car/subaru/subarucan.py
#	selfdrive/controls/lib/lateral_planner.py
#	selfdrive/controls/lib/longitudinal_planner.py
2023-05-25 12:17:54 -04:00
Jason Wen
e94386dc96 bump panda 2023-04-28 03:36:22 -04:00
Jason Wen
17854dc2d2 mapd: add Germany to offline OSM database list (#70) 2023-04-28 03:32:24 -04:00
Jason Wen
b4fa677656 bump panda 2023-04-25 23:14:52 -04:00
Jason Wen
ebd82c18c5 Merge branch 'master' into dev-priv/master 2023-04-25 02:21:05 -04:00
Jason Wen
862ad7a438 FCR: sync with upstream supported car platforms 2023-04-25 02:20:49 -04:00
Jason Wen
a8705ad033 Merge branch 'master' into dev-priv/master 2023-04-25 01:45:17 -04:00
Jason Wen
2654fe9696 fix merge conflicts 2023-04-25 01:45:01 -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
Jason Wen
46c80749be cereal: fix duplicate ordinals 2023-04-25 01:20:00 -04:00
Jason Wen
8a61496937 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	.pre-commit-config.yaml
#	cereal
#	opendbc
#	panda
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/toyota/interface.py
2023-04-25 01:10:56 -04:00
Jason Wen
b84972c6d9 DLP: default to off and laneless 2023-04-25 01:02:21 -04:00
Jason Wen
a3f4c24f4c ui: Display DM camera when reversing (#69)
* ui: show driver monitoring camera in reverse gear

* oops

* hide extra UIs if toggle enabled
2023-04-25 00:56:08 -04:00
Jason Wen
0d6d336f63 Ignore gpxd crash in manager 2023-04-01 23:16:47 -04:00
Jason Wen
a136c8568e Merge branch 'master' into dev-priv/master 2023-04-01 12:52:07 -04:00
Jason Wen
a8a853514f ui: show driver monitoring camera while onroad prerequisites 2023-04-01 12:50:58 -04:00
Jason Wen
710525544c sunnypilot: HKG CAN: non-SCC platform support (#58)
* MADS: HKG: non-SCC support

* remove dashcamOnly in priv

* add fw for 2019 Kia Forte non scc

* add to torque params
2023-03-31 23:33:44 -04:00
Jason Wen
18e36f3b7f ui: auto-hide UI buttons (#67)
* draft

* only in dlp button for now

* update with uiState

* Revert "update with uiState"

This reverts commit cbc755f0601c2595f7357c61a486c570000ecb3c.

* independent variable

* it works!

* faster

* prep for other elements

* apply to brightness checks

* proper

* lasts 30 seconds for now

* init at -1

* fade in when first tapped

* fade in finish at 250ms

* fade in finish at 100ms

* gate behind a toggle now

* redisplay button if tapped before disappear

* apply on gac

* only allow press when at 100% opacity
2023-03-31 23:30:31 -04:00
Jason Wen
72ba1c3e39 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/honda/carcontroller.py
#	selfdrive/car/interfaces.py
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_pt-BR.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
2023-03-30 23:14:39 -04:00
Jason Wen
89e2a6ea9b Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	panda
2023-03-30 23:07:29 -04:00
Jason Wen
5c8db326cf small mpc fix (#68)
* small change

* use actual long engaged cereal
2023-03-30 22:57:22 -04:00
Jason Wen
4a9e96375b Merge branch 'master' into dev-priv/master 2023-03-30 00:04:43 -04:00
Jason Wen
cb865a7b18 ui: button auto-hide prerequisites 2023-03-29 23:28:11 -04:00
Jacob Pfeifer
26097e778e mapd: consistency adjustments (#117)
mapd consistency adjustments:

* Project gps location onto map route line for determining distance to
  next node.
* Increase distance for determining if we have left a route. Helpful for
  when osm route line is not perfectly centered on road.
* Match max lateral accel against vision turn speed controller max
  lateral accel.
2023-03-29 23:07:16 -04:00
Jason Wen
b1c12dedc7 MADS: enforce longitudinal allowed check on auto-resume (#66)
* bump panda

* MADS: enforce long allowed on auto-resume
2023-03-29 21:28:43 -04:00
Jason Wen
c5f0b9ab47 Merge branch 'master' into dev-priv/master 2023-03-29 17:54:21 -04:00
Jason Wen
75fd9b1b22 Long planner: fix upstream merge conflicts (#145)
Fix upstream merge conflicts
2023-03-29 17:53:58 -04: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
c30c140866 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
2023-03-28 17:17:32 -04:00
Jason Wen
eb2f13d6d6 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	panda
2023-03-28 17:16:08 -04:00
Jason Wen
8208cf9a5a pre-commit: skip all checks for now 2023-03-28 17:16:01 -04:00
Jason Wen
e1403b4771 ui: update controls state to wake screen during events (#64) 2023-03-27 23:12:16 -04:00
Jason Wen
6128f92a5e Merge branch 'master' into dev-priv/master 2023-03-27 22:10:12 -04:00
Jason Wen
0bf00410d4 Hyundai: gate speed limit parsing availability (#144) 2023-03-27 22:05:35 -04:00
Jason Wen
989b8b251d ui: only show overriding set speed states when gas pressed (#63) 2023-03-27 02:15:02 -04:00
Jason Wen
9c3bceb9f3 Merge branch 'master' into dev-priv/master 2023-03-26 13:57:39 -04:00
Jason Wen
03f8b45a1e gpxd: remove secret (#135)
* gpxd: remove secret

* make it stick

* enforce dongle ID check

* redirect

* static

* small cleanup
2023-03-26 12:01:31 -04:00
Jason Wen
5ae00ea1fc sunnypilot: update brand 2023-03-26 09:20:57 -04:00
Jason Wen
688134a603 bump panda 2023-03-25 23:15:09 -04:00
Jason Wen
1762a2adc0 MADS: Nissan: correct cruise state busses and signals (#62) 2023-03-25 23:13:42 -04:00
Jason Wen
1d0e38fce5 Merge branch 'master' into dev-priv/master 2023-03-25 22:42:41 -04:00
Jason Wen
d4a039823b HKG: add FW versions for Kia Forte Non-SCC 2019 (#141) 2023-03-25 22:41:51 -04:00
Jason Wen
944f066628 Merge branch 'master' into dev-priv/master 2023-03-25 10:09:46 -04:00
Jason Wen
bb76d4f9e9 Block Enhanced Speed Control events on unsupported platforms (#140) 2023-03-25 10:07:52 -04:00
Jason Wen
823cc11b80 MADS: disallow manualLongitudinalRequired when cancel without button (#60) 2023-03-25 07:10:09 -04:00
Jason Wen
ed26cac599 mapd: add hysteresis to prevent rapid road name change (#59) 2023-03-25 00:18:06 -04:00
Jason Wen
e45a5815b8 Merge branch 'master' into dev-priv/master 2023-03-25 00:07:46 -04:00
Jason Wen
38068dc916 sunnypilot: HKG: non-SCC platform support prerequisites (#139) 2023-03-25 00:05:03 -04:00
Jason Wen
8aab7b82b6 Merge branch 'master' into dev-priv/master 2023-03-24 17:34:58 -04:00
Jason Wen
5243da9487 FCR: sync with upstream supported car platforms 2023-03-24 17:34:28 -04:00
Jason Wen
ee0dfacb93 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/car_helpers.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/ui/ui.cc
2023-03-24 15:24:05 -04:00
Jason Wen
18a5cf0277 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	opendbc
#	panda
#	selfdrive/ui/ui.cc
2023-03-24 15:05:42 -04:00
Jason Wen
c726a82eaf mapd: offline/local OpenStreetMap database, Feature Speed Limits (#55)
* mapd: offline/local database

* link overpy before manager

* add path to deps

* down here

* this too

* don't force redownload/reinstall unless db not current

* make things neater in json

* small fix

* Revert "small fix"

This reverts commit dbc70ee6d40b51e4d7c4a4af4523d23737350905.

* Revert "make things neater in json"

This reverts commit 1b244c552c1bf877e8b6bf879ca73ebf72617025.

* neater attempt 2 (no reboot for now)

* neater attempt 2 (no reboot for now)

* "selected" not working

* make it stick

* already QString

* check when menu is up

* check when menu is up

* interactive buttons

* add label to inform users about car off

* update texts

* set all params properly

* clean up ui logic

* test

* revert

* ui logic again

* interactive button

* after confirmation updates

* only check when selected

* stop signs?

* bruh

* missed

* small cleanup

* query for real from local db

* Revert "query for real from local db"

This reverts commit d7eb664da2949b073c7d7eb00e0098aa01c83ad3.

* don't hold in same object

* remote server as fallback if local server fails

* use different waypoint

* use function

* declare missing vars

* skip SSL/TLS verification

* fallback to online query if local query fails

* don't prompt to reboot if none is selected

* update ui on press

* Revert "skip SSL/TLS verification"

This reverts commit 2eb5c0972a08227edbfc4f50c38d22d2ced62423.

* simplier

* handle ConnectionError

* point to sunnypilot-osm S3 bucket

* revert freq of road name

* small cleanup

* small cleanup

* revert

* cleanup

* TEMP: test online/offline switchover

* Revert "TEMP: test online/offline switchover"

This reverts commit 4641b8e6f26f4015559a9aff2271f1850708ab09.

* set user-agent

* more databases!

* new urls

* TEST: remove check here

* parse timestamp from file content instead of HEAD Last Modified

* not correct

* wrong var

* don't need this

* have list in cpp

* don't read from json

* provide expectation

* add var to gate feature speed limits

* remove unused
2023-03-24 14:46:14 -04:00
Jason Wen
e28aa306aa pre-commit: skip all checks for now 2023-03-24 14:35:58 -04:00
Jason Wen
ecd3b9ab30 Merge branch 'master' into dev-priv/master 2023-03-24 14:09:09 -04:00
Jason Wen
b73078dc43 mapd: bring back README (#136) 2023-03-24 13:57:54 -04:00
Jason Wen
66e0c7206b mapd: use MADS attribute for openpilot state (#57) 2023-03-21 22:32:20 -04:00
Jason Wen
b1efbc48b2 MADS: initialize set speed when in override state (#56) 2023-03-21 14:52:08 -04:00
Jason Wen
d0e21fc6c8 ui: shorter inner radius in corners (#54) 2023-03-15 23:22:10 -04:00
Jason Wen
a8aa8dbb8a ui: round border corners (#53) 2023-03-14 05:21:08 -04:00
Jason Wen
58bf23e2c4 Merge branch 'master' into dev-priv/master 2023-03-12 17:11:17 -04:00
Jason Wen
9f2a0080c0 gpxd: fix upstream conflict 2023-03-12 17:11:02 -04:00
Jason Wen
d124f62078 ui: developer ui (#48)
* Hide 2nd row dev UI when map is visible

* Dev UI init

* fixup! Dev UI init

* fixup! Dev UI init

* fixup! Dev UI init

* fixup! Dev UI init

* fixup! Dev UI init

* fixup! Dev UI init

* Disable lateraState for now?

* Revert "Disable lateraState for now?"

This reverts commit ff669862e9ab7cfe421a0266dfc503b3b190143a.

* add cs.laterelState

* should be bool

* bruh

* change dm icon too

* Bruh should be y

* don't draw border

* bolded text

* bring back memory usage

* angleSteer status color

* move it higher

* higher

* lower

* closer together

* Move this button too

* fixup! Move this button too

* Move this text?

* to the left

* left and down

* missed an argument

* move them a bit

* readjust bottom row positioning

* test position

* revert to this

* wider!

* proper space reference

* unused

* other method

* fix

* shorter

* more spaces

* wider

* do it like this

* should be width

* add on top

* wider

* lineup right

* align this right

* different one

* try this

* fix

* align right!

* make unit strings standalone

* Try this out

* adjust

* align to unit strings

* adjust!

* adjust!

* Revert "adjust!"

This reverts commit 748b74c21a986b4ed62acdcceb83226ff523e5ce.

* Revert "adjust!"

This reverts commit 4f5373b0de503203098c5fd495e72227f4525be4.

* more adjust

* final adjust?

* final adjust?

* wider

* keep left

* Try this out

* more together

* hmm

* adjust

* align differently

* adjust final

* adjust more

* adjust more

* Try this out

* last

* Try this

* Try that

* wider

* only check when starting

* comment

* remove second column and second row; change settings to 5 or 10 metrics; implement in future PRs

* fixup! remove second column and second row; change settings to 5 or 10 metrics; implement in future PRs

* fixup! remove second column and second row; change settings to 5 or 10 metrics; implement in future PRs
2023-03-12 16:23:00 -04:00
Jason Wen
97b21eb0dd MADS: don't show cruiseEngageBlocked when in standstill (#52) 2023-03-12 15:48:41 -04:00
Jason Wen
c1aa7b078c ui: small changes (#51)
* DLP: better path edges

* fix chevron in the meantime

* only paint when in laneless

* override color

* lighter

* even lighter
2023-03-12 15:46:29 -04:00
Jason Wen
27bd70f64b Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/gm/interface.py
#	selfdrive/ui/translations/main_zh-CHT.ts
2023-03-12 14:59:46 -04:00
Jason Wen
b475e28087 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	panda
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/toyota/carcontroller.py
2023-03-12 14:52:12 -04:00
Jason Wen
11f9ce2c71 GAC: revert button logic 2023-03-11 11:43:52 -05:00
Jason Wen
a953f5872b Longitudinal: use put_bool_nonblocking (#50) 2023-03-11 03:37:30 -05:00
Jason Wen
e2900841da GAC: Optimizations (#49)
* lower calls

* reduce blocking!

* do this in another PR
2023-03-11 03:33:58 -05:00
Jason Wen
a48a9f00bd GAC: fix Toyota signal 2023-03-09 20:07:58 -05:00
Jason Wen
7e17dc668f Merge branch 'master' into dev-priv/master 2023-02-27 13:57:22 -05:00
Jason Wen
1635a176b7 Subaru: brake light signal fix 2023-02-27 13:57:07 -05:00
Jason Wen
66a052abb4 MADS: Subaru cleanup 2023-02-27 13:55:24 -05:00
Jason Wen
b81fac3870 MADS: HKG: gate cruise state available to CAN 2023-02-25 22:41:34 -05: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
05a4894ea4 MADS: HKG CAN-FD: don't use cruise state availability 2023-02-24 16:59:46 -05:00
Jason Wen
2abc8b769b MADS: fix Toyota bug 2023-02-22 20:02:54 -05:00
Jason Wen
25b25523eb Update CHANGELOGS.md 2023-02-22 17:56:57 -05:00
Jason Wen
2160f472d8 Add CHANGELOGS.md 2023-02-22 17:43:38 -05:00
Jason Wen
4c6c251dd5 MADS: fix disengage lateral on brake re-engage (#47)
* MADS: disengage lateral on brake fix

* cleaner logic

* This makes more sense
2023-02-22 17:01:19 -05:00
Jason Wen
3eca4e4c36 ui: show lead vEgo or distance with chevron (#46)
* ui: show vEgo or lead distance with chevron

* fix
2023-02-22 01:01:34 -05:00
Jason Wen
b50329f1b5 Merge branch 'master' into dev-priv/master 2023-02-21 23:51:14 -05:00
Jason Wen
d1f7bb6bb5 Pre-Global Subaru: counter fix and disable dashcamOnly (#119)
Pre-Global Subaru: counter fix and remove dashcam only

* Revert legacy es_lkas counter autogeneration
2023-02-21 23:48:09 -05:00
Jason Wen
aa8f5a520a Merge branch 'master' into dev-priv/master 2023-02-21 23:21:29 -05:00
Jason Wen
038afae028 mapd: use correct path 2023-02-21 22:53:13 -05:00
Jason Wen
6b5ef45bdf mapd: cache downloaded dependencies 2023-02-21 17:30:43 -05:00
Jason Wen
5ee1ae04fb Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/controls/lib/lateral_planner.py
2023-02-21 01:24:41 -05:00
Jason Wen
f7b0250652 GAC: params init 2023-02-21 01:22:45 -05:00
Jason Wen
0ce258612b move-fast: v-tsc fix 2023-02-20 22:48:51 -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
36152df5e4 Torque lateral control customization (#41)
* Torque lateral control init

* move-fast: v-tsc fix

* No need to show this

* oops

* cleaner
2023-02-20 18:19:52 -05:00
Jason Wen
9f0879a57e DLP: Auto Lane profile improvements (#43)
* DLP: laneless for curves when using Auto Lane profile

* DLP: force laneless while changing lane in Auto Lane profile
2023-02-20 10:51:55 -05:00
Jason Wen
f383137efd Merge branch 'master' into dev-priv/master 2023-02-20 02:59:53 -05:00
Jason Wen
643fe3b7fa HKG: parse speed limit (#118)
HKG: parse speed limits
2023-02-20 02:58:57 -05:00
Jason Wen
f3a44c1e3a HKG: add more int flags 2023-02-20 02:51:46 -05:00
Jason Wen
828bbdc912 dragonpilot: otisserv (#42) 2023-02-20 01:02:35 -05:00
Jason Wen
adf844eb30 move-fast: v-tsc fix (#40) 2023-02-19 22:04:35 -05:00
Jason Wen
c97b3b56a9 ui: speedometer customization (#38)
* ui: speedometer customizations

* change param name

* bruh

* cereal: fix duplicate ordinals
2023-02-19 12:24:18 -05:00
Jason Wen
9ccc1523b9 ui: fix upstream conflict (commaai/openpilot:#27380) 2023-02-19 00:24:01 -05:00
Jason Wen
ace812d5d1 Merge branch 'master' into dev-priv/master 2023-02-19 00:15:26 -05:00
Jason Wen
c1c03ff4c3 cereal: fix duplicate ordinals 2023-02-19 00:14:25 -05:00
Jason Wen
b45f62bb74 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/controls/lib/lateral_planner.py
#	selfdrive/ui/ui.cc
2023-02-19 00:05:08 -05:00
Jason Wen
4b2ce89412 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	selfdrive/ui/ui.cc
2023-02-18 23:52:21 -05:00
Jason Wen
3ad8d6ef50 MADS: handle both brakePressed and regenBraking parsing (#39) 2023-02-18 23:25:36 -05:00
Jason Wen
7021d2ce20 move-fast: sunnypilot specials (#32)
* UI: Debug: Tap on Ui to capture snapshot of debug data

* UI: Debug UI: Toggle to display debug UI elements & UI prerequisites

* UI: VisionTurnController Implementation

* UI: Debug UI: Toggle to display debug UI elements

* UI: LiveMapData: Implementation

* UI: SpeedLimitControl: Implementation

* UI: TurnSpeedController: Implementation

* fixup! UI: SpeedLimitControl: Implementation

* Add adjustable speed limit offset (in % or actual values)

* fix

* fix 2

* fix 3

* wrong value used

* don't need this

* needs this!

* and this?

* needs to be at the top

* has to be public

* take them off

* gotta have this

* wrong!

* update this every time

* try to update

* hmm maybe it was this

* missed this

* Revert "missed this"

This reverts commit 926b45410544e4f1bbc5174d0d7b03fafedf610f.

* Revert "hmm maybe it was this"

This reverts commit 7f75543db71d6f438f6473c66d4f94df317f16f2.

* refresh them

* update them in both places!

* make them public please

* don't forget this path

* try this refresh?

* Revert "make them public please"

This reverts commit 669a3ee1d5607c84109294db7a567ca86cb91b0f.

* revert these

* try using signals to update

* Revert "try using signals to update"

This reverts commit f3ad02bde71467aa7fc27c0b95d03748345193e6.

* update state after it's emitted

* make it public

* Revert "make it public"

This reverts commit ddf431d198133359b8bd656dde9061ec671f2312.

* Revert "update state after it's emitted"

This reverts commit aad2876166843b63d889e90830bf3d32edaa2857.

* try this out

* fixup! try this out

* fixup! try this out

* fixup! try this out

* fixup! try this out

* don't need this

* fixup! try this out

* fixup! try this out

* fixup! try this out

* fixup! try this out

* make sure we can see it

* make it float

* Try to update this way

* fixup! Try to update this way

* Revert "fixup! Try to update this way"

This reverts commit f4725bcb070cc8e8ebeb6e37afeb930694e96e22.

* Revert "Try to update this way"

This reverts commit af72af8a4a193b24e99931200fac18c6625a2431.

* new method to hide/show

* fixup! new method to hide/show

* fixup! new method to hide/show

* fixup! new method to hide/show

* fixup! new method to hide/show

* fixup! new method to hide/show

* omg it works?!

* run these at 2Hz pls

* UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* fixup! UI: use comma speed limit design instead of move-fast

* garbage collection

* redundant

* gc attempt?

* Revert "garbage collection"

This reverts commit 127fc8bd9d1eaea7725cf775dc7034ac6aaf09f4.

* garbage collection

* catch exceptions

* ignore mapd if crashed

* copy dependencies after first download

* changed dir

* oops

* proper termination before exiting

* same class

* Revert "same class"

This reverts commit dda695477371bf259b89aae726210dfe9d5f913e.

* Revert "proper termination before exiting"

This reverts commit 95c039dac86a389c0be043aadf2a3e8cbd4515c8.

* don't let accelerator press to re-engage SLC when NDOG is off

* can we free them up?

* Revert "can we free them up?"

This reverts commit d7736524645376ffb43acb77678086f6ae3c4e0b.

* fixup! don't let accelerator press to re-engage SLC when NDOG is off

* introduce navInstruction speed limits into SLC

* nuke UI for now - memory test

* do this instead

* Overpass: does not exist

* Revert "nuke UI for now - memory test"

This reverts commit fd81ffde0443917580ec4ad71095c178173883fe.

* meh
2023-02-18 23:22:07 -05:00
Jason Wen
6e9ac005ed Merge branch 'master' into dev-priv/master 2023-02-18 19:36:18 -05:00
Jason Wen
c9d784a0b9 ui: speedometer customization more init 2023-02-18 19:35:54 -05:00
Jason Wen
34c77311de Merge branch 'master' into dev-priv/master 2023-02-18 19:10:41 -05:00
Jason Wen
9881d1a6e4 ui: speedometer customization params init 2023-02-18 19:10:23 -05:00
Jason Wen
8892950697 MADS: don't allow actuation if not calibrated (#37) 2023-02-18 18:46:12 -05:00
Jason Wen
c20c3c5ecc MADS: Volkswagen control logic fix (#36)
* use old method

* can't miss this
2023-02-18 17:58:56 -05:00
Jason Wen
c21bc04492 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
2023-02-17 20:07:08 -05:00
Jason Wen
7fea5dc842 bump panda 2023-02-17 20:06:31 -05:00
Jason Wen
e7157d00f8 UI: Remove Enhanced SCC (ESCC) Radar Interceptor toggle 2023-02-17 18:41:05 -05:00
Jason Wen
2fc2e108be Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/carstate.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/hyundai/interface.py
2023-02-17 18:39:06 -05:00
Jason Wen
2830c020f6 Hyundai: Enhanced SCC (ESCC) Radar Interceptor support (#114)
* escc: wip

* finish up

* use new intflag

* bump panda
2023-02-17 18:33:14 -05:00
Jason Wen
32d50a6504 bump panda 2023-02-17 18:31:10 -05:00
Jason Wen
36461f1885 MADS: don't forget about Volkswagen 2023-02-17 16:13:14 -05:00
Jason Wen
72026aec5f Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
2023-02-17 15:58:32 -05:00
Jason Wen
be037b31be bump panda 2023-02-17 15:07:17 -05:00
Jason Wen
249c823541 Remove third_party/mapd/ from release build 2023-02-17 13:44:41 -05:00
Jason Wen
cc9a8e7d2c Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/car_helpers.py
2023-02-17 01:28:52 -05:00
Jason Wen
b2465c3494 Merge remote-tracking branch 'upstream/commaai/openpilot/master' 2023-02-17 01:26:38 -05:00
Jason Wen
c533f185ae Release branch build scripts and files (#35)
* Release branch build scripts and files

* Change author!
2023-02-16 23:10:40 -05:00
Jason Wen
3cab2a57f7 Longitudinal: Distance button to toggle experimental mode (#34)
* Distance button on steering wheel to toggle experimental mode

* HKG and Honda

* Longitudinal: parse distance button from steering wheel

* missing gm signal

* GM, VW (MQB & PQ), Toyota

* try this logic out
2023-02-16 21:17:05 -05:00
Jason Wen
c0893c47fe Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/interfaces.py
2023-02-16 20:59:04 -05:00
Jason Wen
7934454088 Longitudinal: parse physical distance button (#113)
* Longitudinal: parse distance button from steering wheel

* missing gm signal
2023-02-16 20:57:07 -05:00
Jason Wen
32e2e463a8 Merge branch 'master' into dev-priv/master 2023-02-15 00:34:01 -05:00
Jason Wen
0fd1cfbe56 mapd: Remove preloaded dependencies (#112) 2023-02-15 00:33:06 -05:00
Jason Wen
8a99b9256a MADS: V_CRUISE_INITIAL -> V_CRUISE_UNSET (#33) 2023-02-14 23:12:32 -05:00
Jason Wen
f78cd8a754 bump panda 2023-02-14 20:45:04 -05:00
Jason Wen
ef32bcd0b1 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/hyundai/carcontroller.py
2023-02-14 20:44:48 -05:00
Jason Wen
75a00af955 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	opendbc
#	panda
2023-02-14 20:42:02 -05:00
Jason Wen
ca0a986caa Merge branch 'master' into dev-priv/master 2023-02-13 19:59:50 -05:00
Jason Wen
2d070dbdb7 mapd: add path 2023-02-13 19:58:53 -05:00
Jason Wen
b7a3855ede SLC: adjustable speed limit offset - init 2023-02-13 19:55:00 -05:00
Jason Wen
6aff55d6c9 Merge branch 'master' into dev-priv/master 2023-02-13 18:19:54 -05:00
Jason Wen
a2ef3609a3 SLC: adjustable speed limit offset - init 2023-02-13 18:19:43 -05:00
Jason Wen
5feb4fa001 Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/controls/plannerd.py
#	selfdrive/ui/ui.cc
2023-02-13 11:41:38 -05:00
Jason Wen
bf659453aa move-fast: mapd, Speed Limit Control, Vision & Map Turn Speed Control (#111)
* move-fast: Hands on wheel monitoring: Implementation according to r079r4e regulation

* move-fast: VisionTurnController Implementation & UI prerequisites

* move-fast: LiveMapData: Implementation & UI prerequisites

* add dependencies

* move-fast: SpeedLimitControl: Implementation & UI prerequisites

* move-fast: TurnSpeedController: Implementation & UI prerequisites

* move-fast: Debug: Tap on Ui to capture snapshot of debug data & UI prerequisites

* Debug UI: Toggle to display debug UI elements & UI prerequisites
2023-02-13 11:38:11 -05:00
Jason Wen
fbb8176df6 Merge branch 'master' into dev-priv/master 2023-02-13 02:11:52 -05:00
Jason Wen
755b5746fb FCR: generate all sunnypilot supported car platforms 2023-02-11 02:34:35 -05:00
Jason Wen
92f16cbbac Merge branch 'master' into dev-priv/master
# Conflicts:
#	selfdrive/controls/controlsd.py
2023-02-11 02:28:54 -05:00
Jason Wen
6ad79d3e81 Longitudinal: Reverse ACC Change (#110) 2023-02-11 02:26:50 -05:00
Jason Wen
a42d9e238d DLP: don't delay on checking status (#31) 2023-02-11 01:31:20 -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
Jason Wen
eb591e3015 Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	opendbc
2023-02-11 01:23:43 -05:00
Jason Wen
5851892123 DLP: use path side edges to show lateral planner status (#30)
* try this out

* he might have gotten it!

* Hmmmm

* white edges!

* wrong

* wider!

* Try to match stock opacity

* too bright

* fix

* dimmer

* Revert to upstream color schemes and show borders

* put them together

* sharper
2023-02-10 05:00:59 -05:00
Jason Wen
d2d0f90d73 UI: reset the Stand Still Timer properly (#29) 2023-02-09 21:21:45 -05:00
Jason Wen
c19c38309e UI: better logic for Stand Still Timer (#28) 2023-02-09 10:40:20 -05:00
Jason Wen
37e07b8362 Merge branch 'master' into dev-priv/master
# Conflicts:
#	panda
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/hyundai/values.py
#	selfdrive/ui/qt/onroad.cc
#	selfdrive/ui/qt/onroad.h
2023-02-09 02:13:08 -05:00
Jason Wen
d201a4b08c Merge remote-tracking branch 'upstream/commaai/openpilot/master'
# Conflicts:
#	cereal
#	opendbc
#	panda
2023-02-09 02:07:22 -05:00
Jason Wen
1af1c408ce UI: Stand Still Timer (#26) 2023-02-09 01:40:48 -05:00
Jason Wen
c988b934ed Count up vEgo (#27) 2023-02-09 01:10:54 -05:00
Jason Wen
935bf6bd91 Tmux error viewer 2023-02-09 00:11:30 -05:00
Jason Wen
b08431888b UI: display barrier when blind spot is active (#25) 2023-02-08 22:28:48 -05:00
Jason Wen
6322b99040 UI: Rocket Fuel (#24) 2023-02-08 22:01:53 -05:00
Jason Wen
025e97f229 Merge branch 'master' into dev-priv/master 2023-02-08 20:14:42 -05:00
Jason Wen
a0c9b12341 bump cereal 2023-02-08 20:13:28 -05:00
Jason Wen
d8c5a8f1dc Merge branch 'master' into dev-priv/master 2023-02-08 14:24:10 -05:00
Jason Wen
25efc5316a bump cereal 2023-02-08 14:23:45 -05:00
Jason Wen
6b6fa663bc fixup! UI: check params every 5 seconds 2023-02-08 00:35:01 -05:00
Jason Wen
4eda9103bc UI: check params every 5 seconds 2023-02-07 15:47:36 -05:00
Jason Wen
9b5b61551c UI: Screen Recorder (#22)
* UI: screen recorder ;)

* oops

* try out new look

* dep

* Try this

* bruh

* Hmm

* and this

* or this?

* how's this?

* this is fine

* move it move it

* finalize

* small

* bigger

* smaller

* pinpoint this

* Missed this

* and this

* gone?

* press down state

* no sound for now
2023-02-07 03:34:59 -05:00
Jason Wen
a93c936e4b Log e2e x factor 2023-02-06 19:07:43 -05:00
Jason Wen
ecd3e902ad Toyota: Enforce stock longitudinal control 2023-02-06 19:04:54 -05:00
Jason Wen
31483d18fd FCR: Support all cars (except Ford and Tesla) (#21)
* FCR: init

* Sync car list with upstream

* less I/O?
2023-02-06 18:19:53 -05:00
Jason Wen
2fa7a4cf7f UI: initialize settings (#20)
* sunnypilot ui init

* ui controls init

* comment out for now

* use ListWidget instead moving forward

* wrap for translation

* quick test

* need this

* good to go, no need for now

* start with some

* some html

* that didn't work

* fill up General first

* add mads options

* add mads options 2

* add mads options 3

* add mads options 4

* add mads options 5

* add mads options 6

* add mads options 7

* add mads options 8

* add mads options 9

* add mads options 10

* add mads options 11

* add mads options 12

* add mads options 13

* add mads options 14

* add mads options 15

* add mads options 16

* add mads options 17

* add mads options 18

* add mads options 19

* add mads options 20

* add mads options 21

* add mads options 22

* add mads options 22

* add dlp

* add dlp

* add dlp

* finish up controls panel

* QWidget has no refresh()

* fix this tr() later

* flipped and redundant deleted

* missing icons

* Bolding

* Revert "Revert "Don't delete params""

This reverts commit 7adfc172d599da0e450669a203f5cdb17a32a9d6.

* Revert "Revert "Revert "Don't delete params"""

This reverts commit 33f28677f1a69fb18c7d1a08c5f02a497005dfbe.

* Revert "Revert "don't forget this""

This reverts commit f4485920ed5318e4662e4955a699febb9ba27159.

* Revert "Revert "fill up sp - vehicles""

This reverts commit dfab593833ca5a9cb26fb89f36bf7ac19f7432bf.

* Revert "Revert "missed this""

This reverts commit bf4ac0289b164ca59cb49c355fa8a5303c66b016.

* Revert "Revert "missed that""

This reverts commit da81b7f9eb4e7bbafced4a7a31cb4b7a078d2277.

* Revert "Revert "missed these""

This reverts commit 742908dcf5220a93da57a54836b2b890bbbd519a.

* Revert "Revert "nicer info?""

This reverts commit e0d6c1c05da394774ad0a7ee0b5c5e5c7f55c08a.

* Revert "Revert "fill up sp visuals""

This reverts commit 35759838e0ba4a36f36a12ff1001846b32ddd0c7.

* Revert "Revert "don't miss these""

This reverts commit 7f093380b470a7c195d1f6795b76393b72d4e2f7.

* Revert "Revert "Revert "ui controls init"""

This reverts commit 67c531487e9501ca5658297a20061b88f91c10cc.

* Revert "Revert "move stuff around""

This reverts commit 03b72af6d01772b18c506f590e92b6dbc95c2bfc.

* change to sunnypilot

* update texts

* fix

* does this work?

* Revert "does this work?"

This reverts commit 7b3caf3677593550065efe553334d0797dc5ea00.

* try this out

* add some back

* arrange around

* maybe less I/O

* missing a space

* Translate these too

* unfinished translations

* try this out

* easier translation

* refresh unfinished translations

* update menu texts with Chinese S and T!

* missed this translation

* more unfinished translations
2023-02-06 18:11:22 -05:00
Jason Wen
bb6bee5925 Merge branch 'master' into dev-priv/master
# Conflicts:
#	system/version.py
2023-02-06 00:33:31 -05:00
Jason Wen
8102fc8572 Merge remote-tracking branch 'upstream/commaai/openpilot/master' 2023-02-06 00:29:11 -05:00
Jason Wen
048fd58243 Braking status UI: reuse compound operator 2023-02-06 00:22:17 -05:00
Jason Wen
c0e0dbb642 Braking status UI: don't use compound operator 2023-02-06 00:19:57 -05:00
Jason Wen
7b22a2b4ad Onroad Screen Off Brightness + Timer + Global Brightness (#19)
* Onroad Screen Off Brightness + Timer + Global Brightness

* need to add the object

* missed this
2023-02-05 23:55:14 -05:00
Jason Wen
1fb8a891fc Merge branch 'master' into dev-priv/master 2023-02-05 22:06:04 -05:00
Jason Wen
01461c013c UI: don't forget the toggle for Braking Status 2023-02-05 22:01:41 -05:00
Jason Wen
60c02cf87b Toyota TSS2 longitudinal improvements (#108)
* Toyota TSS2 longitudinal improvements

* IDE doesn't like it
2023-02-05 21:58:19 -05:00
Jason Wen
ca4cbccb70 Braking status UI (#18)
* Braking status UI

* add brake

* wrong things to check
2023-02-05 21:50:25 -05:00
Jason Wen
b193992299 Merge branch 'master' into dev-priv/master 2023-02-05 20:57:15 -05:00
Jason Wen
3188d11efd Braking status prerequisites (#107)
* Braking status prerequisites

* No need for this
2023-02-05 20:54:59 -05:00
Jason Wen
0790e4d9f7 gpxd (#106) 2023-02-05 19:58:26 -05:00
Jason Wen
d4f1b12070 Disable Onroad Uploads (#105) 2023-02-05 19:53:21 -05:00
Jason Wen
0ca23636d4 Merge branch 'master' into dev-priv/master 2023-02-05 15:16:42 -05:00
Jason Wen
2a841a7757 Lane Change Timer (#104) 2023-02-05 14:31:09 -05:00
Jason Wen
5e1d9da867 Max Time Offroad 2023-02-05 14:17:32 -05:00
Jason Wen
ff1eebcc47 Quiet Drive (#17) 2023-02-05 14:08:29 -05:00
Jason Wen
6ec1b029b9 DLP: preserves lanelines (#16)
* Revert "Remove lane planning code (#25651)"

* DLP: preserves lanelines

* MADS: cruiseEngageBlocked event

* change path now!

* Revert "change path now!"

This reverts commit 7db2af33378aa02288b6222ed722d705ca6e92ec.

* Revert "Revert "change path now!""

This reverts commit 19f50a19e98721f7b8b9018b2e788629df45137f.

* c string

* atoi instead

* does this work?

* move it move it

* move there

* Try this one

* dotted line

* looks horrible

* how about this?

* Nah let's keep it simple

* track these with cereals

* send button!

* add more

* don't need this

* and this too

* make sure it shows first

* more

* to right for now

* stock size

* different color

* move some logic around

* don't miss

* don't miss this

* check somewhere else

* oops

* not liking it

* bring back current button

* don't need to be constant

* take it out for now

* wrap for translation
2023-02-05 13:46:58 -05:00
Jason Wen
5bd3c0fc31 Merge branch 'master' into dev-priv/master 2023-02-05 02:22:33 -05:00
Jason Wen
0208188975 Merge remote-tracking branch 'upstream/commaai/openpilot/master' 2023-02-05 02:21:51 -05:00
Jason Wen
85ff332e01 UI: don't affect opacity on other icons 2023-02-04 22:24:43 -05:00
Jason Wen
294d856331 UI: onroad button press init 2023-02-04 21:49:10 -05:00
Jason Wen
d44b408b9b Merge branch 'dev-pub/master' into dev-priv/master 2023-02-04 19:48:10 -05:00
Jason Wen
931718e937 bump cereal 2023-02-04 19:47:55 -05:00
Jason Wen
9b18d61111 Merge branch 'dev-pub/master' into dev-priv/master 2023-02-04 14:29:08 -05:00
Jason Wen
300c33583a bump cereal 2023-02-04 14:28:45 -05:00
Jason Wen
c55771feaf Merge branch 'dev-pub/master' into dev-priv/master 2023-02-04 12:11:19 -05:00
Jason Wen
4e03bd488d bump cereal 2023-02-04 12:10:57 -05:00
Jason Wen
7cb3e29e47 Merge branch 'dev-pub/master' into dev-priv/master
# Conflicts:
#	selfdrive/manager/manager.py
2023-02-04 04:20:01 -05:00
Jason Wen
054562fc77 import param init 2023-02-04 04:19:39 -05:00
Jason Wen
c747b80706 MADS: onroad UI remove unused vars (#15) 2023-02-04 03:54:47 -05: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
3f431e4c6d Merge remote-tracking branch 'upstream/commaai/openpilot/master' into dev-pub/master
# Conflicts:
#	cereal
#	opendbc
2023-02-04 00:39:30 -05:00
Jason Wen
990a789786 MADS: onroad UI (#14)
* MADS: Lane path and lane line status

* can't do that

* what is purple

* brighter purple?

* purple looks fine
2023-02-04 00:29:51 -05:00
Jason Wen
e292b502e6 Merge branch 'dev-pub/master' into dev-priv/master 2023-02-03 23:49:34 -05:00
Jason Wen
215b03118e bump cereal 2023-02-03 23:49:00 -05:00
Jason Wen
7bc1bbfc3b MADS: better brake state handling - part 7 2023-02-03 23:07:55 -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
Jason Wen
926e750cee MADS: better brake state handling - part 4 2023-02-03 02:18:28 -05:00
Jason Wen
bb0fad232b MADS: better brake state handling - part 3 2023-02-01 17:26:52 -05:00
Jason Wen
4f35b842d2 MADS: better brake state handling - part 2 2023-02-01 06:39:47 -05:00
Jason Wen
79ad1395c0 Merge branch 'dev-pub/master' into dev-priv/master 2023-01-31 18:10:04 -05:00
Jason Wen
428dbb52e2 fix duplicate ordinal 2023-01-31 18:09:43 -05:00
Jason Wen
d8d643fe43 MADS: block cruise engage event 2023-01-31 17:58:46 -05:00
Jason Wen
46a2f603ea Merge branch 'dev-pub/master' into dev-priv/master
# Conflicts:
#	common/params.cc
2023-01-31 01:06:02 -05:00
Jason Wen
4d0fb94161 import all params 2023-01-31 01:04:32 -05:00
Jason Wen
d97e6df31a Merge branch 'dev-pub/master' into dev-priv/master 2023-01-31 00:41:14 -05:00
Jason Wen
93a4090476 MADS: add more event 2023-01-31 00:40:47 -05:00
Jason Wen
b963b8edee MADS: show event when attempt to engage cruise while braking 2023-01-31 00:39:53 -05:00
Jason Wen
07205a5849 Merge branch 'new-logging' into dev-priv/master 2023-01-29 22:01:29 -05:00
Jason Wen
ffa46a747b General: Sentry logging 2023-01-29 21:59:55 -05:00
Jason Wen
6a30c535b1 MADS: better brake state handling 2023-01-29 18:50:28 -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
Jason Wen
f874bf9cff Merge branch 'dev-pub/master' into dev-priv/master 2023-01-28 21:06:09 -05:00
Jason Wen
eb7b3f5489 fix merge conflicts 2023-01-28 21:04:51 -05:00
Jason Wen
71a8b68d57 Merge branch 'dev-pub/master' into dev-priv/master
# Conflicts:
#	panda
2023-01-28 20:53:34 -05:00
Jason Wen
4f60a73471 Merge remote-tracking branch 'upstream/commaai/openpilot/master' into dev-pub/master
# Conflicts:
#	cereal
#	panda
2023-01-28 20:46:44 -05:00
Jason Wen
b2707d5923 bump panda 2023-01-22 13:23:25 -05:00
Jason Wen
6c5d96c761 Merge branch 'dev-pub/master' into dev-priv/master 2023-01-22 13:22:40 -05:00
Jason Wen
da778f69b3 bump cereal 2023-01-18 22:35:39 -05:00
Jason Wen
de74cc4103 Merge branch 'dev-pub/master' into dev-priv/master
# Conflicts:
#	panda
2023-01-15 04:15:01 -05:00
Jason Wen
9168bae8da bump panda 2023-01-15 04:10:46 -05:00
Jason Wen
50f3dfe37a Merge remote-tracking branch 'upstream/commaai/openpilot/master' into dev-pub/master 2023-01-15 04:10:28 -05:00
Jason Wen
1cd919dcd4 bump panda 2023-01-12 19:58:19 -05:00
Jason Wen
8d416d1ccb Merge branch 'dev-pub/master' into dev-priv/master 2023-01-12 19:58:00 -05:00
Jason Wen
d0dc650f7d Update submodules 2023-01-12 19:57:09 -05:00
Jason Wen
eb3eb92d5e bump submodules 2023-01-12 19:35:07 -05:00
Jason Wen
df79142199 Merge remote-tracking branch 'upstream/commaai/openpilot/master' 2023-01-12 19:32:25 -05:00
Jason Wen
6b4342f2d6 Merge branch 'master-public' into master-priv 2023-01-02 20:10:19 -05:00
Jason Wen
fe6bf5e293 Merge remote-tracking branch 'upstream/commaai/openpilot/master' into master-public 2023-01-02 20:05:54 -05:00
Jason Wen
6ad18dae26 update refs 2022-12-20 01:14:23 -05:00
1709 changed files with 111923 additions and 65730 deletions

View File

@@ -0,0 +1 @@
{"cache_date": "2024-08-08", "page_authors": {"docs/index.md": {"last_commit_date": "2024-07-28", "authors": [{"login": "adeebshihadeh", "name": "adeebshihadeh", "url": "https://github.com/adeebshihadeh", "avatar": "https://avatars.githubusercontent.com/u/8762862?v=4"}, {"login": "tecandrew", "name": "tecandrew", "url": "https://github.com/tecandrew", "avatar": "https://avatars.githubusercontent.com/u/21319730?v=4"}, {"login": "pd0wm", "name": "pd0wm", "url": "https://github.com/pd0wm", "avatar": "https://avatars.githubusercontent.com/u/1314752?v=4"}]}, "docs/SAFETY.md": {"last_commit_date": "2023-07-25", "authors": [{"login": "haraschax", "name": "haraschax", "url": "https://github.com/haraschax", "avatar": "https://avatars.githubusercontent.com/u/6804392?v=4"}, {"login": "sshane", "name": "sshane", "url": "https://github.com/sshane", "avatar": "https://avatars.githubusercontent.com/u/25857203?v=4"}, {"login": "pd0wm", "name": "pd0wm", "url": "https://github.com/pd0wm", "avatar": "https://avatars.githubusercontent.com/u/1314752?v=4"}, {"login": "geohot", "name": "geohot", "url": "https://github.com/geohot", "avatar": "https://avatars.githubusercontent.com/u/72895?v=4"}]}, "docs/how-to/turn-the-speed-blue.md": {"last_commit_date": "2024-07-28", "authors": [{"login": "adeebshihadeh", "name": "adeebshihadeh", "url": "https://github.com/adeebshihadeh", "avatar": "https://avatars.githubusercontent.com/u/8762862?v=4"}]}}}

View File

@@ -1 +1,3 @@
.Xauthority
.Xauthority
.env
.host/

View File

@@ -1,6 +1,18 @@
FROM ghcr.io/commaai/openpilot-base:latest
# remove gitconfig if exists, since its gonna be replaced by host one
RUN rm -f /root/.gitconfig
RUN apt update && apt install -y vim net-tools usbutils htop ripgrep
RUN pip install ipython jupyter jupyterlab
RUN apt update && apt install -y vim net-tools usbutils htop ripgrep tmux wget mesa-utils xvfb libxtst6 libxv1 libglu1-mesa gdb bash-completion
RUN python3 -m ensurepip --upgrade
RUN pip3 install ipython jupyter jupyterlab
RUN cd /tmp && \
ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
curl -L -o virtualgl.deb "https://github.com/VirtualGL/virtualgl/releases/download/3.1.1/virtualgl_3.1.1_$ARCH.deb" && \
dpkg -i virtualgl.deb
RUN usermod -aG video batman
USER batman
RUN cd $HOME && \
curl -O https://raw.githubusercontent.com/commaai/agnos-builder/master/userspace/home/.tmux.conf && \
curl -O https://raw.githubusercontent.com/commaai/agnos-builder/master/userspace/home/.vimrc

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
TARGET_USER=batman
source .devcontainer/.host/.env
# override display flag for mac hosts
if [[ $HOST_OS == darwin ]]; then
echo "Setting up DISPLAY override for macOS..."
cat <<EOF >> /home/$TARGET_USER/.bashrc
source .devcontainer/.host/.env
if [ -n "\$HOST_DISPLAY" ]; then
DISPLAY_NUM=\$(echo "\$HOST_DISPLAY" | awk -F: '{print \$NF}')
export DISPLAY=host.docker.internal:\$DISPLAY_NUM
fi
EOF
fi
# setup virtualgl for mac hosts
if [[ $HOST_OS == darwin ]]; then
echo "Setting up virtualgl for macOS..."
cat <<EOF >> /home/$TARGET_USER/.bashrc
if [ -n "\$HOST_DISPLAY" ]; then
export VGL_PORT=10000
export VGL_CLIENT=host.docker.internal
export VGL_COMPRESS=rgb
export VGL_DISPLAY=:99
export VGL_FPS=60
# prevent vglrun from running exec
alias exec=:; source vglrun :; unalias exec
fi
EOF
fi
# These lines are temporary, to remain backwards compatible with old devcontainers
# that were running as root and therefore had their caches written as root
sudo chown -R $TARGET_USER: /tmp/scons_cache
sudo chown -R $TARGET_USER: /tmp/comma_download_cache
sudo chown -R $TARGET_USER: /home/batman/.comma

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
source .devcontainer/.host/.env
# setup safe directories for submodules
SUBMODULE_DIRS=$(git config --file .gitmodules --get-regexp path | awk '{ print $2 }')
for DIR in $SUBMODULE_DIRS; do
git config --global --add safe.directory "$PWD/$DIR"
done
# virtual display for virtualgl
if [[ "$HOST_OS" == "darwin" ]] && [[ -n "$HOST_DISPLAY" ]]; then
echo "Starting virtual display at :99 ..."
tmux new-session -d -s fakedisplay Xvfb :99 -screen 0 1920x1080x24
fi

View File

@@ -3,23 +3,39 @@
"build": {
"dockerfile": "Dockerfile"
},
"postCreateCommand": "bash -c 'if [[ $DISPLAY == *xquartz* ]]; then echo \"export DISPLAY=host.docker.internal:0\" >> /root/.bashrc; fi'",
"postStartCommand": "git config --file .gitmodules --get-regexp path | awk '{ print $2 }' | xargs -I{} git config --global --add safe.directory \"$PWD/{}\"",
"initializeCommand": ".devcontainer/setup_host.sh",
"postCreateCommand": ".devcontainer/container_post_create.sh",
"postStartCommand": ".devcontainer/container_post_start.sh",
"initializeCommand": [".devcontainer/host_setup"],
"privileged": true,
"containerEnv": {
"DISPLAY": "${localEnv:DISPLAY}",
"PYTHONPATH": "${containerWorkspaceFolder}",
"TERM": "xterm-256color",
"force_color_prompt": "1"
},
"runArgs": [
"--volume=/dev:/dev",
"--volume=/tmp/.X11-unix:/tmp/.X11-unix",
"--volume=${localWorkspaceFolder}/.devcontainer/.Xauthority:/root/.Xauthority",
"--volume=${localEnv:HOME}/.comma:/root/.comma",
"--volume=${localWorkspaceFolder}/.devcontainer/.host/.Xauthority:/home/batman/.Xauthority",
"--volume=${localEnv:HOME}/.comma:/home/batman/.comma",
"--volume=${localEnv:HOME}/.azure:/home/batman/.azure",
"--volume=/tmp/comma_download_cache:/tmp/comma_download_cache",
"--volume=/tmp/devcontainer_scons_cache:/tmp/scons_cache",
"--shm-size=1G"
"--shm-size=1G",
"--add-host=host.docker.internal:host-gateway", // required to use host.docker.internal on linux
"--publish=0.0.0.0:8070-8079:8070-8079" // body ZMQ services
],
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {
"installZsh": false,
"installOhMyZsh": false,
"upgradePackages": false,
"username": "batman"
},
"ghcr.io/devcontainers-contrib/features/gh-cli:1": {},
"ghcr.io/devcontainers/features/azure-cli:1": {}
},
"containerUser": "batman",
"remoteUser": "batman",
"customizations": {
"vscode": {
"extensions": [
@@ -30,5 +46,8 @@
"lharri73.dbc"
]
}
}
}
},
"mounts": [
"type=volume,source=scons_cache,target=/tmp/scons_cache"
]
}

47
.devcontainer/host_setup Executable file
View File

@@ -0,0 +1,47 @@
#!/usr/bin/env bash
# pull base image
if [[ -z $USE_LOCAL_IMAGE ]]; then
echo "Updating openpilot_base image if needed..."
docker pull ghcr.io/commaai/openpilot-base:latest
fi
# setup .host dir
mkdir -p .devcontainer/.host
# setup links to Xauthority
XAUTHORITY_LINK=".devcontainer/.host/.Xauthority"
rm -f $XAUTHORITY_LINK
if [[ -z $XAUTHORITY ]]; then
echo "XAUTHORITY not set. Fallback to ~/.Xauthority ..."
if ! [[ -f $HOME/.Xauthority ]]; then
echo "~/.XAuthority file does not exist. GUI tools may not work properly."
touch $XAUTHORITY_LINK # dummy file to satisfy container volume mount
else
ln -sf $HOME/.Xauthority $XAUTHORITY_LINK
fi
else
ln -sf $XAUTHORITY $XAUTHORITY_LINK
fi
# setup host env file
HOST_INFO_FILE=".devcontainer/.host/.env"
SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]')
echo "HOST_OS=\"$SYSTEM\"" > $HOST_INFO_FILE
echo "HOST_DISPLAY=\"$DISPLAY\"" >> $HOST_INFO_FILE
# run virtualgl if macos
if [[ $SYSTEM == "darwin" ]]; then
echo
if [[ -f /opt/VirtualGL/bin/vglclient ]]; then
echo "Starting VirtualGL client at port 10000..."
VGL_LOG_FILE=".devcontainer/.host/.vgl/vglclient.log"
mkdir -p "$(dirname $VGL_LOG_FILE)"
/opt/VirtualGL/bin/vglclient -l "$VGL_LOG_FILE" -display "$DISPLAY" -port 10000 -detach
else
echo "VirtualGL not found. GUI tools may not work properly. Some GUI tools require OpenGL to work properly. To use them with XQuartz on mac, VirtualGL needs to be installed. To install it run:"
echo
echo " brew install --cask virtualgl"
echo
fi
fi

View File

@@ -0,0 +1,10 @@
:: pull base image
IF NOT DEFINED USE_LOCAL_IMAGE ^
echo "Updating openpilot_base image if needed..." && ^
docker pull ghcr.io/commaai/openpilot-base:latest
:: setup .host dir
mkdir .devcontainer\.host
:: setup host env file
echo "" > .devcontainer\.host\.env

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
# setup links to Xauthority
XAUTHORITY_LINK=".devcontainer/.Xauthority"
rm -f $XAUTHORITY_LINK
if [[ -z $XAUTHORITY ]]; then
echo "XAUTHORITY not set. Fallback to ~/.Xauthority ..."
if ! [[ -f $HOME/.Xauthority ]]; then
echo "~/.XAuthority file does not exist. GUI tools may not work properly."
touch $XAUTHORITY_LINK # dummy file to satisfy container volume mount
else
ln -sf $HOME/.Xauthority $XAUTHORITY_LINK
fi
else
ln -sf $XAUTHORITY $XAUTHORITY_LINK
fi

View File

@@ -1,3 +0,0 @@
((c++-mode (flycheck-gcc-language-standard . "c++11")
(flycheck-clang-language-standard . "c++11")
))

View File

@@ -28,10 +28,8 @@ chffr/app2
chffr/backend/env
selfdrive/nav
selfdrive/baseui
chffr/lib/vidindex/vidindex
selfdrive/test/simulator2
**/cache_data
xx/chffr/lib/vidindex/vidindex
xx/plus
xx/community
xx/projects

21
.gitattributes vendored
View File

@@ -1,3 +1,24 @@
* text=auto
# to move existing files into LFS:
# git add --renormalize .
*.dlc filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.svg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.wav 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
selfdrive/ui/qt/text_larch64 filter=lfs diff=lfs merge=lfs -text
third_party/**/*.a filter=lfs diff=lfs merge=lfs -text
third_party/**/*.so filter=lfs diff=lfs merge=lfs -text
third_party/**/*.so.* filter=lfs diff=lfs merge=lfs -text
third_party/**/*.dylib filter=lfs diff=lfs merge=lfs -text
third_party/acados/*/t_renderer filter=lfs diff=lfs merge=lfs -text
third_party/qt5/larch64/bin/lrelease filter=lfs diff=lfs merge=lfs -text
third_party/qt5/larch64/bin/lupdate filter=lfs diff=lfs merge=lfs -text
third_party/catch2/include/catch2/catch.hpp filter=lfs diff=lfs merge=lfs -text

12
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [sunnyhaibin] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: sunnyhaibin # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://paypal.me/sunnyhaibin0850'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@@ -24,7 +24,7 @@ body:
id: os-version
attributes:
label: OS Version
placeholder: Ubuntu 20.04
placeholder: Ubuntu 24.04
validations:
required: true

View File

@@ -8,7 +8,7 @@ assignees: ''
**Checklist**
- [ ] added to README
- [ ] added entry to CAR in selfdrive/car/*/values.py and ran `selfdrive/car/docs.py` to generate new docs
- [ ] test route added to [routes.py](https://github.com/commaai/openpilot/blob/master/selfdrive/car/tests/routes.py)
- [ ] route with openpilot:
- [ ] route with stock system:

View File

@@ -6,6 +6,8 @@ labels: 'fingerprint'
assignees: ''
---
Discord username: []
**Car**
Which car (make, model, year) this fingerprint is for
Route: []
**Route**
A route with the fingerprint

View File

@@ -28,5 +28,4 @@ Longitudinal:
Lateral:
* Straight driving at ~25, ~45 and ~65mph
* Turns driving at ~25, ~45 and ~65mph
-->
-->

30
.github/build.py vendored Normal file
View File

@@ -0,0 +1,30 @@
import pathlib
GITHUB_FOLDER = pathlib.Path(__file__).parent
PULL_REQUEST_TEMPLATES = (GITHUB_FOLDER / "PULL_REQUEST_TEMPLATE")
order = ["fingerprint", "car_bugfix", "bugfix", "car_port", "refactor"]
def create_pull_request_template():
with open(GITHUB_FOLDER / "pull_request_template.md", "w") as f:
f.write("<!-- Please copy and paste the relevant template -->\n\n")
for t in order:
template = PULL_REQUEST_TEMPLATES / f"{t}.md"
text = template.read_text()
# Remove metadata for GitHub
start = text.find("---")
end = text.find("---", start+1)
text = text[end + 4:]
# Remove comments
text = text.replace("<!-- ", "").replace("-->", "")
f.write(f"<!--- ***** Template: {template.stem.replace('_', ' ').title()} *****\n")
f.write(text)
f.write("\n\n")
f.write("-->\n\n")
create_pull_request_template()

79
.github/labeler.yaml vendored Normal file
View File

@@ -0,0 +1,79 @@
CI / testing:
- changed-files:
- any-glob-to-all-files: "{.github/**,**/test_*,Jenkinsfile}"
car:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/**'
body:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/body/*'
chrysler:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/chrysler/*'
ford:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/ford/*'
gm:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/gm/*'
honda:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/honda/*'
hyundai:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/hyundai/*'
mazda:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/mazda/*'
nissan:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/nissan/*'
subaru:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/subaru/*'
tesla:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/tesla/*'
toyota:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/toyota/*'
volkswagen:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/volkswagen/*'
fingerprint:
- changed-files:
- any-glob-to-all-files: 'selfdrive/car/*/fingerprints.py'
simulation:
- changed-files:
- any-glob-to-all-files: 'tools/sim/**'
ui:
- changed-files:
- any-glob-to-all-files: 'selfdrive/ui/**'
tools:
- changed-files:
- any-glob-to-all-files: 'tools/**'
multilanguage:
- changed-files:
- any-glob-to-all-files: 'selfdrive/ui/translations/**'
research:
- changed-files:
- any-glob-to-all-files: "{selfdrive/modeld/models/**,selfdrive/test/process_replay/model_replay_ref_commit}"

View File

@@ -1,38 +1,68 @@
<!-- Please copy and paste the relevant template -->
<!--- ***** Template: Car bug fix *****
<!--- ***** Template: Fingerprint *****
**Description** [](A description of the bug and the fix. Also link any relevant issues.)
**Verification** [](Explain how you tested this bug fix.)
**Car**
Which car (make, model, year) this fingerprint is for
**Route**
A route with the fingerprint
-->
<!--- ***** Template: Car Bugfix *****
**Description**
A description of the bug and the fix. Also link the issue if it exists.
**Verification**
Explain how you tested this bug fix.
**Route**
Route: [a route with the bug fix]
-->
<!--- ***** Template: Bug fix *****
**Description** [](A description of the bug and the fix. Also link any relevant issues.)
**Verification** [](Explain how you tested this bug fix.)
-->
<!--- ***** Template: Car port *****
<!--- ***** Template: Bugfix *****
**Description**
A description of the bug and the fix. Also link the issue if it exists.
**Verification**
Explain how you tested this bug fix.
-->
<!--- ***** Template: Car Port *****
**Checklist**
- [ ] added entry to CarInfo in selfdrive/car/*/values.py and ran `selfdrive/car/docs.py` to generate new docs
- [ ] added entry to CAR in selfdrive/car/*/values.py and ran `selfdrive/car/docs.py` to generate new docs
- [ ] test route added to [routes.py](https://github.com/commaai/openpilot/blob/master/selfdrive/car/tests/routes.py)
- [ ] route with openpilot:
- [ ] route with stock system:
- [ ] car harness used (if comma doesn't sell it, put N/A):
-->
<!--- ***** Template: Refactor *****
**Description** [](A description of the refactor, including the goals it accomplishes.)
**Description**
A description of the refactor, including the goals it accomplishes.
**Verification**
Explain how you tested the refactor for regressions.
**Verification** [](Explain how you tested the refactor for regressions.)
-->

View File

@@ -0,0 +1,49 @@
name: 'automatically cache based on current runner'
inputs:
path:
description: 'path to cache'
required: true
key:
description: 'key'
required: true
restore-keys:
description: 'restore-keys'
required: true
save:
description: 'whether to save the cache'
default: 'false'
required: false
runs:
using: "composite"
steps:
- name: setup namespace cache
if: ${{ contains(runner.name, 'nsc') }}
uses: namespacelabs/nscloud-cache-action@v1
with:
path: ${{ inputs.path }}
- name: setup github cache
if: ${{ !contains(runner.name, 'nsc') && inputs.save != 'false' }}
uses: 'actions/cache@v4'
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}
restore-keys: ${{ inputs.restore-keys }}
- name: setup github cache
if: ${{ !contains(runner.name, 'nsc') && inputs.save == 'false' }}
uses: 'actions/cache/restore@v4'
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}
restore-keys: ${{ inputs.restore-keys }}
# make the directory manually in case we didn't get a hit, so it doesn't fail on future steps
- id: scons-cache-setup
shell: bash
run: |
mkdir -p ${{ inputs.path }}
sudo chmod -R 777 ${{ inputs.path }}
sudo chown -R $USER ${{ inputs.path }}

53
.github/workflows/auto_pr_review.yaml vendored Normal file
View File

@@ -0,0 +1,53 @@
name: "PR review"
on:
pull_request_target:
types: [opened, reopened, synchronize, edited, edited]
jobs:
labeler:
name: review
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: false
# Label PRs
- uses: actions/labeler@v5.0.0
with:
dot: true
configuration-path: .github/labeler.yaml
# Check PR target branch
- name: check branch
uses: Vankka/pr-target-branch-action@def32ec9d93514138d6ac0132ee62e120a72aed5
if: github.repository == 'commaai/openpilot'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
target: /^(?!master$).*/
exclude: /commaai:.*/
change-to: ${{ github.base_ref }}
already-exists-action: close_this
already-exists-comment: "Your PR should be made against the `master` branch"
# Welcome comment
- name: comment
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6
if: github.event.pull_request.head.repo.full_name != 'commaai/openpilot'
with:
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)
* 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)
* include a route or your device' dongle ID if relevant
comment_tag: run_id
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -7,15 +7,17 @@ on:
env:
BASE_IMAGE: openpilot-base
DOCKER_REGISTRY: ghcr.io/commaai
RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $DOCKER_REGISTRY/$BASE_IMAGE:latest /bin/sh -c
RUN: docker run --shm-size 2G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $DOCKER_REGISTRY/$BASE_IMAGE:latest /bin/bash -c
jobs:
badges:
name: create badges
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
@@ -23,6 +25,8 @@ jobs:
run: |
${{ env.RUN }} "scons -j$(nproc) && python selfdrive/ui/translations/create_badges.py"
rm .gitattributes
git checkout --orphan badges
git rm -rf --cached .
git config user.email "badge-researcher@comma.ai"

101
.github/workflows/ci_weekly_report.yaml vendored Normal file
View File

@@ -0,0 +1,101 @@
name: weekly CI test report
on:
schedule:
- cron: '37 9 * * 1' # 9:37AM UTC -> 2:37AM PST every monday
workflow_dispatch:
inputs:
ci_runs:
description: 'The amount of runs to trigger in CI test report'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI_RUNS: ${{ github.event.inputs.ci_runs || '50' }}
jobs:
setup:
if: github.repository == 'commaai/openpilot'
runs-on: ubuntu-latest
outputs:
ci_runs: ${{ steps.ci_runs_setup.outputs.matrix }}
steps:
- id: ci_runs_setup
name: CI_RUNS=${{ env.CI_RUNS }}
run: |
matrix=$(python3 -c "import json; print(json.dumps({ 'run_number' : list(range(${{ env.CI_RUNS }})) }))")
echo "matrix=$matrix" >> $GITHUB_OUTPUT
ci_matrix_run:
needs: [ setup ]
strategy:
fail-fast: false
matrix: ${{fromJSON(needs.setup.outputs.ci_runs)}}
uses: commaai/openpilot/.github/workflows/ci_weekly_run.yaml@master
with:
run_number: ${{ matrix.run_number }}
report:
needs: [ci_matrix_run]
runs-on: ubuntu-latest
if: always()
steps:
- name: Get job results
uses: actions/github-script@v7
id: get-job-results
with:
script: |
const jobs = await github
.paginate("GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt}/jobs", {
owner: "commaai",
repo: "${{ github.event.repository.name }}",
run_id: "${{ github.run_id }}",
attempt: "${{ github.run_attempt }}",
})
var report = {}
jobs.slice(1, jobs.length-1).forEach(job => {
if (job.conclusion === "skipped") return;
const jobName = job.name.split(" / ")[2];
const runRegex = /\((.*?)\)/;
const run = job.name.match(runRegex)[1];
report[jobName] = report[jobName] || { successes: [], failures: [], cancelled: [] };
switch (job.conclusion) {
case "success":
report[jobName].successes.push({ "run_number": run, "link": job.html_url}); break;
case "failure":
report[jobName].failures.push({ "run_number": run, "link": job.html_url }); break;
case "cancelled":
report[jobName].cancelled.push({ "run_number": run, "link": job.html_url }); break;
}
});
return JSON.stringify({"jobs": report});
- name: Add job results to summary
env:
JOB_RESULTS: ${{ fromJSON(steps.get-job-results.outputs.result) }}
run: |
cat <<EOF >> template.html
<table>
<thead>
<tr>
<th></th>
<th>Job</th>
<th>✅ Passing</th>
<th>❌ Failure Details</th>
</tr>
</thead>
<tbody>
{% for key in jobs.keys() %}<tr>
<td>{% for i in range(5) %}{% if i+1 <= (5 * jobs[key]["successes"]|length // ${{ env.CI_RUNS }}) %}🟩{% else %}🟥{% endif %}{% endfor%}</td>
<td>{{ key }}</td>
<td>{{ 100 * jobs[key]["successes"]|length // ${{ env.CI_RUNS }} }}%</td>
<td>{% if jobs[key]["failures"]|length > 0 %}<details>{% for failure in jobs[key]["failures"] %}<a href="{{ failure['link'] }}">Log for run #{{ failure['run_number'] }}</a><br>{% endfor %}</details>{% else %}{% endif %}</td>
</td>
</tr>{% endfor %}
</table>
EOF
pip install jinja2-cli
echo $JOB_RESULTS | jinja2 template.html > report.html
echo "# CI Test Report - ${{ env.CI_RUNS }} Runs" >> $GITHUB_STEP_SUMMARY
cat report.html >> $GITHUB_STEP_SUMMARY

21
.github/workflows/ci_weekly_run.yaml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: weekly CI test run
on:
workflow_call:
inputs:
run_number:
required: true
type: string
concurrency:
group: ci-run-${{ inputs.run_number }}-${{ github.ref }}
cancel-in-progress: true
jobs:
selfdrive_tests:
uses: commaai/openpilot/.github/workflows/selfdrive_tests.yaml@master
with:
run_number: ${{ inputs.run_number }}
tools_tests:
uses: commaai/openpilot/.github/workflows/tools_tests.yaml@master
with:
run_number: ${{ inputs.run_number }}

97
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,97 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ "master", "*-c3", "master*" ]
pull_request:
branches: [ "master", "*-c3", "master*" ]
schedule:
- cron: '39 7 * * 2'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: c-cpp
build-mode: autobuild
- language: javascript-typescript
build-mode: none
- language: python
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -0,0 +1,21 @@
name: 'compile openpilot'
runs:
using: "composite"
steps:
- shell: bash
name: Build openpilot with all flags
run: |
${{ env.RUN }} "scons -j$(nproc)"
${{ env.RUN }} "release/check-dirty.sh"
- shell: bash
name: Cleanup scons cache and rebuild
run: |
${{ env.RUN }} "rm -rf /tmp/scons_cache/* && \
scons -j$(nproc) --cache-populate"
- name: Save scons cache
uses: actions/cache/save@v4
if: github.ref == 'refs/heads/master'
with:
path: .ci_cache/scons_cache
key: scons-${{ runner.arch }}-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}

64
.github/workflows/docs.yaml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: docs
on:
push:
branches:
- master
pull_request:
workflow_call:
inputs:
run_number:
default: '1'
required: true
type: string
concurrency:
group: docs-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 }}
cancel-in-progress: true
jobs:
docs:
name: build docs
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- uses: actions/checkout@v4
with:
submodules: true
# Build
- name: Build docs
run: |
# TODO: can we install just the "docs" dependency group without the normal deps?
pip install mkdocs
mkdocs build
# Push to docs.comma.ai
- uses: actions/checkout@v4
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
with:
path: openpilot-docs
ssh-key: ${{ secrets.OPENPILOT_DOCS_KEY }}
repository: commaai/openpilot-docs
- name: Push
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
run: |
set -x
source release/identity.sh
cd openpilot-docs
git checkout --orphan tmp
git rm -rf .
# copy over docs
cp -r ../docs_site/ docs/
# GitHub pages config
touch docs/.nojekyll
echo -n docs.comma.ai > docs/CNAME
git add -f .
git commit -m "build docs"
# docs live in different repo to not bloat openpilot's full clone size
git push -f origin tmp:gh-pages

View File

@@ -0,0 +1,45 @@
name: jenkins scan
on:
issue_comment:
types: [created, edited]
jobs:
# TODO: gc old branches in a separate job in this workflow
scan-comments:
runs-on: ubuntu-latest
if: ${{ github.event.issue.pull_request }}
steps:
- name: Check for trigger phrase
id: check_comment
uses: actions/github-script@v7
with:
script: |
const triggerPhrase = "trigger-jenkins";
const comment = context.payload.comment.body;
const commenter = context.payload.comment.user.login;
const { data: permissions } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner,
repo: context.repo.repo,
username: commenter
});
const hasWriteAccess = permissions.permission === 'write' || permissions.permission === 'admin';
return (hasWriteAccess && comment.includes(triggerPhrase));
result-encoding: json
- name: Checkout repository
if: steps.check_comment.outputs.result == 'true'
uses: actions/checkout@v4
with:
ref: refs/pull/${{ github.event.issue.number }}/head
- name: Push to tmp-jenkins branch
if: steps.check_comment.outputs.result == 'true'
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git checkout -b tmp-jenkins-${{ github.event.issue.number }}
GIT_LFS_SKIP_PUSH=1 git push -f origin tmp-jenkins-${{ github.event.issue.number }}

46
.github/workflows/mirror_to_gitlab.yaml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: Mirror to GitLab
on:
push:
delete:
workflow_dispatch: # This enables manual triggering
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Wait for other instances of this workflow to conclude
uses: softprops/turnstyle@8db075d65b19bf94e6e8687b504db69938dc3c65
with:
same-branch-only: 'true'
abort-after-seconds: 300
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout Repository
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
fetch-depth: 0 # Fetch full history
- name: Set up Git
run: |
git config --global user.name 'GitHub Action'
git config --global user.email 'action@github.com'
- name: Set up SSH
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add GitLab public keys
run: |
ssh-keyscan -H gitlab.com >> ~/.ssh/known_hosts
# Note: If you have issues with "push rejected missing LFS" or something make sure you disabled LFS on the GITLAB repo if you intend to use a different LFS repo other than the target repo.
- name: Sync and commit changes
id: sync-and-commit
run: |
# Add GitLab remote
git remote add gitlab git@gitlab.com:sunnypilot/sunnyhaibin/sunnypilot-github-mirror.git
git push -u --force gitlab ${{ github.ref }}

View File

@@ -11,22 +11,28 @@ env:
jobs:
build_prebuilt:
name: build prebuilt
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
env:
PUSH_IMAGE: true
permissions:
checks: read
contents: read
packages: write
steps:
- name: Wait for green check mark
if: ${{ github.event_name != 'workflow_dispatch' }}
uses: lewagon/wait-on-check-action@e2558238c09778af25867eb5de5a3ce4bbae3dcd
uses: lewagon/wait-on-check-action@ccfb013c15c8afb7bf2b7c028fb74dc5a068cccc
with:
ref: master
wait-interval: 30
running-workflow-name: 'build prebuilt'
repo-token: ${{ secrets.GITHUB_TOKEN }}
check-regexp: ^((?!.*(build master-ci).*).)*$
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- run: git lfs pull
- name: Build and Push docker image
run: |
$DOCKER_LOGIN

View File

@@ -1,7 +1,7 @@
name: release
on:
schedule:
- cron: '0 * * * *'
- cron: '0 10 * * *'
workflow_dispatch:
jobs:
@@ -12,8 +12,11 @@ jobs:
ImageOS: ubuntu20
container:
image: ghcr.io/commaai/openpilot-base:latest
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
if: github.repository == 'commaai/openpilot'
permissions:
checks: read
contents: write
steps:
- name: Install wait-on-check-action dependencies
run: |
@@ -21,13 +24,14 @@ jobs:
sudo apt-get install -y libyaml-dev
- name: Wait for green check mark
if: ${{ github.event_name != 'workflow_dispatch' }}
uses: lewagon/wait-on-check-action@e2558238c09778af25867eb5de5a3ce4bbae3dcd
uses: lewagon/wait-on-check-action@ccfb013c15c8afb7bf2b7c028fb74dc5a068cccc
with:
ref: master
wait-interval: 30
running-workflow-name: 'build master-ci'
repo-token: ${{ secrets.GITHUB_TOKEN }}
check-regexp: ^((?!.*(build prebuilt).*).)*$
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
@@ -43,7 +47,7 @@ jobs:
export PYTHONPATH=$TARGET_DIR
cd $TARGET_DIR
scons -j$(nproc)
selfdrive/car/tests/test_car_interfaces.py
pytest -n logical selfdrive/car/tests/test_car_interfaces.py
- name: Push master-ci
run: |
unset TARGET_DIR

View File

@@ -2,31 +2,59 @@ name: repo maintenance
on:
schedule:
- cron: "0 15 * * 2"
- cron: "0 14 * * 1" # every Monday at 2am UTC (6am PST)
workflow_dispatch:
jobs:
updates:
name: updates
runs-on: ubuntu-20.04
bump_submodules:
name: bump_submodules
runs-on: ubuntu-latest
container:
image: ghcr.io/commaai/openpilot-base:latest
if: github.repository == 'commaai/openpilot'
steps:
- uses: actions/checkout@v3
- name: poetry lock
run: |
pip install poetry
poetry lock
- name: pre-commit autoupdate
- uses: actions/checkout@v4
with:
submodules: true
- name: bump submodules
run: |
git config --global --add safe.directory '*'
pre-commit autoupdate
git -c submodule."tinygrad".update=none submodule update --remote
git add .
- name: Create Pull Request
uses: peter-evans/create-pull-request@5b4a9f6a9e2af26e5f02351490b90d01eb8ec1e5
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:
author: Vehicle Researcher <user@comma.ai>
token: ${{ secrets.ACTIONS_CREATE_PR_PAT }}
commit-message: Update Python packages and pre-commit hooks
title: 'Update Python packages and pre-commit hooks'
commit-message: bump submodules
title: '[bot] Bump submodules'
branch: auto-bump-submodules
base: master
delete-branch: true
body: 'Automatic PR from repo-maintenance -> bump_submodules'
labels: bot
package_updates:
name: package_updates
runs-on: ubuntu-latest
container:
image: ghcr.io/commaai/openpilot-base:latest
if: github.repository == 'commaai/openpilot'
steps:
- uses: actions/checkout@v4
- name: uv lock
run: |
python3 -m ensurepip --upgrade
pip3 install uv
uv lock --upgrade
- name: Create Pull Request
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:
author: Vehicle Researcher <user@comma.ai>
token: ${{ secrets.ACTIONS_CREATE_PR_PAT }}
commit-message: Update Python packages
title: '[bot] Update Python packages'
branch: auto-package-updates
base: master
delete-branch: true
body: 'Automatic PR from repo-maintenance -> package_updates'
labels: bot

View File

@@ -5,39 +5,43 @@ on:
branches:
- master
pull_request:
workflow_dispatch:
workflow_call:
inputs:
run_number:
default: '1'
required: true
type: string
concurrency:
group: ${{ 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.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }}
cancel-in-progress: true
env:
PYTHONWARNINGS: error
BASE_IMAGE: openpilot-base
CL_BASE_IMAGE: openpilot-base-cl
AZURE_TOKEN: ${{ secrets.AZURE_COMMADATACI_OPENPILOTCI_TOKEN }}
DOCKER_LOGIN: docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }}
BUILD: selfdrive/test/docker_build.sh base
RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONWARNINGS=error -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c
RUN: docker run --shm-size 2G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e CI=1 -e PYTHONWARNINGS=error -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/bash -c
BUILD_CL: selfdrive/test/docker_build.sh cl
RUN_CL: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONWARNINGS=error -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $CL_BASE_IMAGE /bin/sh -c
UNIT_TEST: coverage run --append -m unittest discover
PYTEST: pytest --continue-on-collection-errors --cov --cov-report=xml --cov-append --durations=0 --durations-min=5
PYTEST: pytest --continue-on-collection-errors --cov --cov-report=xml --cov-append --durations=0 --durations-min=5 --hypothesis-seed 0 -n logical
jobs:
build_release:
name: build release
runs-on: ubuntu-20.04
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-latest' }}
env:
STRIPPED_DIR: /tmp/releasepilot
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- run: git lfs pull
- name: Build devel
timeout-minutes: 1
run: TARGET_DIR=$STRIPPED_DIR release/build_devel.sh
@@ -50,250 +54,167 @@ jobs:
timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 10 || 30) }} # allow more time when we missed the scons cache
run: |
cd $STRIPPED_DIR
${{ env.RUN }} "CI=1 python selfdrive/manager/build.py"
${{ env.RUN }} "python system/manager/build.py"
- name: Run tests
timeout-minutes: 2
timeout-minutes: 3
run: |
cd $STRIPPED_DIR
${{ env.RUN }} "release/check-dirty.sh && \
python -m unittest discover selfdrive/car"
- name: pre-commit
timeout-minutes: 3
MAX_EXAMPLES=5 $PYTEST -m 'not slow' selfdrive/car"
- name: static analysis
timeout-minutes: 1
run: |
cd $GITHUB_WORKSPACE
cp .pre-commit-config.yaml $STRIPPED_DIR
cp pyproject.toml $STRIPPED_DIR
cp poetry.lock $STRIPPED_DIR
cd $STRIPPED_DIR
${{ env.RUN }} "unset PYTHONWARNINGS && pre-commit run --all"
${{ env.RUN }} "scripts/lint.sh"
build_all:
name: build all
runs-on: ubuntu-20.04
build:
strategy:
matrix:
arch: ${{ fromJson(
((github.repository == 'commaai/openpilot') &&
((github.event_name != 'pull_request') ||
(github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && '["x86_64", "aarch64"]' || '["x86_64"]' ) }}
runs-on: ${{ (matrix.arch == 'aarch64') && 'namespace-profile-arm64-2x8' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup docker push
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && github.repository == 'commaai/openpilot'
run: |
echo "PUSH_IMAGE=true" >> "$GITHUB_ENV"
echo "TARGET_ARCHITECTURE=${{ matrix.arch }}" >> "$GITHUB_ENV"
$DOCKER_LOGIN
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot with all flags
timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 12 || 30) }} # allow more time when we missed the scons cache
run: |
${{ env.RUN }} "scons -j$(nproc)"
${{ env.RUN }} "release/check-dirty.sh"
- name: Cleanup scons cache and rebuild
timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 2 || 30) }} # allow more time when we missed the scons cache
run: |
${{ env.RUN }} "rm -rf /tmp/scons_cache/* && \
scons -j$(nproc) --cache-populate"
- name: Save scons cache
uses: actions/cache/save@v3
if: github.ref == 'refs/heads/master'
with:
path: .ci_cache/scons_cache
key: scons-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
docker_hub_pat: ${{ secrets.DOCKER_HUB_PAT }}
- uses: ./.github/workflows/compile-openpilot
timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 15 || 30) }} # allow more time when we missed the scons cache
build_mac:
name: build macos
name: build macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Determine pre-existing Homebrew packages
if: steps.dependency-cache.outputs.cache-hit != 'true'
run: |
echo 'EXISTING_CELLAR<<EOF' >> $GITHUB_ENV
brew list --formula -1 >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Restore scons cache
id: scons-restore-cache
uses: actions/cache/restore@v3
with:
path: /tmp/scons_cache
key: macos_scons-${{ github.sha }}
restore-keys: macos_scons-
- name: Cache dependencies
id: dependency-cache
uses: actions/cache@v3
with:
path: |
.env
.venv
~/github_brew_cache_entries.txt
~/.pyenv
~/Library/Caches/pypoetry
/usr/local/Cellar
/usr/local/opt
/usr/local/Caskroom/gcc-arm-*
/opt/homebrew/Cellar
/opt/homebrew/opt
/opt/homebrew/Caskroom/gcc-arm-*
/Applications/ArmGNUToolchain/*/*/*
key: macos_deps-${{ hashFiles('tools/mac_setup.sh', 'tools/install_python_dependencies.sh', 'poetry.lock') }}
restore-keys: macos_deps-
- name: Brew link restored dependencies
run: |
if [ -f ~/github_brew_cache_entries.txt ]; then
brew link --force --overwrite $(cat ~/github_brew_cache_entries.txt) # `--force` for keg-only packages
if [ -d /Applications/ArmGNUToolchain ]; then # link gcc-arm-embedded manually
GCC_TOOLCHAIN="$(echo /Applications/ArmGNUToolchain/**/**/bin)"
echo "$GCC_TOOLCHAIN" >> $GITHUB_PATH
fi
else
echo "Cache entries not found"
fi
- run: git lfs pull
- name: Install dependencies
if: steps.dependency-cache.outputs.cache-hit != 'true'
run: ./tools/mac_setup.sh
env:
# package install has DeprecationWarnings
PYTHONWARNINGS: default
- name: Build openpilot
run: |
eval "$(pyenv init --path)"
poetry run scons -j$(nproc)
- name: Run tests
run: |
eval "$(pyenv init --path)"
poetry run tools/plotjuggler/test_plotjuggler.py
- name: Pre Cache - Cleanup scons cache
if: github.ref == 'refs/heads/master'
run: |
rm -rf /tmp/scons_cache/*
eval "$(pyenv init --path)"
poetry run scons -j$(nproc) --cache-populate
- name: Save scons cache
id: scons-save-cache
uses: actions/cache/save@v3
if: github.ref == 'refs/heads/master'
- run: echo "CACHE_COMMIT_DATE=$(git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d-%H:%M')" >> $GITHUB_ENV
- name: Getting scons cache
uses: 'actions/cache@v4'
with:
path: /tmp/scons_cache
key: macos_scons-${{ github.sha }}
- name: Pre Cache - Remove pre-existing Homebrew packages
if: steps.dependency-cache.outputs.cache-hit != 'true'
run: |
new_cellar=$(brew list --formula -1)
exceptions="zstd lz4 xz" # caching step needs zstd
comm -12 <(echo "$EXISTING_CELLAR") <(echo "$new_cellar") | while read pkg; do
if [[ " $exceptions " != *" $pkg "* ]]; then
rm -rf "$(brew --cellar)/$pkg"
fi
done
comm -13 <(echo "$EXISTING_CELLAR") <(echo "$new_cellar") | tee ~/github_brew_cache_entries.txt
# .fseventsd directory causes permission errors in dep caching step
# its used by the system to observe changes within the directory - toolchain works without it, just remove it
sudo rm -rf /Applications/ArmGNUToolchain/*/*/.fseventsd
key: scons-${{ runner.arch }}-macos-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
restore-keys: |
scons-${{ runner.arch }}-macos-${{ env.CACHE_COMMIT_DATE }}
scons-${{ runner.arch }}-macos
- name: Building openpilot
run: . .venv/bin/activate && scons -j$(nproc)
docker_push:
name: docker push
runs-on: ubuntu-20.04
docker_push_multiarch:
name: docker push multiarch tag
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && github.repository == 'commaai/openpilot'
needs: [build]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup to push to repo
submodules: false
- name: Setup docker
run: |
echo "PUSH_IMAGE=true" >> "$GITHUB_ENV"
$DOCKER_LOGIN
- uses: ./.github/workflows/setup-with-retry
with:
git-lfs: false
- name: Build and push CL Docker image
- name: Merge x64 and arm64 tags
run: |
eval "$BUILD_CL"
export PUSH_IMAGE=true
scripts/retry.sh selfdrive/test/docker_tag_multiarch.sh base x86_64 aarch64
static_analysis:
name: static analysis
runs-on: ubuntu-20.04
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-latest' }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build Docker image
run: eval "$BUILD"
- name: pre-commit
timeout-minutes: 4
run: ${{ env.RUN }} "unset PYTHONWARNINGS && pre-commit run --all"
valgrind:
name: valgrind
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot
run: ${{ env.RUN }} "scons -j$(nproc)"
- name: Run valgrind
- name: static analysis
timeout-minutes: 1
run: |
${{ env.RUN }} "python selfdrive/test/test_valgrind_replay.py"
- name: Print logs
if: always()
run: cat selfdrive/test/valgrind_logs.txt
run: ${{ env.RUN }} "scripts/lint.sh"
unit_tests:
name: unit tests
runs-on: ubuntu-20.04
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-latest' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
with:
docker_hub_pat: ${{ secrets.DOCKER_HUB_PAT }}
- name: Build openpilot
timeout-minutes: ${{ ((steps.restore-scons-cache.outputs.cache-hit == 'true') && 10 || 30) }} # allow more time when we missed the scons cache
run: ${{ env.RUN }} "scons -j$(nproc)"
- name: Run unit tests
timeout-minutes: 40
timeout-minutes: 15
run: |
${{ env.RUN }} "export SKIP_LONG_TESTS=1 && \
$PYTEST -n auto --dist=loadscope --timeout 30 && \
selfdrive/locationd/test/_test_locationd_lib.py && \
./system/ubloxd/tests/test_glonass_runner && \
${{ env.RUN }} "source selfdrive/test/setup_xvfb.sh && \
export MAPBOX_TOKEN='pk.eyJ1Ijoiam5ld2IiLCJhIjoiY2xxNW8zZXprMGw1ZzJwbzZneHd2NHljbSJ9.gV7VPRfbXFetD-1OVF0XZg' && \
$PYTEST --timeout 60 -m 'not slow' && \
./selfdrive/ui/tests/create_test_translations.sh && \
QT_QPA_PLATFORM=offscreen ./selfdrive/ui/tests/test_translations && \
./selfdrive/ui/tests/test_translations.py && \
./common/tests/test_common && \
./selfdrive/boardd/tests/test_boardd_usbprotocol && \
./system/loggerd/tests/test_logger &&\
./system/proclogd/tests/test_proclog && \
./tools/replay/tests/test_replay && \
./tools/cabana/tests/test_cabana && \
./system/camerad/test/ae_gray_test && \
./selfdrive/test/process_replay/test_fuzzy.py"
pytest ./selfdrive/ui/tests/test_translations.py"
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
name: ${{ github.job }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
process_replay:
name: process replay
runs-on: ${{ ((github.event.pull_request.head.repo.full_name == 'commaai/openpilot') || (github.repository == 'commaai/openpilot')) && 'buildjet-8vcpu-ubuntu-2004' || 'ubuntu-20.04' }}
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-latest' }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
with:
docker_hub_pat: ${{ secrets.DOCKER_HUB_PAT }}
- name: Cache test routes
id: dependency-cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: .ci_cache/comma_download_cache
key: proc-replay-${{ hashFiles('.github/workflows/selfdrive_tests.yaml', 'selfdrive/test/process_replay/ref_commit') }}
key: proc-replay-${{ hashFiles('.github/workflows/selfdrive_tests.yaml', 'selfdrive/test/process_replay/ref_commit', 'selfdrive/test/process_replay/test_regen.py') }}
- name: Build openpilot
run: |
${{ env.RUN }} "scons -j$(nproc)"
- name: Run replay
timeout-minutes: 30
run: |
${{ env.RUN }} "CI=1 coverage run selfdrive/test/process_replay/test_processes.py -j$(nproc) && \
${{ env.RUN }} "coverage run selfdrive/test/process_replay/test_processes.py -j$(nproc) && \
chmod -R 777 /tmp/comma_download_cache && \
coverage combine && \
coverage xml"
- name: Print diff
id: print-diff
if: always()
run: cat selfdrive/test/process_replay/diff.txt
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: always()
continue-on-error: true
with:
@@ -302,109 +223,101 @@ jobs:
- name: Upload reference logs
if: ${{ failure() && steps.print-diff.outcome == 'success' && github.repository == 'commaai/openpilot' && env.AZURE_TOKEN != '' }}
run: |
${{ env.RUN }} "unset PYTHONWARNINGS && CI=1 AZURE_TOKEN='$AZURE_TOKEN' python selfdrive/test/process_replay/test_processes.py -j$(nproc) --upload-only"
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
test_modeld:
name: model tests
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build base Docker image
run: eval "$BUILD"
- name: Build Docker image
# Sim docker is needed to get the OpenCL drivers
run: eval "$BUILD_CL"
- name: Build openpilot
run: |
${{ env.RUN }} "scons -j$(nproc)"
${{ env.RUN }} "unset PYTHONWARNINGS && AZURE_TOKEN='$AZURE_TOKEN' python selfdrive/test/process_replay/test_processes.py -j$(nproc) --upload-only"
# PYTHONWARNINGS triggers a SyntaxError in onnxruntime
- name: Run model replay with ONNX
timeout-minutes: 2
run: |
${{ env.RUN_CL }} "unset PYTHONWARNINGS && \
ONNXCPU=1 CI=1 NO_NAV=1 coverage run selfdrive/test/process_replay/model_replay.py && \
coverage xml"
- name: Run unit tests
timeout-minutes: 4
run: |
${{ env.RUN_CL }} "unset PYTHONWARNINGS && \
$UNIT_TEST selfdrive/modeld && \
coverage xml"
${{ env.RUN }} "unset PYTHONWARNINGS && \
ONNXCPU=1 NO_NAV=1 coverage run selfdrive/test/process_replay/model_replay.py && \
coverage combine && coverage xml"
- name: Run regen
timeout-minutes: 4
run: |
${{ env.RUN }} "ONNXCPU=1 $PYTEST selfdrive/test/process_replay/test_regen.py && \
chmod -R 777 /tmp/comma_download_cache"
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
name: ${{ github.job }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test_cars:
name: cars
runs-on: ubuntu-20.04
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-latest' }}
strategy:
fail-fast: false
matrix:
job: [0, 1, 2, 3, 4]
job: [0, 1]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Cache test routes
id: dependency-cache
uses: actions/cache@v3
uses: ./.github/workflows/auto-cache
with:
path: .ci_cache/comma_download_cache
key: car_models-${{ hashFiles('selfdrive/car/tests/test_models.py', 'selfdrive/car/tests/routes.py') }}-${{ matrix.job }}
- name: Build openpilot
run: ${{ env.RUN }} "scons -j$(nproc)"
- name: Test car models
timeout-minutes: 25
timeout-minutes: 20
run: |
${{ env.RUN }} "$PYTEST -n auto --dist=loadscope selfdrive/car/tests/test_models.py && \
${{ env.RUN }} "$PYTEST selfdrive/car/tests/test_models.py && \
chmod -R 777 /tmp/comma_download_cache"
env:
NUM_JOBS: 5
NUM_JOBS: 2
JOB_ID: ${{ matrix.job }}
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
name: ${{ github.job }}-${{ matrix.job }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
car_docs_diff:
name: PR comments
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- run: git lfs pull
- uses: ./.github/workflows/setup-with-retry
- name: Get base car info
run: |
${{ env.RUN }} "scons -j$(nproc) && python selfdrive/debug/dump_car_info.py --path /tmp/openpilot_cache/base_car_info"
${{ env.RUN }} "scons -j$(nproc) && python selfdrive/debug/dump_car_docs.py --path /tmp/openpilot_cache/base_car_docs"
sudo chown -R $USER:$USER ${{ github.workspace }}
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
path: current
- run: cd current && git lfs pull
- name: Save car docs diff
id: save_diff
run: |
cd current
${{ env.RUN }} "scons -j$(nproc)"
output=$(${{ env.RUN }} "python selfdrive/debug/print_docs_diff.py --path /tmp/openpilot_cache/base_car_info")
output=$(${{ env.RUN }} "python selfdrive/debug/print_docs_diff.py --path /tmp/openpilot_cache/base_car_docs")
output="${output//$'\n'/'%0A'}"
echo "::set-output name=diff::$output"
- name: Find comment
if: ${{ env.AZURE_TOKEN != '' }}
uses: peter-evans/find-comment@1769778a0c5bd330272d749d12c036d65e70d39d
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
body-includes: This PR makes changes to
- name: Update comment
if: ${{ steps.save_diff.outputs.diff != '' && env.AZURE_TOKEN != '' }}
uses: peter-evans/create-or-update-comment@b95e16d2859ad843a14218d1028da5b2c4cbc4b4
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
@@ -412,7 +325,7 @@ jobs:
edit-mode: replace
- name: Delete comment
if: ${{ steps.fc.outputs.comment-id != '' && steps.save_diff.outputs.diff == '' && env.AZURE_TOKEN != '' }}
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: |
github.rest.issues.deleteComment({
@@ -420,3 +333,27 @@ jobs:
repo: context.repo.repo,
comment_id: ${{ steps.fc.outputs.comment-id }}
})
create_ui_report:
# This job name needs to be the same as UI_JOB_NAME in ui_preview.yaml
name: Create UI Report
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot
run: ${{ env.RUN }} "scons -j$(nproc)"
- name: Create Test Report
run: >
${{ env.RUN }} "PYTHONWARNINGS=ignore &&
source selfdrive/test/setup_xvfb.sh &&
export MAPBOX_TOKEN='pk.eyJ1Ijoiam5ld2IiLCJhIjoiY2xxNW8zZXprMGw1ZzJwbzZneHd2NHljbSJ9.gV7VPRfbXFetD-1OVF0XZg' &&
python selfdrive/ui/tests/test_ui/run.py"
- name: Upload Test Report
uses: actions/upload-artifact@v4
with:
name: report-${{ github.event.number }}
path: selfdrive/ui/tests/test_ui/report_1/screenshots

View File

@@ -1,13 +1,14 @@
name: 'openpilot env setup, with retry on failure'
inputs:
git_lfs:
description: 'Whether or not to pull the git lfs'
docker_hub_pat:
description: 'Auth token for Docker Hub, required for BuildJet jobs'
required: false
default: 'true'
env:
SLEEP_TIME: 30 # Time to sleep between retries
default: ''
sleep_time:
description: 'Time to sleep between retries'
required: false
default: 30
runs:
using: "composite"
@@ -16,24 +17,24 @@ runs:
uses: ./.github/workflows/setup
continue-on-error: true
with:
git_lfs: ${{ inputs.git_lfs }}
docker_hub_pat: ${{ inputs.docker_hub_pat }}
is_retried: true
- if: steps.setup1.outcome == 'failure'
shell: bash
run: sleep ${{ env.SLEEP_TIME }}
run: sleep ${{ inputs.sleep_time }}
- id: setup2
if: steps.setup1.outcome == 'failure'
uses: ./.github/workflows/setup
continue-on-error: true
with:
git_lfs: ${{ inputs.git_lfs }}
docker_hub_pat: ${{ inputs.docker_hub_pat }}
is_retried: true
- if: steps.setup2.outcome == 'failure'
shell: bash
run: sleep ${{ env.SLEEP_TIME }}
run: sleep ${{ inputs.sleep_time }}
- id: setup3
if: steps.setup2.outcome == 'failure'
uses: ./.github/workflows/setup
with:
git_lfs: ${{ inputs.git_lfs }}
is_retried: true
docker_hub_pat: ${{ inputs.docker_hub_pat }}
is_retried: true

View File

@@ -1,10 +1,10 @@
name: 'openpilot env setup'
inputs:
git_lfs:
description: 'Whether or not to pull the git lfs'
required: false
default: 'true'
docker_hub_pat:
description: 'Auth token for Docker Hub, required for BuildJet jobs'
required: true
default: ''
is_retried:
description: 'A mock param that asserts that we use the setup-with-retry instead of this action directly'
required: false
@@ -22,28 +22,35 @@ runs:
# do this after checkout to ensure our custom LFS config is used to pull from GitLab
- shell: bash
if: ${{ inputs.git_lfs == 'true' }}
run: git lfs pull
# on BuildJet runners, must be logged into DockerHub to avoid rate limiting
# https://buildjet.com/for-github-actions/docs/guides/docker
- shell: bash
if: ${{ contains(runner.name, 'buildjet') && inputs.docker_hub_pat == '' }}
run: |
echo "Need to set the Docker Hub PAT secret as an input to this action"
exit 1
- name: Login to Docker Hub
if: contains(runner.name, 'buildjet')
shell: bash
run: |
docker login -u adeebshihadeh -p ${{ inputs.docker_hub_pat }}
# build cache
- id: date
shell: bash
run: echo "CACHE_COMMIT_DATE=$(git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d-%H:%M')" >> $GITHUB_ENV
- shell: bash
run: echo "$CACHE_COMMIT_DATE"
- id: restore-scons-cache
uses: actions/cache/restore@v3
- id: scons-cache
uses: ./.github/workflows/auto-cache
with:
path: .ci_cache/scons_cache
key: scons-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
key: scons-${{ runner.arch }}-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
restore-keys: |
scons-${{ env.CACHE_COMMIT_DATE }}-
scons-
# if we didn't get a cache hit, make the directory manually so it doesn't fail on future steps
- id: scons-cache-setup
shell: bash
if: steps.restore-scons-cache.outputs.cache-hit != 'true'
run: mkdir -p $GITHUB_WORKSPACE/.ci_cache/scons_cache
scons-${{ runner.arch }}-${{ env.CACHE_COMMIT_DATE }}
scons-${{ runner.arch }}
# as suggested here: https://github.com/moby/moby/issues/32816#issuecomment-910030001
- id: normalize-file-permissions
shell: bash
@@ -51,12 +58,6 @@ runs:
run: |
find . -type f -executable -not -perm 755 -exec chmod 755 {} \;
find . -type f -not -executable -not -perm 644 -exec chmod 644 {} \;
- id: setup-buildx-action
if: contains(runner.name, 'buildjet')
name: Set up Docker Buildx on buildjet to ensure a consistent cache
uses: docker/setup-buildx-action@v2
with:
driver: docker-container
# build our docker image
- shell: bash
run: eval ${{ env.BUILD }}
run: eval ${{ env.BUILD }}

29
.github/workflows/stale.yaml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: stale
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
env:
DAYS_BEFORE_PR_CLOSE: 2
DAYS_BEFORE_PR_STALE: 9
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
exempt-all-milestones: true
# pull request config
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
exempt-pr-labels: "ignore stale,needs testing,car port,car" # 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 }}
# issue config
days-before-issue-stale: -1 # ignore issues for now

View File

@@ -5,96 +5,99 @@ on:
branches:
- master
pull_request:
workflow_call:
inputs:
run_number:
default: '1'
required: true
type: string
concurrency:
group: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.run_id || github.head_ref || github.ref }}-${{ github.workflow }}-${{ github.event_name }}
group: tools-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 }}
cancel-in-progress: true
env:
BASE_IMAGE: openpilot-base
CL_BASE_IMAGE: openpilot-base-cl
DOCKER_LOGIN: docker login ghcr.io -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }}
BUILD: selfdrive/test/docker_build.sh base
RUN: docker run --shm-size 1G -v $GITHUB_WORKSPACE:/tmp/openpilot -w /tmp/openpilot -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c
BUILD_CL: selfdrive/test/docker_build.sh cl
RUN_CL: docker run --shm-size 1G -v $GITHUB_WORKSPACE:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $CL_BASE_IMAGE /bin/sh -c
RUN: docker run --shm-size 2G -v $GITHUB_WORKSPACE:/tmp/openpilot -w /tmp/openpilot -e FILEREADER_CACHE=1 -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/bash -c
jobs:
plotjuggler:
name: plotjuggler
runs-on: ubuntu-20.04
timeout-minutes: 45
simulator_driving:
name: simulator driving
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot
timeout-minutes: 5
run: ${{ env.RUN }} "scons -j$(nproc) cereal/ common/ --minimal"
- name: Test PlotJuggler
timeout-minutes: 2
run: |
${{ env.RUN }} "pytest tools/plotjuggler/"
${{ env.RUN }} "scons -j$(nproc)"
- name: Run bridge test
run: |
${{ env.RUN }} "export MAPBOX_TOKEN='pk.eyJ1Ijoiam5ld2IiLCJhIjoiY2xxNW8zZXprMGw1ZzJwbzZneHd2NHljbSJ9.gV7VPRfbXFetD-1OVF0XZg' && \
source selfdrive/test/setup_xvfb.sh && \
source selfdrive/test/setup_vsound.sh && \
CI=1 pytest tools/sim/tests/test_metadrive_bridge.py"
simulator:
name: simulator
test_compatibility:
name: test 20.04 + 3.11
runs-on: ubuntu-20.04
if: github.repository == 'commaai/openpilot'
timeout-minutes: 45
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build base cl image
run: eval "$BUILD_CL"
- name: Setup to push to repo
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
run: |
echo "PUSH_IMAGE=true" >> "$GITHUB_ENV"
$DOCKER_LOGIN
- name: Build and push sim image
run: |
selfdrive/test/docker_build.sh sim
docs:
name: build docs
runs-on: ubuntu-20.04
timeout-minutes: 45
steps:
- uses: actions/checkout@v3
- name: Installing ubuntu dependencies
run: INSTALL_EXTRA_PACKAGES=no tools/install_ubuntu_dependencies.sh
- name: Installing python
uses: actions/setup-python@v5
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
python-version: '3.11.4'
- name: Installing pip
run: pip install pip==24.0
- name: Installing uv
run: pip install uv
- name: git LFS
run: git lfs pull
- run: echo "CACHE_COMMIT_DATE=$(git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d-%H:%M')" >> $GITHUB_ENV
- name: Getting scons cache
uses: 'actions/cache@v4'
with:
git_lfs: false
- name: Setup to push to repo
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' && github.repository == 'commaai/openpilot'
run: |
echo "PUSH_IMAGE=true" >> "$GITHUB_ENV"
$DOCKER_LOGIN
- name: Build and push docs image
run: |
selfdrive/test/docker_build.sh docs
path: /tmp/scons_cache
key: scons-${{ runner.arch }}-ubuntu2004-${{ env.CACHE_COMMIT_DATE }}-${{ github.sha }}
restore-keys: |
scons-${{ runner.arch }}-ubuntu2004-${{ env.CACHE_COMMIT_DATE }}
scons-${{ runner.arch }}-ubuntu2004
- name: Building openpilot
run: uv run scons -u -j$(nproc)
devcontainer:
name: devcontainer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Use local image for testing devcontainer with latest base image
run: |
echo "USE_LOCAL_IMAGE=true" >> "$GITHUB_ENV"
- name: Setup Dev Container CLI
run: npm install -g @devcontainers/cli
- name: Build dev container image
run: devcontainer build --workspace-folder .
run: ./scripts/retry.sh devcontainer build --workspace-folder .
- name: Run dev container
run: devcontainer up --workspace-folder .
run: |
mkdir -p /tmp/devcontainer_scons_cache/
cp -r $GITHUB_WORKSPACE/.ci_cache/scons_cache/. /tmp/devcontainer_scons_cache/
devcontainer up --workspace-folder .
- name: Test environment
run: devcontainer exec --workspace-folder . scons --dry-run
run: |
devcontainer exec --workspace-folder . scons -j$(nproc) cereal/ common/
devcontainer exec --workspace-folder . pip3 install pip-install-test
devcontainer exec --workspace-folder . touch /home/batman/.comma/auth.json
devcontainer exec --workspace-folder . sudo touch /root/test.txt

91
.github/workflows/ui_preview.yaml vendored Normal file
View File

@@ -0,0 +1,91 @@
name: "ui preview"
on:
pull_request_target:
types: [assigned, opened, synchronize, reopened, edited]
branches:
- 'master'
paths:
- 'selfdrive/ui/**'
env:
UI_JOB_NAME: "Create UI Report"
jobs:
preview:
if: github.repository == 'commaai/openpilot'
name: preview
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
pull-requests: write
actions: read
steps:
- name: Waiting for ui test to start
run: sleep 30
- name: Wait for ui report
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha }}
check-name: ${{ env.UI_JOB_NAME }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
allowed-conclusions: success
wait-interval: 20
- name: Get workflow run ID
id: get_run_id
run: |
echo "run_id=$(curl https://api.github.com/repos/${{ github.repository }}/commits/${{ github.event.pull_request.head.sha }}/check-runs | jq -r '.check_runs[] | select(.name == "${{ env.UI_JOB_NAME }}") | .html_url | capture("(?<number>[0-9]+)") | .number')" >> $GITHUB_OUTPUT
- name: Checkout ci-artifacts
uses: actions/checkout@v4
with:
repository: commaai/ci-artifacts
ssh-key: ${{ secrets.CI_ARTIFACTS_DEPLOY_KEY }}
path: ${{ github.workspace }}/ci-artifacts
ref: master
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@v6
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
run_id: ${{ steps.get_run_id.outputs.run_id }}
search_artifacts: true
name: report-${{ github.event.number }}
path: ${{ github.workspace }}/ci-artifacts
- name: Push Screenshots
working-directory: ${{ github.workspace }}/ci-artifacts
run: |
git checkout -b openpilot/pr-${{ github.event.number }}
git config user.name "GitHub Actions Bot"
git config user.email "<>"
git add ${{ github.workspace }}/ci-artifacts/*
git commit -m "screenshots for PR #${{ github.event.number }}"
git push origin openpilot/pr-${{ github.event.number }} --force
- name: Comment Screenshots on PR
uses: thollander/actions-comment-pull-request@v2
with:
message: |
<!-- _(run_id_screenshots **${{ github.run_id }}**)_ -->
## UI Screenshots
<table>
<tr>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/homescreen.png"></td>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad.png"></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_map.png"></td>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_sidebar.png"></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/settings_network.png"></td>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/settings_device.png"></td>
</tr>
</table>
comment_tag: run_id_screenshots
pr_number: ${{ github.event.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

36
.gitignore vendored
View File

@@ -10,11 +10,13 @@ venv/
.overlay_init
.overlay_consistent
.sconsign.dblite
.vscode*
model2.png
a.out
.hypothesis
/docs_site/
/docs_sp_site/
*.dylib
*.DSYM
*.d
@@ -41,13 +43,15 @@ compile_commands.json
compare_runtime*.html
persist
board/obj/
selfdrive/boardd/boardd
selfdrive/pandad/pandad
cereal/services.h
cereal/gen
cereal/messaging/bridge
selfdrive/logcatd/logcatd
selfdrive/mapd/default_speeds_by_region.json
system/proclogd/proclogd
selfdrive/ui/_ui
selfdrive/ui/translations/alerts_generated.h
selfdrive/ui/translations/tmp
selfdrive/test/longitudinal_maneuvers/out
selfdrive/car/tests/cars_dump
system/camerad/camerad
@@ -57,12 +61,8 @@ selfdrive/modeld/_navmodeld
selfdrive/modeld/_dmonitoringmodeld
/src/
one
notebooks
xx
yy
hyperthneed
panda_jungle
provisioning
.coverage*
@@ -78,6 +78,7 @@ comma*.sh
selfdrive/modeld/thneed/compile
selfdrive/modeld/models/*.thneed
selfdrive/modeld/models/*.pkl
*.bz2
@@ -87,3 +88,22 @@ build/
poetry.toml
Pipfile
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide

240
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,240 @@
variables:
BUILD_DIR: "/data/openpilot"
OUTPUT_DIR: "${CI_PROJECT_DIR}/output"
CI_DIR: "${CI_PROJECT_DIR}/release/ci"
VERSION: 'echo $(date "+%Y.%m.%d")'
GIT_SUBMODULE_STRATEGY: recursive
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
DEV_C3_SOURCE_BRANCH: "master-dev-c3"
GIT_CONFIG_USER_EMAIL: "gitlab@pipeline.com"
GIT_CONFIG_USER_NAME: "Gitlab Pipeline"
PUBLIC_REPO_URL: "https://github.com/sunnyhaibin/sunnypilot"
BASE_BUILD_NUMER: 3000
EXTRA_VERSION_IDENTIFIER: "${CI_PIPELINE_IID}"
NEW_BRANCH: ${CI_COMMIT_REF_NAME}-prebuilt
stages:
- build
- sanity
- publish
- notify
default:
retry: 2
tags:
- sunnypilot
- x86
.default_before_script: &default_before_script
- 'if [ "$EXTRA_VERSION_IDENTIFIER" = "$CI_PIPELINE_IID" ]; then export EXTRA_VERSION_IDENTIFIER=$((CI_PIPELINE_IID + BASE_BUILD_NUMER)); fi'
- 'export VERSION=$(eval $VERSION)-${EXTRA_VERSION_IDENTIFIER}'
- 'mkdir -p "${BUILD_DIR}/"'
- 'git config --global user.email "${GIT_CONFIG_USER_EMAIL}"'
- 'git config --global user.name "${GIT_CONFIG_USER_NAME}"'
workflow: # If running on any branch other than main.
rules:
# We are an MR, but it's a draft, we won't proceed with anything.
- if: '$CI_MERGE_REQUEST_TITLE =~ /^wip:/i || $CI_MERGE_REQUEST_TITLE =~ /^draft:/i'
when: never
# Below are the rules when a commit is done (code has been added to the branch)
# Commit to master-dev-c3
- if: $CI_COMMIT_REF_NAME == $DEV_C3_SOURCE_BRANCH
variables:
EXTRA_VERSION_IDENTIFIER: "${CI_PIPELINE_IID}"
NEW_BRANCH: "dev-c3"
AUTO_BUILD: true
when: always
#commit made to main (master)
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
variables:
NEW_BRANCH: "staging-c3"
VERSION: 'cat common/version.h | grep COMMA_VERSION | sed -e "s/[^0-9|.]//g"'
EXTRA_VERSION_IDENTIFIER: "staging"
AUTO_PUBLISH: true
AUTO_BUILD: true
when: always
# if tag
- if: $CI_COMMIT_TAG
variables:
NEW_BRANCH: "release-c3"
VERSION: 'cat common/version.h | grep COMMA_VERSION | sed -e "s/[^0-9|.]//g"'
EXTRA_VERSION_IDENTIFIER: "release"
AUTO_BUILD: true
- when: always
build:
stage: build
cache:
key: "${CI_COMMIT_REF_SLUG}"
paths:
- "${CI_DIR}/scons_cache"
before_script:
- find $BUILD_DIR/ -mindepth 1 -delete
- *default_before_script
- "echo Starting build stage..."
- "echo BUILD_DIR: ${BUILD_DIR}"
- "echo CI_DIR: ${CI_DIR}"
- "echo VERSION: ${VERSION}"
- "echo CI_COMMIT_REF_NAME: ${CI_COMMIT_REF_NAME}"
- git config --global --add safe.directory ${CI_PROJECT_DIR}
script:
- export PYTHONPATH="$BUILD_DIR"
- "echo Building Panda..."
- scons -j$(nproc) cache_dir=${CI_DIR}/scons_cache ${CI_PROJECT_DIR}/panda
- mkdir -p ${BUILD_DIR}
- ls -la ${BUILD_DIR}
- "echo Building Rest..."
- ./release/release_files.py | sort | uniq | rsync -vrRl --files-from=- . $BUILD_DIR/
# - cp -pR --parents $(cat release/files_common release/files_tici | sort | uniq) $BUILD_DIR/ 2> >(grep -v 'warning:' >&2)
- cd $BUILD_DIR
- sed -i '/from .board.jungle import PandaJungle, PandaJungleDFU/s/^/#/' panda/__init__.py # comment panda jungle when prebuilt
- scons -j$(nproc) cache_dir=${CI_DIR}/scons_cache --minimal
- touch ${BUILD_DIR}/prebuilt
- sudo rm -rf ${OUTPUT_DIR}
- mkdir -p ${OUTPUT_DIR}
# We first include the paths we want to keep, even if we later will be excluding the other things on those paths
- rsync -avm
--include='**/panda/board/'
--include='**/panda/board/obj'
--include='**/panda/board/obj/panda.bin.signed'
--include='**/panda/board/obj/panda_h7.bin.signed'
--include='**/panda/board/obj/bootstub.panda.bin'
--include='**/panda/board/obj/bootstub.panda_h7.bin'
--exclude='.sconsign.dblite'
--exclude='*.a'
--exclude='*.A'
--exclude='*.o'
--exclude='*.O'
--exclude='*.os'
--exclude='*.OS'
--exclude='*.pyc'
--exclude='*.PYC'
--exclude='moc_*'
--exclude='MOC_*'
--exclude='*.cc'
--exclude='*.CC'
--exclude='Jenkinsfile'
--exclude='supercombo.onnx'
--exclude='**/panda/board/*'
--exclude='**/panda/board/obj/**'
--exclude='**/panda/certs/'
--exclude='**/panda/crypto/'
--exclude='**/release/'
--exclude='**/.github/'
--exclude='**/selfdrive/ui/replay/'
--exclude='**/__pycache__/'
--exclude='**/selfdrive/ui/*.h'
--exclude='**/selfdrive/ui/**/*.h'
--exclude='**/selfdrive/ui/qt/offroad/sunnypilot/'
--exclude='**/.git/'
--exclude='**/SConstruct'
--exclude='**/SConscript'
--delete-excluded
--chown=comma:comma
${BUILD_DIR}/ ${OUTPUT_DIR}/
after_script:
# cleanup build dir after doing work
- find $BUILD_DIR/ -mindepth 1 -delete
artifacts:
paths:
- ${OUTPUT_DIR}/
tags: [ 'sunnypilot', 'tici' ]
rules:
- if: $AUTO_BUILD
when: always
- when: manual
.publish_base: &publish_base
image: alpine
variables:
GIT_SUBMODULE_STRATEGY: normal
stage: publish
needs:
- job: build
artifacts: true
before_script:
- 'apk update && apk upgrade'
- 'apk add git bash openssh'
- 'eval $(ssh-agent -s)'
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- 'mkdir -p ~/.ssh/'
- 'chmod 700 ~/.ssh'
- export HOST=$(echo ${GIT_ORIGIN} | cut -d'@' -f2 | cut -d':' -f1)
- echo fetching ssh pub keys for ${HOST}
- 'ssh-keyscan -H ${HOST} >> ~/.ssh/known_hosts' # Adding gitlab to trusted
- 'chmod 644 ~/.ssh/known_hosts'
- *default_before_script
script:
- echo "${GIT_ORIGIN}"
- echo "Calling to publish [${CI_DIR}/publish.sh ${CI_PROJECT_DIR} ${OUTPUT_DIR} ${NEW_BRANCH} ${VERSION} ${GIT_ORIGIN}]"
- git config --global --add safe.directory ${OUTPUT_DIR}
- $CI_DIR/publish.sh "${CI_PROJECT_DIR}" "${OUTPUT_DIR}" "${NEW_BRANCH}" "${VERSION}" "${GIT_ORIGIN}" "-${EXTRA_VERSION_IDENTIFIER}"
allow_failure: false
publish to private gitlab prebuilt:
extends: ".publish_base"
variables:
GIT_ORIGIN: git@gitlab.com:sunnypilot/public/sunnypilot-prebuilts.git
rules:
- if: $AUTO_BUILD
when: on_success
- if: $CI_MERGE_REQUEST_IID
when: on_success
- when: manual
publish to public github prebuilt:
extends: ".publish_base"
variables:
GIT_ORIGIN: git@github.com:sunnyhaibin/sunnypilot.git
GIT_CONFIG_USER_EMAIL: "jason.wen@sunnypilot.ai"
GIT_CONFIG_USER_NAME: "Jason Wen"
rules:
- if: $AUTO_PUBLISH
when: on_success
- when: manual
.notify_discord: &notify_discord
image: alpine
stage: notify
needs: ["build"]
variables:
DISCORD_HOOK: "${DISCORD_MANUAL_BUILD_WEBHOOK_URL}" # Default hook if not overriden by children
before_script:
- 'apk add curl jq envsubst'
script:
- echo using [${TEMPLATE}]
- cat release/ci/${TEMPLATE} | envsubst | tee payload.json
- 'curl -X POST -H "Content-Type: application/json" -d "$(cat payload.json)" ${DISCORD_HOOK} | jq .'
rules:
- if: $NEW_BRANCH
when: on_success
- when: never
allow_failure: true
notify pending action:
extends: ".notify_discord"
variables:
TEMPLATE: "discord_template_notify_dev_private.json"
before_script:
- !reference [".notify_discord", "before_script"]
- export AVATAR_URL=$(curl -s -X GET "https://gitlab.com/api/v4/avatar?email=${GITLAB_USER_EMAIL}" | jq -r '.avatar_url')
notify new dev build:
extends: ".notify_discord"
stage: notify
needs: ["publish to public github prebuilt"] # This notify shall only happen after a publish to github public
variables:
TEMPLATE: "discord_template_notify_dev_public.json"
before_script:
- !reference [".notify_discord", "before_script"]
- export EXTRA_VERSION_IDENTIFIER=$((CI_PIPELINE_IID + BASE_BUILD_NUMER))
rules:
- if: $NEW_BRANCH == "dev-c3"
variables:
DISCORD_HOOK: "${DISCORD_NEW_BUILD_WEBHOOK_URL}" # Overriding hook because we know we are dev-c3
- !reference [".notify_discord", "rules"]

25
.gitmodules vendored
View File

@@ -1,21 +1,18 @@
[submodule "panda"]
path = panda
url = ../../commaai/panda.git
url = https://github.com/sunnyhaibin/panda.git
[submodule "opendbc"]
path = opendbc
url = ../../commaai/opendbc.git
[submodule "laika_repo"]
path = laika_repo
url = ../../commaai/laika.git
[submodule "cereal"]
path = cereal
url = ../../commaai/cereal.git
path = opendbc_repo
url = https://github.com/sunnypilot/opendbc.git
[submodule "msgq"]
path = msgq_repo
url = https://github.com/sunnypilot/msgq.git
[submodule "rednose_repo"]
path = rednose_repo
url = ../../commaai/rednose.git
[submodule "body"]
path = body
url = ../../commaai/body.git
url = https://github.com/commaai/rednose.git
[submodule "teleoprtc_repo"]
path = teleoprtc_repo
url = https://github.com/commaai/teleoprtc
[submodule "tinygrad"]
path = tinygrad_repo
url = https://github.com/geohot/tinygrad.git
url = https://github.com/tinygrad/tinygrad.git

25
.idea/customTargets.xml generated Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CLionExternalBuildManager">
<target id="a62f99e8-5ec4-434c-8122-49efed5af108" name="Poetry SCons Build Debug" defaultType="TOOL">
<configuration id="b93ec964-16e5-4962-a12e-3ed360ce8f02" name="Poetry SCons Build Debug">
<build type="TOOL">
<tool actionId="Tool_External Tools_Poetry SCons Build Debug" />
</build>
<clean type="TOOL">
<tool actionId="Tool_External Tools_Poetry SCons Clean" />
</clean>
</configuration>
</target>
<target id="edd8ad9d-183b-467c-a355-0d9a0ecab026" name="Poetry SCons Build Release" defaultType="TOOL">
<configuration id="09523339-5ce3-4223-ab9e-904f38ad7752" name="Poetry SCons Build Release">
<build type="TOOL">
<tool actionId="Tool_External Tools_Poetry SCons Build Release" />
</build>
<clean type="TOOL">
<tool actionId="Tool_External Tools_Poetry SCons Clean" />
</clean>
</configuration>
</target>
</component>
</project>

23
.idea/tools/External Tools.xml generated Normal file
View File

@@ -0,0 +1,23 @@
<toolSet name="External Tools">
<tool name="Poetry SCons Build Debug" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
<exec>
<option name="COMMAND" value="bash" />
<option name="PARAMETERS" value="-c &quot;source .venv/bin/activate &amp;&amp; scons -u -j$(nproc) --compile_db --ccflags=\&quot;-fno-inline\&quot;&quot;" />
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
</exec>
</tool>
<tool name="Poetry SCons Clean" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
<exec>
<option name="COMMAND" value="bash" />
<option name="PARAMETERS" value="-c &quot;source .venv/bin/activate &amp;&amp; scons -c&quot; " />
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
</exec>
</tool>
<tool name="Poetry SCons Build Release" showInMainMenu="false" showInEditor="false" showInProject="false" showInSearchPopup="false" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
<exec>
<option name="COMMAND" value="bash" />
<option name="PARAMETERS" value="-c &quot;source .venv/bin/activate &amp;&amp; scons -u -j$(nproc) --compile_db&quot; " />
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
</exec>
</tool>
</toolSet>

41
.importlinter Normal file
View File

@@ -0,0 +1,41 @@
[importlinter]
root_packages =
openpilot
[importlinter:contract:1]
name = Forbid imports from openpilot.selfdrive.car to openpilot.system
type = forbidden
source_modules =
openpilot.selfdrive.car
forbidden_modules =
openpilot.system
openpilot.body
openpilot.docs
openpilot.msgq
openpilot.panda
openpilot.rednose
openpilot.release
openpilot.teleoprtc
openpilot.tinygrad
ignore_imports =
openpilot.selfdrive.car.card -> openpilot.common.realtime
openpilot.selfdrive.car.card -> openpilot.selfdrive.controls.lib.events
openpilot.selfdrive.car.interfaces -> openpilot.selfdrive.controls.lib.events
openpilot.selfdrive.car.tests.test_models -> openpilot.tools.lib.logreader
openpilot.selfdrive.car.tests.test_models -> openpilot.selfdrive.car.card
openpilot.selfdrive.car.tests.test_models -> openpilot.tools.lib.route
openpilot.selfdrive.car.tests.test_models -> openpilot.system.hardware.hw
openpilot.selfdrive.car.tests.test_models -> openpilot.selfdrive.test.helpers
openpilot.selfdrive.car.isotp_parallel_query -> openpilot.common.swaglog
openpilot.selfdrive.car.fw_versions -> openpilot.common.swaglog
openpilot.selfdrive.car.disable_ecu -> openpilot.common.swaglog
openpilot.selfdrive.car.vin -> openpilot.common.swaglog
openpilot.selfdrive.car.ecu_addrs -> openpilot.common.swaglog
openpilot.selfdrive.car.car_helpers -> openpilot.common.swaglog
openpilot.selfdrive.car.car_helpers -> openpilot.system.version
openpilot.selfdrive.car.interfaces -> openpilot.selfdrive.controls.lib.drive_helpers
openpilot.selfdrive.car.tests.test_car_interfaces -> openpilot.selfdrive.controls.lib.latcontrol_angle
openpilot.selfdrive.car.tests.test_car_interfaces -> openpilot.selfdrive.controls.lib.longcontrol
openpilot.selfdrive.car.tests.test_car_interfaces -> openpilot.selfdrive.controls.lib.latcontrol_torque
openpilot.selfdrive.car.tests.test_car_interfaces -> openpilot.selfdrive.controls.lib.latcontrol_pid
unmatched_ignore_imports_alerting = warn

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-lfs.git/info/lfs
pushurl = ssh://git@gitlab.com/sunnypilot/public/sunnypilot-lfs.git
locksverify = false

4
.lfsconfig-comma Normal file
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

View File

@@ -1,89 +0,0 @@
exclude: '^(tinygrad_repo)'
repos:
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-ast
exclude: '^(third_party)/'
- id: check-json
- id: check-toml
- id: check-xml
- id: check-yaml
- id: check-merge-conflict
- id: check-symlinks
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: check-added-large-files
args: ['--maxkb=100']
- repo: https://github.com/codespell-project/codespell
rev: v2.2.5
hooks:
- id: codespell
exclude: '^(third_party/)|(body/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_repo/)|(selfdrive/ui/translations/.*.ts)|(poetry.lock)'
args:
# if you've got a short variable name that's getting flagged, add it here
- -L bu,ro,te,ue,alo,hda,ois,nam,nams,ned,som,parm,setts,inout,warmup,bumb,nd,sie
- --builtins clear,rare,informal,usage,code,names,en-GB_to_en-US
- repo: local
hooks:
- id: mypy
name: mypy
entry: mypy
language: system
types: [python]
args: ['--explicit-package-bases']
exclude: '^(third_party/)|(cereal/)|(opendbc/)|(panda/)|(laika/)|(laika_repo/)|(rednose/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)|(xx/)'
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.0.287
hooks:
- id: ruff
exclude: '^(third_party/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(laika_repo/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)'
- repo: local
hooks:
- id: cppcheck
name: cppcheck
entry: cppcheck
language: system
types: [c++]
exclude: '^(third_party/)|(cereal/)|(body/)|(rednose/)|(rednose_repo/)|(opendbc/)|(panda/)|(tools/)|(selfdrive/modeld/thneed/debug/)|(selfdrive/modeld/test/)|(selfdrive/camerad/test/)|(installer/)'
args:
- --error-exitcode=1
- --language=c++
- --quiet
- --force
- -j8
- repo: https://github.com/cpplint/cpplint
rev: 1.6.1
hooks:
- id: cpplint
exclude: '^(third_party/)|(cereal/)|(body/)|(rednose/)|(rednose_repo/)|(opendbc/)|(panda/)|(generated/)'
args:
- --quiet
- --counting=total
- --linelength=240
# https://google.github.io/styleguide/cppguide.html
# relevant rules are whitelisted, see all options with: cpplint --filter=
- --filter=-build,-legal,-readability,-runtime,-whitespace,+build/include_subdir,+build/forward_decl,+build/include_what_you_use,+build/deprecated,+whitespace/comma,+whitespace/line_length,+whitespace/empty_if_body,+whitespace/empty_loop_body,+whitespace/empty_conditional_body,+whitespace/forcolon,+whitespace/parens,+whitespace/semicolon,+whitespace/tab,+readability/braces
- repo: local
hooks:
- id: test_translations
name: test translations
entry: selfdrive/ui/tests/test_translations.py
language: script
pass_filenames: false
- repo: https://github.com/python-poetry/poetry
rev: '1.6.0'
hooks:
- id: poetry-check
- id: poetry-lock
name: validate poetry lock
args:
- --check
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.26.3
hooks:
- id: check-github-workflows

View File

@@ -1 +0,0 @@
3.11.4

10
.run/Build Debug.run.xml Normal file
View File

@@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build Debug" type="CLionExternalRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" WORKING_DIR="file://$ProjectFileDir$/selfdrive/ui" PASS_PARENT_ENVS_2="true" PROJECT_NAME="openpilot-special" TARGET_NAME="Poetry SCons Build Debug" CONFIG_NAME="Poetry SCons Build Debug" RUN_PATH="ui">
<envs>
<env name="QT_DBL_CLICK_DIST" value="150" />
</envs>
<method v="2">
<option name="CLION.EXTERNAL.BUILD" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -0,0 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build Release" type="CLionExternalRunConfiguration" factoryName="Application" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" EMULATE_TERMINAL="false" WORKING_DIR="file://$ProjectFileDir$/selfdrive/ui" PASS_PARENT_ENVS_2="true" PROJECT_NAME="openpilot-special" TARGET_NAME="Poetry SCons Build Release" CONFIG_NAME="Poetry SCons Build Release" RUN_PATH="ui">
<envs>
<env name="QT_DBL_CLICK_DIST" value="150" />
</envs>
<method v="2">
<option name="CLION.EXTERNAL.BUILD" enabled="true" />
</method>
</configuration>
</component>

8
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"recommendations": [
"ms-python.python",
"ms-vscode.cpptools",
"elagil.pre-commit-helper",
"charliermarsh.ruff",
]
}

47
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,47 @@
{
"version": "0.2.0",
"inputs": [
{
"id": "python_process",
"type": "pickString",
"description": "Select the process to debug",
"options": [
"selfdrive/controls/controlsd.py",
"selfdrive/navd/navd.py",
"system/timed/timed.py",
"tools/sim/run_bridge.py"
]
},
{
"id": "cpp_process",
"type": "pickString",
"description": "Select the process to debug",
"options": [
"selfdrive/ui/ui"
]
},
{
"id": "args",
"description": "Arguments to pass to the process",
"type": "promptString"
}
],
"configurations": [
{
"name": "Python: openpilot Process",
"type": "debugpy",
"request": "launch",
"program": "${input:python_process}",
"console": "integratedTerminal",
"justMyCode": true,
"args": "${input:args}"
},
{
"name": "C++: openpilot Process",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${input:cpp_process}",
"cwd": "${workspaceFolder}",
}
]
}

27
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,27 @@
{
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.renderWhitespace": "trailing",
"files.trimTrailingWhitespace": true,
"search.exclude": {
"**/.git": true,
"**/.venv": true,
"**/__pycache__": true
},
"files.exclude": {
"**/.git": true,
"**/.venv": true,
"**/__pycache__": true
},
"python.analysis.exclude": [
"**/.git",
"**/.venv",
"**/__pycache__",
// exclude directories that should be using the symlinked version
"common/**",
"selfdrive/**",
"system/**",
"third_party/**",
"tools/**",
]
}

965
CHANGELOGS.md Normal file
View File

@@ -0,0 +1,965 @@
sunnypilot - 0.9.8.0 (2024-xx-xx)
========================
* Always on driver monitoring toggle
************************
* UPDATED: Synced with commaai's openpilot
* master commit 4ef757c (July 06, 2024)
* NEW❗: Default Driving Model: Notre Dame (July 01, 2024)
* NEW❗: Longitudinal: Acceleration Personality thanks to kegman, rav4kumar, and arne1282!
* Select from three distinct acceleration personalities: Eco, Normal, and Sport
* Acceleration personalities are integrated directly into the model's acceleration matrix and can be activated in real-time!
* NEW❗: Longitudinal: Dynamic Personality thanks to rav4kumar!
* Dynamically adjusts following distance and reaction based on your "Driving Personality" setting
* Personalities adapt in real-time to your speed and the distance to the lead car
* Provides a more responsive and tailored driving experience compared to predefined settings
* UPDATED: Driving Personality: Updated mode names
* Aggressive, Moderate, Standard, Relaxed
* NEW❗: Toyota - Enhanced Blind Spot Monitor (BSM) thanks to arne182, rav4kumar, and eFiniLan!
* Enables Blind Spot Monitor (BSM) signals parsing in sunnypilot using the factory Blind Spot Monitor (BSM)
* sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects
* Supported platforms
* RAV4 TSS1, equipped with factory Blind Spot Monitoring (BSM)
* Lexus LSS1, equipped with factory Blind Spot Monitoring (BSM)
* Toyota TSS1/1.5, equipped with factory Blind Spot Monitoring (BSM)
* Prius TSS2, equipped with factory Blind Spot Monitoring (BSM)
* NOTE: Only enable this feature if your Toyota/Lexus vehicle has factory Blind Spot Monitor equipped, and mentioned in the supported platforms list
* UPDATED: Toyota: TSS2 longitudinal: Custom Tuning
* Re-tuned and tested by the community (July 1, 2024)
* UPDATED: Driving Model Selector v5
* NEW❗: Driving Model additions
* Notre Dame (July 01, 2024) - NDv3
* UPDATED: Toyota: Continued support for Smart DSU (SDSU) and Radar CAN Filter
* In response to the official deprecation of support for Smart DSU (SDSU) and Radar CAN Filter in the upstream ([commaai/openpilot#32777](https://github.com/commaai/openpilot/pull/32777)), sunnypilot will continue maintaining software support for Smart DSU (SDSU) and Radar CAN Filter
* UPDATED: Continued support for Mapbox navigation
* In response to the official temporary deprecation of support for Mapbox navigation in the upstream ([commaai/openpilot#32773](https://github.com/commaai/openpilot/pull/32773)), sunnypilot will continue maintaining software support for Mapbox navigation
* NEW❗: Toyota - Automatic Door Locking and Unlocking thanks to AlexandreSato, cydia2020, and dragonpilot-community!
* Auto Lock by Speed: All doors are automatically locked when vehicle speed is approximately 6 mph (10 km/h) or higher
* Auto Unlock by Shift to P: All doors are automatically unlocked when shifting the shift lever to P
* FIXED: Driving Personality:
* Maniac mode now correctly enforced when selected
* UI Updates
* Display Metrics Below Chevron
* NEW❗: Time to Lead Car
* Displays the time to reach the position previously occupied by the lead car
* NEW❗: Display Distance, Speed, and Time to Lead Car simultaneously
* Kia Ceed Plug-in Hybrid Non-SCC 2022 support thanks to TerminatorNL!
sunnypilot - 0.9.7.1 (2024-06-13)
========================
* New driving model
* Inputs the past curvature for smoother and more accurate lateral control
* Simplified neural network architecture in the model's last layers
* Minor fixes to desire augmentation and weight decay
* New driver monitoring model
* Improved end-to-end bit for phone detection
* Adjust driving personality with the follow distance button
* Support for hybrid variants of supported Ford models
* Fingerprinting without the OBD-II port on all cars
* Improved fuzzy fingerprinting for Ford and Volkswagen
************************
* UPDATED: Synced with commaai's openpilot
* master commit f8cb04e (June 10, 2024)
* NEW❗: sunnylink (Alpha early access)
* NEW❗: Config/Settings Backup
* Remotely back up and restore sunnypilot settings easily
* Device registration with sunnylink ensures a secure, integrated experience across services
* AES encryption derived from the device's RSA private key is used for utmost security
* Settings are encrypted on-device, transmitted securely via HTTPS, and stored encrypted on sunnylink
* Prevents loss of settings after device resets, offering peace of mind through end-to-end encryption
* Early alpha access to all current and previous GitHub Sponsors and Patreon supporters
* GitHub account pairing from device settings scanning QR code
* Pairing your account will allow you to access features via our API (still WIP but accessible if you dig a little on our code 😉)
* Allow inheritance of your sponsorship status, allowing you to get extra features and early access whenever applicable
* NEW❗: iOS Siri Shortcuts Navigation support thanks to twilsonco and mike86437!
* iOS and macOS Shortcuts to quickly set navigation destinations from your iOS device
* comma Prime support
* Personal Mapbox/Amap/Google Maps token support
* Instructions on how to set up your iOS Siri Shortcuts: https://routinehub.co/shortcut/17677/
* NEW❗: Forced Offroad mode
* Force sunnypilot in the offroad state even when the car is on
* When Forced Offroad mode is on, allows changing offroad-only settings even when the car is turned on
* To engage/disengage Force Offroad, go to Settings -> Device panel
* UPDATED: Auto Lane Change Timer -> Auto Lane Change by Blinker
* NEW❗: New "Off" option to disable lane change by blinker
* UPDATED: Pause Lateral Below Speed with Blinker
* NEW❗: Customizable Pause Lateral Speed
* Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h.
* UPDATED: Hyundai CAN Longitudinal
* Auto-enable radar tracks on platforms with applicable Mando radar
* UPDATED: Hyundai CAN-FD Camera-based SCC
* NEW❗: Parse lead info for camera-based SCC platforms with longitudinal support
* Improve lead tracking when using openpilot longitudinal
* RE-ENABLED: Map-based Turn Speed Control (M-TSC) for supported platforms
* openpilot Longitudinal Control available cars
* Custom Stock Longitudinal Control available cars
* UPDATED: Continued support for comma Pedal
* In response to the official deprecation of support for comma Pedal in the upstream, sunnypilot will continue maintaining software support for comma Pedal
* UPDATED: Driving Model Selector v4
* NEW❗: Driving Model additions
* North Dakota (April 29, 2024) - NDv2
* WD40 (April 09, 2024) - WD40
* Duck Amigo (March 18, 2024) - DA
* Recertified Herbalist (March 01, 2024) - CHLR
* Legacy Driving Models with Navigate on openpilot (NoO) support
* Includes Duck Amigo and all preceding models
* UPDATED: Bumping mapd by [@pfeiferj](https://github.com/pfeiferj) to version [v1.9.0](https://github.com/pfeiferj/mapd/releases/tag/v1.9.0) thanks to pfeiferj!
* UPDATED: Reset Mapbox Access Token -> Reset Access Tokens for Map Services
* Reset self-service access tokens for Mapbox, Amap, and Google Maps
* UPDATED: Upstream native support for Gap Adjust Cruise
* UPDATED: Neural Network Lateral Control (NNLC)
* Due to upstream changes with platform simplifications, most platforms will match and fallback to combined platform model
* This will be updated when the new mapping of platforms are restructured (thanks @twilsonco 😉)
* UI Updates
* Display Metrics Below Chevron
* NEW❗: Metrics is now being displayed below the chevron instead of above
* NEW❗: Display both Distance and Speed simultaneously
* NEW❗: View sunnylink connectivity status on the left sidebar!
sunnypilot - 0.9.6.2 (2024-05-29)
========================
* REMOVED: Screen Recorder
* Screen Recorder is removed due to unnecessary resource usage
* An improved version will be available in the near future. Stay tuned!
sunnypilot - 0.9.6.1 (2024-02-27)
========================
* New driving model
* Vision model trained on more data
* Improved driving performance
* Directly outputs curvature for lateral control
* New driver monitoring model
* Trained on larger dataset
* AGNOS 9
* comma body streaming and controls over WebRTC
* Improved fuzzy fingerprinting for many makes and models
* Alpha longitudinal support for new Toyota models
* Chevrolet Equinox 2019-22 support thanks to JasonJShuler and nworb-cire!
* Dodge Durango 2020-21 support
* Hyundai Staria 2023 support thanks to sunnyhaibin!
* Kia Niro Plug-in Hybrid 2022 support thanks to sunnyhaibin!
* Lexus LC 2024 support thanks to nelsonjchen!
* Toyota RAV4 2023-24 support
* Toyota RAV4 Hybrid 2023-24 support
************************
* UPDATED: Synced with commaai's openpilot
* master commit db57a21 (February 22, 2024)
* v0.9.6 release (February 27, 2024)
* UPDATED: Dynamic Experimental Control (DEC)
* Synced with dragonpilot-community/dragonpilot:beta3 commit f4ee52f
* NEW❗: Default Driving Model: Certified Herbalist v2 (February 13, 2024)
* UPDATED: Driving Model Selector v3
* NEW❗: Driving Model additions
* Certified Herbalist v2 (February 13, 2024) - CHv2
* Certified Herbalist (February 5, 2024) - CH
* Los Angeles v2 (January 24, 2024) - LAv2
* Los Angeles (January 22, 2024) - LAv1
* NEW❗: Model Caching thanks to DevTekVE!
* Model caching allows the selection of previously downloaded Driving Model
* Users can now access cached versions of selected models, eliminating redundant downloads for previously fetched models
* Legacy Driving Models support
* New Delhi (December 21, 2023) - ND
* Blue Diamond v2 (December 11, 2023) - BDv2
* Blue Diamond (November 18, 2023) - BDv1
* Farmville (November 7, 2023) - FV
* Night Strike (October 3, 2023) - NS
* Certain features are deprecated with newer Driving Models
* Dynamic Lane Profile (DLP)
* Custom Offsets
* UPDATED: Dynamic Lane Profile (DLP)
* Continued support for Legacy Driving Models (e.g., ND, BDv2, BDv1, FV, NS)
* Deprecated support for newer Driving Models (e.g., CHv2, CH, LAv2, LAv1)
* UPDATED: Custom Offsets
* Continued support for Legacy Driving Models (e.g., ND, BDv2, BDv1, FV, NS)
* Deprecated support for newer Driving Models (e.g., CHv2, CH, LAv2, LAv1)
* UPDATED: Hyundai/Kia/Genesis - ESCC Radar Interceptor
* Message parsing improvements with the latest firmware update: https://github.com/sunnypilot/panda/tree/test-escc-smdps
* UI Updates
* NEW❗: Visuals: Display Feature Status toggle
* Display the statuses of certain features on the driving screen
* NEW❗: Visuals: Enable Onroad Settings toggle
* Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu
* REMOVED: "Device ambient" temperature option on the sidebar
* FIXED: New comma 3X support
* FIXED: New comma eSIM support
* Bug fixes and performance improvements
sunnypilot - 0.9.5.3 (2023-12-24)
========================
* UPDATED: Dynamic Experimental Control (DEC)
* Synced with dragonpilot-community/dragonpilot:lp-dp-beta2 commit 578d38b
* UPDATED: Driving Model Selector v2
* Driving models sort in descending order based on availability date
* Experimental/unmerged driving models are only available in "dev-c3" branch
* To select and use experimental driving models, navigate to "Software" panel, select the "dev-c3" branch, and check for update
* UPDATED: Vision-based Turn Speed Control (V-TSC) implementation
* Refactored implementation thanks to pfeiferj!
* More accurate and consistent velocity calculation to achieve smoother longitudinal control in curves
* NEW❗: Speed Limit Warning
* Display alert and/or chime to warn the driver when the cruising speed is faster than the speed limit plus the Warning Offset
* Customizable Warning Offset, independent of Speed Limit Control (SLC)'s Limit Offset
* UPDATED: Speed Limit Source Policy
* Selectable speed limit source for Speed Limit Control and Speed Limit Warning
* Applicable to: Speed Limit Control, Speed Limit Warning
* UPDATED: Speed Limit Control (SLC)
* Engage Mode: Removed "Warning Only" mode - this has been replaced by the new Speed Limit Warning sub-menu
* UPDATED: OpenStreetMap (OSM) implementation
* Refactored implementation thanks to pfeiferj!
* Less resource impact
* Significantly smaller sizes with databases
* All regions are available to download
* Weekly map updates thanks to pfeiferj!
* Increased the font size of the road name
* C3X-specific changes
* Altitude (ALT.) display on Developer UI
* Current street name on top of driving screen when "OSM Debug UI" is enabled
* UPDATED: Map-based Turn Speed Control (M-TSC) implementation
* Only available in "staging-c3" and "dev-c3" branches. If you are using "release-c3" branch, navigate to "Software" panel, select the desired target branch, and check for update
* Refactored implementation thanks to pfeiferj!
* Based on the new OpenStreetMap implementation
* Improved predicted curvature calculations from OpenStreetMap data
* UI updates
* RE-ENABLED: Navigation: Full screen support
* Display the map view in full screen
* To switch back to driving view, tap on the border edge
* Hyundai Bayon Non-SCC 2019 support thanks to polein78!
sunnypilot - 0.9.5.2 (2023-12-07)
========================
* NEW❗: MADS: Allow Navigate on openpilot in Chill Mode
* Allow navigation to feed map view into the driving model while using Chill Mode
* Support all platforms, including platforms that do not support openpilot longitudinal control & Experimental Mode
* NEW❗: Neural Network Lateral Controller
* Formerly known as "NNFF", this replaces the lateral "torque" controller with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy
* Contact @twilsonco in the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported
* NEW❗: Driving Model Selector
* Easily switch between driving models without reinstalling branches. Offering immediate access to the latest models upon release
* An internet connection is required for downloading models. Each model switch currently involves downloading the model again. Future updates may allow for offline switching
* Warning is displayed for metered connections to avoid unexpected data usage if on cellular data
* Change driving models via **Settings -> Software -> Current Driving Model**.
* NEW❗: Hyundai CAN longitudinal:
* NEW❗: Enable radar tracks for certain Santa Fe platforms
* Internal Combustion Engine (ICE) 2021-23
* Hybrid 2022-23
* Plug-in Hybrid 2022-23
* NEW❗: Lane Change: When manually braking with steering engaged, turning on the turn signal will default to Nudge mode
* Volkswagen MQB CC only platforms (radar or no radar) support thanks to jyoung8607!
sunnypilot - 0.9.5.1 (2023-11-17)
========================
* UPDATED: Synced with commaai's master commit e94c3c5
* NEW❗: Farmville driving model
* NEW❗: Onroad Settings Panel
* Onroad buttons (i.e., DLP, GAC) moved to its dedicated panel
* Driving Personality
* Dynamic Lane Profile (DLP)
* Dynamic Experimental Control (DEC)
* Speed Limit Control (SLC)
* NEW❗: Display main feature status on onroad view in real-time
* GAP - Driving Personality
* DLP - Dynamic Lane Profile
* DEC - Dynamic Experimental Control
* SLC - Speed Limit Control
* NEW❗: Dynamic Experimental Control (DEC) thanks to dragonpilot-community!
* Automatically determines and selects between openpilot ACC and openpilot End to End longitudinal based on conditions for a more natural drive
* Dynamic Experimental Control is only active while in Experimental Mode
* When Dynamic Experimental Control is ON, initially setting cruise speed will set to the vehicle's current speed
* NEW❗: Hyundai CAN longitudinal:
* NEW❗: Parse lead info for camera-based SCC platforms
* Improve lead tracking when using openpilot longitudinal
* NEW❗: Parse lead distance to display on car cluster
* Introduced better lead distance calculation to display on the car's cluster, replacing the binary "lead visible" indication on the SCC cluster
* Lead distance is now categorized into different ranges for more detailed and comprehensive information to the driver similar to how stock ACC does it
* NEW❗: Parse speed limit sign recognition from camera for certain supported platforms
* NEW❗: Subaru - Stop and Go auto-resume support thanks to martinl!
* Global (excluding Gen 2 and Hybrid) and Pre-Global support
* NEW❗: Toyota - Stop and Go hack
* Allow some Toyota/Lexus cars to auto resume during stop and go traffic
* Only applicable to certain models and model years
* NEW❗: Toyota: ZSS support thanks to dragonpilot-community and ErichMoraga!
* NEW❗: MSPA (Cereal structs refactor)
* Make sunnypilot Parsable Again - @sshane
* sunnypilot is now parsable with stock openpilot tools
* NEW❗: Display 3D buildings on map thanks to jakethesnake420!
* openpilot Longitudianl Control capable cars only
* UPDATED: Gap Adjust Cruise is now a part of Driving Personality
* [DISTANCE/FOLLOW DISTANCE/GAP DISTANCE] physical button on the steering wheel to select Driving Personality on by default
* Status now viewable in onroad view or Onroad Settings Panel
* REMOVED: Gap Adjust Cruise toggle
* UPDATED: Speed Limit Control (SLC)
* NEW❗: Speed Limit Engage Mode
* Select the desired mode to set the cruising speed to the speed limit
* Warning Only: Warn the driver when the vehicle is driven faster than the speed limit
* Auto: Automatic speed adjustment on motorways based on speed limit data
* User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit
* Supported platforms
* openpilot Longitudinal Control available cars (Excluding certain Toyota/Lexus, Ford, explained below)
* Custom Stock Longitudinal Control available cars
* Unsupported platforms
* Toyota/Lexus and Ford - most platforms do not allow us to control the PCM's set speed, requires testers to verify
* NEW❗: Speed limit source selector
* Select the desired precedence order of sources used to adapt cruise speed to road limits
* UPDATED: Custom Stock Longitudinal Control
* RE-ENABLED: Hyundai/Kia/Genesis CAN-FD platforms
* UPDATED: Custom Offsets reimplementation
* Camera Offset only works in Laneful (Laneful Only or Laneful in Auto mode when using Dynamic Lane Profile)
* Path Offset can be applied to both Laneless and Laneful
* UPDATED: Refactored Torque Lateral Control custom tuning menu
* NEW❗: Less Restrict Settings for Self-Tune (Beta)
* NEW❗: Custom Tuning for setting offline and live values in real-time
* UPDATED: Auto-detect custom Mapbox token if a personal Mapbox token is provided
* REMOVED: "Enable Mapbox Navigation" toggle
* UI updates
* New Settings menu redesign and improved interactions
* FIXED: Retain hotspot/tethering state was not consistently saved
* FIXED: Map stuck in "Map Loading" if comma Prime is active
* FIXED: OpenStreetMap implementation on C3X devices
* M-TSC
* Altitude (ALT.) display on Developer UI
* Current street name on top of driving screen when "OSM Debug UI" is enabled
* Hyundai Kona Non-SCC 2019 support thanks to Quex!
* Kia Seltos Non-SCC 2023-24 support thanks to Moodkiller and jeroid_!
sunnypilot - 0.9.4.1 (2023-08-11)
========================
* UPDATED: Synced with commaai's 0.9.4 release
* NEW❗: Moonrise driving model
* NEW❗: Ford upstream models support
* UPDATED: Dynamic Lane Profile selector in the "SP - Controls" menu
* REMOVED: Dynamic Lane Profile driving screen UI button
* FIXED: Disallow torque lateral control for angle control platforms (e.g. Ford, Nissan, Tesla)
* Torque lateral control cannot be used by angle control platforms, and would cause a "Controls Unresponsive" error if Torque lateral control is enforced in settings
* REMOVED: Speed Limit Style override
* Honda Accord 2016-17 support thanks to mlocoteta!
* Serial Steering hardware required. For more information, see https://github.com/mlocoteta/serialSteeringHardware
* mapd: utilize advisory speed limit in curves (#142) thanks to pfeiferj!
sunnypilot - 0.9.3.1 (2023-07-09)
========================
* UPDATED: Synced with commaai's 0.9.3 release
* NEW❗: Display Temperature on Sidebar toggle
* Display Ambient temperature, memory temperature, CPU core with the highest temperature, GPU temperature, or max of Memory/CPU/GPU on the sidebar
* Replace "Display CPU Temperature on Sidebar" toggle
* NEW❗: Hot Coffee driving model
* NEW❗: HKG CAN: Smoother Stopping Performance (Beta) toggle
* Smoother stopping behind a stopped car or desired stopping event.
* This is only applicable to HKG CAN platforms using openpilot longitudinal control
* NEW❗: Toyota: TSS2 longitudinal: Custom Tuning
* Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars thanks to dragonpilot-community!
* NEW❗: Enable Screen Recorder toggle
* Enable this will display a button on the onroad screen to toggle on or off real-time screen recording with UI elements.
* IMPROVED: Dynamic Lane Profile: when using Laneline planner via Laneline Mode or Auto Mode, enforce Laneless planner while traveling below 10 MPH or 16 km/h
* REMOVED: Display CPU Temperature on Sidebar
sunnypilot - 0.9.2.3 (2023-06-18)
========================
* NEW❗: Auto Lane Change: Delay with Blind Spot
* Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects an obstructing vehicle, ensuring safe maneuvering
* NEW❗: Driving Screen Off: Wake with Non-Critical Events
* When Driving Screen Off Timer is not set to "Always On":
* Enabled: Wake the brightness of the screen to display all events
* Disabled: Wake the brightness of the screen to display critical events
* Currently, all non-nudge modes are default to continue lane change after 1 seconds of blind spot detection
* NEW❗: Fleet Manager PIN Requirement toggle
* User can now enable or disable PIN requirement on the comma device before accessing Fleet Manager
* NEW❗: Reset all sunnypilot settings toggle
* NEW❗: Turn signals display on screen when blinker is used
* Green: Blinker is on
* Red: Blinker is on, car detected in the adjacent blind spot or road edge detected
* IMPROVED: mapd: better exceptions handling when loading dependencies
* UPDATED: Green Traffic Light Chime no longer displays an orange border when executed
* FIXED: mapd: Road name flashing caused by desync with last GPS timestamp
* FIXED: Ram HD (2500/3500): Ignore paramsd sanity check
* Live parameters have trouble with self-tuning on this platform with upstream openpilot 0.9.2
* Hyundai: Longitudinal support for CAN-based Camera SCC cars thanks to Zack1010OP's Patreon sponsor!
sunnypilot - 0.9.2.2 (2023-06-13)
========================
* NEW❗: Toyota: Allow M.A.D.S. toggling with LKAS Button (Beta)
* IMPROVED: Ram: cruise button handling
sunnypilot - 0.9.2.1 (2023-06-10)
========================
* UPDATED: Synced with commaai's 0.9.2 release
* UPDATED: feature revamp with better stability
* UPDATED:
* M.A.D.S.
* Path color becomes LIGHT ORANGE during Driver Steering Override
* Gap Adjust Cruise (now known as Driving Personality in upstream openpilot 0.9.3):
* Updated profiles and jerk changes
* Experimental Mode support
* Three settings: Stock, Aggressive, and Maniac
* Stock is recommended and the default
* In Aggressive/Maniac mode, lead follow distance is shorter and quicker gas/brake response
* Dynamic Lane Profile
* Display blue borders on both sides of the driving path when Laneline mode is being used in the planner
* Auto Mode optimization
* Permanent: Laneless during Auto Lane Change execution
* Mapd
* OpenStreetMap Database: new regions added
* Developer UI (Dev UI)
* REMOVED: 2-column design
* NEW❗: 1-column + 1-row design
* Custom Stock Longitudinal Control
* NEW❗: Chrysler/Jeep/Ram support
* NEW❗: Mazda support
* NEW❗: Volkswagen PQ support
* DISABLED: Hyundai/Kia/Genesis CAN-FD platforms
* NEW❗: Switch between Chill (openpilot ACC) and Experimental (E2E longitudinal) with DISTANCE button on the steering wheel
* To switch between Chill and Experimental Mode: press and hold the DISTANCE button on the steering wheel for over 0.5 second
* All openpilot longitudinal capable cars support
* NEW❗: Nicki Minaj driving model
* NEW❗: Nissan and Mazda upstream models support
* NEW❗: Pre-Global Subaru upstream models support
* NEW❗: Display End-to-end Longitudinal Status (Beta)
* Display an icon that appears when the End-to-end model decides to start or stop
* NEW❗: Green Traffic Light Chime (Beta)
* A chime will play when the traffic light you are waiting for turns green, and you have no vehicle in front of you.
* NEW❗: Lead Vehicle Departure Alert
* Notify when the leading vehicle drives away
* NEW❗: Speedometer: Display True Speed
* Display the true vehicle current speed from wheel speed sensors.
* NEW❗: Speedometer: Hide from Onroad Screen
* NEW❗: Auto-Hide UI Buttons
* Hide UI buttons on driving screen after a 30-second timeout. Tap on the screen at anytime to reveal the UI buttons
* Applicable to Dynamic Lane Profile (DLP) and Gap Adjust Cruise (GAC)
* NEW❗: Display DM Camera in Reverse Gear
* Show Driver Monitoring camera while the car is in reverse gear
* NEW❗: Block Lane Change: Road Edge Detection (Beta)
* Block lane change when road edge is detected on the stalk actuated side
* NEW❗: Display CPU Temperature on Sidebar
* Display the CPU core with the highest temperature on the sidebar
* NEW❗: Display current driving model in Software settings
* NEW❗: HKG: smartMDPS automatic detection (installed with applicable firmware)
* FIXED: Unintended siren/alarm from the comma device if the vehicle is turned off too quickly in PARK gear
* FIXED: mapd: Exception handling for loading dependencies
* Fleet Manager via Browser support thanks to actuallylemoncurd, AlexandreSato, ntegan1, and royjr!
* Access your dashcam footage, screen recordings, and error logs when the car is turned off
* Connect to the device via Wi-Fi, mobile hotspot, or tethering on the comma device, then navigate to http://ipAddress:5050 to access.
* Honda Clarity 2018-22 support thanks to mcallbosco, vanillagorillaa and wirelessnet2!
* Ram: Steer to 0/7 MPH support thanks to vincentw56!
* Retain hotspot/tethering state across reboots thanks to rogerioaguas!
sunnypilot - Version Latest (2023-02-22)
========================
* UPDATED: Synced with commaai's master branch - 2023.02.19-04:52:00:GMT - 0.9.2
* Refactor sunnypilot features to be more stable
sunnypilot - Version Latest (2022-12-16)
========================
* UPDATED: Synced with commaai's master branch - 2022.12.16-06:31:00:GMT - 0.9.1
* NEW❗: GM:
* NEW❗: Gap Adjust Cruise support - Chill, Normal, Aggressive
* NEW❗: Experimental Mode: Hold DISTANCE button on the steering wheel for 0.5 second to switch between Experimental Mode and Chill Mode
* REMOVED❌: Toytoa: SnG Hack
* This method is not recommended and may cause some cars to not behave as expected
* SDSU is strongly recommended to enable SnG for Toyota vehicles without SnG from factory
* commaai: radard: add missing accel data for vision-only leads (commaai/openpilot#26619) - pending PR
* VOACC performance is drastically improved when using Chill Mode
* IMPROVED: M.A.D.S. events handling
* IMPROVED: UI: screen recorder button change
* IMPROVED: OpenStreetMap Offline Database optimization
* FIXED: Toyota: vehicles' LKAS button no longer has a delay with toggling M.A.D.S.
* FIXED: Toyota: brake pedal press at standstill causing Cruise Fault
* FIXED: Volkswagen MQB: reduce Camera Malfunction occurrences (requires testing)
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-12-10)
========================
* IMPROVED: NEW❗ Developer UI design
* Second column metrics is now moved to the bottom of the screen
* ACC. = Acceleration
* L.S. = Lead Speed
* E.T. = EPS Torque
* B.D. = Bearing Degree
* FRI. = Friction
* L.A. = Lateral Acceleration
* ALT. = Altitude
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-12-07)
========================
* NEW❗: Screen Recorder support thanks to neokii and Kumar!
* NEW❗: End-to-end longitudinal start/stop status icon
* Only appears when Experimental Mode is enabled
* NEW❗: End-to-end longitudinal car chime when starting
* Hyundai/Kia/Genesis CAN platform, Honda/Acura Bosch/Nidec, Toyota/Lexus
* i.e. Traffic light turns green, stop sign ready to go, etc.
* Only appears when Experimental Mode is enabled AND longitudinal control is disengaged
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-12-05)
========================
* UPDATED: Synced with commaai's master branch - 2022.12.04-22:46:00:GMT - 0.9.1
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-11-12)
========================
* UPDATED: Synced with commaai's master branch - 2022.11.12-10:02:00:GMT - 0.8.17
* FIXED: CAN Error for CAN HKG cars that do not have navigation from the factory
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-11-11)
========================
* UPDATED: Synced with commaai's master branch - 2022.11.11-21:22:00:GMT - 0.8.17
* commaai: AGNOS 6.2 (commaai/openpilot#26441)
* NEW❗: Speed Limit Control - HKG - add speed limit from car's navigation head unit
* Compatible with certain models, trims, and model years
* DISABLED: FCA: RAM HD - steer down to 0
* FIXED: UI: End-to-end longitudinal button on driving screen synchronization
* FIXED: Honda: Longitudinal status with set cruise speed now displays properly in the car's dashboard
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-11-08)
========================
* ADDED: New Zealand offline OpenStreetMap database
sunnypilot - Version Latest (2022-11-04)
========================
* UPDATED: Synced with commaai's master branch - 2022.11.05-01:44:00:GMT - 0.8.17
* RE-ENABLED: Dynamic Lane Profile - preserves lanelines
* Can be found in "SP - Controls" menu
* NEW❗: DLP: switch to laneless for current/future curves thanks to @twilsonco!
* Can be found in "SP - Controls" menu
* NEW❗: UI: Road Camera Selector
* Enable this will display a button on the driving screen to select the driving camera
* Can be found in "SP - Visuals" menu
* NEW❗: Controls: Camera & Path Custom Offsets
* Only applicable to laneline mode when using Dynamic Lane Profile
* NEW❗: Buttons on driving screen are now sorted based on priority and availability
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-28)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.28-03:53:00:GMT - 0.8.17
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-26)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.26-06:20:00:GMT - 0.8.17
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-25)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.25-23:53:00:GMT - 0.8.17
* Pre-Global Subaru support thanks to @martinl!
* NEW❗: Speed Limit values turn red when current speed is higher than posted speed limit
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-23)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.22-23:15:00:GMT - 0.8.17
* IMPROVED: Custom Stock Longitudinal Control - HKG - only allow engagement on user button press
* IMPROVED: Custom Stock Longitudinal Control - Volkswagen MQB & PQ - more consistent set speed change
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-21)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.21-17:33:00:GMT - 0.8.17
* IMPROVED: Custom Stock Longitudinal Control - Volkswagen MQB & PQ - more predictable button send logic
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-20)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.20-20:25:00:GMT - 0.8.17
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-19)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.19-08:31:00:GMT - 0.8.17
* IMPROVED: Controls: Speed Limit Control - accelerator press only disengage if "Disengage on Accelerator Pedal" is enabled
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-18)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.18-04:44:00:GMT - 0.8.17
* RE-ENABLED: Volkswagen MQB & PQ with Custom Stock Longitudinal Control
* NEW❗: Steering Rate Cost Live Tune
* Enables live tune for Steering Rate Cost. Lower value allows steering wheel to move more freely at low speed
* Can be found in "SP - Controls" menu
* FIXED: MADS: GM - include Regen Paddle logic thanks to @twilsonco!
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-17)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.17-23:54:00:GMT+1 - 0.8.17
* ENABLED: "Custom Stock Longitudinal Control" toggle for CAN-FD cars
* FIXED: HKG CAN-FD: Could not engage when openpilot longitudinal is enabled
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-13)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.13-19:43:00:GMT+1 - 0.8.17
* ADDED: Live Tmux toggle
* Can be found in "SP - General" menu
* IMPROVED: OpenStreetMap Database Update - only check for database update with explicit user decision
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-11)
========================
* ADDED: Hyundai openpilot longitudinal improvements - huge thanks to @aragon7777!
* ADDED: Check for OpenStreetMap Database Update button
* UPDATED: commaai: Low speed lateral control improvements (commaai:openpilot#26022, bbcd448) - pending PR
* FIXED: MUTCD speed limit spacing adjusts dynamically when no subtext is shown (i.e., speed limit offset, distance to next speed limit)
* FIXED: MADS: Intermittent CAN Error when engaging for Toyota Prius TSS-P
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-09)
========================
* ADDED: commaai: Low speed lateral control improvements (commaai:openpilot#26022, bca288bb) - pending PR
* FIXED: MADS: Intermittent CAN Error when engaging for Toyota Prius TSS-P
* IMPROVED: mapd: stop signs and other supported traffic_calming tags are now slowing/stopping as expected
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-08)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.08-12:07:00:GMT+1 - 0.8.17
* FIXED: MADS: Intermittent CAN Error when engaging for Toyota Prius TSS-P
* IMPROVED: mapd: Speed Humps are now set at 20 MPH or 32 km/h
* IMPROVED: OpenStreetMap Offline Database download experience
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-10-07)
========================
* UPDATED: Synced with commaai's master branch - 2022.10.07-08:16:00:GMT - 0.8.17
* NEW❗: OpenStreetMap database can now be downloaded locally for offline use
* Now offering US South, US West, US Northeast, US Florida, Taiwan, and South Africa
* Databases updated - 2022.10.05-03:30:00:GMT
* NEW❗: mapd: Stop Sign, Yield, Speed Bump, Speed Hump, Sharp Curve support - huge thanks to @move-fast and @dragonpilot-community!
* Go to https://openstreetmap.org and start mapping out your area!
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-09-30)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.30-22:43:00:GMT - 0.8.17
* RE-ADDED: Torque Lateral Controller Live Tune Menu
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-09-23)
========================
* ADDED: Developer UI: latAccelFactorFiltered & frictionCoefficientFiltered values displays in green if Torque is using live params
* Bug fixes and performance improvements
sunnypilot - Version Latest (2022-09-22)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.19-22:19:00:GMT - 0.8.17
* NEW❗: Toggle to explicitly enable Custom Stock Longitudinal Control
* Applicable cars only: Honda, Hyundai/Kia/Genesis
* Settings -> Toggles menu
sunnypilot - Version Latest (2022-09-21)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.19-22:19:00:GMT - 0.8.17
* ADDED: Toggle to enable Live Torque (self/auto tune) with Torque lateral controller
* To enable, first enable "Enforce Torque Lateral Controller" toggle
* UPDATED: New metrics in Developer UI (when Live Torque is enabled)
* REMOVED: latAccelFactorRaw & frictionCoefficientRaw from torqued
* ADDED: latAccelFactorFiltered & frictionCoefficientFiltered from torqued
* REMOVED: Temporary remove Torque Lateral Controller Live Tune Menu
sunnypilot - Version Latest (2022-09-20)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.19-22:19:00:GMT - 0.8.17
* ADDED: Toggle to enable Live Torque (self/auto tune) with Torque lateral controller
* To enable, first enable "Enforce Torque Lateral Controller" toggle
* REMOVED: Temporary remove Torque Lateral Controller Live Tune Menu
sunnypilot - Version Latest (2022-09-18)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.17-11:23:00:GMT - 0.8.17
* ADDED: Kia Forte Non-SCC 2019 support for @askalice
* FIXED: Torque Lateral Control Live Tune now syncs with commaai:openpilot#25822
* FIXED: mapd dependencies no longer need to be re-downloaded after unknown reboots
sunnypilot - Version Latest (2022-09-17)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.17-11:23:00:GMT - 0.8.17
* NEW❗: Non SCC HKG support
* Custom Stock Longitudinal Control
* ❗No❗ openpilot longitudinal control
* FIXED: Honda Bosch random low-value set speed changes
sunnypilot - Version Latest (2022-09-16)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.16-20:23:00:GMT - 0.8.17
sunnypilot - Version Latest (2022-09-15)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.16-02:00:00:GMT - 0.8.17
* FIXED: Block additional auto lane change actions if blinker stays on after the first lane change
* REVERTED: Some Toyota with LKAS button no longer requires double press to engage/disengage M.A.D.S.
sunnypilot - Version Latest (2022-09-14)u
========================
* UPDATED: Synced with commaai's master branch - 2022.09.11-02:47:00:GMT - 0.8.17
* NEW❗: GM models supported in Force Car Recognition (FCR)
* Under "SP - Vehicles"
* NEW❗: Prompt to select car in "SP - Vehicles" if car unrecognized on startup
* FIXED: Some Toyota with LKAS button no longer requires double press to engage/disengage M.A.D.S.
* UPDATED: ESCC: Use radar tracks from radar if available
sunnypilot - Version Latest (2022-09-13)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.11-02:47:00:GMT - 0.8.17
* NEW❗: New metric in Developer UI
* Actual Lateral Acceleration (Roll Compensated)
sunnypilot - Version Latest (2022-09-12)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.11-02:47:00:GMT - 0.8.17
* FIXED: Honda Nidec models not gaining speed when longitudinal engaged
sunnypilot - Version Latest (2022-09-11)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.11-02:47:00:GMT - 0.8.17
* NEW❗: Hyundai Enhanced SCC now forwards FCW and AEB signals and commands from radar to car
* RE-ENABLED: MADS Status Icon toggle
sunnypilot - Version Latest (2022-09-10)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.11-02:47:00:GMT - 0.8.17
* NEW❗: RAM improvement implementation thanks to realfast!
* DISABLED: Chrysler/Jeep/Ram with Custom Stock Longitudinal Control
* DISABLED: Volkswagen MQB & PQ with Custom Stock Longitudinal Control
sunnypilot - Version Latest (2022-09-09)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.09-07:35:00:GMT - 0.8.17
* NEW❗: MADS now supporting General Motors (GM)
* ADDED: Custom Stock Longitudinal Control - Volkswagen
* MQB & PQ
* ADDED: Reverse ACC Change
* ACC +/-: Short=5, Long=1
* ADDED: Custom Stock Longitudinal Control
* Hyundai/Kia/Genesis
* Honda Bosch
* ADDED: Hyundai: 2015-16 Genesis resume from standstill fix (commaai:openpilot#25579) - pending PR
* Vision Turn Speed Control re-enabled
* Disable Onroad Uploads toggle re-enabled
sunnypilot - Version Latest (2022-09-08)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.08-04:05:00:GMT - 0.8.17
* NEW❗: Block lane change initiation while brake is pressed
sunnypilot - Version Latest (2022-09-07)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.08-04:05:00:GMT - 0.8.17
* NEW❗: Display End-to-end longitudinal 🌮 on screen
* NEW❗: Hold DISTANCE button on the steering wheel for 1 second to switch between E2E Long and ACC mode
* Enable toggle on the driving screen to switch between modes with End-to-end longitudinal
* Only applicable to cars with openpilot longitudinal control
* NEW❗: Block lane change initiation while brake is pressed
* REMOVED: Dynamic Lane Profile - upstream laneless model is now on by default
* REMOVED: hyundai: consistent start from stop (commaai:openpilot#25672) - pending PR
sunnypilot - Version Latest (2022-09-06)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.06 - 0.8.17
* NEW❗: Display useful metrics above the chevron that tracks the lead car
* Under "SP - Visuals" menu
* Only applicable to cars with openpilot longitudinal control
* ADDED: hyundai: consistent start from stop (commaai:openpilot#25672) - pending PR
* FIXED: Vienna speed limit interface now scales properly with the outer box
* REMOVED: Hyundai long improvements (commaai:openpilot#25604) - closed PR
sunnypilot - Version Latest (2022-09-05)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.03 - 0.8.17
* NEW❗: Speed Limit Control (SLC) interface integrated with upstream
* NEW❗: Speed limit from active navigation is now prioritized for Speed Limit Control
* NEW❗: MUTCD (U.S.) or Vienna (E.U.) speed limit interfaces can now be selected under "SP - Controls"
sunnypilot - Version Latest (2022-09-04)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.03 - 0.8.17
* FIXED: Gap Adjust Cruise status now displays properly on screen
* FIXED: mapd - missing index in list caused mapd to crash
* REMOVED: Temporary removed Vision Turn Speed Control
sunnypilot - Version Latest (2022-09-03)
========================
* UPDATED: Synced with commaai's master branch - 2022.09.03 - 0.8.17
* ADDED: New border colors for different operation engagements
* ADDED: UI: Show barrier when car detected in blind spot
* Only applicable to cars that have BSM detection with openpilot
* FIXED: Cruise Cancel button no longer display prompt if cruise not engaged
* TWEAKED: Update changelogs on startup in Settings -> Software -> Version
* REMOVED: Upload Raw Logs and Full Resolution Videos toggles
sunnypilot - Version Latest (2022-08-31)
========================
* UPDATED: Synced with commaai's master branch - 2022.08.31 - 0.8.17
* ADDED: New border colors for different operation engagements
* ADDED: UI: Show barrier when car detected in blind spot
* Only applicable to cars that have BSM detection with openpilot
* FIXED: Cruise Cancel button no longer display prompt if cruise not engaged
* REMOVED: Upload Raw Logs and Full Resolution Videos toggles
sunnypilot - Version 0.8.16 (2022-07-16)
========================
* Sync with commaai's master branches
* NEW❗: Add toggle to pause lateral actuation below 30 MPH / 50 KM/H
* IMPROVED: Better controls mismatch handling
* IMPROVED: Less frequent Low Memory alert
* IMPROVED: Only allow lateral control when in forward gears
* IMPROVED: Better alerts handling on gear changes
sunnypilot - Version 0.8.14-1.3 (2022-06-29)
========================
* Hyundai/Kia/Genesis
* NEW❗: MADS: Add GAP/Distance button on the steering wheel to engage/disengage
* To engage/disengage MADS: Hold the button for 0.5 second
* NEW❗: Dynamic Lane Profile: Add toggle to enable "Laneless for Curves in Auto Lane"
* HOTFIX🛠: Improve Torque lateral control and reduce ping pong for some Toyota cars
* Torque control: higher low speed gains and better steering angle deadzone logic
* Developer UI: Remove Distance Traveled, replace with Memory Usage %
* This may have a potential to fix the Low Memory alert that may appear
sunnypilot - Version 0.8.14-1 (2022-06-27)
========================
* HOTFIX🛠: Honda, Toyota, Volkswagen now initialized correctly with Torque Lateral Live Tune
sunnypilot - Version 0.8.14-1 (2022-06-27)
========================
* NEW❗: Added toggle to enable updates for sunnypilot
* HOTFIX🛠: Volkswagen car list now displays properly in Force Car Recognition menu
* REVERTED: Honda - temporary removes CRUISE (MAIN) for MADS engagement
* LKAS button continues to be used for MADS engagement/disengagement
sunnypilot - Version 0.8.14-1 (2022-06-26)
========================
Visit https://bit.ly/sunnyreadme for more details
* sunnypilot 0.8.14 release - based on openpilot 0.8.14 devel
* "0.8.14-prod-c3" branch only supports comma three
* If you have a comma two, EON, or other devices than a comma three, visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Mono-branch support
* Honda/Acura
* Hyundai/Kia/Genesis
* Toyota/Lexus
* Volkswagen MQB
* Modified Assistive Driving Safety (MADS) Mode
* NEW❗: CRUISE (MAIN) now engages MADS for all supported car makes
* NEW❗: Added toggle to disable disengaging Automatic Lane Centering (ALC) on the brake pedal
* Dynamic Lane Profile (DLP)
* NEW❗: Gap Adjust Cruise (GAC)
* openpilot longitudinal cars can now adjust between the lead car's following distance gap via 3 modes:
* Steering Wheel (SW) | User Interface (UI) | Steering Wheel + User Interface (SW+UI)
* NEW❗: Custom Camera & Path Offsets
* NEW❗: Torque Lateral Control from openpilot 0.8.15 master (as of 2022-06-15)
* NEW❗: Torque Lateral Control Live Tune Menu
* NEW❗: Speed Limit Sign from openpilot 0.8.15 master (as of 2022-06-22)
* NEW❗: Mapbox Speed Limit data will now be utilized in Speed Limit Control (SLC)
* Speed limit data will be utilized in the following availability:
* Mapbox (active navigation) -> OpenStreetMap -> Car Interface (Toyota's TSR)
* Custom Stock Longitudinal Control
* NEW❗: Volkswagen MQB
* Honda
* Hyundai/Kia/Genesis
* NEW❗: Mapbox navigation support for non-Prime users
* Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Hyundai/Kia/Genesis
* NEW❗: Enhanced SCC (ESCC) Support
* Requires hardware modification. Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* NEW❗: Smart MDPS (SMDPS) Support - Auto-detection
* Requires hardware modification and custom firmware for the SMDPS. Visit sunnyhaibin's discord server for more details: https://discord.gg/wRW3meAgtx
* Toyota/Lexus
* NEW❗: Added toggle to enforce stock longitudinal control
sunnypilot - Version 0.8.12-4
========================
* NEW❗: Custom Stock Longitudinal Control by setting the target speed via openpilot's "MAX" speed thanks to multikyd!
* Speed Limit Control
* Vision-based Turn Control
* Map-based Turn Control
* NEW❗: HDA status integration with Custom Stock Longitudinal Control on applicable HKG cars only
* NEW❗: Roll Compensation and SteerRatio fix from comma's 0.8.13
* NEW❗: Dev UI to display different metrics on screen
* Click on the "MAX" box on the top left of the openpilot display to toggle different metrics display
* Lead car relative distance; Lead car relative speed; Actual steering degree; Desired steering degree; Engine RPM; Longitudinal acceleration; Lead car actual speed; EPS torque; Current altitude; Compass direction
* NEW❗: Stand Still Timer to display time spent at a stop with M.A.D.S engaged (i.e., stop lights, stop signs, traffic congestions)
* NEW❗: Current car speed text turns red when the car is braking
* NEW❗: Export GPS tracks into GPX files and upload to OSM thanks to eFini!
* NEW❗: Enable ACC and M.A.D.S with a single press of the RES+/SET- button
* NEW❗: ACC +/-: Short=5, Long=1
* Change the ACC +/- buttons behavior with cruise speed change in openpilot
* Disabled (Stock): Short=1, Long=5
* Enabled: Short=5, Long=1
* NEW❗: Speed Limit Value Offset (not %)*
* Set speed limit higher or lower than actual speed limit for a more personalized drive.
* *To use this feature, turn off "Enable Speed Limit % Offset"*
* NEW❗: Dedicated icon to show the status of M.A.D.S.
* NEW❗: No Offroad Fix for non-official devices that cannot shut down after the car is turned off
* NEW❗: Stop N' Go Resume Alternative
* Offer alternative behavior to auto resume when stopped behind a lead car using stock SCC/ACC. This feature removes the repeating prompt chime when stopped and/or allows some cars to use auto resume (i.e., Genesis)
* IMPROVED: Show the lead car icon in the car's dashboard when a lead car is detected by openpilot's camera vision
* FIXED: MADS button unintentionally set MAX when using stock longitudinal control thanks to Spektor56!
sunnypilot - Version 0.8.12-3
========================
* NEW❗: Bypass "System Malfunction" alert toggle
* Prevent openpilot from returning the "System Malfunction" alert that hinders the ability use openpilot
* FIXED: Hyundai/Kia/Genesis Brake Hold Active now outputs the correct events on screen with M.A.D.S. engaged
sunnypilot - Version 0.8.12-2
========================
* NEW❗: Disable M.A.D.S. toggle to disable the beloved M.A.D.S. feature
* Enable Stock openpilot engagement/disengagement
* ADJUST: Initialize Driving Screen Off Brightness at 50%
sunnypilot - Version 0.8.12-1
========================
* sunnypilot 0.8.12 release - based on openpilot 0.8.12 devel
* Dedicated Hyundai/Kia/Genesis branch support
* NEW❗: OpenStreetMap integration thanks to the Move Fast team!
* NEW❗: Vision-based Turn Control
* NEW❗: Map-Data-based Turn Control
* NEW❗: Speed Limit Control w/ optional Speed Limit Offset
* NEW❗: OpenStreetMap integration debug UI
* Only available to openpilot longitudinal enabled cars
* NEW❗: Hands on Wheel Monitoring according to EU r079r4e regulation
* NEW❗: Disable Onroad Uploads for data-limited Wi-Fi hotspots when using OpenStreetMap related features
* NEW❗: Fast Boot (Prebuilt)
* NEW❗: Auto Lane Change Timer
* NEW❗: Screen Brightness Control (Global)
* NEW❗: Driving Screen Off Timer
* NEW❗: Driving Screen Off Brightness (%)
* NEW❗: Max Time Offroad
* Improved user feedback with M.A.D.S. operations thanks to Spektor56!
* Lane Path
* Green🟢 (Laneful), Red🔴 (Laneless): M.A.D.S. engaged
* White⚪: M.A.D.S. suspended or disengaged
* Black⚫: M.A.D.S. engaged, steering is being manually override by user
* Screen border now only illuminates Green when SCC/ACC is engaged
sunnypilot - Version 0.8.10-1 (Unreleased)
========================
* sunnypilot 0.8.10 release - based on openpilot 0.8.10 `devel`
* Add Toyota cars to Force Car Recognition
sunnypilot - Version 0.8.9-4
========================
* Hyundai: Fix Ioniq Hybrid signals
sunnypilot - Version 0.8.9-3
========================
* Update home screen brand and version structure
sunnypilot - Version 0.8.9-2
========================
* Added additional Sonata Hybrid Firmware Versions
* Features
* Modified Assistive Driving Safety (MADS) Mode
* Dynamic Lane Profile (DLP)
* Quiet Drive 🤫
* Force Car Recognition (FCR)
* PID Controller: add kd into the stock PID controller
sunnypilot - Version 0.8.9-1
========================
* First changelog!
* Features
* Modified Assistive Driving Safety (MADS) Mode
* Dynamic Lane Profile (DLP)
* Quiet Drive 🤫
* Force Car Recognition (FCR)
* PID Controller: add kd into the stock PID controller

View File

@@ -8,22 +8,6 @@ ENV PYTHONPATH ${OPENPILOT_PATH}:${PYTHONPATH}
RUN mkdir -p ${OPENPILOT_PATH}
WORKDIR ${OPENPILOT_PATH}
COPY SConstruct ${OPENPILOT_PATH}
COPY ./openpilot ${OPENPILOT_PATH}/openpilot
COPY ./third_party ${OPENPILOT_PATH}/third_party
COPY ./site_scons ${OPENPILOT_PATH}/site_scons
COPY ./laika ${OPENPILOT_PATH}/laika
COPY ./laika_repo ${OPENPILOT_PATH}/laika_repo
COPY ./rednose ${OPENPILOT_PATH}/rednose
COPY ./tools ${OPENPILOT_PATH}/tools
COPY ./release ${OPENPILOT_PATH}/release
COPY ./common ${OPENPILOT_PATH}/common
COPY ./opendbc ${OPENPILOT_PATH}/opendbc
COPY ./cereal ${OPENPILOT_PATH}/cereal
COPY ./panda ${OPENPILOT_PATH}/panda
COPY ./selfdrive ${OPENPILOT_PATH}/selfdrive
COPY ./system ${OPENPILOT_PATH}/system
COPY ./body ${OPENPILOT_PATH}/body
COPY . ${OPENPILOT_PATH}/
RUN scons --cache-readonly -j$(nproc)

View File

@@ -1,10 +1,10 @@
FROM ubuntu:20.04
FROM ubuntu:24.04
ENV PYTHONUNBUFFERED 1
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends sudo tzdata locales ssh && \
apt-get install -y --no-install-recommends sudo tzdata locales ssh pulseaudio xvfb x11-xserver-utils gnome-screenshot && \
rm -rf /var/lib/apt/lists/*
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
@@ -13,27 +13,72 @@ ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
COPY tools/install_ubuntu_dependencies.sh /tmp/tools/
RUN cd /tmp && \
tools/install_ubuntu_dependencies.sh && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /tmp/* && \
# remove unused architectures from gcc for panda
cd /usr/lib/gcc/arm-none-eabi/9.2.1 && \
rm -rf arm/ && \
rm -rf thumb/nofp thumb/v6* thumb/v8* thumb/v7+fp thumb/v7-r+fp.sp
RUN INSTALL_EXTRA_PACKAGES=no /tmp/tools/install_ubuntu_dependencies.sh && \
rm -rf /var/lib/apt/lists/* /tmp/* && \
cd /usr/lib/gcc/arm-none-eabi/* && \
rm -rf arm/ thumb/nofp thumb/v6* thumb/v8* thumb/v7+fp thumb/v7-r+fp.sp
ENV POETRY_VIRTUALENVS_CREATE=false
ENV PYENV_VERSION=3.11.4
ENV PYENV_ROOT="/root/.pyenv"
ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
# Add OpenCL
RUN apt-get update && apt-get install -y --no-install-recommends \
apt-utils \
alien \
unzip \
tar \
curl \
xz-utils \
dbus \
gcc-arm-none-eabi \
tmux \
vim \
libx11-6 \
wget \
&& rm -rf /var/lib/apt/lists/*
COPY pyproject.toml poetry.lock .python-version /tmp/
COPY tools/install_python_dependencies.sh /tmp/tools/
RUN mkdir -p /tmp/opencl-driver-intel && \
cd /tmp/opencl-driver-intel && \
wget https://github.com/intel/llvm/releases/download/2024-WW14/oclcpuexp-2024.17.3.0.09_rel.tar.gz && \
wget https://github.com/oneapi-src/oneTBB/releases/download/v2021.12.0/oneapi-tbb-2021.12.0-lin.tgz && \
mkdir -p /opt/intel/oclcpuexp_2024.17.3.0.09_rel && \
cd /opt/intel/oclcpuexp_2024.17.3.0.09_rel && \
tar -zxvf /tmp/opencl-driver-intel/oclcpuexp-2024.17.3.0.09_rel.tar.gz && \
mkdir -p /etc/OpenCL/vendors && \
echo /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64/libintelocl.so > /etc/OpenCL/vendors/intel_expcpu.icd && \
cd /opt/intel && \
tar -zxvf /tmp/opencl-driver-intel/oneapi-tbb-2021.12.0-lin.tgz && \
ln -s /opt/intel/oneapi-tbb-2021.12.0/lib/intel64/gcc4.8/libtbb.so /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64 && \
ln -s /opt/intel/oneapi-tbb-2021.12.0/lib/intel64/gcc4.8/libtbbmalloc.so /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64 && \
ln -s /opt/intel/oneapi-tbb-2021.12.0/lib/intel64/gcc4.8/libtbb.so.12 /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64 && \
ln -s /opt/intel/oneapi-tbb-2021.12.0/lib/intel64/gcc4.8/libtbbmalloc.so.2 /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64 && \
mkdir -p /etc/ld.so.conf.d && \
echo /opt/intel/oclcpuexp_2024.17.3.0.09_rel/x64 > /etc/ld.so.conf.d/libintelopenclexp.conf && \
ldconfig -f /etc/ld.so.conf.d/libintelopenclexp.conf && \
cd / && \
rm -rf /tmp/opencl-driver-intel
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute
ENV QTWEBENGINE_DISABLE_SANDBOX 1
RUN dbus-uuidgen > /etc/machine-id
ARG USER=batman
ARG USER_UID=1001
RUN useradd -m -s /bin/bash -u $USER_UID $USER
RUN usermod -aG sudo $USER
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER $USER
COPY --chown=$USER pyproject.toml uv.lock /tmp/
COPY --chown=$USER tools/install_python_dependencies.sh /tmp/tools/
ENV VIRTUAL_ENV=/home/$USER/.venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN cd /tmp && \
tools/install_python_dependencies.sh && \
mkdir -p $VIRTUAL_ENV && \
cp -r /tmp/.venv/* $VIRTUAL_ENV && \
rm -rf /tmp/* && \
rm -rf /root/.cache && \
pip uninstall -y poetry
rm -rf /home/$USER/.cache
USER root
RUN sudo git config --global --add safe.directory /tmp/openpilot

View File

@@ -1,37 +0,0 @@
FROM ghcr.io/commaai/openpilot-base:latest
RUN apt-get update && apt-get install -y --no-install-recommends\
apt-utils \
alien \
unzip \
tar \
curl \
xz-utils \
dbus \
gcc-arm-none-eabi \
tmux \
vim \
lsb-core \
libx11-6 \
&& rm -rf /var/lib/apt/lists/*
# Intel OpenCL driver
ARG INTEL_DRIVER=l_opencl_p_18.1.0.015.tgz
ARG INTEL_DRIVER_URL=https://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/15532
RUN mkdir -p /tmp/opencl-driver-intel
WORKDIR /tmp/opencl-driver-intel
RUN echo INTEL_DRIVER is $INTEL_DRIVER && \
curl -O $INTEL_DRIVER_URL/$INTEL_DRIVER && \
tar -xzf $INTEL_DRIVER && \
for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done && \
dpkg -i *.deb && \
rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb && \
mkdir -p /etc/OpenCL/vendors && \
echo /opt/intel/opencl_compilers_and_libraries_18.1.0.015/linux/compiler/lib/intel64_lin/libintelocl.so > /etc/OpenCL/vendors/intel.icd && \
rm -rf /tmp/opencl-driver-intel
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute
ENV QTWEBENGINE_DISABLE_SANDBOX 1
RUN dbus-uuidgen > /etc/machine-id

77
HOW-TOS.md Normal file
View File

@@ -0,0 +1,77 @@
# How Tos
This page is a repository of useful how-tos as a supplement for additional information.
Table of Contents
=======================
* [Radar Tracks](#Radar-Tracks)
* [Enable Radar Tracks](#-Enable-Radar-Tracks)
* [Enable Mapbox Navigation](#-Enable-Mapbox-Navigation)
---
<details><summary><h3>📡 Radar Tracks</h3></summary>
Radar tracks can now be enabled manually on applicable cars through SSH thanks to [@greghogan](https://github.com/greghogan) and [@pd0wm](https://github.com/pd0wm).
Some Hyundai radars can be reconfigured to output (debug) radar points on bus 1.
Reconfiguration is done over UDS by reading/writing to 0x0142 using the Read/Write Data By Identifier
endpoints (0x22 & 0x2E). This script checks your radar firmware version against a list of known
firmware versions. If you want to try on a new radar, make sure to note the default config value
in case it is different from the other radars and you need to revert the changes.
After changing the config the car should not show any faults when openpilot is not running.
These config changes are persistent across car reboots. You need to run this script again
to go back to the default values.
**USE AT YOUR OWN RISK!** Stock system safety features, like AEB and FCW, might be affected by these changes.
**How radar points can be used along with vision:**
* Current OP long policy is identify with vision first, if vision sees a vehicle match it to a radar point. If vision sees nothing you get a false negative and no lead car detection. (Source: [Hubblesphere#7894 from comma.ai community Discord](https://discord.com/channels/469524606043160576/872899198738104330/872913890793635872))
### 🚨 Enable Radar Tracks
***(EXPERIMENTAL, as of January 1st, 2022)***
***(Only applicable to some Hyundai, Kia, and Genesis cars, as of January 1st, 2022)***
*(Base on version 0.8.12 [`devel`](https://github.com/commaai/openpilot/tree/devel))*
**USE AT YOUR OWN RISK!** Stock system safety features, like AEB and FCW, might be affected by these changes.
1. Ensure the car is at the `OFF` ignition position.
2. Connect your compatible comma device (EON, C2, C3) to the car. comma device power should be ON.
3. Use a laptop or applicable device to connect to your comma device via SSH. (Tips: Instructions to SSH in [HERE](https://github.com/commaai/openpilot/wiki/SSH))
4. In the SSH terminal after successfully connected to your comma device, execute the following commands:
1. `pkill -f openpilot`
2. `python /data/openpilot/selfdrive/debug/hyundai_enable_radar_points.py`
3. Follow the instructions in the script:
* `Power on the vehicle keeping the engine off (press start button twice) then type OK to continue`.
* If successful, the following message should appear: `[DONE]. Restart your vehicle and ensure there are no faults`.
* If the script did not run successfully, reach out to the community in [Sunnyhaibin's Openpilot Discord Server](https://discord.gg/wRW3meAgtx) or `#hyundai-kia-genesis channel` on [commaai community Discord Server](https://discord.comma.ai) for assistance.
4. Reboot your comma device:
1. C3: `sudo reboot`
2. C2 or EON: `reboot`
5. Once your comma device is rebooted, start your car with engine on (with or without comma device connected). Ensure that there are no faults from the car. If there are faults, reach out to the community in [Sunnyhaibin's Openpilot Discord Server](https://discord.gg/wRW3meAgtx) or `#hyundai-kia-genesis channel` on [commaai community Discord Server](https://discord.comma.ai) for assistance.
6. Go for a quick drive and drive behind a lead car with varied follow distance. Then, come back and allow the drive to upload its `rlogs` in [comma Connect](https://connect.comma.ai).
7. With all `rlogs` uploaded, open the drive in Cabana from [comma Connect](https://connect.comma.ai). Load DBC -> `hyundai_kia_mando_front_radar.dbc`, then search `RADAR_TRACK_50x` (`x` could be anything), open any of them, and look at `LONG_DIST`.
8. If the radar tracks data is relevant with the lead car you drove behind, you are done! Your car now have radar tracks enabled.
</details>
<details><summary><h3>🗺 Enable Mapbox Navigation</h3></summary>
1) Create a free mapbox account. Account will ask for a credit card for verification. You will not be charged for the free tier.
2) On the Dashboard, you will see a section called Access Tokens. Click `Create a Token`. Name it whatever you like. Set the scopes to allow everything for both Public and Secret. Copy both of these keys. **YOU WON'T BE ABLE TO ACCESS THE SECRET KEY AFTER THIS WINDOW.**
3) Once rebooted, connect your C3 to a network with internet access and find the C3s IP address.
4) In a browser, navigate to that IP with **port 8082** (i.e 192.168.1.69:8082). You should be greeted with the Comma logo and a public key input field.
5) Paste your Public token (pk.xx), click enter, paste your Secret key (sk.xx), click enter. You can now search for places. This page will be available at your devicess IP address/port 8082 to search for destinations.
6) To set Home and Work addresses, search for a place, select Home/Work from the dropdown and click Navigate. For non-Home/Work destinations, select Recent Places.<br>*At this time, it is not possible to search directly on the C3.*
**TIPS:**
- If your C3 is showing a black screen that says “Map Loading”, performing a reboot via the UI should fix it.
- If your phone can create a Hotspot, you are able to connect the C3 to your phone hotspot and use your phone browser to search for places.
- In the Navigation panel on the C3, you can select Home, Work, and from a list of Recent Places you have navigated to without needing a browser (assuming the C3 is connected to the internet.)
**IMPORTANT NOTE:** Your C3 will require an active internet connection to download map data, generate driving directions, and ETA. Once map data and directions are downloaded, it *is* possible to use it offline, however nothing will update (such as new driving direction after a missed turn, updated ETA, map data further into your drive etc.)
***NAVIGATION NOTE:** At this time, mapbox does not support alphanumeric addresses (i.e W123N1234 Main St). There is currently no known workaround for this.*
</details>

392
Jenkinsfile vendored
View File

@@ -1,10 +1,23 @@
def phone(String ip, String step_label, String cmd) {
def retryWithDelay(int maxRetries, int delay, Closure body) {
for (int i = 0; i < maxRetries; i++) {
try {
return body()
} catch (Exception e) {
sleep(delay)
}
}
throw Exception("Failed after ${maxRetries} retries")
}
def device(String ip, String step_label, String cmd) {
withCredentials([file(credentialsId: 'id_rsa', variable: 'key_file')]) {
def ssh_cmd = """
ssh -tt -o StrictHostKeyChecking=no -i ${key_file} 'comma@${ip}' /usr/bin/bash <<'END'
ssh -tt -o ConnectTimeout=5 -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o BatchMode=yes -o StrictHostKeyChecking=no -i ${key_file} 'comma@${ip}' /usr/bin/bash <<'END'
set -e
shopt -s huponexit # kill all child processes when the shell exits
export CI=1
export PYTHONWARNINGS=error
export LOGPRINT=debug
@@ -14,6 +27,9 @@ export GIT_BRANCH=${env.GIT_BRANCH}
export GIT_COMMIT=${env.GIT_COMMIT}
export AZURE_TOKEN='${env.AZURE_TOKEN}'
export MAPBOX_TOKEN='${env.MAPBOX_TOKEN}'
# only use 1 thread for tici tests since most require HIL
export PYTEST_ADDOPTS="-n 0"
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
@@ -21,6 +37,11 @@ source ~/.bash_profile
if [ -f /TICI ]; then
source /etc/profile
rm -rf /tmp/tmp*
rm -rf ~/.commacache
rm -rf /dev/shm/*
rm -rf /dev/tmp/tmp*
if ! systemctl is-active --quiet systemd-resolved; then
echo "restarting resolved"
sudo systemctl start systemd-resolved
@@ -51,226 +72,183 @@ END"""
}
}
def phone_steps(String device_type, steps) {
lock(resource: "", label: device_type, inversePrecedence: true, variable: 'device_ip', quantity: 1) {
timeout(time: 20, unit: 'MINUTES') {
phone(device_ip, "git checkout", readFile("selfdrive/test/setup_device_ci.sh"),)
steps.each { item ->
phone(device_ip, item[0], item[1])
def deviceStage(String stageName, String deviceType, List extra_env, def steps) {
stage(stageName) {
if (currentBuild.result != null) {
return
}
def extra = extra_env.collect { "export ${it}" }.join('\n');
def branch = env.BRANCH_NAME ?: 'master';
lock(resource: "", label: deviceType, inversePrecedence: true, variable: 'device_ip', quantity: 1, resourceSelectStrategy: 'random') {
docker.image('ghcr.io/commaai/alpine-ssh').inside('--user=root') {
timeout(time: 35, unit: 'MINUTES') {
retry (3) {
device(device_ip, "git checkout", extra + "\n" + readFile("selfdrive/test/setup_device_ci.sh"))
}
steps.each { item ->
device(device_ip, item[0], item[1])
}
}
}
}
}
}
pipeline {
agent none
environment {
CI = "1"
PYTHONWARNINGS = "error"
TEST_DIR = "/data/openpilot"
SOURCE_DIR = "/data/openpilot_source/"
AZURE_TOKEN = credentials('azure_token')
MAPBOX_TOKEN = credentials('mapbox_token')
}
options {
timeout(time: 3, unit: 'HOURS')
disableConcurrentBuilds(abortPrevious: env.BRANCH_NAME != 'master')
}
stages {
stage('build release3-staging') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
when {
branch 'devel-staging'
}
steps {
phone_steps("tici-needs-can", [
["build release3-staging & dashcam3-staging", "RELEASE_BRANCH=release3-staging DASHCAM_BRANCH=dashcam3-staging $SOURCE_DIR/release/build_release.sh"],
])
}
def pcStage(String stageName, Closure body) {
node {
stage(stageName) {
if (currentBuild.result != null) {
return
}
stage('build nightly') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
when {
branch 'master-ci'
}
steps {
phone_steps("tici-needs-can", [
["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
])
}
checkout scm
def dockerArgs = "--user=batman -v /tmp/comma_download_cache:/tmp/comma_download_cache -v /tmp/scons_cache:/tmp/scons_cache -e PYTHONPATH=${env.WORKSPACE} --cpus=8 --memory 16g -e PYTEST_ADDOPTS='-n8'";
def openpilot_base = retryWithDelay (3, 15) {
return docker.build("openpilot-base:build-${env.GIT_COMMIT}", "-f Dockerfile.openpilot_base .")
}
stage('openpilot tests') {
when {
not {
anyOf {
branch 'master-ci'; branch 'devel'; branch 'devel-staging';
branch 'release3'; branch 'release3-staging'; branch 'dashcam3'; branch 'dashcam3-staging';
branch 'testing-closet*'; branch 'hotfix-*'
}
}
}
parallel {
/*
stage('simulator') {
agent {
dockerfile {
filename 'Dockerfile.sim_nvidia'
dir 'tools/sim'
args '--user=root'
lock(resource: "", label: 'pc', inversePrecedence: true, quantity: 1) {
openpilot_base.inside(dockerArgs) {
timeout(time: 20, unit: 'MINUTES') {
try {
retryWithDelay (3, 15) {
sh "git config --global --add safe.directory '*'"
sh "git submodule update --init --recursive"
sh "git lfs pull"
}
}
steps {
sh "git config --global --add safe.directory '*'"
sh "git submodule update --init --recursive"
sh "git lfs pull"
lock(resource: "", label: "simulator", inversePrecedence: true, quantity: 1) {
sh "${WORKSPACE}/tools/sim/build_container.sh"
sh "DETACH=1 ${WORKSPACE}/tools/sim/start_carla.sh"
sh "${WORKSPACE}/tools/sim/start_openpilot_docker.sh"
}
}
post {
always {
sh "docker kill carla_sim || true"
sh "rm -rf ${WORKSPACE}/* || true"
body()
} finally {
sh "rm -rf ${env.WORKSPACE}/* || true"
sh "rm -rf .* || true"
}
}
}
*/
stage('PC tests') {
agent {
dockerfile {
filename 'Dockerfile.openpilot_base'
args '--user=root -v /tmp/comma_download_cache:/tmp/comma_download_cache'
}
}
steps {
sh "git config --global --add safe.directory '*'"
sh "git submodule update --init --depth=1 --recursive"
sh "git lfs pull"
// tests that our build system's dependencies are configured properly, needs a machine with lots of cores
sh "scons --clean && scons --no-cache --random -j42"
sh "INTERNAL_SEG_CNT=500 INTERNAL_SEG_LIST=selfdrive/car/tests/test_models_segs.txt FILEREADER_CACHE=1 \
pytest -n42 --dist=loadscope selfdrive/car/tests/test_models.py"
sh "MAX_EXAMPLES=100 pytest -n42 selfdrive/car/tests/test_car_interfaces.py"
}
post {
always {
sh "rm -rf ${WORKSPACE}/* || true"
sh "rm -rf .* || true"
}
}
}
stage('tizi-tests') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tizi", [
["build openpilot", "cd selfdrive/manager && ./build.py"],
["test boardd loopback", "SINGLE_PANDA=1 pytest selfdrive/boardd/tests/test_boardd_loopback.py"],
["test pandad", "pytest selfdrive/boardd/tests/test_pandad.py"],
["test sensord", "cd system/sensord/tests && pytest test_sensord.py"],
["test camerad", "pytest system/camerad/test/test_camerad.py"],
["test exposure", "pytest system/camerad/test/test_exposure.py"],
["test amp", "pytest system/hardware/tici/tests/test_amplifier.py"],
["test hw", "pytest system/hardware/tici/tests/test_hardware.py"],
["test rawgpsd", "pytest system/sensord/rawgps/test_rawgps.py"],
])
}
}
stage('build') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
environment {
R3_PUSH = "${env.BRANCH_NAME == 'master' ? '1' : ' '}"
}
steps {
phone_steps("tici-needs-can", [
["build master-ci", "cd $SOURCE_DIR/release && TARGET_DIR=$TEST_DIR ./build_devel.sh"],
["build openpilot", "cd selfdrive/manager && ./build.py"],
["check dirty", "release/check-dirty.sh"],
["onroad tests", "cd selfdrive/test/ && ./test_onroad.py"],
["time to onroad", "cd selfdrive/test/ && pytest test_time_to_onroad.py"],
])
}
}
stage('loopback-tests') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tici-loopback", [
["build openpilot", "cd selfdrive/manager && ./build.py"],
["test boardd loopback", "pytest selfdrive/boardd/tests/test_boardd_loopback.py"],
])
}
}
stage('HW + Unit Tests') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tici-common", [
["build", "cd selfdrive/manager && ./build.py"],
["test pandad", "pytest selfdrive/boardd/tests/test_pandad.py"],
["test power draw", "pytest system/hardware/tici/tests/test_power_draw.py"],
["test encoder", "LD_LIBRARY_PATH=/usr/local/lib pytest system/loggerd/tests/test_encoder.py"],
["test pigeond", "pytest system/sensord/tests/test_pigeond.py"],
["test manager", "pytest selfdrive/manager/test/test_manager.py"],
["test nav", "pytest selfdrive/navd/tests/"],
])
}
}
stage('camerad') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tici-ar0231", [
["build", "cd selfdrive/manager && ./build.py"],
["test camerad", "pytest system/camerad/test/test_camerad.py"],
["test exposure", "pytest system/camerad/test/test_exposure.py"],
])
phone_steps("tici-ox03c10", [
["build", "cd selfdrive/manager && ./build.py"],
["test camerad", "pytest system/camerad/test/test_camerad.py"],
["test exposure", "pytest system/camerad/test/test_exposure.py"],
])
}
}
stage('sensord') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tici-lsmc", [
["build", "cd selfdrive/manager && ./build.py"],
["test sensord", "cd system/sensord/tests && pytest test_sensord.py"],
])
phone_steps("tici-bmx-lsm", [
["build", "cd selfdrive/manager && ./build.py"],
["test sensord", "cd system/sensord/tests && pytest test_sensord.py"],
])
}
}
stage('replay') {
agent { docker { image 'ghcr.io/commaai/alpine-ssh'; args '--user=root' } }
steps {
phone_steps("tici-replay", [
["build", "cd selfdrive/manager && ./build.py"],
["model replay", "cd selfdrive/test/process_replay && ./model_replay.py"],
])
}
}
}
}
}
}
def setupCredentials() {
withCredentials([
string(credentialsId: 'azure_token', variable: 'AZURE_TOKEN'),
string(credentialsId: 'mapbox_token', variable: 'MAPBOX_TOKEN')
]) {
env.AZURE_TOKEN = "${AZURE_TOKEN}"
env.MAPBOX_TOKEN = "${MAPBOX_TOKEN}"
}
}
node {
env.CI = "1"
env.PYTHONWARNINGS = "error"
env.TEST_DIR = "/data/openpilot"
env.SOURCE_DIR = "/data/openpilot_source/"
setupCredentials()
env.GIT_BRANCH = checkout(scm).GIT_BRANCH
env.GIT_COMMIT = checkout(scm).GIT_COMMIT
def excludeBranches = ['master-ci', 'devel', 'devel-staging', 'release3', 'release3-staging',
'testing-closet*', 'hotfix-*']
def excludeRegex = excludeBranches.join('|').replaceAll('\\*', '.*')
if (env.BRANCH_NAME != 'master') {
properties([
disableConcurrentBuilds(abortPrevious: true)
])
}
try {
if (env.BRANCH_NAME == 'devel-staging') {
deviceStage("build release3-staging", "tici-needs-can", [], [
["build release3-staging", "RELEASE_BRANCH=release3-staging $SOURCE_DIR/release/build_release.sh"],
])
}
if (env.BRANCH_NAME == 'master-ci') {
deviceStage("build nightly", "tici-needs-can", [], [
["build nightly", "RELEASE_BRANCH=nightly $SOURCE_DIR/release/build_release.sh"],
])
}
if (!env.BRANCH_NAME.matches(excludeRegex)) {
parallel (
// tici tests
'onroad tests': {
deviceStage("onroad", "tici-needs-can", [], [
// TODO: ideally, this test runs in master-ci, but it takes 5+m to build it
//["build master-ci", "cd $SOURCE_DIR/release && TARGET_DIR=$TEST_DIR $SOURCE_DIR/scripts/retry.sh ./build_devel.sh"],
["build openpilot", "cd system/manager && ./build.py"],
["check dirty", "release/check-dirty.sh"],
["onroad tests", "pytest selfdrive/test/test_onroad.py -s"],
["time to onroad", "pytest selfdrive/test/test_time_to_onroad.py"],
])
},
'HW + Unit Tests': {
deviceStage("tici-hardware", "tici-common", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["test pandad", "pytest selfdrive/pandad/tests/test_pandad.py"],
["test power draw", "pytest -s system/hardware/tici/tests/test_power_draw.py"],
["test encoder", "LD_LIBRARY_PATH=/usr/local/lib pytest system/loggerd/tests/test_encoder.py"],
["test pigeond", "pytest system/ubloxd/tests/test_pigeond.py"],
["test manager", "pytest system/manager/test/test_manager.py"],
])
},
'loopback': {
deviceStage("loopback", "tici-loopback", ["UNSAFE=1"], [
["build openpilot", "cd system/manager && ./build.py"],
["test pandad loopback", "pytest selfdrive/pandad/tests/test_pandad_loopback.py"],
])
},
'camerad': {
deviceStage("AR0231", "tici-ar0231", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["test camerad", "pytest system/camerad/test/test_camerad.py"],
["test exposure", "pytest system/camerad/test/test_exposure.py"],
])
deviceStage("OX03C10", "tici-ox03c10", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["test camerad", "pytest system/camerad/test/test_camerad.py"],
["test exposure", "pytest system/camerad/test/test_exposure.py"],
])
},
'sensord': {
deviceStage("LSM + MMC", "tici-lsmc", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["test sensord", "pytest system/sensord/tests/test_sensord.py"],
])
deviceStage("BMX + LSM", "tici-bmx-lsm", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["test sensord", "pytest system/sensord/tests/test_sensord.py"],
])
},
'replay': {
deviceStage("model-replay", "tici-replay", ["UNSAFE=1"], [
["build", "cd system/manager && ./build.py"],
["model replay", "selfdrive/test/process_replay/model_replay.py"],
])
},
'tizi': {
deviceStage("tizi", "tizi", ["UNSAFE=1"], [
["build openpilot", "cd system/manager && ./build.py"],
["test pandad loopback", "SINGLE_PANDA=1 pytest selfdrive/pandad/tests/test_pandad_loopback.py"],
["test pandad spi", "pytest selfdrive/pandad/tests/test_pandad_spi.py"],
["test pandad", "pytest selfdrive/pandad/tests/test_pandad.py"],
["test amp", "pytest system/hardware/tici/tests/test_amplifier.py"],
["test hw", "pytest system/hardware/tici/tests/test_hardware.py"],
["test qcomgpsd", "pytest system/qcomgpsd/tests/test_qcomgpsd.py"],
])
},
)
}
} catch (Exception e) {
currentBuild.result = 'FAILED'
throw e
}
}

21
LICENSE.md Normal file
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

485
README.md
View File

@@ -1,146 +1,431 @@
![openpilot on the comma 3X](https://github.com/commaai/openpilot/assets/4038174/f1081737-8718-4241-a22a-3ceba526361a)
![](https://user-images.githubusercontent.com/47793918/233812617-beab2e71-57b9-479e-8bff-c3931347ca40.png)
Table of Contents
=======================
* [What is openpilot?](#what-is-openpilot)
* [Running in a car](#running-on-a-dedicated-device-in-a-car)
* [Running on PC](#running-on-pc)
* [Community and Contributing](#community-and-contributing)
* [User Data and comma Account](#user-data-and-comma-account)
* [Safety and Testing](#safety-and-testing)
* [Directory Structure](#directory-structure)
* [Join our Discord](#-join-our-discord)
* [What is sunnypilot?](#-what-is-sunnypilot)
* [Running in a car](#-running-on-a-dedicated-device-in-a-car)
* [Read Before Installing](#-read-before-installing)
* [Prohibited Safety Modifications](#-prohibited-safety-modifications)
* [Installation](#-installation)
* [Highlight Features](#-highlight-features)
* [Driving Enhancements](#-driving-enhancements)
* [Branch Definitions](#-branch-definitions)
* [Recommended Branches](#-recommended-branches)
* [How-To's](#-How-Tos)
* [Pull Requests](#-Pull-Requests)
* [Special Thanks](#-special-thanks)
* [User Data](#-user-data)
* [Licensing](#licensing)
* [Donate](#-support-sunnypilot)
---
What is openpilot?
<details><summary><h3>💭 Join our Discord</h3></summary>
---
Join the official sunnypilot Discord server to stay up to date with all the latest features and be a part of shaping the future of sunnypilot!
* https://discord.gg/sunnypilot
![](https://dcbadge.vercel.app/api/server/wRW3meAgtx?style=flat) ![Discord Shield](https://discordapp.com/api/guilds/880416502577266699/widget.png?style=shield)
</details>
<details><summary><h3>🌞 What is sunnypilot?</h3></summary>
---
[sunnypilot](https://github.com/sunnyhaibin/sunnypilot) is a fork of comma.ai's openpilot, an open source driver assistance system. sunnypilot offers the user a unique driving experience for over 250+ supported car makes and models with modified behaviors of driving assist engagements. sunnypilot complies with comma.ai's safety rules as accurately as possible.
</details>
<details><summary><h3>🚘 Running on a dedicated device in a car</h3></summary>
---
To use sunnypilot in a car, you need the following:
* A supported device to run this software
* a [comma three](https://comma.ai/shop/products/three), or
* This software
* One of [the 250+ supported cars](https://github.com/commaai/openpilot/blob/master/docs/CARS.md). We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run sunnypilot.
* A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car
Detailed instructions for [how to mount the device in a car](https://comma.ai/setup).
</details>
<details><summary><h3>🚨 Read Before Installing</h3></summary>
---
It is recommended to read this **entire page** before proceeding. This will ensure that you fully understand each added feature on sunnypilot, and you are selecting the right branch for your car to have the best driving experience.
This is a fork of [comma.ai's openpilot](https://github.com/commaai/openpilot). By installing this software, you accept all responsibility for anything that might occur while you use it. All contributors to sunnypilot are not liable. ❗<ins>**Use at your own risk.**</ins>❗
</details>
<details><summary><h3>⛔ Prohibited Safety Modifications</h3></summary>
---
All [official sunnypilot branches](https://github.com/sunnyhaibin/sunnypilot/branches) strictly adhere to [comma.ai's safety policy](https://github.com/commaai/openpilot/blob/master/docs/SAFETY.md). Any changes that go against this policy will result in your fork and your device being banned from both comma.ai and sunnypilot channels.
The following changes are a **VIOLATION** of this policy and **ARE NOT** included in any sunnypilot branches:
* Driver Monitoring:
* ❌ "Nerfing" or reducing monitoring parameters.
* Panda safety:
* ❌ No preventing disengaging of <ins>**LONGITUDINAL CONTROL**</ins> (acceleration/brake) on brake pedal press.
* ❌ No auto re-engaging of <ins>**LONGITUDINAL CONTROL**</ins> (acceleration/brake) on brake pedal release.
* ❌ No disengaging on ACC MAIN in OFF state.
</details>
<details><summary><h3>⚒ Installation</h3></summary>
---
<details><summary>URL (Easy)</summary>
comma three
------
[openpilot](http://github.com/commaai/openpilot) is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of [supported car makes, models, and model years](docs/CARS.md). In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about [the vehicle integration](docs/INTEGRATION.md) and [limitations](docs/LIMITATIONS.md).
Please refer to [Recommended Branches](#-recommended-branches) to find your preferred/supported branch. This guide will assume you want to install the latest `release-c3` branch.
<table>
<tr>
<td><a href="https://youtu.be/NmBfgOanCyk" title="Video By Greer Viau"><img src="https://i.imgur.com/1w8c6d2.jpg"></a></td>
<td><a href="https://youtu.be/VHKyqZ7t8Gw" title="Video By Logan LeGrand"><img src="https://i.imgur.com/LnBucik.jpg"></a></td>
<td><a href="https://youtu.be/VxiR4iyBruo" title="Video By Charlie Kim"><img src="https://i.imgur.com/4Qoy48c.jpg"></a></td>
<td><a href="https://youtu.be/-IkImTe1NYE" title="Video By Aragon"><img src="https://i.imgur.com/04VNzPf.jpg"></a></td>
</tr>
<tr>
<td><a href="https://youtu.be/iIUICQkdwFQ" title="Video By Logan LeGrand"><img src="https://i.imgur.com/b1LHQTy.jpg"></a></td>
<td><a href="https://youtu.be/XOsa0FsVIsg" title="Video By PinoyDrives"><img src="https://i.imgur.com/6FG0Bd8.jpg"></a></td>
<td><a href="https://youtu.be/bCwcJ98R_Xw" title="Video By JS"><img src="https://i.imgur.com/zO18CbW.jpg"></a></td>
<td><a href="https://youtu.be/BQ0tF3MTyyc" title="Video By Tsai-Fi"><img src="https://i.imgur.com/eZzelq3.jpg"></a></td>
</tr>
</table>
* sunnypilot not installed or you installed a version before 0.8.17?
1. [Factory reset/uninstall](https://github.com/commaai/openpilot/wiki/FAQ#how-can-i-reset-the-device) the previous software if you have another software/fork installed.
2. After factory reset/uninstall and upon reboot, select `Custom Software` when given the option.
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```release-c3.sunnypilot.ai``` [^4] (note: `https://` is not requirement on the comma three)
4. Complete the rest of the installation following the onscreen instructions.
* sunnypilot already installed and you installed a version after 0.8.17?
1. On the comma three, go to `Settings` ▶️ `Software`.
2. At the `Download` option, press `CHECK`. This will fetch the list of latest branches from sunnypilot.
3. At the `Target Branch` option, press `SELECT` to open the Target Branch selector.
4. Scroll to select the desired branch per [Recommended Branches](#-recommended-branches). Example: `release-c3`
Running on a dedicated device in a car
| Branch | Installation URL |
|:------------:|:--------------------------------:|
| `release-c3` | https://release-c3.sunnypilot.ai |
| `staging-c3` | https://staging-c3.sunnypilot.ai |
| `dev-c3` | https://dev-c3.sunnypilot.ai |
Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
comma three:
------
* [`release-c3`](https://github.com/sunnyhaibin/openpilot/tree/release-c3):
To use openpilot in a car, you need four things
* A supported device to run this software: a [comma 3X](https://comma.ai/shop/comma-3x) or comma three.
* This software. The setup procedure of the comma 3/3X allows the user to enter a URL for custom software.
The URL, openpilot.comma.ai will install the release version of openpilot. To install openpilot master, you can use installer.comma.ai/commaai/master, and replacing commaai with another GitHub username can install a fork.
* One of [the 250+ supported cars](docs/CARS.md). We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run openpilot.
* A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car.
```
cd /data && rm -rf ./openpilot && git clone -b release-c3 --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot && cd openpilot && sudo reboot
```
We have detailed instructions for [how to mount the device in a car](https://comma.ai/setup).
After running the command to install the desired branch, your comma device should reboot.
</details>
Running on PC
------
</details>
All openpilot services can run as usual on a PC without requiring special hardware or a car. You can also run openpilot on recorded or simulated data to develop or experiment with openpilot.
With openpilot's tools, you can plot logs, replay drives, and watch the full-res camera streams. See [the tools README](tools/README.md) for more information.
<details><summary><h3>🚗 Highlight Features</h3></summary>
You can also run openpilot in simulation [with the CARLA simulator](tools/sim/README.md). This allows openpilot to drive around a virtual car on your Ubuntu machine. The whole setup should only take a few minutes but does require a decent GPU.
---
A PC running openpilot can also control your vehicle if it is connected to a [webcam](https://github.com/commaai/openpilot/tree/master/tools/webcam), a [black panda](https://comma.ai/shop/products/panda), and a [harness](https://comma.ai/shop/products/car-harness).
### Quality of Life Enhancements
- [**Modified Assistive Driving Safety (MADS)**](#modified-assistive-driving-safety-mads) - Automatic Lane Centering (ALC) / Lane Keep Assist System (LKAS) and Adaptive Cruise Control (ACC) / Smart Cruise Control (SCC) can be engaged independently of each other
- [**Dynamic Lane Profile (DLP)**](#dynamic-lane-profile-dlp) - Dynamically switch lane profile (between Laneful and Laneless) based on lane recognition confidence
- [**Enhanced Speed Control**](#enhanced-speed-control) - Automatically adjust cruise control speed using vision model, OpenStreetMap (OSM) data, and/or Speed Limit control (SLC) without user interaction
* Vision-based Turn Speed Control (V-TSC) - lower speed when going around corners using vision model
* Map-Data-based Turn Speed Control (M-TSC) - lower speed when going around corners using OSM data[^1]
* Speed Limit Control (SLC) - Set speed limit based on map data or car interface (if applicable)
* HKG only: Highway Driving Assist (HDA) status integration - Use cars native speed sign detection to set desired speed (on applicable HKG cars only)
- [**Gap Adjust Cruise (GAC)**](#gap-adjust-cruise) - Allow `GAP`/`INTERVAL`/`DISTANCE` button on the steering wheel or on-screen button to adjust the follow distance from the lead car. See table below for options
- [**Quiet Drive 🤫**](#-quiet-drive) - Toggle to mute all notification sounds (excluding driver safety warnings)
- [**Auto Lane Change Timer**](#Auto-Lane-Change-Timer) - Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set
- [**Force Car Recognition (FCR)**](#Force-Car-Recognition-) - Use a selector to force your car to be recognized by sunnypilot
- [**Fix sunnypilot No Offroad**](#Fix-sunnypilot-No-Offroad) - Enforce sunnypilot to go offroad and turns off after shutting down the car. This feature fixes non-official devices running sunnypilot without comma power
- [**Enable ACC+MADS with RES+/SET-**](#Enable-ACC+MADS-with-RES+/SET-) - Engage both ACC and MADS with a single press of RES+ or SET- button
- [**Offline OSM Maps**](#Offline-OSM-Maps) - OSM database can now be downloaded locally for offline use[^2]. This enables offline SLC, V-TSC and M-TSC. Currently available for US South, US West, US Northeast, Florida, Taiwan, South Africa and New Zealand
- [**Various Live Tuning**](#Various-Live-Tuning) - Ability to tailor your driving experience on the fly:
* Enforce Torque Lateral Control - Use the newest [torque controller](https://blog.comma.ai/0815release/#torque-controller) for all vehicles.
* Torque Lateral Control Live Tune - Ability to adjust the torque controllers `FRICTION` and `LAT_ACCEL_FACTOR` values to suit your vehicle.
* Torque Lateral Controller Self-Tune - Enable automatic turning for the Torque controller.
Community and Contributing
------
### Visual Enhancements
* **M.A.D.S Status Icon** - Dedicated icon to display M.A.D.S. engagement status
* Green🟢: M.A.D.S. engaged
* White⚪: M.A.D.S. suspended or disengaged
* **Lane Path Color** - Various lane path colors to display real-time Lane Model and M.A.D.S. engagement status
* 0.8.14 and later:
* Blue🔵: Laneful mode & M.A.D.S. engaged
* Green🟢: Laneless mode & M.A.D.S. engaged
* Yellow🟡: Experimental e2e & M.A.D.S. engaged
* Pre 0.8.14:
* Green🟢: Laneful mode & M.A.D.S. engaged
* Red🔴: Laneless mode & M.A.D.S. engaged
* White⚪: M.A.D.S. suspended or disengaged
* Black⚫: M.A.D.S. engaged, steering is being manually overridden by user
* **Developer (Dev) UI** - Display various real-time metrics on screen while driving
* **Stand Still Timer** - Display time spent at a stop with M.A.D.S engaged (i.e., at traffic lights, stop signs, traffic congestions)
* **Braking Status** - Current car speed text turns red when the car is braking by the driver or ACC/SCC
openpilot is developed by [comma](https://comma.ai/) and by users like you. We welcome both pull requests and issues on [GitHub](http://github.com/commaai/openpilot). Bug fixes and new car ports are encouraged. Check out [the contributing docs](docs/CONTRIBUTING.md).
### Operational Enhancements
* **Fast Boot** - sunnypilot will fast boot by creating a Prebuilt file
* **Disable Onroad Uploads** - Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot
* **Brightness Control (Global)** - Manually adjusts the global brightness of the screen
* **Driving Screen Off Timer** - Turns off the device screen or reduces brightness to protect the screen after car starts
* **Driving Screen Off Brightness (%)** - When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio
* **Max Time Offroad** - Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road)
Documentation related to openpilot development can be found on [docs.comma.ai](https://docs.comma.ai). Information about running openpilot (e.g. FAQ, fingerprinting, troubleshooting, custom forks, community hardware) should go on the [wiki](https://github.com/commaai/openpilot/wiki).
</details>
You can add support for your car by following guides we have written for [Brand](https://blog.comma.ai/how-to-write-a-car-port-for-openpilot/) and [Model](https://blog.comma.ai/openpilot-port-guide-for-toyota-models/) ports. Generally, a car with adaptive cruise control and lane keep assist is a good candidate. [Join our Discord](https://discord.comma.ai) to discuss car ports: most car makes have a dedicated channel.
<details><summary><h3>🚗 Driving Enhancements</h3></summary>
Want to get paid to work on openpilot? [comma is hiring](https://comma.ai/jobs#open-positions).
---
And [follow us on Twitter](https://twitter.com/comma_ai).
### Modified Assistive Driving Safety (MADS)
The goal of Modified Assistive Driving Safety (MADS) is to enhance the user driving experience with modified behaviors of driving assist engagements. This feature complies with comma.ai's safety rules as accurately as possible with the following changes:
* sunnypilot Automatic Lane Centering (ALC) and ACC/SCC can be engaged independently of each other
* Dedicated button to toggle sunnypilot ALC:
* `CRUISE (MAIN)` button: All supported cars on sunnypilot
* `LFA` button: Newer HKG cars with `LFA` button
* `LKAS` button: Honda, Toyota, Global Subaru
* `SET-` button enables ACC/SCC
* `CANCEL` button only disables ACC/SCC
* `CRUISE (MAIN)` must be `ON` to use ACC/SCC
* `CRUISE (MAIN)` button disables sunnypilot completely when `OFF` **(strictly enforced in panda safety code)**
User Data and comma Account
------
### Disengage Lateral ALC on Brake Press Mode toggle
Dedicated toggle to handle Lateral state on brake pedal press and release:
1. `ON`: `BRAKE pedal` press will pause Automatic Lane Centering; `BRAKE pedal` release will resume Automatic Lane Centering. Note: `BRAKE pedal` release will NOT resume ACC/SCC/Long control without explicit user engagement **(strictly enforced in panda safety code)**
2. `OFF`: `BRAKE pedal` press will NOT pause Automatic Lane Centering; `BRAKE pedal` release will NOT resume ACC/SCC/Long control without explicit user engagement **(strictly enforced in panda safety code)**
By default, openpilot uploads the driving data to our servers. You can also access your data through [comma connect](https://connect.comma.ai/). We use your data to train better models and improve openpilot for everyone.
### Miscellaneous
* `TURN SIGNALS` (`Left` or `Right`) will pause Automatic Lane Centering if the vehicle speed is below the [threshold](https://github.com/commaai/openpilot/blob/master/selfdrive/controls/lib/desire_helper.py#L8) for Automatic Lane Change
* Event audible alerts are more relaxed to match manufacturer's stock behavior
* Critical events trigger disengagement of Automatic Lane Centering completely. The disengagement is enforced in sunnypilot and panda safety
openpilot is open source software: the user is free to disable data collection if they wish to do so.
### Dynamic Lane Profile (DLP)
openpilot logs the road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
Dynamic Lane Profile (DLP) aims to provide the best driving experience at staying within a lane confidently. Dynamic Lane Profile allows sunnypilot to dynamically switch between lane profiles based on lane recognition confidence level on road.
There are 3 modes to select on the onroad camera screen:
* **Auto Lane**: sunnypilot dynamically chooses between `Laneline` or `Laneless` model
* **Laneline**: sunnypilot uses Laneline model only.
* **Laneless**: sunnypilot uses Laneless model only.
To use Dynamic Lane Profile, do the following:
```
1. sunnypilot Settings -> `SP - Controls` -> Enable Dynamic Lane Profile -> ON toggle
2. Reboot.
3. Before driving, on the onroad camera screen, toggle between the 3 modes by pressing on the button.
4. Drive.
```
### Enhanced Speed Control
This fork now allows supported cars to dynamically adjust the longitudinal plan based on the fetched map data. Big thanks to the Move Fast team for the amazing implementation!
**Supported cars:**
* sunnypilot Longitudinal Control capable
* Stock Longitudinal Control
* Hyundai/Kia/Genesis (non CAN-FD)
* Honda Bosch
* Volkswagen MQB
Certain features are only available with an active data connection, via:
* [comma Prime](https://comma.ai/prime) - Intuitive service provided directly by comma, or
* Personal Hotspot - From your mobile device, or a dedicated hotspot from a cellular carrier.
**Features:**
* Vision-based Turn Speed Control (VTSC) - Use vision path predictions to estimate the appropriate speed to drive through turns ahead - i.e. slowing down for curves
* Map-Data-based Turn Speed Control (MTSC) - Use curvature information from map data to define speed limits to take turns ahead - i.e. slowing down for curves[^1]
* Speed Limit Control (SLC) - Use speed limit signs information from map data and car interface to automatically adapt cruise speed to road limits
* HKG only: Highway Driving Assist (HDA) status integration - on applicable HKG cars only[^1]
* Speed Limit Offset - When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive[^1]
* Toggle Hands on Wheel Monitoring - Monitors and alerts the driver when their hands have not been on the steering wheel for an extended time
### Custom Stock Longitudinal Control
While using stock Adaptive/Smart Cruise Control, Custom Stock Longitudinal Control in sunnypilot allows sunnypilot to manipulate and take over the set speed on the car's dashboard.
**Supported Cars:**
* Hyundai/Kia/Genesis
* CAN platform
* CAN-FD platform with 0x1CF broadcasted in CAN traffic
* Honda Bosch
* Volkswagen MQB
**Instruction**
**📗 How to use Custom Longitudinal Control on sunnypilot **
When using Speed Limit, Vision, or Map based Turn control, you will be setting the "MAX" ACC speed on the sunnypilot display instead of the one in the dashboard. The car will then set the ACC setting in the dashboard to the targeted speed, but will never exceed the max speed set on the sunnypilot display. A quick press of the RES+ or SET- buttons will change this speed by 5 MPH or KM/H on the sunnypilot display, while a long deliberate press (about a 1/2 second press) changes it by 1 MPH or KM/H. DO NOT hold the RES+ or SET- buttons for longer that a 1 second. Either make quick or long deliberate presses only.
**‼ Where to look when setting ACC speed ‼**
Do not look at the dashboard when setting your ACC max speed. Instead, only look at the one on the sunnypilot display, "MAX". The reason you need to look at the sunnypilot display is because sunnypilot will be changing the one in the dashboard. It will be adjusting it as needed, never raising it above the one set on the sunnypilot display. ONLY look at the MAX speed on the sunnypilot display when setting the ACC speed instead of the dashboard!
(Courtesy instructions from John, author of jvePilot)
### Gap Adjust Cruise
This fork now allows supported openpilot longitudinal cars to adjust the cruise gap between the car and the lead car.
**Supported cars:**
* sunnypilot Longitudinal Control capable
🚨**PROCEED WITH EXTREME CAUTION AND BE READY TO MANUALLY TAKE OVER AT ALL TIMES**
There are 4 modes to select on the steering wheel and/or the onroad camera screen:
* **Stock Gap**: Stock sunnypilot distance - 1.45 second profile
* **Mild Gap**: Semi-aggressive distance - 1.25 second profile
* 🚨**Aggro Gap**🚨: Aggressive distance - 1.0 second profile
**Availability**
| Car Make | Stock Gap | Mild Gap | Aggro Gap |
|:-------------------:|:---------:|:--------:|:---------:|
| Honda/Acura | ✅ | ✅ | ✅ |
| Hyundai/Kia/Genesis | ✅ | ✅ | ✅ |
| Toyota/Lexus | ✅ | ✅ | ✅ |
| Volkswagen MQB/PQ | ✅ | ✅ | ✅ |
</details>
<details><summary><h3>⚒ Branch Definitions</h3></summary>
---
| Tag | Definition | Description |
|:---------:|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `release` | Release branches | Include features that are **verified** by trusted testers and the community. Ready to use. ✅ |
| `staging` | Staging branches | Include new features that are **tested** by trusted testers and the community. Stability may vary. ⚠ |
| `dev` | Development branches | All features are gathered in respective versions. Reviewed and merged features will be committed to `dev`. Stability may vary. ⚠ |
| `master` | Main branch | Syncs with [commaai's openpilot `master`](https://github.com/commaai/openpilot) upstream branch. Accepts all pull requests. Does not include all sunnypilot features. Stability may vary. ⚠ |
Example:
* [`release-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/release-c3): Latest release branch for comma three that are verified by trusted testers and the community. Ready to use.
* [`staging-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/staging-c3): Latest staging branch for comma three that are tested by trusted testers and the community. Verification required.
* [`dev-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/dev-c3): Latest development branch for comma three that include all sunnypilot features. Testing required.
</details>
<details><summary><h3>✅ Recommended Branches</h3></summary>
---
| Branch | Definition | Compatible Device | Changelogs |
|:------------------------------------------------------------------------------------|---------------------------------------------------------|-------------------|--------------------------------------------------------------------------------------------|
| [`release-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/release-c3) | • Latest release/stable branch | comma three | [`CHANGELOGS.md`](https://github.com/sunnyhaibin/sunnypilot/blob/release-c3/CHANGELOGS.md) |
| [`staging-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/staging-c3) | • Latest staging branch | comma three | [`CHANGELOGS.md`](https://github.com/sunnyhaibin/sunnypilot/blob/staging-c3/CHANGELOGS.md) |
| [`dev-c3`](https://github.com/sunnyhaibin/sunnypilot/tree/dev-c3) | • Latest development branch with experimental features | comma three | [`CHANGELOGS.md`](https://github.com/sunnyhaibin/sunnypilot/blob/dev-c3/CHANGELOGS.md) |
</details>
<details><summary><h3>📗 How To's</h3></summary>
---
How-To instructions can be found in [HOW-TOS.md](HOW-TOS.md).
</details>
<details><summary><h3>🎆 Pull Requests</h3></summary>
---
We welcome both pull requests and issues on GitHub. Bug fixes are encouraged.
Pull requests should be against the most current `master` branch.
</details>
<details><summary><h3>🏆 Special Thanks</h3></summary>
---
* [spektor56](https://github.com/spektor56/openpilot)
* [rav4kumar](https://github.com/rav4kumar/openpilot)
* [mob9221](https://github.com/mob9221/opendbc)
* [briantran33](https://github.com/briantran33/openpilot)
* [Aragon7777](https://github.com/aragon7777/openpilot)
* [sshane](https://github.com/sshane/openpilot-installer-generator)
* [jung](https://github.com/chanhojung/openpilot)
* [dri94](https://github.com/dri94/openpilot)
* [FrogAi](https://github.com/frogAi/FrogPilot/)
* [twilsonco](https://github.com/twilsonco/openpilot)
* [martinl](https://github.com/martinl/openpilot)
* [multikyd](https://github.com/openpilotkr)
* [Move Fast GmbH](https://github.com/move-fast/openpilot)
* [dragonpilot](https://github.com/dragonpilot-community/dragonpilot)
* [neokii](https://github.com/neokii/openpilot)
* [AlexandreSato](https://github.com/AlexandreSato/openpilot)
* [Moodkiller](https://github.com/moodkiller)
</details>
<details><summary><h3>📊 User Data</h3></summary>
---
By default, sunnypilot uploads the driving data to comma servers. You can also access your data through [comma connect](https://connect.comma.ai/).
sunnypilot is open source software. The user is free to disable data collection if they wish to do so.
sunnypilot logs the road-facing camera, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs.
The driver-facing camera is only logged if you explicitly opt-in in settings. The microphone is not recorded.
By using openpilot, you agree to [our Privacy Policy](https://comma.ai/privacy). You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
By using this software, you understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.
Safety and Testing
----
</details>
* openpilot observes ISO26262 guidelines, see [SAFETY.md](docs/SAFETY.md) for more details.
* openpilot has software-in-the-loop [tests](.github/workflows/selfdrive_tests.yaml) that run on every commit.
* The code enforcing the safety model lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
* panda has software-in-the-loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
* Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
* panda has additional hardware-in-the-loop [tests](https://github.com/commaai/panda/blob/master/Jenkinsfile).
* We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.
Directory Structure
------
.
├── cereal # The messaging spec and libs used for all logs
├── common # Library like functionality we've developed here
├── docs # Documentation
├── opendbc # Files showing how to interpret data from cars
├── panda # Code used to communicate on CAN
├── third_party # External libraries
└── system # Generic services
├── camerad # Driver to capture images from the camera sensors
├── clocksd # Broadcasts current time
├── hardware # Hardware abstraction classes
├── logcatd # systemd journal as a service
├── loggerd # Logger and uploader of car data
├── proclogd # Logs information from /proc
├── sensord # IMU interface code
└── ubloxd # u-blox GNSS module interface code
└── selfdrive # Code needed to drive the car
├── assets # Fonts, images, and sounds for UI
├── athena # Allows communication with the app
├── boardd # Daemon to talk to the board
├── car # Car specific code to read states and control actuators
├── controls # Planning and controls
├── debug # Tools to help you debug and do car ports
├── locationd # Precise localization and vehicle parameter estimation
├── manager # Daemon that starts/stops all other daemons as needed
├── modeld # Driving and monitoring model runners
├── monitoring # Daemon to determine driver attention
├── navd # Turn-by-turn navigation
├── test # Unit tests, system tests, and a car simulator
└── ui # The UI
Licensing
------
<details><summary><h3>Licensing</h3></summary>
openpilot is released under the MIT license. Some parts of the software are released under other licenses as specified.
Any user of this software shall indemnify and hold harmless Comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys fees and costs) which arise out of, relate to or result from any use of this software by user.
Any user of this software shall indemnify and hold harmless comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys fees and costs) which arise out of, relate to or result from any use of this software by user.
**THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT.
YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS.
NO WARRANTY EXPRESSED OR IMPLIED.**
</details>
<h3>💰 Support sunnypilot</h3>
---
<img src="https://d1qb2nb5cznatu.cloudfront.net/startups/i/1061157-bc7e9bf3b246ece7322e6ffe653f6af8-medium_jpg.jpg?buster=1458363130" width="75"></img> <img src="https://cdn-images-1.medium.com/max/1600/1*C87EjxGeMPrkTuVRVWVg4w.png" width="225"></img>
If you find any of the features useful, consider becoming a [patron on Patreon](https://www.patreon.com/sunnyhaibin) or a [sponsor on GitHub](https://github.com/sponsors/sunnyhaibin) to support future feature development and improvements.
[![openpilot tests](https://github.com/commaai/openpilot/workflows/openpilot%20tests/badge.svg?event=push)](https://github.com/commaai/openpilot/actions)
[![codecov](https://codecov.io/gh/commaai/openpilot/branch/master/graph/badge.svg)](https://codecov.io/gh/commaai/openpilot)
By becoming a patron/sponsor, you will gain access to exclusive content, early access to new features, and the opportunity to directly influence the project's development.
<h3>Patreon</h3>
<a href="https://www.patreon.com/sunnyhaibin">
<img src="https://user-images.githubusercontent.com/47793918/244128051-bc7e913e-a196-4455-926e-23aec9a4bd3b.png" alt="Become a Patron" width="300" style="max-width: 100%; height: auto;">
</a>
<br>
<h3>GitHub Sponsor</h3>
<a href="https://github.com/sponsors/sunnyhaibin">
<img src="https://user-images.githubusercontent.com/47793918/244135584-9800acbd-69fd-4b2b-bec9-e5fa2d85c817.png" alt="Become a Sponsor" width="300" style="max-width: 100%; height: auto;">
</a>
<br>
<h3>PayPal</h3>
<a href="https://paypal.me/sunnyhaibin0850" target="_blank">
<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" alt="PayPal this" title="PayPal - The safer, easier way to pay online!" border="0" />
</a>
<br></br>
Your continuous love and support are greatly appreciated! Enjoy 🥰
<span>-</span> Jason, Founder of sunnypilot
[^1]:Requires data connection if not using Offline Maps data
[^2]:At least 50 GB of storage space is required. If you have the 32 GB version of comma three, upgrading with a compatible 250 GB or 1 TB SSD is strongly recommended
[^4]:Shortened URL for convenience. Full URL is ```smiskol.com/fork/sunnyhaibin/release-c3```

View File

@@ -1,8 +1,59 @@
Version 0.9.5 (202X-XX-XX)
Version 0.9.8 (2024-XX-XX)
========================
* Hyundai Ioniq 6 2023 support thanks to sunnyhaibin, alamo3, and sshane!
* Added toggle to enable driver monitoring even when openpilot is not engaged
Version 0.9.7 (2024-06-13)
========================
* New driving model
* Inputs the past curvature for smoother and more accurate lateral control
* Simplified neural network architecture in the model's last layers
* Minor fixes to desire augmentation and weight decay
* New driver monitoring model
* Improved end-to-end bit for phone detection
* Adjust driving personality with the follow distance button
* Support for hybrid variants of supported Ford models
* Fingerprinting without the OBD-II port on all cars
* Improved fuzzy fingerprinting for Ford and Volkswagen
Version 0.9.6 (2024-02-27)
========================
* New driving model
* Vision model trained on more data
* Improved driving performance
* Directly outputs curvature for lateral control
* New driver monitoring model
* Trained on larger dataset
* Model path UI
* Shows where driving model wants to be
* Shows what model is seeing more clearly, but more jittery
* AGNOS 9
* comma body streaming and controls over WebRTC
* Improved fuzzy fingerprinting for many makes and models
* Alpha longitudinal support for new Toyota models
* Chevrolet Equinox 2019-22 support thanks to JasonJShuler and nworb-cire!
* Dodge Durango 2020-21 support
* Hyundai Staria 2023 support thanks to sunnyhaibin!
* Kia Niro Plug-in Hybrid 2022 support thanks to sunnyhaibin!
* Lexus LC 2024 support thanks to nelsonjchen!
* Toyota RAV4 2023-24 support
* Toyota RAV4 Hybrid 2023-24 support
Version 0.9.5 (2023-11-17)
========================
* New driving model
* Improved navigate on openpilot performance using navigation instructions as an additional model input
* Do lateral planning inside the model
* New vision transformer architecture
* Cadillac Escalade ESV 2019 support thanks to twilsonco!
* Hyundai Azera 2022 support thanks to sunnyhaibin!
* Hyundai Azera Hybrid 2020 support thanks to chanhojung and haram-KONA!
* Hyundai Custin 2023 support thanks to sunnyhaibin and Saber422!
* Hyundai Ioniq 6 2023 support thanks to sunnyhaibin and alamo3!
* Hyundai Kona Electric 2023 (Korean version) support thanks to sunnyhaibin and haram-KONA!
* Kia K8 Hybrid (with HDA II) 2023 support thanks to sunnyhaibin!
* Kia Optima Hybrid 2019 support
* Kia Sorento Hybrid 2023 support thanks to sunnyhaibin!
* Lexus GS F 2016 support thanks to snyperifle!
* Lexus IS 2023 support thanks to L3R5!
Version 0.9.4 (2023-07-27)
@@ -592,7 +643,7 @@ Version 0.5.13 (2019-05-31)
* Reduce CPU utilization by 20% and improve stability
* Temporarily remove mapd functionalities to improve stability
* Add openpilot record-only mode for unsupported cars
* Synchronize controlsd to boardd to reduce latency
* Synchronize controlsd to pandad to reduce latency
* Remove panda support for Subaru giraffe
Version 0.5.12 (2019-05-16)
@@ -928,7 +979,7 @@ Version 0.2.8 (2017-02-27)
Version 0.2.7 (2017-02-08)
===========================
* Better performance and pictures at night
* Fix ptr alignment issue in boardd
* Fix ptr alignment issue in pandad
* Fix brake error light, fix crash if too cold
Version 0.2.6 (2017-01-31)
@@ -960,7 +1011,7 @@ Version 0.2.2 (2017-01-10)
Version 0.2.1 (2016-12-14)
===========================
* Performance improvements, removal of more numpy
* Fix boardd process priority
* Fix pandad process priority
* Make counter timer reset on use of steering wheel
Version 0.2 (2016-12-12)

View File

@@ -9,11 +9,18 @@ import SCons.Errors
SCons.Warnings.warningAsException(True)
# pending upstream fix - https://github.com/SCons/scons/issues/4461
#SetOption('warn', 'all')
TICI = os.path.isfile('/TICI')
AGNOS = TICI
UBUNTU_FOCAL = int(subprocess.check_output('[ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "ubuntu" ] && [ "$VERSION_ID" = "20.04" ] && echo 1 || echo 0', shell=True, encoding='utf-8').rstrip())
Export('UBUNTU_FOCAL')
Decider('MD5-timestamp')
SetOption('num_jobs', int(os.cpu_count()/2))
AddOption('--kaitai',
action='store_true',
help='Regenerate kaitai struct parsers')
@@ -26,6 +33,10 @@ AddOption('--ubsan',
action='store_true',
help='turn on UBSan')
AddOption('--coverage',
action='store_true',
help='build with test coverage options')
AddOption('--clazy',
action='store_true',
help='build with clazy')
@@ -34,6 +45,12 @@ AddOption('--compile_db',
action='store_true',
help='build clang compilation database')
AddOption('--ccflags',
action='store',
type='string',
default='',
help='pass arbitrary flags over the command line')
AddOption('--snpe',
action='store_true',
help='use SNPE on PC')
@@ -52,9 +69,15 @@ AddOption('--pc-thneed',
AddOption('--minimal',
action='store_false',
dest='extras',
default=os.path.islink(Dir('#laika/').abspath),
default=os.path.exists(File('#.lfsconfig').abspath), # minimal by default on release branch (where there's no LFS)
help='the minimum build to run openpilot. no tests, tools, etc.')
AddOption('--stock-ui',
action='store_true',
dest='stock_ui',
default=False,
help='Build stock UI instead of sunnypilot UI')
## Architecture name breakdown (arch)
## - larch64: linux tici aarch64
## - aarch64: linux pc aarch64
@@ -81,15 +104,12 @@ lenv = {
rpath = lenv["LD_LIBRARY_PATH"].copy()
if arch == "larch64":
lenv["LD_LIBRARY_PATH"] += ['/data/data/com.termux/files/usr/lib']
cpppath = [
"#third_party/opencl/include",
]
libpath = [
"/usr/local/lib",
"/usr/lib",
"/system/vendor/lib64",
f"#third_party/acados/{arch}/lib",
]
@@ -106,10 +126,7 @@ else:
cflags = []
cxxflags = []
cpppath = []
rpath += [
Dir("#cereal").abspath,
Dir("#common").abspath
]
rpath += []
# MacOS
if arch == "Darwin":
@@ -133,9 +150,6 @@ else:
libpath = [
f"#third_party/acados/{arch}/lib",
f"#third_party/libyuv/{arch}/lib",
f"#third_party/mapbox-gl-native-qt/{arch}",
"#cereal",
"#common",
"/usr/lib",
"/usr/local/lib",
]
@@ -163,9 +177,16 @@ if arch != "Darwin":
ldflags += ["-Wl,--as-needed", "-Wl,--no-undefined"]
# Enable swaglog include in submodules
cflags += ['-DSWAGLOG="\\"common/swaglog.h\\""']
cxxflags += ['-DSWAGLOG="\\"common/swaglog.h\\""']
if not GetOption('stock_ui'):
cflags += ["-DSUNNYPILOT"]
cxxflags += ["-DSUNNYPILOT"]
ccflags_option = GetOption('ccflags')
if ccflags_option:
ccflags += ccflags_option.split(' ')
env = Environment(
ENV=lenv,
CCFLAGS=[
@@ -182,6 +203,7 @@ env = Environment(
"-Wno-c99-designator",
"-Wno-reorder-init-list",
"-Wno-error=unused-but-set-variable",
"-Wno-vla-cxx-extension",
] + cflags + ccflags,
CPPPATH=cpppath + [
@@ -194,11 +216,12 @@ env = Environment(
"#third_party/json11",
"#third_party/linux/include",
"#third_party/snpe/include",
"#third_party/mapbox-gl-native-qt/include",
"#third_party/qrcode",
"#third_party",
"#cereal",
"#msgq",
"#opendbc/can",
"#third_party/maplibre-native-qt/include",
f"#third_party/maplibre-native-qt/{arch}/include"
],
CC='clang',
@@ -210,15 +233,17 @@ env = Environment(
CFLAGS=["-std=gnu11"] + cflags,
CXXFLAGS=["-std=c++1z"] + cxxflags,
LIBPATH=libpath + [
"#cereal",
"#msgq_repo",
"#third_party",
"#opendbc/can",
"#selfdrive/boardd",
"#selfdrive/pandad",
"#common",
"#rednose/helpers",
],
CYTHONCFILESUFFIX=".cpp",
COMPILATIONDB_USE_ABSPATH=True,
tools=["default", "cython", "compilation_db"],
REDNOSE_ROOT="#",
tools=["default", "cython", "compilation_db", "rednose_filter"],
toolpath=["#site_scons/site_tools", "#rednose_repo/site_scons/site_tools"],
)
if arch == "Darwin":
@@ -230,7 +255,8 @@ if GetOption('compile_db'):
env.CompilationDatabase('compile_commands.json')
# Setup cache dir
cache_dir = '/data/scons_cache' if AGNOS else '/tmp/scons_cache'
default_cache_dir = '/data/scons_cache' if AGNOS else '/tmp/scons_cache'
cache_dir = ARGUMENTS.get('cache_dir', default_cache_dir)
CacheDir(cache_dir)
Clean(["."], cache_dir)
@@ -244,18 +270,6 @@ def progress_function(node):
if os.environ.get('SCONS_PROGRESS'):
Progress(progress_function, interval=node_interval)
SHARED = False
# TODO: this can probably be removed
def abspath(x):
if arch == 'aarch64':
pth = os.path.join("/data/pythonpath", x[0].path)
env.Depends(pth, x)
return File(pth)
else:
# rpath works elsewhere
return x[0].path.rsplit("/", 1)[1][:-3]
# Cython build environment
py_include = sysconfig.get_paths()['include']
envCython = env.Clone()
@@ -269,7 +283,8 @@ if arch == "Darwin":
else:
envCython["LINKFLAGS"] = ["-pthread", "-shared"]
Export('envCython')
np_version = SCons.Script.Value(np.__version__)
Export('envCython', 'np_version')
# Qt build environment
qt_env = env.Clone()
@@ -292,8 +307,11 @@ else:
qt_env['QTDIR'] = qt_install_prefix
qt_dirs = [
f"{qt_install_headers}",
f"{qt_install_headers}/QtGui/5.12.8/QtGui",
]
qt_gui_path = os.path.join(qt_install_headers, "QtGui")
qt_gui_dirs = [d for d in os.listdir(qt_gui_path) if os.path.isdir(os.path.join(qt_gui_path, d))]
qt_dirs += [f"{qt_install_headers}/QtGui/{qt_gui_dirs[0]}/QtGui", ] if qt_gui_dirs else []
qt_dirs += [f"{qt_install_headers}/Qt{m}" for m in qt_modules]
qt_libs = [f"Qt5{m}" for m in qt_modules]
@@ -310,7 +328,7 @@ try:
except SCons.Errors.UserError:
qt_env.Tool('qt')
qt_env['CPPPATH'] += qt_dirs + ["#selfdrive/ui/qt/"]
qt_env['CPPPATH'] += qt_dirs + ["#third_party/qrcode"]
qt_flags = [
"-D_REENTRANT",
"-DQT_NO_DEBUG",
@@ -323,7 +341,8 @@ qt_flags = [
"-DQT_MESSAGELOGCONTEXT",
]
qt_env['CXXFLAGS'] += qt_flags
qt_env['LIBPATH'] += ['#selfdrive/ui']
qt_env['LIBPATH'] += ['#selfdrive/ui', f"#third_party/maplibre-native-qt/{arch}/lib"]
qt_env['RPATH'] += [Dir(f"#third_party/maplibre-native-qt/{arch}/lib").srcnode().abspath]
qt_env['LIBS'] = qt_libs
if GetOption("clazy"):
@@ -337,97 +356,58 @@ if GetOption("clazy"):
qt_env['ENV']['CLAZY_IGNORE_DIRS'] = qt_dirs[0]
qt_env['ENV']['CLAZY_CHECKS'] = ','.join(checks)
Export('env', 'qt_env', 'arch', 'real_arch', 'SHARED')
Export('env', 'qt_env', 'arch', 'real_arch')
# Build common module
SConscript(['common/SConscript'])
Import('_common', '_gpucommon')
if SHARED:
common, gpucommon = abspath(common), abspath(gpucommon)
else:
common = [_common, 'json11']
gpucommon = [_gpucommon]
common = [_common, 'json11']
gpucommon = [_gpucommon]
Export('common', 'gpucommon')
# cereal and messaging are shared with the system
# Build messaging (cereal + msgq + socketmaster + their dependencies)
SConscript(['msgq_repo/SConscript'])
SConscript(['cereal/SConscript'])
if SHARED:
cereal = abspath([File('cereal/libcereal_shared.so')])
messaging = abspath([File('cereal/libmessaging_shared.so')])
else:
cereal = [File('#cereal/libcereal.a')]
messaging = [File('#cereal/libmessaging.a')]
visionipc = [File('#cereal/libvisionipc.a')]
messaging_python = [File('#cereal/messaging/messaging_pyx.so')]
Import('socketmaster', 'msgq')
messaging = [socketmaster, msgq, 'zmq', 'capnp', 'kj',]
Export('messaging')
Export('cereal', 'messaging', 'messaging_python', 'visionipc')
# Build rednose library and ekf models
# Build other submodules
SConscript([
'opendbc/can/SConscript',
'panda/SConscript',
])
rednose_deps = [
"#selfdrive/locationd/models/constants.py",
"#selfdrive/locationd/models/gnss_helpers.py",
]
rednose_config = {
'generated_folder': '#selfdrive/locationd/models/generated',
'to_build': {
'gnss': ('#selfdrive/locationd/models/gnss_kf.py', True, [], rednose_deps),
'live': ('#selfdrive/locationd/models/live_kf.py', True, ['live_kf_constants.h'], rednose_deps),
'car': ('#selfdrive/locationd/models/car_kf.py', True, [], rednose_deps),
},
}
if arch != "larch64":
rednose_config['to_build'].update({
'loc_4': ('#selfdrive/locationd/models/loc_kf.py', True, [], rednose_deps),
'lane': ('#selfdrive/locationd/models/lane_kf.py', True, [], rednose_deps),
'pos_computer_4': ('#rednose/helpers/lst_sq_computer.py', False, [], []),
'pos_computer_5': ('#rednose/helpers/lst_sq_computer.py', False, [], []),
'feature_handler_5': ('#rednose/helpers/feature_handler.py', False, [], []),
})
Export('rednose_config')
# Build rednose library
SConscript(['rednose/SConscript'])
# Build system services
SConscript([
'system/clocksd/SConscript',
'system/proclogd/SConscript',
'system/ubloxd/SConscript',
'system/loggerd/SConscript',
])
if arch != "Darwin":
SConscript([
'system/camerad/SConscript',
'system/sensord/SConscript',
'system/logcatd/SConscript',
])
if arch == "larch64":
SConscript(['system/camerad/SConscript'])
# Build openpilot
# build submodules
SConscript([
'body/board/SConscript',
'cereal/SConscript',
'opendbc/can/SConscript',
'panda/SConscript',
])
SConscript(['third_party/SConscript'])
SConscript(['selfdrive/boardd/SConscript'])
SConscript(['selfdrive/controls/lib/lateral_mpc_lib/SConscript'])
SConscript(['selfdrive/controls/lib/longitudinal_mpc_lib/SConscript'])
SConscript(['selfdrive/locationd/SConscript'])
SConscript(['selfdrive/navd/SConscript'])
SConscript(['selfdrive/modeld/SConscript'])
SConscript(['selfdrive/ui/SConscript'])
SConscript(['selfdrive/SConscript'])
if arch in ['x86_64', 'aarch64', 'Darwin'] and Dir('#tools/cabana/').exists() and GetOption('extras'):
if Dir('#tools/cabana/').exists() and GetOption('extras'):
SConscript(['tools/replay/SConscript'])
SConscript(['tools/cabana/SConscript'])
if arch != "larch64":
SConscript(['tools/cabana/SConscript'])
external_sconscript = GetOption('external_sconscript')
if external_sconscript:

1
body

Submodule body deleted from 6ff44357a3

1
cereal

Submodule cereal deleted from d469732b3b

51
cereal/README.md Normal file
View File

@@ -0,0 +1,51 @@
# What is cereal?
cereal is the messaging system for openpilot. It uses [msgq](https://github.com/commaai/msgq) as a pub/sub backend, and [Cap'n proto](https://capnproto.org/capnp-tool.html) for serialization of the structs.
## Messaging Spec
You'll find the message types in [log.capnp](log.capnp). It uses [Cap'n proto](https://capnproto.org/capnp-tool.html) and defines one struct called `Event`.
All `Events` have a `logMonoTime` and a `valid`. Then a big union defines the packet type.
### Best Practices
- **All fields must describe quantities in SI units**, unless otherwise specified in the field name.
- In the context of the message they are in, field names should be completely unambiguous.
- All values should be easy to plot and be human-readable with minimal parsing.
### Maintaining backwards-compatibility
When making changes to the messaging spec you want to maintain backwards-compatibility, such that old logs can
be parsed with a new version of cereal. Adding structs and adding members to structs is generally safe, most other
things are not. Read more details [here](https://capnproto.org/language.html).
### Custom forks
Forks of [openpilot](https://github.com/commaai/openpilot) might want to add things to the messaging
spec, however this could conflict with future changes made in mainline cereal/openpilot. Rebasing against mainline openpilot
then means breaking backwards-compatibility with all old logs of your fork. So we added reserved events in
[custom.capnp](custom.capnp) that we will leave empty in mainline cereal/openpilot. **If you only modify those, you can ensure your
fork will remain backwards-compatible with all versions of mainline openpilot and your fork.**
Example
---
```python
import cereal.messaging as messaging
# in subscriber
sm = messaging.SubMaster(['sensorEvents'])
while 1:
sm.update()
print(sm['sensorEvents'])
```
```python
# in publisher
pm = messaging.PubMaster(['sensorEvents'])
dat = messaging.new_message('sensorEvents', size=1)
dat.sensorEvents[0] = {"gyro": {"v": [0.1, -0.1, 0.1]}}
pm.send('sensorEvents', dat)
```

31
cereal/SConscript Normal file
View File

@@ -0,0 +1,31 @@
Import('env', 'envCython', 'arch', 'common', 'msgq')
import shutil
cereal_dir = Dir('.')
gen_dir = Dir('gen')
other_dir = Dir('#msgq')
# Build cereal
schema_files = ['log.capnp', 'car.capnp', 'legacy.capnp', 'custom.capnp']
env.Command(["gen/c/include/c++.capnp.h"], [], "mkdir -p " + gen_dir.path + "/c/include && touch $TARGETS")
env.Command([f'gen/cpp/{s}.c++' for s in schema_files] + [f'gen/cpp/{s}.h' for s in schema_files],
schema_files,
f"capnpc --src-prefix={cereal_dir.path} $SOURCES -o c++:{gen_dir.path}/cpp/")
# TODO: remove non shared cereal and messaging
cereal_objects = env.SharedObject([f'gen/cpp/{s}.c++' for s in schema_files])
cereal = env.Library('cereal', cereal_objects)
env.SharedLibrary('cereal_shared', cereal_objects)
# Build messaging
services_h = env.Command(['services.h'], ['services.py'], 'python3 ' + cereal_dir.path + '/services.py > $TARGET')
env.Program('messaging/bridge', ['messaging/bridge.cc'], LIBS=[msgq, 'zmq', common])
socketmaster = env.SharedObject(['messaging/socketmaster.cc'])
socketmaster = env.Library('socketmaster', socketmaster)
Export('cereal', 'socketmaster')

9
cereal/__init__.py Normal file
View File

@@ -0,0 +1,9 @@
import os
import capnp
CEREAL_PATH = os.path.dirname(os.path.abspath(__file__))
capnp.remove_import_hook()
log = capnp.load(os.path.join(CEREAL_PATH, "log.capnp"))
car = capnp.load(os.path.join(CEREAL_PATH, "car.capnp"))
custom = capnp.load(os.path.join(CEREAL_PATH, "custom.capnp"))

759
cereal/car.capnp Normal file
View File

@@ -0,0 +1,759 @@
using Cxx = import "./include/c++.capnp";
$Cxx.namespace("cereal");
@0x8e2af1e708af8b8d;
# ******* events causing controls state machine transition *******
struct CarEvent @0x9b1657f34caf3ad3 {
name @0 :EventName;
# event types
enable @1 :Bool;
noEntry @2 :Bool;
warning @3 :Bool; # alerts presented only when enabled or soft disabling
userDisable @4 :Bool;
softDisable @5 :Bool;
immediateDisable @6 :Bool;
preEnable @7 :Bool;
permanent @8 :Bool; # alerts presented regardless of openpilot state
overrideLateral @10 :Bool;
overrideLongitudinal @9 :Bool;
enum EventName @0xbaa8c5d505f727de {
canError @0;
steerUnavailable @1;
wrongGear @4;
doorOpen @5;
seatbeltNotLatched @6;
espDisabled @7;
wrongCarMode @8;
steerTempUnavailable @9;
reverseGear @10;
buttonCancel @11;
buttonEnable @12;
pedalPressed @13; # exits active state
preEnableStandstill @73; # added during pre-enable state with brake
gasPressedOverride @108; # added when user is pressing gas with no disengage on gas
steerOverride @114;
cruiseDisabled @14;
speedTooLow @17;
outOfSpace @18;
overheat @19;
calibrationIncomplete @20;
calibrationInvalid @21;
calibrationRecalibrating @117;
controlsMismatch @22;
pcmEnable @23;
pcmDisable @24;
radarFault @26;
brakeHold @28;
parkBrake @29;
manualRestart @30;
lowSpeedLockout @31;
joystickDebug @34;
steerTempUnavailableSilent @35;
resumeRequired @36;
preDriverDistracted @37;
promptDriverDistracted @38;
driverDistracted @39;
preDriverUnresponsive @43;
promptDriverUnresponsive @44;
driverUnresponsive @45;
belowSteerSpeed @46;
lowBattery @48;
accFaulted @51;
sensorDataInvalid @52;
commIssue @53;
commIssueAvgFreq @109;
tooDistracted @54;
posenetInvalid @55;
soundsUnavailable @56;
preLaneChangeLeft @57;
preLaneChangeRight @58;
laneChange @59;
lowMemory @63;
stockAeb @64;
ldw @65;
carUnrecognized @66;
invalidLkasSetting @69;
speedTooHigh @70;
laneChangeBlocked @71;
relayMalfunction @72;
stockFcw @74;
startup @75;
startupNoCar @76;
startupNoControl @77;
startupMaster @78;
startupNoFw @104;
fcw @79;
steerSaturated @80;
belowEngageSpeed @84;
noGps @85;
wrongCruiseMode @87;
modeldLagging @89;
deviceFalling @90;
fanMalfunction @91;
cameraMalfunction @92;
cameraFrameRate @110;
processNotRunning @95;
dashcamMode @96;
controlsInitializing @98;
usbError @99;
roadCameraError @100;
driverCameraError @101;
wideRoadCameraError @102;
highCpuUsage @105;
cruiseMismatch @106;
lkasDisabled @107;
canBusMissing @111;
controlsdLagging @112;
resumeBlocked @113;
steerTimeLimit @115;
vehicleSensorsInvalid @116;
locationdTemporaryError @103;
locationdPermanentError @118;
paramsdTemporaryError @50;
paramsdPermanentError @119;
actuatorsApiUnavailable @120;
espActive @121;
manualSteeringRequired @122;
manualLongitudinalRequired @123;
silentPedalPressed @124;
silentButtonEnable @125;
silentBrakeHold @126;
silentWrongGear @127;
spReverseGear @128;
preKeepHandsOnWheel @129;
promptKeepHandsOnWheel @130;
keepHandsOnWheel @131;
speedLimitActive @132;
speedLimitValueChange @133;
e2eLongStop @134;
e2eLongStart @135;
controlsMismatchLong @136;
cruiseEngageBlocked @137;
laneChangeRoadEdge @138;
speedLimitPreActive @139;
speedLimitConfirmed @140;
torqueNNLoad @141;
radarCanErrorDEPRECATED @15;
communityFeatureDisallowedDEPRECATED @62;
radarCommIssueDEPRECATED @67;
driverMonitorLowAccDEPRECATED @68;
gasUnavailableDEPRECATED @3;
dataNeededDEPRECATED @16;
modelCommIssueDEPRECATED @27;
ipasOverrideDEPRECATED @33;
geofenceDEPRECATED @40;
driverMonitorOnDEPRECATED @41;
driverMonitorOffDEPRECATED @42;
calibrationProgressDEPRECATED @47;
invalidGiraffeHondaDEPRECATED @49;
invalidGiraffeToyotaDEPRECATED @60;
internetConnectivityNeededDEPRECATED @61;
whitePandaUnsupportedDEPRECATED @81;
commIssueWarningDEPRECATED @83;
focusRecoverActiveDEPRECATED @86;
neosUpdateRequiredDEPRECATED @88;
modelLagWarningDEPRECATED @93;
startupOneplusDEPRECATED @82;
startupFuzzyFingerprintDEPRECATED @97;
noTargetDEPRECATED @25;
brakeUnavailableDEPRECATED @2;
plannerErrorDEPRECATED @32;
gpsMalfunctionDEPRECATED @94;
}
}
# ******* main car state @ 100hz *******
# all speeds in m/s
struct CarState {
events @13 :List(CarEvent);
# CAN health
canValid @26 :Bool; # invalid counter/checksums
canTimeout @40 :Bool; # CAN bus dropped out
canErrorCounter @48 :UInt32;
# car speed
vEgo @1 :Float32; # best estimate of speed
aEgo @16 :Float32; # best estimate of acceleration
vEgoRaw @17 :Float32; # unfiltered speed from CAN sensors
vEgoCluster @44 :Float32; # best estimate of speed shown on car's instrument cluster, used for UI
yawRate @22 :Float32; # best estimate of yaw rate
standstill @18 :Bool;
wheelSpeeds @2 :WheelSpeeds;
# gas pedal, 0.0-1.0
gas @3 :Float32; # this is user pedal only
gasPressed @4 :Bool; # this is user pedal only
engineRpm @46 :Float32;
# brake pedal, 0.0-1.0
brake @5 :Float32; # this is user pedal only
brakePressed @6 :Bool; # this is user pedal only
regenBraking @45 :Bool; # this is user pedal only
parkingBrake @39 :Bool;
brakeHoldActive @38 :Bool;
# steering wheel
steeringAngleDeg @7 :Float32;
steeringAngleOffsetDeg @37 :Float32; # Offset betweens sensors in case there multiple
steeringRateDeg @15 :Float32;
steeringTorque @8 :Float32; # TODO: standardize units
steeringTorqueEps @27 :Float32; # TODO: standardize units
steeringPressed @9 :Bool; # if the user is using the steering wheel
steerFaultTemporary @35 :Bool; # temporary EPS fault
steerFaultPermanent @36 :Bool; # permanent EPS fault
stockAeb @30 :Bool;
stockFcw @31 :Bool;
espDisabled @32 :Bool;
accFaulted @42 :Bool;
carFaultedNonCritical @47 :Bool; # some ECU is faulted, but car remains controllable
espActive @51 :Bool;
# cruise state
cruiseState @10 :CruiseState;
# gear
gearShifter @14 :GearShifter;
# button presses
buttonEvents @11 :List(ButtonEvent);
leftBlinker @20 :Bool;
rightBlinker @21 :Bool;
genericToggle @23 :Bool;
# lock info
doorOpen @24 :Bool;
seatbeltUnlatched @25 :Bool;
# clutch (manual transmission only)
clutchPressed @28 :Bool;
madsEnabled @52 :Bool;
leftBlinkerOn @53 :Bool;
rightBlinkerOn @54 :Bool;
disengageByBrake @55 :Bool;
belowLaneChangeSpeed @56 :Bool;
accEnabled @57 :Bool;
latActive @58 :Bool;
gapAdjustCruiseTr @59 :Int32;
endToEndLong @60 :Bool;
customStockLong @61 :CustomStockLong;
struct CustomStockLong {
cruiseButton @0 :Int16;
finalSpeedKph @1 :Float32;
vCruiseKphPrev @2 :Float32;
targetSpeed @3 :Float32;
vSetDis @4 :Float32;
speedDiff @5 :Float32;
buttonType @6 :Int16;
}
# blindspot sensors
leftBlindspot @33 :Bool; # Is there something blocking the left lane change
rightBlindspot @34 :Bool; # Is there something blocking the right lane change
fuelGauge @41 :Float32; # battery or fuel tank level from 0.0 to 1.0
charging @43 :Bool;
# process meta
cumLagMs @50 :Float32;
struct WheelSpeeds {
# optional wheel speeds
fl @0 :Float32;
fr @1 :Float32;
rl @2 :Float32;
rr @3 :Float32;
}
struct CruiseState {
enabled @0 :Bool;
speed @1 :Float32;
speedCluster @6 :Float32; # Set speed as shown on instrument cluster
available @2 :Bool;
speedOffset @3 :Float32;
standstill @4 :Bool;
nonAdaptive @5 :Bool;
speedLimit @7 :Float32;
}
enum GearShifter {
unknown @0;
park @1;
drive @2;
neutral @3;
reverse @4;
sport @5;
low @6;
brake @7;
eco @8;
manumatic @9;
}
# send on change
struct ButtonEvent {
pressed @0 :Bool;
type @1 :Type;
enum Type {
unknown @0;
leftBlinker @1;
rightBlinker @2;
accelCruise @3;
decelCruise @4;
cancel @5;
altButton1 @6;
altButton2 @7;
altButton3 @8;
setCruise @9;
resumeCruise @10;
gapAdjustCruise @11;
}
}
# deprecated
errorsDEPRECATED @0 :List(CarEvent.EventName);
brakeLightsDEPRECATED @19 :Bool;
steeringRateLimitedDEPRECATED @29 :Bool;
canMonoTimesDEPRECATED @12: List(UInt64);
canRcvTimeoutDEPRECATED @49 :Bool;
}
# ******* radar state @ 20hz *******
struct RadarData @0x888ad6581cf0aacb {
errors @0 :List(Error);
points @1 :List(RadarPoint);
enum Error {
canError @0;
fault @1;
wrongConfig @2;
}
# similar to LiveTracks
# is one timestamp valid for all? I think so
struct RadarPoint {
trackId @0 :UInt64; # no trackId reuse
# these 3 are the minimum required
dRel @1 :Float32; # m from the front bumper of the car
yRel @2 :Float32; # m
vRel @3 :Float32; # m/s
# these are optional and valid if they are not NaN
aRel @4 :Float32; # m/s^2
yvRel @5 :Float32; # m/s
# some radars flag measurements VS estimates
measured @6 :Bool;
}
# deprecated
canMonoTimesDEPRECATED @2 :List(UInt64);
}
# ******* car controls @ 100hz *******
struct CarControl {
# must be true for any actuator commands to work
enabled @0 :Bool;
latActive @11: Bool;
longActive @12: Bool;
vCruise @17 :Float32; # actual set speed
# Actuator commands as computed by controlsd
actuators @6 :Actuators;
# moved to CarOutput
actuatorsOutputDEPRECATED @10 :Actuators;
leftBlinker @15: Bool;
rightBlinker @16: Bool;
orientationNED @13 :List(Float32);
angularVelocity @14 :List(Float32);
cruiseControl @4 :CruiseControl;
hudControl @5 :HUDControl;
struct Actuators {
# range from 0.0 - 1.0
gas @0: Float32;
brake @1: Float32;
# range from -1.0 - 1.0
steer @2: Float32;
# value sent over can to the car
steerOutputCan @8: Float32;
steeringAngleDeg @3: Float32;
curvature @7: Float32;
speed @6: Float32; # m/s
accel @4: Float32; # m/s^2
longControlState @5: LongControlState;
enum LongControlState @0xe40f3a917d908282{
off @0;
pid @1;
stopping @2;
starting @3;
}
}
struct CruiseControl {
cancel @0: Bool;
resume @1: Bool;
override @4: Bool;
speedOverrideDEPRECATED @2: Float32;
accelOverrideDEPRECATED @3: Float32;
}
struct HUDControl {
speedVisible @0: Bool;
setSpeed @1: Float32;
lanesVisible @2: Bool;
leadVisible @3: Bool;
visualAlert @4: VisualAlert;
audibleAlert @5: AudibleAlert;
rightLaneVisible @6: Bool;
leftLaneVisible @7: Bool;
rightLaneDepart @8: Bool;
leftLaneDepart @9: Bool;
leadDistanceBars @10: Int8; # 1-3: 1 is closest, 3 is farthest. some ports may utilize 2-4 bars instead
enum VisualAlert {
# these are the choices from the Honda
# map as good as you can for your car
none @0;
fcw @1;
steerRequired @2;
brakePressed @3;
wrongGear @4;
seatbeltUnbuckled @5;
speedTooHigh @6;
ldw @7;
}
enum AudibleAlert {
none @0;
engage @1;
disengage @2;
refuse @3;
warningSoft @4;
warningImmediate @5;
prompt @6;
promptRepeat @7;
promptDistracted @8;
promptStarting @9;
promptSingleLow @10;
promptSingleHigh @11;
}
}
gasDEPRECATED @1 :Float32;
brakeDEPRECATED @2 :Float32;
steeringTorqueDEPRECATED @3 :Float32;
activeDEPRECATED @7 :Bool;
rollDEPRECATED @8 :Float32;
pitchDEPRECATED @9 :Float32;
}
struct CarOutput {
# Any car specific rate limits or quirks applied by
# the CarController are reflected in actuatorsOutput
# and matches what is sent to the car
actuatorsOutput @0 :CarControl.Actuators;
}
# ****** car param ******
struct CarParams {
carName @0 :Text;
carFingerprint @1 :Text;
fuzzyFingerprint @55 :Bool;
notCar @66 :Bool; # flag for non-car robotics platforms
pcmCruise @3 :Bool; # is openpilot's state tied to the PCM's cruise state?
enableDsu @5 :Bool; # driving support unit
enableBsm @56 :Bool; # blind spot monitoring
flags @64 :UInt32; # flags for car specific quirks
experimentalLongitudinalAvailable @71 :Bool;
pcmCruiseSpeed @74 :Bool; # is openpilot's state tied to the PCM's cruise speed?
customStockLongAvailable @75 :Bool;
spFlags @76 :UInt32; # flags for car specific quirks in sunnypilot
minEnableSpeed @7 :Float32;
minSteerSpeed @8 :Float32;
safetyConfigs @62 :List(SafetyConfig);
alternativeExperience @65 :Int16; # panda flag for features like no disengage on gas
# Car docs fields
maxLateralAccel @68 :Float32;
autoResumeSng @69 :Bool; # describes whether car can resume from a stop automatically
# things about the car in the manual
mass @17 :Float32; # [kg] curb weight: all fluids no cargo
wheelbase @18 :Float32; # [m] distance from rear axle to front axle
centerToFront @19 :Float32; # [m] distance from center of mass to front axle
steerRatio @20 :Float32; # [] ratio of steering wheel angle to front wheel angle
steerRatioRear @21 :Float32; # [] ratio of steering wheel angle to rear wheel angle (usually 0)
# things we can derive
rotationalInertia @22 :Float32; # [kg*m2] body rotational inertia
tireStiffnessFactor @72 :Float32; # scaling factor used in calculating tireStiffness[Front,Rear]
tireStiffnessFront @23 :Float32; # [N/rad] front tire coeff of stiff
tireStiffnessRear @24 :Float32; # [N/rad] rear tire coeff of stiff
longitudinalTuning @25 :LongitudinalPIDTuning;
lateralParams @48 :LateralParams;
lateralTuning :union {
pid @26 :LateralPIDTuning;
indiDEPRECATED @27 :LateralINDITuning;
lqrDEPRECATED @40 :LateralLQRTuning;
torque @67 :LateralTorqueTuning;
}
steerLimitAlert @28 :Bool;
steerLimitTimer @47 :Float32; # time before steerLimitAlert is issued
vEgoStopping @29 :Float32; # Speed at which the car goes into stopping state
vEgoStarting @59 :Float32; # Speed at which the car goes into starting state
stoppingControl @31 :Bool; # Does the car allow full control even at lows speeds when stopping
steerControlType @34 :SteerControlType;
radarUnavailable @35 :Bool; # True when radar objects aren't visible on CAN or aren't parsed out
stopAccel @60 :Float32; # Required acceleration to keep vehicle stationary
stoppingDecelRate @52 :Float32; # m/s^2/s while trying to stop
startAccel @32 :Float32; # Required acceleration to get car moving
startingState @70 :Bool; # Does this car make use of special starting state
steerActuatorDelay @36 :Float32; # Steering wheel actuator delay in seconds
longitudinalActuatorDelay @58 :Float32; # Gas/Brake actuator delay in seconds
openpilotLongitudinalControl @37 :Bool; # is openpilot doing the longitudinal control?
carVin @38 :Text; # VIN number queried during fingerprinting
dashcamOnly @41: Bool;
passive @73: Bool; # is openpilot in control?
transmissionType @43 :TransmissionType;
carFw @44 :List(CarFw);
radarTimeStep @45: Float32 = 0.05; # time delta between radar updates, 20Hz is very standard
fingerprintSource @49: FingerprintSource;
networkLocation @50 :NetworkLocation; # Where Panda/C2 is integrated into the car's CAN network
wheelSpeedFactor @63 :Float32; # Multiplier on wheels speeds to computer actual speeds
struct SafetyConfig {
safetyModel @0 :SafetyModel;
safetyParam @3 :UInt16;
safetyParamDEPRECATED @1 :Int16;
safetyParam2DEPRECATED @2 :UInt32;
}
struct LateralParams {
torqueBP @0 :List(Int32);
torqueV @1 :List(Int32);
}
struct LateralPIDTuning {
kpBP @0 :List(Float32);
kpV @1 :List(Float32);
kiBP @2 :List(Float32);
kiV @3 :List(Float32);
kf @4 :Float32;
}
struct LateralTorqueTuning {
useSteeringAngle @0 :Bool;
kp @1 :Float32;
ki @2 :Float32;
friction @3 :Float32;
kf @4 :Float32;
steeringAngleDeadzoneDeg @5 :Float32;
latAccelFactor @6 :Float32;
latAccelOffset @7 :Float32;
nnModelName @8 :Text;
nnModelFuzzyMatch @9 :Bool;
}
struct LongitudinalPIDTuning {
kpBP @0 :List(Float32);
kpV @1 :List(Float32);
kiBP @2 :List(Float32);
kiV @3 :List(Float32);
kf @6 :Float32;
deadzoneBPDEPRECATED @4 :List(Float32);
deadzoneVDEPRECATED @5 :List(Float32);
}
struct LateralINDITuning {
outerLoopGainBP @4 :List(Float32);
outerLoopGainV @5 :List(Float32);
innerLoopGainBP @6 :List(Float32);
innerLoopGainV @7 :List(Float32);
timeConstantBP @8 :List(Float32);
timeConstantV @9 :List(Float32);
actuatorEffectivenessBP @10 :List(Float32);
actuatorEffectivenessV @11 :List(Float32);
outerLoopGainDEPRECATED @0 :Float32;
innerLoopGainDEPRECATED @1 :Float32;
timeConstantDEPRECATED @2 :Float32;
actuatorEffectivenessDEPRECATED @3 :Float32;
}
struct LateralLQRTuning {
scale @0 :Float32;
ki @1 :Float32;
dcGain @2 :Float32;
# State space system
a @3 :List(Float32);
b @4 :List(Float32);
c @5 :List(Float32);
k @6 :List(Float32); # LQR gain
l @7 :List(Float32); # Kalman gain
}
enum SafetyModel {
silent @0;
hondaNidec @1;
toyota @2;
elm327 @3;
gm @4;
hondaBoschGiraffe @5;
ford @6;
cadillac @7;
hyundai @8;
chrysler @9;
tesla @10;
subaru @11;
gmPassive @12;
mazda @13;
nissan @14;
volkswagen @15;
toyotaIpas @16;
allOutput @17;
gmAscm @18;
noOutput @19; # like silent but without silent CAN TXs
hondaBosch @20;
volkswagenPq @21;
subaruPreglobal @22; # pre-Global platform
hyundaiLegacy @23;
hyundaiCommunity @24;
volkswagenMlb @25;
hongqi @26;
body @27;
hyundaiCanfd @28;
volkswagenMqbEvo @29;
chryslerCusw @30;
psa @31;
}
enum SteerControlType {
torque @0;
angle @1;
curvatureDEPRECATED @2;
}
enum TransmissionType {
unknown @0;
automatic @1; # Traditional auto, including DSG
manual @2; # True "stick shift" only
direct @3; # Electric vehicle or other direct drive
cvt @4;
}
struct CarFw {
ecu @0 :Ecu;
fwVersion @1 :Data;
address @2 :UInt32;
subAddress @3 :UInt8;
responseAddress @4 :UInt32;
request @5 :List(Data);
brand @6 :Text;
bus @7 :UInt8;
logging @8 :Bool;
obdMultiplexing @9 :Bool;
}
enum Ecu {
eps @0;
abs @1;
fwdRadar @2;
fwdCamera @3;
engine @4;
unknown @5;
transmission @8; # Transmission Control Module
hybrid @18; # hybrid control unit, e.g. Chrysler's HCP, Honda's IMA Control Unit, Toyota's hybrid control computer
srs @9; # airbag
gateway @10; # can gateway
hud @11; # heads up display
combinationMeter @12; # instrument cluster
electricBrakeBooster @15;
shiftByWire @16;
adas @19;
cornerRadar @21;
hvac @20;
parkingAdas @7; # parking assist system ECU, e.g. Toyota's IPAS, Hyundai's RSPA, etc.
epb @22; # electronic parking brake
telematics @23;
body @24; # body control module
# Toyota only
dsu @6;
# Honda only
vsa @13; # Vehicle Stability Assist
programmedFuelInjection @14;
debug @17;
}
enum FingerprintSource {
can @0;
fw @1;
fixed @2;
}
enum NetworkLocation {
fwdCamera @0; # Standard/default integration at LKAS camera
gateway @1; # Integration at vehicle's CAN gateway
}
enableGasInterceptorDEPRECATED @2 :Bool;
enableCameraDEPRECATED @4 :Bool;
enableApgsDEPRECATED @6 :Bool;
steerRateCostDEPRECATED @33 :Float32;
isPandaBlackDEPRECATED @39 :Bool;
hasStockCameraDEPRECATED @57 :Bool;
safetyParamDEPRECATED @10 :Int16;
safetyModelDEPRECATED @9 :SafetyModel;
safetyModelPassiveDEPRECATED @42 :SafetyModel = silent;
minSpeedCanDEPRECATED @51 :Float32;
communityFeatureDEPRECATED @46: Bool;
startingAccelRateDEPRECATED @53 :Float32;
steerMaxBPDEPRECATED @11 :List(Float32);
steerMaxVDEPRECATED @12 :List(Float32);
gasMaxBPDEPRECATED @13 :List(Float32);
gasMaxVDEPRECATED @14 :List(Float32);
brakeMaxBPDEPRECATED @15 :List(Float32);
brakeMaxVDEPRECATED @16 :List(Float32);
directAccelControlDEPRECATED @30 :Bool;
maxSteeringAngleDegDEPRECATED @54 :Float32;
longitudinalActuatorDelayLowerBoundDEPRECATEDDEPRECATED @61 :Float32;
}

213
cereal/custom.capnp Normal file
View File

@@ -0,0 +1,213 @@
using Cxx = import "./include/c++.capnp";
$Cxx.namespace("cereal");
using Car = import "car.capnp";
@0xb526ba661d550a59;
# custom.capnp: a home for empty structs reserved for custom forks
# These structs are guaranteed to remain reserved and empty in mainline
# cereal, so use these if you want custom events in your fork.
# you can rename the struct, but don't change the identifier
enum LongitudinalPersonalitySP {
aggressive @0;
moderate @1;
standard @2;
relaxed @3;
}
enum AccelerationPersonality {
sport @0;
normal @1;
eco @2;
stock @3;
}
enum ModelGeneration {
default @0;
one @1;
two @2;
three @3;
four @4;
five @5;
}
struct ControlsStateSP @0x81c2f05a394cf4af {
lateralState @0 :Text;
personality @8 :LongitudinalPersonalitySP;
dynamicPersonality @9 :Bool;
accelPersonality @10 :AccelerationPersonality;
lateralControlState :union {
indiState @1 :LateralINDIState;
pidState @2 :LateralPIDState;
angleState @3 :LateralAngleState;
debugState @4 :LateralDebugState;
torqueState @5 :LateralTorqueState;
curvatureState @6 :LateralCurvatureState;
lqrStateDEPRECATED @7 :LateralLQRState;
}
struct LateralINDIState {
}
struct LateralPIDState {
}
struct LateralAngleState {
}
struct LateralDebugState {
}
struct LateralTorqueState {
nnLog @0 :List(Float32);
}
struct LateralCurvatureState {
}
struct LateralLQRState {
}
}
struct LongitudinalPlanSP @0xaedffd8f31e7b55d {
visionTurnControllerState @0 :VisionTurnControllerState;
visionTurnSpeed @1 :Float32;
visionCurrentLatAcc @16 :Float32;
visionMaxPredLatAcc @17 :Float32;
speedLimitControlState @2 :SpeedLimitControlState;
speedLimit @3 :Float32;
speedLimitOffset @4 :Float32;
distToSpeedLimit @5 :Float32;
isMapSpeedLimit @6 :Bool;
speedLimitPercOffset @11 :Bool;
speedLimitValueOffset @12 :Float32;
desiredTF @13 :Float32;
notSpeedLimit @14 :Int16;
e2eX @15 :List(Float32);
e2eBlended @18 :Text;
e2eStatus @22 :Bool;
distToTurn @7 :Float32;
turnSpeed @8 :Float32;
turnSpeedControlState @9 :SpeedLimitControlState;
turnSign @10 :Int16;
events @19 :List(Car.CarEvent);
longitudinalPlanSource @20 :LongitudinalPlanSource;
personalityDEPRECATED @21 :LongitudinalPersonalitySP;
enum SpeedLimitControlState {
inactive @0; # No speed limit set or not enabled by parameter.
tempInactive @1; # User wants to ignore speed limit until it changes.
adapting @2; # Reducing speed to match new speed limit.
active @3; # Cruising at speed limit.
preActive @4;
}
enum VisionTurnControllerState {
disabled @0; # No predicted substantial turn on vision range or feature disabled.
entering @1; # A substantial turn is predicted ahead, adapting speed to turn comfort levels.
turning @2; # Actively turning. Managing acceleration to provide a roll on turn feeling.
leaving @3; # Road ahead straightens. Start to allow positive acceleration.
}
enum LongitudinalPlanSource {
cruise @0;
lead0 @1;
lead1 @2;
lead2 @3;
e2e @4;
turn @5;
limit @6;
turnlimit @7;
}
}
struct LateralPlanSP @0xf35cc4560bbf6ec2 {
laneWidth @0 :Float32;
lProb @1 :Float32;
rProb @2 :Float32;
dProb @3 :Float32;
dynamicLaneProfile @4 :Int8;
standstillElapsed @5 :Float32;
dynamicLaneProfileStatus @9 :Bool;
dPathWLinesXDEPRECATED @6 :List(Float32);
dPathWLinesYDEPRECATED @7 :List(Float32);
laneChangePrevDEPRECATED @8 :Bool;
laneChangeEdgeBlockDEPRECATED @10 :Bool;
}
struct DriverMonitoringStateSP @0xda96579883444c35 {
handsOnWheelState @0 :HandsOnWheelState;
notModified @1 :Float32;
enum HandsOnWheelState {
none @0; # hand on wheel monitoring inactive
ok @1; # driver has hands on steering wheel
minor @2; # hands off steering wheel for acceptable period
warning @3; # hands off steering wheel for warning period
critical @4; # # hands off steering wheel for critical period
terminal @5; # # hands off steering wheel for terminal period
}
}
struct LiveMapDataSP @0x80ae746ee2596b11 {
speedLimitValid @0 :Bool;
speedLimit @1 :Float32;
speedLimitAheadValid @2 :Bool;
speedLimitAhead @3 :Float32;
speedLimitAheadDistance @4 :Float32;
turnSpeedLimitValid @5 :Bool;
turnSpeedLimit @6 :Float32;
turnSpeedLimitEndDistance @7 :Float32;
turnSpeedLimitSign @8 :Int16;
turnSpeedLimitsAhead @9 :List(Float32);
turnSpeedLimitsAheadDistances @10 :List(Float32);
turnSpeedLimitsAheadSigns @11 :List(Int16);
lastGpsTimestamp @12 :Int64; # Milliseconds since January 1, 1970.
currentRoadName @13 :Text;
lastGpsLatitude @14 :Float64;
lastGpsLongitude @15 :Float64;
lastGpsSpeed @16 :Float32;
lastGpsBearingDeg @17 :Float32;
lastGpsAccuracy @18 :Float32;
lastGpsBearingAccuracyDeg @19 :Float32;
dataType @20 :DataType;
enum DataType {
default @0;
offline @1;
online @2;
}
}
struct E2eLongStateSP @0xa5cd762cd951a455 {
status @0 :UInt16;
}
struct ModelDataV2SP @0xf98d843bfd7004a3 {
laneChangePrev @0 :Bool;
laneChangeEdgeBlock @1 :Bool;
customModel @2 :Bool;
modelGeneration @3 :ModelGeneration;
modelCapabilities @4 :UInt32;
}
struct CustomReserved7 @0xb86e6369214c01c8 {
}
struct CustomReserved8 @0xf416ec09499d9d19 {
}
struct CustomReserved9 @0xa1680744031fdb2d {
}

26
cereal/include/c++.capnp Normal file
View File

@@ -0,0 +1,26 @@
# Copyright (c) 2013-2014 Sandstorm Development Group, Inc. and contributors
# Licensed under the MIT License:
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# 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.
@0xbdf87d7bb8304e81;
$namespace("capnp::annotations");
annotation namespace(file): Text;
annotation name(field, enumerant, struct, enum, interface, method, param, group, union): Text;

574
cereal/legacy.capnp Normal file
View File

@@ -0,0 +1,574 @@
using Cxx = import "./include/c++.capnp";
$Cxx.namespace("cereal");
@0x80ef1ec4889c2a63;
# legacy.capnp: a home for deprecated structs
struct LogRotate @0x9811e1f38f62f2d1 {
segmentNum @0 :Int32;
path @1 :Text;
}
struct LiveUI @0xc08240f996aefced {
rearViewCam @0 :Bool;
alertText1 @1 :Text;
alertText2 @2 :Text;
awarenessStatus @3 :Float32;
}
struct UiLayoutState @0x88dcce08ad29dda0 {
activeApp @0 :App;
sidebarCollapsed @1 :Bool;
mapEnabled @2 :Bool;
mockEngaged @3 :Bool;
enum App @0x9917470acf94d285 {
home @0;
music @1;
nav @2;
settings @3;
none @4;
}
}
struct OrbslamCorrection @0x8afd33dc9b35e1aa {
correctionMonoTime @0 :UInt64;
prePositionECEF @1 :List(Float64);
postPositionECEF @2 :List(Float64);
prePoseQuatECEF @3 :List(Float32);
postPoseQuatECEF @4 :List(Float32);
numInliers @5 :UInt32;
}
struct EthernetPacket @0xa99a9d5b33cf5859 {
pkt @0 :Data;
ts @1 :Float32;
}
struct CellInfo @0xcff7566681c277ce {
timestamp @0 :UInt64;
repr @1 :Text; # android toString() for now
}
struct WifiScan @0xd4df5a192382ba0b {
bssid @0 :Text;
ssid @1 :Text;
capabilities @2 :Text;
frequency @3 :Int32;
level @4 :Int32;
timestamp @5 :Int64;
centerFreq0 @6 :Int32;
centerFreq1 @7 :Int32;
channelWidth @8 :ChannelWidth;
operatorFriendlyName @9 :Text;
venueName @10 :Text;
is80211mcResponder @11 :Bool;
passpoint @12 :Bool;
distanceCm @13 :Int32;
distanceSdCm @14 :Int32;
enum ChannelWidth @0xcb6a279f015f6b51 {
w20Mhz @0;
w40Mhz @1;
w80Mhz @2;
w160Mhz @3;
w80Plus80Mhz @4;
}
}
struct LiveEventData @0x94b7baa90c5c321e {
name @0 :Text;
value @1 :Int32;
}
struct ModelData @0xb8aad62cffef28a9 {
frameId @0 :UInt32;
frameAge @12 :UInt32;
frameDropPerc @13 :Float32;
timestampEof @9 :UInt64;
modelExecutionTime @14 :Float32;
gpuExecutionTime @16 :Float32;
rawPred @15 :Data;
path @1 :PathData;
leftLane @2 :PathData;
rightLane @3 :PathData;
lead @4 :LeadData;
freePath @6 :List(Float32);
settings @5 :ModelSettings;
leadFuture @7 :LeadData;
speed @8 :List(Float32);
meta @10 :MetaData;
longitudinal @11 :LongitudinalData;
struct PathData @0x8817eeea389e9f08 {
points @0 :List(Float32);
prob @1 :Float32;
std @2 :Float32;
stds @3 :List(Float32);
poly @4 :List(Float32);
validLen @5 :Float32;
}
struct LeadData @0xd1c9bef96d26fa91 {
dist @0 :Float32;
prob @1 :Float32;
std @2 :Float32;
relVel @3 :Float32;
relVelStd @4 :Float32;
relY @5 :Float32;
relYStd @6 :Float32;
relA @7 :Float32;
relAStd @8 :Float32;
}
struct ModelSettings @0xa26e3710efd3e914 {
bigBoxX @0 :UInt16;
bigBoxY @1 :UInt16;
bigBoxWidth @2 :UInt16;
bigBoxHeight @3 :UInt16;
boxProjection @4 :List(Float32);
yuvCorrection @5 :List(Float32);
inputTransform @6 :List(Float32);
}
struct MetaData @0x9744f25fb60f2bf8 {
engagedProb @0 :Float32;
desirePrediction @1 :List(Float32);
brakeDisengageProb @2 :Float32;
gasDisengageProb @3 :Float32;
steerOverrideProb @4 :Float32;
desireState @5 :List(Float32);
}
struct LongitudinalData @0xf98f999c6a071122 {
distances @2 :List(Float32);
speeds @0 :List(Float32);
accelerations @1 :List(Float32);
}
}
struct ECEFPoint @0xc25bbbd524983447 {
x @0 :Float64;
y @1 :Float64;
z @2 :Float64;
}
struct ECEFPointDEPRECATED @0xe10e21168db0c7f7 {
x @0 :Float32;
y @1 :Float32;
z @2 :Float32;
}
struct GPSPlannerPoints @0xab54c59699f8f9f3 {
curPosDEPRECATED @0 :ECEFPointDEPRECATED;
pointsDEPRECATED @1 :List(ECEFPointDEPRECATED);
curPos @6 :ECEFPoint;
points @7 :List(ECEFPoint);
valid @2 :Bool;
trackName @3 :Text;
speedLimit @4 :Float32;
accelTarget @5 :Float32;
}
struct GPSPlannerPlan @0xf5ad1d90cdc1dd6b {
valid @0 :Bool;
poly @1 :List(Float32);
trackName @2 :Text;
speed @3 :Float32;
acceleration @4 :Float32;
pointsDEPRECATED @5 :List(ECEFPointDEPRECATED);
points @6 :List(ECEFPoint);
xLookahead @7 :Float32;
}
struct UiNavigationEvent @0x90c8426c3eaddd3b {
type @0: Type;
status @1: Status;
distanceTo @2: Float32;
endRoadPointDEPRECATED @3: ECEFPointDEPRECATED;
endRoadPoint @4: ECEFPoint;
enum Type @0xe8db07dcf8fcea05 {
none @0;
laneChangeLeft @1;
laneChangeRight @2;
mergeLeft @3;
mergeRight @4;
turnLeft @5;
turnRight @6;
}
enum Status @0xb9aa88c75ef99a1f {
none @0;
passive @1;
approaching @2;
active @3;
}
}
struct LiveLocationData @0xb99b2bc7a57e8128 {
status @0 :UInt8;
# 3D fix
lat @1 :Float64;
lon @2 :Float64;
alt @3 :Float32; # m
# speed
speed @4 :Float32; # m/s
# NED velocity components
vNED @5 :List(Float32);
# roll, pitch, heading (x,y,z)
roll @6 :Float32; # WRT to center of earth?
pitch @7 :Float32; # WRT to center of earth?
heading @8 :Float32; # WRT to north?
# what are these?
wanderAngle @9 :Float32;
trackAngle @10 :Float32;
# car frame -- https://upload.wikimedia.org/wikipedia/commons/f/f5/RPY_angles_of_cars.png
# gyro, in car frame, deg/s
gyro @11 :List(Float32);
# accel, in car frame, m/s^2
accel @12 :List(Float32);
accuracy @13 :Accuracy;
source @14 :SensorSource;
# if we are fixing a location in the past
fixMonoTime @15 :UInt64;
gpsWeek @16 :Int32;
timeOfWeek @17 :Float64;
positionECEF @18 :List(Float64);
poseQuatECEF @19 :List(Float32);
pitchCalibration @20 :Float32;
yawCalibration @21 :Float32;
imuFrame @22 :List(Float32);
struct Accuracy @0x943dc4625473b03f {
pNEDError @0 :List(Float32);
vNEDError @1 :List(Float32);
rollError @2 :Float32;
pitchError @3 :Float32;
headingError @4 :Float32;
ellipsoidSemiMajorError @5 :Float32;
ellipsoidSemiMinorError @6 :Float32;
ellipsoidOrientationError @7 :Float32;
}
enum SensorSource @0xc871d3cc252af657 {
applanix @0;
kalman @1;
orbslam @2;
timing @3;
dummy @4;
}
}
struct OrbOdometry @0xd7700859ed1f5b76 {
# timing first
startMonoTime @0 :UInt64;
endMonoTime @1 :UInt64;
# fundamental matrix and error
f @2: List(Float64);
err @3: Float64;
# number of inlier points
inliers @4: Int32;
# for debug only
# indexed by endMonoTime features
# value is startMonoTime feature match
# -1 if no match
matches @5: List(Int16);
}
struct OrbFeatures @0xcd60164a8a0159ef {
timestampEof @0 :UInt64;
# transposed arrays of normalized image coordinates
# len(xs) == len(ys) == len(descriptors) * 32
xs @1 :List(Float32);
ys @2 :List(Float32);
descriptors @3 :Data;
octaves @4 :List(Int8);
# match index to last OrbFeatures
# -1 if no match
timestampLastEof @5 :UInt64;
matches @6: List(Int16);
}
struct OrbFeaturesSummary @0xd500d30c5803fa4f {
timestampEof @0 :UInt64;
timestampLastEof @1 :UInt64;
featureCount @2 :UInt16;
matchCount @3 :UInt16;
computeNs @4 :UInt64;
}
struct OrbKeyFrame @0xc8233c0345e27e24 {
# this is a globally unique id for the KeyFrame
id @0: UInt64;
# this is the location of the KeyFrame
pos @1: ECEFPoint;
# these are the features in the world
# len(dpos) == len(descriptors) * 32
dpos @2 :List(ECEFPoint);
descriptors @3 :Data;
}
struct KalmanOdometry @0x92e21bb7ea38793a {
trans @0 :List(Float32); # m/s in device frame
rot @1 :List(Float32); # rad/s in device frame
transStd @2 :List(Float32); # std m/s in device frame
rotStd @3 :List(Float32); # std rad/s in device frame
}
struct OrbObservation @0x9b326d4e436afec7 {
observationMonoTime @0 :UInt64;
normalizedCoordinates @1 :List(Float32);
locationECEF @2 :List(Float64);
matchDistance @3: UInt32;
}
struct CalibrationFeatures @0x8fdfadb254ea867a {
frameId @0 :UInt32;
p0 @1 :List(Float32);
p1 @2 :List(Float32);
status @3 :List(Int8);
}
struct NavStatus @0xbd8822120928120c {
isNavigating @0 :Bool;
currentAddress @1 :Address;
struct Address @0xce7cd672cacc7814 {
title @0 :Text;
lat @1 :Float64;
lng @2 :Float64;
house @3 :Text;
address @4 :Text;
street @5 :Text;
city @6 :Text;
state @7 :Text;
country @8 :Text;
}
}
struct NavUpdate @0xdb98be6565516acb {
isNavigating @0 :Bool;
curSegment @1 :Int32;
segments @2 :List(Segment);
struct LatLng @0x9eaef9187cadbb9b {
lat @0 :Float64;
lng @1 :Float64;
}
struct Segment @0xa5b39b4fc4d7da3f {
from @0 :LatLng;
to @1 :LatLng;
updateTime @2 :Int32;
distance @3 :Int32;
crossTime @4 :Int32;
exitNo @5 :Int32;
instruction @6 :Instruction;
parts @7 :List(LatLng);
enum Instruction @0xc5417a637451246f {
turnLeft @0;
turnRight @1;
keepLeft @2;
keepRight @3;
straight @4;
roundaboutExitNumber @5;
roundaboutExit @6;
roundaboutTurnLeft @7;
unkn8 @8;
roundaboutStraight @9;
unkn10 @10;
roundaboutTurnRight @11;
unkn12 @12;
roundaboutUturn @13;
unkn14 @14;
arrive @15;
exitLeft @16;
exitRight @17;
unkn18 @18;
uturn @19;
# ...
}
}
}
struct TrafficEvent @0xacfa74a094e62626 {
type @0 :Type;
distance @1 :Float32;
action @2 :Action;
resuming @3 :Bool;
enum Type @0xd85d75253435bf4b {
stopSign @0;
lightRed @1;
lightYellow @2;
lightGreen @3;
stopLight @4;
}
enum Action @0xa6f6ce72165ccb49 {
none @0;
yield @1;
stop @2;
resumeReady @3;
}
}
struct AndroidGnss @0xdfdf30d03fc485bd {
union {
measurements @0 :Measurements;
navigationMessage @1 :NavigationMessage;
}
struct Measurements @0xa20710d4f428d6cd {
clock @0 :Clock;
measurements @1 :List(Measurement);
struct Clock @0xa0e27b453a38f450 {
timeNanos @0 :Int64;
hardwareClockDiscontinuityCount @1 :Int32;
hasTimeUncertaintyNanos @2 :Bool;
timeUncertaintyNanos @3 :Float64;
hasLeapSecond @4 :Bool;
leapSecond @5 :Int32;
hasFullBiasNanos @6 :Bool;
fullBiasNanos @7 :Int64;
hasBiasNanos @8 :Bool;
biasNanos @9 :Float64;
hasBiasUncertaintyNanos @10 :Bool;
biasUncertaintyNanos @11 :Float64;
hasDriftNanosPerSecond @12 :Bool;
driftNanosPerSecond @13 :Float64;
hasDriftUncertaintyNanosPerSecond @14 :Bool;
driftUncertaintyNanosPerSecond @15 :Float64;
}
struct Measurement @0xd949bf717d77614d {
svId @0 :Int32;
constellation @1 :Constellation;
timeOffsetNanos @2 :Float64;
state @3 :Int32;
receivedSvTimeNanos @4 :Int64;
receivedSvTimeUncertaintyNanos @5 :Int64;
cn0DbHz @6 :Float64;
pseudorangeRateMetersPerSecond @7 :Float64;
pseudorangeRateUncertaintyMetersPerSecond @8 :Float64;
accumulatedDeltaRangeState @9 :Int32;
accumulatedDeltaRangeMeters @10 :Float64;
accumulatedDeltaRangeUncertaintyMeters @11 :Float64;
hasCarrierFrequencyHz @12 :Bool;
carrierFrequencyHz @13 :Float32;
hasCarrierCycles @14 :Bool;
carrierCycles @15 :Int64;
hasCarrierPhase @16 :Bool;
carrierPhase @17 :Float64;
hasCarrierPhaseUncertainty @18 :Bool;
carrierPhaseUncertainty @19 :Float64;
hasSnrInDb @20 :Bool;
snrInDb @21 :Float64;
multipathIndicator @22 :MultipathIndicator;
enum Constellation @0x9ef1f3ff0deb5ffb {
unknown @0;
gps @1;
sbas @2;
glonass @3;
qzss @4;
beidou @5;
galileo @6;
}
enum State @0xcbb9490adce12d72 {
unknown @0;
codeLock @1;
bitSync @2;
subframeSync @3;
towDecoded @4;
msecAmbiguous @5;
symbolSync @6;
gloStringSync @7;
gloTodDecoded @8;
bdsD2BitSync @9;
bdsD2SubframeSync @10;
galE1bcCodeLock @11;
galE1c2ndCodeLock @12;
galE1bPageSync @13;
sbasSync @14;
}
enum MultipathIndicator @0xc04e7b6231d4caa8 {
unknown @0;
detected @1;
notDetected @2;
}
}
}
struct NavigationMessage @0xe2517b083095fd4e {
type @0 :Int32;
svId @1 :Int32;
messageId @2 :Int32;
submessageId @3 :Int32;
data @4 :Data;
status @5 :Status;
enum Status @0xec1ff7996b35366f {
unknown @0;
parityPassed @1;
parityRebuilt @2;
}
}
}
struct LidarPts @0xe3d6685d4e9d8f7a {
r @0 :List(UInt16); # uint16 m*500.0
theta @1 :List(UInt16); # uint16 deg*100.0
reflect @2 :List(UInt8); # uint8 0-255
# For storing out of file.
idx @3 :UInt64;
# For storing in file
pkt @4 :Data;
}

2437
cereal/log.capnp Normal file

File diff suppressed because it is too large Load Diff

49
cereal/maptile.capnp Normal file
View File

@@ -0,0 +1,49 @@
using Cxx = import "./include/c++.capnp";
$Cxx.namespace("cereal");
@0xa086df597ef5d7a0;
# Geometry
struct Point {
x @0: Float64;
y @1: Float64;
z @2: Float64;
}
struct PolyLine {
points @0: List(Point);
}
# Map features
struct Lane {
id @0 :Text;
leftBoundary @1 :LaneBoundary;
rightBoundary @2 :LaneBoundary;
leftAdjacentId @3 :Text;
rightAdjacentId @4 :Text;
inboundIds @5 :List(Text);
outboundIds @6 :List(Text);
struct LaneBoundary {
polyLine @0 :PolyLine;
startHeading @1 :Float32; # WRT north
}
}
# Map tiles
struct TileSummary {
version @0 :Text;
updatedAt @1 :UInt64; # Millis since epoch
level @2 :UInt8;
x @3 :UInt16;
y @4 :UInt16;
}
struct MapTile {
summary @0 :TileSummary;
lanes @1 :List(Lane);
}

View File

@@ -0,0 +1,257 @@
# must be built with scons
from msgq.ipc_pyx import Context, Poller, SubSocket, PubSocket, SocketEventHandle, toggle_fake_events, \
set_fake_prefix, get_fake_prefix, delete_fake_prefix, wait_for_one_event
from msgq.ipc_pyx import MultiplePublishersError, IpcError
from msgq import fake_event_handle, pub_sock, sub_sock, drain_sock_raw
import msgq
import os
import capnp
import time
from typing import Optional, List, Union, Dict, Deque
from collections import deque
from cereal import log
from cereal.services import SERVICE_LIST
NO_TRAVERSAL_LIMIT = 2**64-1
def reset_context():
msgq.context = Context()
def log_from_bytes(dat: bytes, struct: capnp.lib.capnp._StructModule = log.Event) -> capnp.lib.capnp._DynamicStructReader:
with struct.from_bytes(dat, traversal_limit_in_words=NO_TRAVERSAL_LIMIT) as msg:
return msg
def new_message(service: Optional[str], size: Optional[int] = None, **kwargs) -> capnp.lib.capnp._DynamicStructBuilder:
args = {
'valid': False,
'logMonoTime': int(time.monotonic() * 1e9),
**kwargs
}
dat = log.Event.new_message(**args)
if service is not None:
if size is None:
dat.init(service)
else:
dat.init(service, size)
return dat
def drain_sock(sock: SubSocket, wait_for_one: bool = False) -> List[capnp.lib.capnp._DynamicStructReader]:
"""Receive all message currently available on the queue"""
msgs = drain_sock_raw(sock, wait_for_one=wait_for_one)
return [log_from_bytes(m) for m in msgs]
# TODO: print when we drop packets?
def recv_sock(sock: SubSocket, wait: bool = False) -> Optional[capnp.lib.capnp._DynamicStructReader]:
"""Same as drain sock, but only returns latest message. Consider using conflate instead."""
dat = None
while 1:
if wait and dat is None:
recv = sock.receive()
else:
recv = sock.receive(non_blocking=True)
if recv is None: # Timeout hit
break
dat = recv
if dat is not None:
dat = log_from_bytes(dat)
return dat
def recv_one(sock: SubSocket) -> Optional[capnp.lib.capnp._DynamicStructReader]:
dat = sock.receive()
if dat is not None:
dat = log_from_bytes(dat)
return dat
def recv_one_or_none(sock: SubSocket) -> Optional[capnp.lib.capnp._DynamicStructReader]:
dat = sock.receive(non_blocking=True)
if dat is not None:
dat = log_from_bytes(dat)
return dat
def recv_one_retry(sock: SubSocket) -> capnp.lib.capnp._DynamicStructReader:
"""Keep receiving until we get a message"""
while True:
dat = sock.receive()
if dat is not None:
return log_from_bytes(dat)
class SubMaster:
def __init__(self, services: List[str], poll: Optional[str] = None,
ignore_alive: Optional[List[str]] = None, ignore_avg_freq: Optional[List[str]] = None,
ignore_valid: Optional[List[str]] = None, addr: str = "127.0.0.1", frequency: Optional[float] = None):
self.frame = -1
self.seen = {s: False for s in services}
self.updated = {s: False for s in services}
self.recv_time = {s: 0. for s in services}
self.recv_frame = {s: 0 for s in services}
self.alive = {s: False for s in services}
self.freq_ok = {s: False for s in services}
self.recv_dts: Dict[str, Deque[float]] = {}
self.sock = {}
self.data = {}
self.valid = {}
self.logMonoTime = {}
self.max_freq = {}
self.min_freq = {}
self.poller = Poller()
polled_services = set([poll, ] if poll is not None else services)
self.non_polled_services = set(services) - polled_services
self.ignore_average_freq = [] if ignore_avg_freq is None else ignore_avg_freq
self.ignore_alive = [] if ignore_alive is None else ignore_alive
self.ignore_valid = [] if ignore_valid is None else ignore_valid
self.simulation = bool(int(os.getenv("SIMULATION", "0")))
# if freq and poll aren't specified, assume the max to be conservative
assert frequency is None or poll is None, "Do not specify 'frequency' - frequency of the polled service will be used."
self.update_freq = frequency or max([SERVICE_LIST[s].frequency for s in polled_services])
for s in services:
p = self.poller if s not in self.non_polled_services else None
self.sock[s] = sub_sock(s, poller=p, addr=addr, conflate=True)
try:
data = new_message(s)
except capnp.lib.capnp.KjException:
data = new_message(s, 0) # lists
self.data[s] = getattr(data.as_reader(), s)
self.logMonoTime[s] = 0
self.valid[s] = True # FIXME: this should default to False
freq = max(min([SERVICE_LIST[s].frequency, self.update_freq]), 1.)
if s == poll:
max_freq = freq
min_freq = freq
else:
max_freq = min(freq, self.update_freq)
if SERVICE_LIST[s].frequency >= 2*self.update_freq:
min_freq = self.update_freq
elif self.update_freq >= 2*SERVICE_LIST[s].frequency:
min_freq = freq
else:
min_freq = min(freq, freq / 2.)
self.max_freq[s] = max_freq*1.2
self.min_freq[s] = min_freq*0.8
self.recv_dts[s] = deque(maxlen=int(10*freq))
def __getitem__(self, s: str) -> capnp.lib.capnp._DynamicStructReader:
return self.data[s]
def _check_avg_freq(self, s: str) -> bool:
return SERVICE_LIST[s].frequency > 0.99 and (s not in self.ignore_average_freq) and (s not in self.ignore_alive)
def update(self, timeout: int = 100) -> None:
msgs = []
for sock in self.poller.poll(timeout):
msgs.append(recv_one_or_none(sock))
# non-blocking receive for non-polled sockets
for s in self.non_polled_services:
msgs.append(recv_one_or_none(self.sock[s]))
self.update_msgs(time.monotonic(), msgs)
def update_msgs(self, cur_time: float, msgs: List[capnp.lib.capnp._DynamicStructReader]) -> None:
self.frame += 1
self.updated = dict.fromkeys(self.updated, False)
for msg in msgs:
if msg is None:
continue
s = msg.which()
self.seen[s] = True
self.updated[s] = True
if self.recv_time[s] > 1e-5:
self.recv_dts[s].append(cur_time - self.recv_time[s])
self.recv_time[s] = cur_time
self.recv_frame[s] = self.frame
self.data[s] = getattr(msg, s)
self.logMonoTime[s] = msg.logMonoTime
self.valid[s] = msg.valid
for s in self.data:
if SERVICE_LIST[s].frequency > 1e-5 and not self.simulation:
# alive if delay is within 10x the expected frequency
self.alive[s] = (cur_time - self.recv_time[s]) < (10. / SERVICE_LIST[s].frequency)
# check average frequency; slow to fall, quick to recover
dts = self.recv_dts[s]
assert dts.maxlen is not None
recent_dts = list(dts)[-int(dts.maxlen / 10):]
try:
avg_freq = 1 / (sum(dts) / len(dts))
avg_freq_recent = 1 / (sum(recent_dts) / len(recent_dts))
except ZeroDivisionError:
avg_freq = 0
avg_freq_recent = 0
avg_freq_ok = self.min_freq[s] <= avg_freq <= self.max_freq[s]
recent_freq_ok = self.min_freq[s] <= avg_freq_recent <= self.max_freq[s]
self.freq_ok[s] = avg_freq_ok or recent_freq_ok
else:
self.freq_ok[s] = True
if self.simulation:
self.alive[s] = self.seen[s] # alive is defined as seen when simulation flag set
else:
self.alive[s] = True
def all_alive(self, service_list: Optional[List[str]] = None) -> bool:
if service_list is None:
service_list = list(self.sock.keys())
return all(self.alive[s] for s in service_list if s not in self.ignore_alive)
def all_freq_ok(self, service_list: Optional[List[str]] = None) -> bool:
if service_list is None:
service_list = list(self.sock.keys())
return all(self.freq_ok[s] for s in service_list if self._check_avg_freq(s))
def all_valid(self, service_list: Optional[List[str]] = None) -> bool:
if service_list is None:
service_list = list(self.sock.keys())
return all(self.valid[s] for s in service_list if s not in self.ignore_valid)
def all_checks(self, service_list: Optional[List[str]] = None) -> bool:
return self.all_alive(service_list) and self.all_freq_ok(service_list) and self.all_valid(service_list)
class PubMaster:
def __init__(self, services: List[str]):
self.sock = {}
for s in services:
self.sock[s] = pub_sock(s)
def send(self, s: str, dat: Union[bytes, capnp.lib.capnp._DynamicStructBuilder]) -> None:
if not isinstance(dat, bytes):
dat = dat.to_bytes()
self.sock[s].send(dat)
def wait_for_readers_to_update(self, s: str, timeout: int, dt: float = 0.05) -> bool:
for _ in range(int(timeout*(1./dt))):
if self.sock[s].all_readers_updated():
return True
time.sleep(dt)
return False
def all_readers_updated(self, s: str) -> bool:
return self.sock[s].all_readers_updated() # type: ignore

View File

@@ -0,0 +1,92 @@
#include <algorithm>
#include <cassert>
#include <csignal>
#include <iostream>
#include <map>
#include <string>
typedef void (*sighandler_t)(int sig);
#include "cereal/services.h"
#include "msgq/impl_msgq.h"
#include "msgq/impl_zmq.h"
std::atomic<bool> do_exit = false;
static void set_do_exit(int sig) {
do_exit = true;
}
void sigpipe_handler(int sig) {
assert(sig == SIGPIPE);
std::cout << "SIGPIPE received" << std::endl;
}
static std::vector<std::string> get_services(std::string whitelist_str, bool zmq_to_msgq) {
std::vector<std::string> service_list;
for (const auto& it : services) {
std::string name = it.second.name;
bool in_whitelist = whitelist_str.find(name) != std::string::npos;
if (name == "plusFrame" || name == "uiLayoutState" || (zmq_to_msgq && !in_whitelist)) {
continue;
}
service_list.push_back(name);
}
return service_list;
}
int main(int argc, char** argv) {
signal(SIGPIPE, (sighandler_t)sigpipe_handler);
signal(SIGINT, (sighandler_t)set_do_exit);
signal(SIGTERM, (sighandler_t)set_do_exit);
bool zmq_to_msgq = argc > 2;
std::string ip = zmq_to_msgq ? argv[1] : "127.0.0.1";
std::string whitelist_str = zmq_to_msgq ? std::string(argv[2]) : "";
Poller *poller;
Context *pub_context;
Context *sub_context;
if (zmq_to_msgq) { // republishes zmq debugging messages as msgq
poller = new ZMQPoller();
pub_context = new MSGQContext();
sub_context = new ZMQContext();
} else {
poller = new MSGQPoller();
pub_context = new ZMQContext();
sub_context = new MSGQContext();
}
std::map<SubSocket*, PubSocket*> sub2pub;
for (auto endpoint : get_services(whitelist_str, zmq_to_msgq)) {
PubSocket * pub_sock;
SubSocket * sub_sock;
if (zmq_to_msgq) {
pub_sock = new MSGQPubSocket();
sub_sock = new ZMQSubSocket();
} else {
pub_sock = new ZMQPubSocket();
sub_sock = new MSGQSubSocket();
}
pub_sock->connect(pub_context, endpoint);
sub_sock->connect(sub_context, endpoint, ip, false);
poller->registerSocket(sub_sock);
sub2pub[sub_sock] = pub_sock;
}
while (!do_exit) {
for (auto sub_sock : poller->poll(100)) {
Message * msg = sub_sock->receive();
if (msg == NULL) continue;
int ret;
do {
ret = sub2pub[sub_sock]->sendMessage(msg);
} while (ret == -1 && errno == EINTR && !do_exit);
assert(ret >= 0 || do_exit);
delete msg;
if (do_exit) break;
}
}
return 0;
}

View File

@@ -0,0 +1,102 @@
#pragma once
#include <cstddef>
#include <map>
#include <string>
#include <vector>
#include <utility>
#include <capnp/serialize.h>
#include "cereal/gen/cpp/log.capnp.h"
#include "common/timing.h"
#include "msgq/ipc.h"
class SubMaster {
public:
SubMaster(const std::vector<const char *> &service_list, const std::vector<const char *> &poll = {},
const char *address = nullptr, const std::vector<const char *> &ignore_alive = {});
void update(int timeout = 1000);
void update_msgs(uint64_t current_time, const std::vector<std::pair<std::string, cereal::Event::Reader>> &messages);
inline bool allAlive(const std::vector<const char *> &service_list = {}) { return all_(service_list, false, true); }
inline bool allValid(const std::vector<const char *> &service_list = {}) { return all_(service_list, true, false); }
inline bool allAliveAndValid(const std::vector<const char *> &service_list = {}) { return all_(service_list, true, true); }
void drain();
~SubMaster();
uint64_t frame = 0;
bool updated(const char *name) const;
bool alive(const char *name) const;
bool valid(const char *name) const;
uint64_t rcv_frame(const char *name) const;
uint64_t rcv_time(const char *name) const;
cereal::Event::Reader &operator[](const char *name) const;
private:
bool all_(const std::vector<const char *> &service_list, bool valid, bool alive);
Poller *poller_ = nullptr;
struct SubMessage;
std::map<SubSocket *, SubMessage *> messages_;
std::map<std::string, SubMessage *> services_;
};
class MessageBuilder : public capnp::MallocMessageBuilder {
public:
MessageBuilder() = default;
cereal::Event::Builder initEvent(bool valid = true) {
cereal::Event::Builder event = initRoot<cereal::Event>();
event.setLogMonoTime(nanos_since_boot());
event.setValid(valid);
return event;
}
kj::ArrayPtr<capnp::byte> toBytes() {
heapArray_ = capnp::messageToFlatArray(*this);
return heapArray_.asBytes();
}
size_t getSerializedSize() {
return capnp::computeSerializedSizeInWords(*this) * sizeof(capnp::word);
}
int serializeToBuffer(unsigned char *buffer, size_t buffer_size) {
size_t serialized_size = getSerializedSize();
if (serialized_size > buffer_size) { return -1; }
kj::ArrayOutputStream out(kj::ArrayPtr<capnp::byte>(buffer, buffer_size));
capnp::writeMessage(out, *this);
return serialized_size;
}
private:
kj::Array<capnp::word> heapArray_;
};
class PubMaster {
public:
PubMaster(const std::vector<const char *> &service_list);
inline int send(const char *name, capnp::byte *data, size_t size) { return sockets_.at(name)->send((char *)data, size); }
int send(const char *name, MessageBuilder &msg);
~PubMaster();
private:
std::map<std::string, PubSocket *> sockets_;
};
class AlignedBuffer {
public:
kj::ArrayPtr<const capnp::word> align(const char *data, const size_t size) {
words_size = size / sizeof(capnp::word) + 1;
if (aligned_buf.size() < words_size) {
aligned_buf = kj::heapArray<capnp::word>(words_size < 512 ? 512 : words_size);
}
memcpy(aligned_buf.begin(), data, size);
return aligned_buf.slice(0, words_size);
}
inline kj::ArrayPtr<const capnp::word> align(Message *m) {
return align(m->getData(), m->getSize());
}
private:
kj::Array<capnp::word> aligned_buf;
size_t words_size;
};

View File

@@ -0,0 +1,203 @@
#include <assert.h>
#include <stdlib.h>
#include <string>
#include <mutex>
#include "cereal/services.h"
#include "cereal/messaging/messaging.h"
const bool SIMULATION = (getenv("SIMULATION") != nullptr) && (std::string(getenv("SIMULATION")) == "1");
static inline bool inList(const std::vector<const char *> &list, const char *value) {
for (auto &v : list) {
if (strcmp(value, v) == 0) return true;
}
return false;
}
class MessageContext {
public:
MessageContext() : ctx_(nullptr) {}
~MessageContext() { delete ctx_; }
inline Context *context() {
std::call_once(init_flag, [=]() { ctx_ = Context::create(); });
return ctx_;
}
private:
Context *ctx_;
std::once_flag init_flag;
};
MessageContext message_context;
struct SubMaster::SubMessage {
std::string name;
SubSocket *socket = nullptr;
int freq = 0;
bool updated = false, alive = false, valid = true, ignore_alive;
uint64_t rcv_time = 0, rcv_frame = 0;
void *allocated_msg_reader = nullptr;
bool is_polled = false;
capnp::FlatArrayMessageReader *msg_reader = nullptr;
AlignedBuffer aligned_buf;
cereal::Event::Reader event;
};
SubMaster::SubMaster(const std::vector<const char *> &service_list, const std::vector<const char *> &poll,
const char *address, const std::vector<const char *> &ignore_alive) {
poller_ = Poller::create();
for (auto name : service_list) {
assert(services.count(std::string(name)) > 0);
service serv = services.at(std::string(name));
SubSocket *socket = SubSocket::create(message_context.context(), name, address ? address : "127.0.0.1", true);
assert(socket != 0);
bool is_polled = inList(poll, name) || poll.empty();
if (is_polled) poller_->registerSocket(socket);
SubMessage *m = new SubMessage{
.name = name,
.socket = socket,
.freq = serv.frequency,
.ignore_alive = inList(ignore_alive, name),
.allocated_msg_reader = malloc(sizeof(capnp::FlatArrayMessageReader)),
.is_polled = is_polled};
m->msg_reader = new (m->allocated_msg_reader) capnp::FlatArrayMessageReader({});
messages_[socket] = m;
services_[name] = m;
}
}
void SubMaster::update(int timeout) {
for (auto &kv : messages_) kv.second->updated = false;
auto sockets = poller_->poll(timeout);
// add non-polled sockets for non-blocking receive
for (auto &kv : messages_) {
SubMessage *m = kv.second;
SubSocket *s = kv.first;
if (!m->is_polled) sockets.push_back(s);
}
uint64_t current_time = nanos_since_boot();
std::vector<std::pair<std::string, cereal::Event::Reader>> messages;
for (auto s : sockets) {
Message *msg = s->receive(true);
if (msg == nullptr) continue;
SubMessage *m = messages_.at(s);
m->msg_reader->~FlatArrayMessageReader();
capnp::ReaderOptions options;
options.traversalLimitInWords = kj::maxValue; // Don't limit
m->msg_reader = new (m->allocated_msg_reader) capnp::FlatArrayMessageReader(m->aligned_buf.align(msg), options);
delete msg;
messages.push_back({m->name, m->msg_reader->getRoot<cereal::Event>()});
}
update_msgs(current_time, messages);
}
void SubMaster::update_msgs(uint64_t current_time, const std::vector<std::pair<std::string, cereal::Event::Reader>> &messages){
if (++frame == UINT64_MAX) frame = 1;
for (auto &kv : messages) {
auto m_find = services_.find(kv.first);
if (m_find == services_.end()){
continue;
}
SubMessage *m = m_find->second;
m->event = kv.second;
m->updated = true;
m->rcv_time = current_time;
m->rcv_frame = frame;
m->valid = m->event.getValid();
if (SIMULATION) m->alive = true;
}
if (!SIMULATION) {
for (auto &kv : messages_) {
SubMessage *m = kv.second;
m->alive = (m->freq <= (1e-5) || ((current_time - m->rcv_time) * (1e-9)) < (10.0 / m->freq));
}
}
}
bool SubMaster::all_(const std::vector<const char *> &service_list, bool valid, bool alive) {
int found = 0;
for (auto &kv : messages_) {
SubMessage *m = kv.second;
if (service_list.size() == 0 || inList(service_list, m->name.c_str())) {
found += (!valid || m->valid) && (!alive || (m->alive || m->ignore_alive));
}
}
return service_list.size() == 0 ? found == messages_.size() : found == service_list.size();
}
void SubMaster::drain() {
while (true) {
auto polls = poller_->poll(0);
if (polls.size() == 0)
break;
for (auto sock : polls) {
Message *msg = sock->receive(true);
delete msg;
}
}
}
bool SubMaster::updated(const char *name) const {
return services_.at(name)->updated;
}
bool SubMaster::alive(const char *name) const {
return services_.at(name)->alive;
}
bool SubMaster::valid(const char *name) const {
return services_.at(name)->valid;
}
uint64_t SubMaster::rcv_frame(const char *name) const {
return services_.at(name)->rcv_frame;
}
uint64_t SubMaster::rcv_time(const char *name) const {
return services_.at(name)->rcv_time;
}
cereal::Event::Reader &SubMaster::operator[](const char *name) const {
return services_.at(name)->event;
}
SubMaster::~SubMaster() {
delete poller_;
for (auto &kv : messages_) {
SubMessage *m = kv.second;
m->msg_reader->~FlatArrayMessageReader();
free(m->allocated_msg_reader);
delete m->socket;
delete m;
}
}
PubMaster::PubMaster(const std::vector<const char *> &service_list) {
for (auto name : service_list) {
assert(services.count(name) > 0);
PubSocket *socket = PubSocket::create(message_context.context(), name);
assert(socket);
sockets_[name] = socket;
}
}
int PubMaster::send(const char *name, MessageBuilder &msg) {
auto bytes = msg.toBytes();
return send(name, bytes.begin(), bytes.size());
}
PubMaster::~PubMaster() {
for (auto s : sockets_) delete s.second;
}

View File

@@ -0,0 +1,185 @@
import os
import capnp
import multiprocessing
import numbers
import random
import threading
import time
from parameterized import parameterized
import pytest
from cereal import log, car
import cereal.messaging as messaging
from cereal.services import SERVICE_LIST
events = [evt for evt in log.Event.schema.union_fields if evt in SERVICE_LIST.keys()]
def random_sock():
return random.choice(events)
def random_socks(num_socks=10):
return list({random_sock() for _ in range(num_socks)})
def random_bytes(length=1000):
return bytes([random.randrange(0xFF) for _ in range(length)])
def zmq_sleep(t=1):
if "ZMQ" in os.environ:
time.sleep(t)
# TODO: this should take any capnp struct and returrn a msg with random populated data
def random_carstate():
fields = ["vEgo", "aEgo", "gas", "steeringAngleDeg"]
msg = messaging.new_message("carState")
cs = msg.carState
for f in fields:
setattr(cs, f, random.random() * 10)
return msg
# TODO: this should compare any capnp structs
def assert_carstate(cs1, cs2):
for f in car.CarState.schema.non_union_fields:
# TODO: check all types
val1, val2 = getattr(cs1, f), getattr(cs2, f)
if isinstance(val1, numbers.Number):
assert val1 == val2, f"{f}: sent '{val1}' vs recvd '{val2}'"
def delayed_send(delay, sock, dat):
def send_func():
sock.send(dat)
threading.Timer(delay, send_func).start()
class TestMessaging:
def setUp(self):
# TODO: ZMQ tests are too slow; all sleeps will need to be
# replaced with logic to block on the necessary condition
if "ZMQ" in os.environ:
pytest.skip()
# ZMQ pub socket takes too long to die
# sleep to prevent multiple publishers error between tests
zmq_sleep()
@parameterized.expand(events)
def test_new_message(self, evt):
try:
msg = messaging.new_message(evt)
except capnp.lib.capnp.KjException:
msg = messaging.new_message(evt, random.randrange(200))
assert (time.monotonic() - msg.logMonoTime) < 0.1
assert not msg.valid
assert evt == msg.which()
@parameterized.expand(events)
def test_pub_sock(self, evt):
messaging.pub_sock(evt)
@parameterized.expand(events)
def test_sub_sock(self, evt):
messaging.sub_sock(evt)
@parameterized.expand([
(messaging.drain_sock, capnp._DynamicStructReader),
(messaging.drain_sock_raw, bytes),
])
def test_drain_sock(self, func, expected_type):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sub_sock = messaging.sub_sock(sock, timeout=1000)
zmq_sleep()
# no wait and no msgs in queue
msgs = func(sub_sock)
assert isinstance(msgs, list)
assert len(msgs) == 0
# no wait but msgs are queued up
num_msgs = random.randrange(3, 10)
for _ in range(num_msgs):
pub_sock.send(messaging.new_message(sock).to_bytes())
time.sleep(0.1)
msgs = func(sub_sock)
assert isinstance(msgs, list)
assert all(isinstance(msg, expected_type) for msg in msgs)
assert len(msgs) == num_msgs
def test_recv_sock(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sub_sock = messaging.sub_sock(sock, timeout=100)
zmq_sleep()
# no wait and no msg in queue, socket should timeout
recvd = messaging.recv_sock(sub_sock)
assert recvd is None
# no wait and one msg in queue
msg = random_carstate()
pub_sock.send(msg.to_bytes())
time.sleep(0.01)
recvd = messaging.recv_sock(sub_sock)
assert isinstance(recvd, capnp._DynamicStructReader)
# https://github.com/python/mypy/issues/13038
assert_carstate(msg.carState, recvd.carState)
def test_recv_one(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sub_sock = messaging.sub_sock(sock, timeout=1000)
zmq_sleep()
# no msg in queue, socket should timeout
recvd = messaging.recv_one(sub_sock)
assert recvd is None
# one msg in queue
msg = random_carstate()
pub_sock.send(msg.to_bytes())
recvd = messaging.recv_one(sub_sock)
assert isinstance(recvd, capnp._DynamicStructReader)
assert_carstate(msg.carState, recvd.carState)
@pytest.mark.xfail(condition="ZMQ" in os.environ, reason='ZMQ detected')
def test_recv_one_or_none(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sub_sock = messaging.sub_sock(sock)
zmq_sleep()
# no msg in queue, socket shouldn't block
recvd = messaging.recv_one_or_none(sub_sock)
assert recvd is None
# one msg in queue
msg = random_carstate()
pub_sock.send(msg.to_bytes())
recvd = messaging.recv_one_or_none(sub_sock)
assert isinstance(recvd, capnp._DynamicStructReader)
assert_carstate(msg.carState, recvd.carState)
def test_recv_one_retry(self):
sock = "carState"
sock_timeout = 0.1
pub_sock = messaging.pub_sock(sock)
sub_sock = messaging.sub_sock(sock, timeout=round(sock_timeout*1000))
zmq_sleep()
# this test doesn't work with ZMQ since multiprocessing interrupts it
if "ZMQ" not in os.environ:
# wait 15 socket timeouts and make sure it's still retrying
p = multiprocessing.Process(target=messaging.recv_one_retry, args=(sub_sock,))
p.start()
time.sleep(sock_timeout*15)
assert p.is_alive()
p.terminate()
# wait 15 socket timeouts before sending
msg = random_carstate()
delayed_send(sock_timeout*15, pub_sock, msg.to_bytes())
start_time = time.monotonic()
recvd = messaging.recv_one_retry(sub_sock)
assert (time.monotonic() - start_time) >= sock_timeout*15
assert isinstance(recvd, capnp._DynamicStructReader)
assert_carstate(msg.carState, recvd.carState)

View File

@@ -0,0 +1,157 @@
import random
import time
from typing import Sized, cast
import cereal.messaging as messaging
from cereal.messaging.tests.test_messaging import events, random_sock, random_socks, \
random_bytes, random_carstate, assert_carstate, \
zmq_sleep
class TestSubMaster:
def setup_method(self):
# ZMQ pub socket takes too long to die
# sleep to prevent multiple publishers error between tests
zmq_sleep(3)
def test_init(self):
sm = messaging.SubMaster(events)
for p in [sm.updated, sm.recv_time, sm.recv_frame, sm.alive,
sm.sock, sm.data, sm.logMonoTime, sm.valid]:
assert len(cast(Sized, p)) == len(events)
def test_init_state(self):
socks = random_socks()
sm = messaging.SubMaster(socks)
assert sm.frame == -1
assert not any(sm.updated.values())
assert not any(sm.alive.values())
assert all(t == 0. for t in sm.recv_time.values())
assert all(f == 0 for f in sm.recv_frame.values())
assert all(t == 0 for t in sm.logMonoTime.values())
for p in [sm.updated, sm.recv_time, sm.recv_frame, sm.alive,
sm.sock, sm.data, sm.logMonoTime, sm.valid]:
assert len(cast(Sized, p)) == len(socks)
def test_getitem(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sm = messaging.SubMaster([sock,])
zmq_sleep()
msg = random_carstate()
pub_sock.send(msg.to_bytes())
sm.update(1000)
assert_carstate(msg.carState, sm[sock])
# TODO: break this test up to individually test SubMaster.update and SubMaster.update_msgs
def test_update(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sm = messaging.SubMaster([sock,])
zmq_sleep()
for i in range(10):
msg = messaging.new_message(sock)
pub_sock.send(msg.to_bytes())
sm.update(1000)
assert sm.frame == i
assert all(sm.updated.values())
def test_update_timeout(self):
sock = random_sock()
sm = messaging.SubMaster([sock,])
for _ in range(5):
timeout = random.randrange(1000, 5000)
start_time = time.monotonic()
sm.update(timeout)
t = time.monotonic() - start_time
assert t >= timeout/1000.
assert t < 5
assert not any(sm.updated.values())
def test_avg_frequency_checks(self):
for poll in (True, False):
sm = messaging.SubMaster(["modelV2", "carParams", "carState", "cameraOdometry", "liveCalibration"],
poll=("modelV2" if poll else None),
frequency=(20. if not poll else None))
checks = {
"carState": (20, 20),
"modelV2": (20, 20 if poll else 10),
"cameraOdometry": (20, 10),
"liveCalibration": (4, 4),
"carParams": (None, None),
}
for service, (max_freq, min_freq) in checks.items():
if max_freq is not None:
assert sm._check_avg_freq(service)
assert sm.max_freq[service] == max_freq*1.2
assert sm.min_freq[service] == min_freq*0.8
else:
assert not sm._check_avg_freq(service)
def test_alive(self):
pass
def test_ignore_alive(self):
pass
def test_valid(self):
pass
# SubMaster should always conflate
def test_conflate(self):
sock = "carState"
pub_sock = messaging.pub_sock(sock)
sm = messaging.SubMaster([sock,])
n = 10
for i in range(n+1):
msg = messaging.new_message(sock)
msg.carState.vEgo = i
pub_sock.send(msg.to_bytes())
time.sleep(0.01)
sm.update(1000)
assert sm[sock].vEgo == n
class TestPubMaster:
def setup_method(self):
# ZMQ pub socket takes too long to die
# sleep to prevent multiple publishers error between tests
zmq_sleep(3)
def test_init(self):
messaging.PubMaster(events)
def test_send(self):
socks = random_socks()
pm = messaging.PubMaster(socks)
sub_socks = {s: messaging.sub_sock(s, conflate=True, timeout=1000) for s in socks}
zmq_sleep()
# PubMaster accepts either a capnp msg builder or bytes
for capnp in [True, False]:
for i in range(100):
sock = socks[i % len(socks)]
if capnp:
try:
msg = messaging.new_message(sock)
except Exception:
msg = messaging.new_message(sock, random.randrange(50))
else:
msg = random_bytes()
pm.send(sock, msg)
recvd = sub_socks[sock].receive()
if capnp:
msg.clear_write_flag()
msg = msg.to_bytes()
assert msg == recvd, i

View File

@@ -0,0 +1,21 @@
import os
import tempfile
from typing import Dict
from parameterized import parameterized
import cereal.services as services
from cereal.services import SERVICE_LIST
class TestServices:
@parameterized.expand(SERVICE_LIST.keys())
def test_services(self, s):
service = SERVICE_LIST[s]
assert service.frequency <= 104
assert service.decimation != 0
def test_generated_header(self):
with tempfile.NamedTemporaryFile(suffix=".h") as f:
ret = os.system(f"python3 {services.__file__} > {f.name} && clang++ {f.name}")
assert ret == 0, "generated services header is not valid C"

131
cereal/services.py Executable file
View File

@@ -0,0 +1,131 @@
#!/usr/bin/env python3
from typing import Optional
class Service:
def __init__(self, should_log: bool, frequency: float, decimation: Optional[int] = None):
self.should_log = should_log
self.frequency = frequency
self.decimation = decimation
_services: dict[str, tuple] = {
# service: (should_log, frequency, qlog decimation (optional))
# note: the "EncodeIdx" packets will still be in the log
"gyroscope": (True, 104., 104),
"gyroscope2": (True, 100., 100),
"accelerometer": (True, 104., 104),
"accelerometer2": (True, 100., 100),
"magnetometer": (True, 25.),
"lightSensor": (True, 100., 100),
"temperatureSensor": (True, 2., 200),
"temperatureSensor2": (True, 2., 200),
"gpsNMEA": (True, 9.),
"deviceState": (True, 2., 1),
"can": (True, 100., 2053), # decimation gives ~3 msgs in a full segment
"controlsState": (True, 100., 10),
"pandaStates": (True, 10., 1),
"peripheralState": (True, 2., 1),
"radarState": (True, 20., 5),
"roadEncodeIdx": (False, 20., 1),
"liveTracks": (True, 20.),
"sendcan": (True, 100., 139),
"logMessage": (True, 0.),
"errorLogMessage": (True, 0., 1),
"liveCalibration": (True, 4., 4),
"liveTorqueParameters": (True, 4., 1),
"androidLog": (True, 0.),
"carState": (True, 100., 10),
"carControl": (True, 100., 10),
"carOutput": (True, 100., 10),
"longitudinalPlan": (True, 20., 10),
"procLog": (True, 0.5, 15),
"gpsLocationExternal": (True, 10., 10),
"gpsLocation": (True, 1., 1),
"ubloxGnss": (True, 10.),
"qcomGnss": (True, 2.),
"gnssMeasurements": (True, 10., 10),
"clocks": (True, 0.1, 1),
"ubloxRaw": (True, 20.),
"livePose": (True, 20., 4),
"liveLocationKalman": (True, 20.),
"liveParameters": (True, 20., 5),
"cameraOdometry": (True, 20., 10),
"lateralPlanDEPRECATED": (True, 20., 5),
"thumbnail": (True, 0.2, 1),
"onroadEvents": (True, 1., 1),
"carParams": (True, 0.02, 1),
"roadCameraState": (True, 20., 20),
"driverCameraState": (True, 20., 20),
"driverEncodeIdx": (False, 20., 1),
"driverStateV2": (True, 20., 10),
"driverMonitoringState": (True, 20., 10),
"wideRoadEncodeIdx": (False, 20., 1),
"wideRoadCameraState": (True, 20., 20),
"drivingModelData": (True, 20., 10),
"modelV2": (True, 20.),
"managerState": (True, 2., 1),
"uploaderState": (True, 0., 1),
"navInstruction": (True, 1., 10),
"navRoute": (True, 0.),
"navThumbnail": (True, 0.),
"navModelDEPRECATED": (True, 2., 4.),
"mapRenderState": (True, 2., 1.),
"uiPlanDEPRECATED": (True, 20., 40.),
"qRoadEncodeIdx": (False, 20.),
"userFlag": (True, 0., 1),
"microphone": (True, 10., 10),
"controlsStateSP": (True, 100., 10),
"longitudinalPlanSP": (True, 20., 5),
"lateralPlanSPDEPRECATED": (True, 20., 5),
"driverMonitoringStateSP": (True, 20., 10),
"liveMapDataSP": (True, 0.),
"e2eLongStateSP": (True, 0.),
"modelV2SP": (True, 20., 40),
# debug
"uiDebug": (True, 0., 1),
"testJoystick": (True, 0.),
"roadEncodeData": (False, 20.),
"driverEncodeData": (False, 20.),
"wideRoadEncodeData": (False, 20.),
"qRoadEncodeData": (False, 20.),
"livestreamWideRoadEncodeIdx": (False, 20.),
"livestreamRoadEncodeIdx": (False, 20.),
"livestreamDriverEncodeIdx": (False, 20.),
"livestreamWideRoadEncodeData": (False, 20.),
"livestreamRoadEncodeData": (False, 20.),
"livestreamDriverEncodeData": (False, 20.),
"customReservedRawData0": (True, 0.),
"customReservedRawData1": (True, 0.),
"customReservedRawData2": (True, 0.),
}
SERVICE_LIST = {name: Service(*vals) for
idx, (name, vals) in enumerate(_services.items())}
def build_header():
h = ""
h += "/* THIS IS AN AUTOGENERATED FILE, PLEASE EDIT services.py */\n"
h += "#ifndef __SERVICES_H\n"
h += "#define __SERVICES_H\n"
h += "#include <map>\n"
h += "#include <string>\n"
h += "struct service { std::string name; bool should_log; int frequency; int decimation; };\n"
h += "static std::map<std::string, service> services = {\n"
for k, v in SERVICE_LIST.items():
should_log = "true" if v.should_log else "false"
decimation = -1 if v.decimation is None else v.decimation
h += ' { "%s", {"%s", %s, %d, %d}},\n' % \
(k, k, should_log, v.frequency, decimation)
h += "};\n"
h += "#endif\n"
return h
if __name__ == "__main__":
print(build_header())

View File

@@ -6,3 +6,8 @@ coverage:
informational: true
patch: off
ignore:
- "**/test_*.py"
- "selfdrive/test/**"
- "system/version.py" # codecov changes depending on if we are in a branch or not
- "tools"

View File

@@ -1,13 +1,7 @@
Import('env', 'envCython', 'arch', 'SHARED')
if SHARED:
fxn = env.SharedLibrary
else:
fxn = env.Library
Import('env', 'envCython', 'arch')
common_libs = [
'params.cc',
'statlog.cc',
'swaglog.cc',
'util.cc',
'i2c.cc',
@@ -18,29 +12,28 @@ common_libs = [
if arch != "Darwin":
common_libs.append('gpio.cc')
_common = fxn('common', common_libs, LIBS="json11")
_common = env.Library('common', common_libs, LIBS="json11")
files = [
'clutil.cc',
]
_gpucommon = fxn('gpucommon', files)
_gpucommon = env.Library('gpucommon', files)
Export('_common', '_gpucommon')
if GetOption('extras'):
env.Program('tests/test_common',
['tests/test_runner.cc', 'tests/test_util.cc', 'tests/test_swaglog.cc', 'tests/test_ratekeeper.cc'],
['tests/test_runner.cc', 'tests/test_params.cc', 'tests/test_util.cc', 'tests/test_swaglog.cc'],
LIBS=[_common, 'json11', 'zmq', 'pthread'])
# Cython bindings
params_python = envCython.Program('params_pyx.so', 'params_pyx.pyx', LIBS=envCython['LIBS'] + [_common, 'zmq', 'json11'])
SConscript([
'kalman/SConscript',
'transformations/SConscript'
'transformations/SConscript',
])
Import('simple_kalman_python', 'transformations_python')
common_python = [params_python, simple_kalman_python, transformations_python]
Import('transformations_python')
common_python = [params_python, transformations_python]
Export('common_python')

View File

@@ -1,46 +1,27 @@
import jwt
import os
import requests
from datetime import datetime, timedelta
from openpilot.common.basedir import PERSIST
from openpilot.system.version import get_version
from .comma_connect import CommaConnectApi
from .sunnylink import SunnylinkApi
API_HOST = os.getenv('API_HOST', 'https://api.commadotai.com')
class Api():
def __init__(self, dongle_id):
self.dongle_id = dongle_id
with open(PERSIST+'/comma/id_rsa') as f:
self.private_key = f.read()
class Api:
def __init__(self, dongle_id, use_sunnylink=False):
if use_sunnylink:
self.service = SunnylinkApi(dongle_id)
else:
self.service = CommaConnectApi(dongle_id)
def request(self, method, endpoint, **params):
return self.service.request(method, endpoint, **params)
def get(self, *args, **kwargs):
return self.request('GET', *args, **kwargs)
return self.service.get(*args, **kwargs)
def post(self, *args, **kwargs):
return self.request('POST', *args, **kwargs)
def request(self, method, endpoint, timeout=None, access_token=None, **params):
return api_get(endpoint, method=method, timeout=timeout, access_token=access_token, **params)
return self.service.post(*args, **kwargs)
def get_token(self, expiry_hours=1):
now = datetime.utcnow()
payload = {
'identity': self.dongle_id,
'nbf': now,
'iat': now,
'exp': now + timedelta(hours=expiry_hours)
}
token = jwt.encode(payload, self.private_key, algorithm='RS256')
if isinstance(token, bytes):
token = token.decode('utf8')
return token
return self.service.get_token(expiry_hours)
def api_get(endpoint, method='GET', timeout=None, access_token=None, **params):
headers = {}
if access_token is not None:
headers['Authorization'] = "JWT " + access_token
headers['User-Agent'] = "openpilot-" + get_version()
return requests.request(method, API_HOST + "/" + endpoint, timeout=timeout, headers=headers, params=params)
def api_get(endpoint, method='GET', timeout=None, access_token=None, use_sunnylink=False, **params):
return CommaConnectApi(None).api_get(endpoint, method, timeout, access_token, **params) if not use_sunnylink else \
SunnylinkApi(None).api_get(endpoint, method, timeout, access_token, **params)

56
common/api/base.py Normal file
View File

@@ -0,0 +1,56 @@
import jwt
import requests
import unicodedata
from datetime import datetime, timedelta, UTC
from openpilot.system.hardware.hw import Paths
from openpilot.system.version import get_version
class BaseApi:
def __init__(self, dongle_id, api_host, user_agent="openpilot-"):
self.dongle_id = dongle_id
self.api_host = api_host
self.user_agent = user_agent
with open(Paths.persist_root()+'/comma/id_rsa') as f:
self.private_key = f.read()
def get(self, *args, **kwargs):
return self.request('GET', *args, **kwargs)
def post(self, *args, **kwargs):
return self.request('POST', *args, **kwargs)
def request(self, method, endpoint, timeout=None, access_token=None, **params):
return self.api_get(endpoint, method=method, timeout=timeout, access_token=access_token, **params)
def _get_token(self, expiry_hours=1, **extra_payload):
now = datetime.now(UTC).replace(tzinfo=None)
payload = {
'identity': self.dongle_id,
'nbf': now,
'iat': now,
'exp': now + timedelta(hours=expiry_hours),
**extra_payload
}
token = jwt.encode(payload, self.private_key, algorithm='RS256')
if isinstance(token, bytes):
token = token.decode('utf8')
return token
def get_token(self, expiry_hours=1):
return self._get_token(expiry_hours)
def remove_non_ascii_chars(self, text):
normalized_text = unicodedata.normalize('NFD', text)
ascii_encoded_text = normalized_text.encode('ascii', 'ignore')
return ascii_encoded_text.decode()
def api_get(self, endpoint, method='GET', timeout=None, access_token=None, **params):
headers = {}
if access_token is not None:
headers['Authorization'] = "JWT " + access_token
version = self.remove_non_ascii_chars(get_version())
headers['User-Agent'] = self.user_agent + version
return requests.request(method, self.api_host + "/" + endpoint, timeout=timeout, headers=headers, params=params)

View File

@@ -0,0 +1,11 @@
import os
from openpilot.common.api.base import BaseApi
API_HOST = os.getenv('API_HOST', 'https://api.commadotai.com')
class CommaConnectApi(BaseApi):
def __init__(self, dongle_id):
super().__init__(dongle_id, API_HOST)
self.user_agent = "openpilot-"

155
common/api/sunnylink.py Normal file
View File

@@ -0,0 +1,155 @@
import os
import time
import jwt
import json
from pathlib import Path
from datetime import datetime, timedelta
from openpilot.common.params import Params
from openpilot.system.hardware import HARDWARE
from openpilot.system.hardware.hw import Paths
from openpilot.common.api.base import BaseApi
API_HOST = os.getenv('SUNNYLINK_API_HOST', 'https://stg.api.sunnypilot.ai')
UNREGISTERED_SUNNYLINK_DONGLE_ID = "UnregisteredDevice"
MAX_RETRIES = 6
CRASH_LOG_DIR = '/data/community/crashes'
class SunnylinkApi(BaseApi):
def __init__(self, dongle_id):
super().__init__(dongle_id, API_HOST)
self.user_agent = "sunnypilot-"
self.spinner = None
self.params = Params()
def api_get(self, endpoint, method='GET', timeout=10, access_token=None, **kwargs):
if not self.params.get_bool("SunnylinkEnabled"):
return None
return super().api_get(endpoint, method, timeout, access_token, **kwargs)
def resume_queued(self, timeout=10, **kwargs):
sunnylinkId, commaId = self._resolve_dongle_ids()
return self.api_get(f"ws/{sunnylinkId}/resume_queued", "POST", timeout, access_token=self.get_token(), **kwargs)
def get_token(self, expiry_hours=1):
# Add your additional data here
additional_data = {}
return super()._get_token(expiry_hours, **additional_data)
def _status_update(self, message):
print(message)
if self.spinner:
self.spinner.update(message)
time.sleep(0.5)
def _resolve_dongle_ids(self):
sunnylink_dongle_id = self.params.get("SunnylinkDongleId", encoding='utf-8')
comma_dongle_id = self.dongle_id or self.params.get("DongleId", encoding='utf-8')
return sunnylink_dongle_id, comma_dongle_id
def _resolve_imeis(self):
imei1, imei2 = None, None
imei_try = 0
while imei1 is None and imei2 is None and imei_try < MAX_RETRIES:
try:
imei1, imei2 = self.params.get("IMEI", encoding='utf8') or HARDWARE.get_imei(0), HARDWARE.get_imei(1)
except Exception:
self._status_update(f"Error getting imei, trying again... [{imei_try+1}/{MAX_RETRIES}]")
time.sleep(1)
imei_try += 1
return imei1, imei2
def _resolve_serial(self):
serial = self.params.get("HardwareSerial", encoding='utf8') or HARDWARE.get_serial()
return serial
def register_device(self, spinner=None, timeout=60, verbose=False):
self.spinner = spinner
sunnylink_dongle_id, comma_dongle_id = self._resolve_dongle_ids()
if comma_dongle_id is None:
self._status_update("Comma dongle ID not found, deferring sunnylink's registration to comma's registration process.")
return None
imei1, imei2 = self._resolve_imeis()
serial = self._resolve_serial()
if sunnylink_dongle_id not in (None, UNREGISTERED_SUNNYLINK_DONGLE_ID):
return sunnylink_dongle_id
privkey_path = Path(Paths.persist_root()+"/comma/id_rsa")
pubkey_path = Path(Paths.persist_root()+"/comma/id_rsa.pub")
start_time = time.monotonic()
successful_registration = False
if not pubkey_path.is_file():
sunnylink_dongle_id = UNREGISTERED_SUNNYLINK_DONGLE_ID
self._status_update("Public key not found, setting dongle ID to unregistered.")
else:
Params().put("LastSunnylinkPingTime", "0") # Reset the last ping time to 0 if we are trying to register
with pubkey_path.open() as f1, privkey_path.open() as f2:
public_key = f1.read()
private_key = f2.read()
backoff = 1
while True:
register_token = jwt.encode({'register': True, 'exp': datetime.utcnow() + timedelta(hours=1)}, private_key, algorithm='RS256')
try:
if verbose or time.monotonic() - start_time < timeout / 2:
self._status_update("Registering device to sunnylink...")
elif time.monotonic() - start_time >= timeout / 2:
self._status_update("Still registering device to sunnylink...")
resp = self.api_get("v2/pilotauth/", method='POST', timeout=15, imei=imei1, imei2=imei2, serial=serial, comma_dongle_id=comma_dongle_id, public_key=public_key, register_token=register_token)
if resp is None:
raise Exception("Unable to register device, request was None")
if resp.status_code in (409, 412):
timeout = time.monotonic() - start_time # Don't retry if the public key is already in use
key_in_use = "Public key is already in use, is your key unique? Contact your vendor for a new key."
unsafe_key = "Public key is known to not be unique and it's unsafe. Contact your vendor for a new key."
error_message = key_in_use if resp.status_code == 409 else unsafe_key
raise Exception(error_message)
if resp.status_code != 200:
raise Exception(f"Failed to register with sunnylink. Status code: {resp.status_code}\nData\n:{resp.text}")
dongleauth = json.loads(resp.text)
sunnylink_dongle_id = dongleauth["device_id"]
if sunnylink_dongle_id:
self._status_update("Device registered successfully.")
successful_registration = True
break
except Exception as e:
if verbose:
self._status_update(f"Waiting {backoff}s before retry, Exception occurred during registration: [{str(e)}]")
if not os.path.exists(CRASH_LOG_DIR):
os.makedirs(CRASH_LOG_DIR)
with open(f'{CRASH_LOG_DIR}/error.txt', 'a') as f:
f.write(f"[{datetime.now()}] sunnylink: {str(e)}\n")
backoff = min(backoff * 2, 60)
time.sleep(backoff)
if time.monotonic() - start_time > timeout:
self._status_update(f"Giving up on sunnylink's registration after {timeout}s. Will retry on next boot.")
time.sleep(3)
break
self.params.put("SunnylinkDongleId", sunnylink_dongle_id or UNREGISTERED_SUNNYLINK_DONGLE_ID)
# Set the last ping time to the current time since we were just talking to the API
last_ping = int(time.monotonic() * 1e9) if successful_registration else start_time
Params().put("LastSunnylinkPingTime", str(last_ping))
# Disable sunnylink if registration was not successful
if not successful_registration:
Params().put_bool("SunnylinkEnabled", False)
self.spinner = None
return sunnylink_dongle_id

View File

@@ -1,11 +1,4 @@
import os
from pathlib import Path
from openpilot.system.hardware import PC
BASEDIR = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../"))
if PC:
PERSIST = os.path.join(str(Path.home()), ".comma", "persist")
else:
PERSIST = "/persist"

View File

@@ -1,55 +1,8 @@
import os
import sys
import fcntl
import hashlib
import platform
from cffi import FFI
def suffix():
if platform.system() == "Darwin":
return ".dylib"
else:
return ".so"
def ffi_wrap(name, c_code, c_header, tmpdir="/tmp/ccache", cflags="", libraries=None):
if libraries is None:
libraries = []
cache = name + "_" + hashlib.sha1(c_code.encode('utf-8')).hexdigest()
try:
os.mkdir(tmpdir)
except OSError:
pass
fd = os.open(tmpdir, 0)
fcntl.flock(fd, fcntl.LOCK_EX)
try:
sys.path.append(tmpdir)
try:
mod = __import__(cache)
except Exception:
print(f"cache miss {cache}")
compile_code(cache, c_code, c_header, tmpdir, cflags, libraries)
mod = __import__(cache)
finally:
os.close(fd)
return mod.ffi, mod.lib
def compile_code(name, c_code, c_header, directory, cflags="", libraries=None):
if libraries is None:
libraries = []
ffibuilder = FFI()
ffibuilder.set_source(name, c_code, source_extension='.cpp', libraries=libraries)
ffibuilder.cdef(c_header)
os.environ['OPT'] = "-fwrapv -O2 -DNDEBUG -std=c++1z"
os.environ['CFLAGS'] = cflags
ffibuilder.compile(verbose=True, debug=False, tmpdir=directory)
def wrap_compiled(name, directory):
sys.path.append(directory)
mod = __import__(name)
return mod.ffi, mod.lib

View File

@@ -1,60 +1,6 @@
import os
import shutil
import tempfile
from atomicwrites import AtomicWriter
def mkdirs_exists_ok(path):
if path.startswith(('http://', 'https://')):
raise ValueError('URL path')
try:
os.makedirs(path)
except OSError:
if not os.path.isdir(path):
raise
def rm_not_exists_ok(path):
try:
os.remove(path)
except OSError:
if os.path.exists(path):
raise
def rm_tree_or_link(path):
if os.path.islink(path):
os.unlink(path)
elif os.path.isdir(path):
shutil.rmtree(path)
def get_tmpdir_on_same_filesystem(path):
normpath = os.path.normpath(path)
parts = normpath.split("/")
if len(parts) > 1 and parts[1] == "scratch":
return "/scratch/tmp"
elif len(parts) > 2 and parts[2] == "runner":
return f"/{parts[1]}/runner/tmp"
return "/tmp"
class NamedTemporaryDir():
def __init__(self, temp_dir=None):
self._path = tempfile.mkdtemp(dir=temp_dir)
@property
def name(self):
return self._path
def close(self):
shutil.rmtree(self._path)
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.close()
import contextlib
class CallbackReader:
@@ -76,24 +22,16 @@ class CallbackReader:
return chunk
def _get_fileobject_func(writer, temp_dir):
def _get_fileobject():
return writer.get_fileobject(dir=temp_dir)
return _get_fileobject
@contextlib.contextmanager
def atomic_write_in_dir(path: str, mode: str = 'w', buffering: int = -1, encoding: str = None, newline: str = None,
overwrite: bool = False):
"""Write to a file atomically using a temporary file in the same directory as the destination file."""
dir_name = os.path.dirname(path)
def atomic_write_on_fs_tmp(path, **kwargs):
"""Creates an atomic writer using a temporary file in a temporary directory
on the same filesystem as path.
"""
# TODO(mgraczyk): This use of AtomicWriter relies on implementation details to set the temp
# directory.
writer = AtomicWriter(path, **kwargs)
return writer._open(_get_fileobject_func(writer, get_tmpdir_on_same_filesystem(path)))
if not overwrite and os.path.exists(path):
raise FileExistsError(f"File '{path}' already exists. To overwrite it, set 'overwrite' to True.")
def atomic_write_in_dir(path, **kwargs):
"""Creates an atomic writer using a temporary file in the same directory
as the destination file.
"""
writer = AtomicWriter(path, **kwargs)
return writer._open(_get_fileobject_func(writer, os.path.dirname(path)))
with tempfile.NamedTemporaryFile(mode=mode, buffering=buffering, encoding=encoding, newline=newline, dir=dir_name, delete=False) as tmp_file:
yield tmp_file
tmp_file_name = tmp_file.name
os.replace(tmp_file_name, path)

42
common/git.py Normal file
View File

@@ -0,0 +1,42 @@
from functools import cache
import subprocess
from openpilot.common.run import run_cmd, run_cmd_default
@cache
def get_commit(cwd: str = None, branch: str = "HEAD") -> str:
return run_cmd_default(["git", "rev-parse", branch], cwd=cwd)
@cache
def get_commit_date(cwd: str = None, commit: str = "HEAD") -> str:
return run_cmd_default(["git", "show", "--no-patch", "--format='%ct %ci'", commit], cwd=cwd)
@cache
def get_short_branch(cwd: str = None) -> str:
return run_cmd_default(["git", "rev-parse", "--abbrev-ref", "HEAD"], cwd=cwd)
@cache
def get_branch(cwd: str = None) -> str:
return run_cmd_default(["git", "rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"], cwd=cwd)
@cache
def get_origin(cwd: str = None) -> str:
try:
local_branch = run_cmd(["git", "name-rev", "--name-only", "HEAD"], cwd=cwd)
tracking_remote = run_cmd(["git", "config", "branch." + local_branch + ".remote"], cwd=cwd)
return run_cmd(["git", "config", "remote." + tracking_remote + ".url"], cwd=cwd)
except subprocess.CalledProcessError: # Not on a branch, fallback
return run_cmd_default(["git", "config", "--get", "remote.origin.url"], cwd=cwd)
@cache
def get_normalized_origin(cwd: str = None) -> str:
return get_origin(cwd) \
.replace("git@", "", 1) \
.replace(".git", "", 1) \
.replace("https://", "", 1) \
.replace(":", "/", 1)

View File

@@ -1,6 +1,5 @@
import os
from functools import lru_cache
from typing import Optional, List
from functools import cache
def gpio_init(pin: int, output: bool) -> None:
try:
@@ -16,7 +15,7 @@ def gpio_set(pin: int, high: bool) -> None:
except Exception as e:
print(f"Failed to set gpio {pin} value: {e}")
def gpio_read(pin: int) -> Optional[bool]:
def gpio_read(pin: int) -> bool | None:
val = None
try:
with open(f"/sys/class/gpio/gpio{pin}/value", 'rb') as f:
@@ -36,8 +35,8 @@ def gpio_export(pin: int) -> None:
except Exception:
print(f"Failed to export gpio {pin}")
@lru_cache(maxsize=None)
def get_irq_action(irq: int) -> List[str]:
@cache
def get_irq_action(irq: int) -> list[str]:
try:
with open(f"/sys/kernel/irq/{irq}/actions") as f:
actions = f.read().strip().split(',')
@@ -45,7 +44,7 @@ def get_irq_action(irq: int) -> List[str]:
except FileNotFoundError:
return []
def get_irqs_for_action(action: str) -> List[str]:
def get_irqs_for_action(action: str) -> list[str]:
ret = []
with open("/proc/interrupts") as f:
for l in f.readlines():

View File

@@ -1 +0,0 @@
simple_kalman_impl.c

View File

@@ -1,5 +0,0 @@
Import('envCython')
simple_kalman_python = envCython.Program('simple_kalman_impl.so', 'simple_kalman_impl.pyx')
Export('simple_kalman_python')

View File

@@ -1,12 +0,0 @@
from openpilot.common.kalman.simple_kalman_impl import KF1D as KF1D
assert KF1D
import numpy as np
def get_kalman_gain(dt, A, C, Q, R, iterations=100):
P = np.zeros_like(Q)
for _ in range(iterations):
P = A.dot(P).dot(A.T) + dt * Q
S = C.dot(P).dot(C.T) + R
K = P.dot(C.T).dot(np.linalg.inv(S))
P = (np.eye(len(P)) - K.dot(C)).dot(P)
return K

View File

@@ -1,18 +0,0 @@
# cython: language_level = 3
cdef class KF1D:
cdef public:
double x0_0
double x1_0
double K0_0
double K1_0
double A0_0
double A0_1
double A1_0
double A1_1
double C0_0
double C0_1
double A_K_0
double A_K_1
double A_K_2
double A_K_3

View File

@@ -1,37 +0,0 @@
# distutils: language = c++
# cython: language_level=3
cdef class KF1D:
def __init__(self, x0, A, C, K):
self.x0_0 = x0[0][0]
self.x1_0 = x0[1][0]
self.A0_0 = A[0][0]
self.A0_1 = A[0][1]
self.A1_0 = A[1][0]
self.A1_1 = A[1][1]
self.C0_0 = C[0]
self.C0_1 = C[1]
self.K0_0 = K[0][0]
self.K1_0 = K[1][0]
self.A_K_0 = self.A0_0 - self.K0_0 * self.C0_0
self.A_K_1 = self.A0_1 - self.K0_0 * self.C0_1
self.A_K_2 = self.A1_0 - self.K1_0 * self.C0_0
self.A_K_3 = self.A1_1 - self.K1_0 * self.C0_1
def update(self, meas):
cdef double x0_0 = self.A_K_0 * self.x0_0 + self.A_K_1 * self.x1_0 + self.K0_0 * meas
cdef double x1_0 = self.A_K_2 * self.x0_0 + self.A_K_3 * self.x1_0 + self.K1_0 * meas
self.x0_0 = x0_0
self.x1_0 = x1_0
return [self.x0_0, self.x1_0]
@property
def x(self):
return [[self.x0_0], [self.x1_0]]
@x.setter
def x(self, x):
self.x0_0 = x[0][0]
self.x1_0 = x[1][0]

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