Compare commits

..

2495 Commits

Author SHA1 Message Date
DevTekVE
bfc9ae2d2f Re enable sentry and swaglog handler for device metadata & crash information 2025-09-02 16:07:41 +02:00
DevTekVE
acc519daf2 Revert "bump more panda"
This reverts commit a9f2f54bcc.
2024-12-08 17:02:09 +01:00
DevTekVE
a9f2f54bcc bump more panda 2024-12-08 16:54:34 +01:00
Kumar
fa9234afa0 ui: Fix Night Brightness (#33984) 2024-11-16 12:00:39 -07:00
rav4kumar
6b789c3380 update change log 2024-09-29 17:35:57 -07:00
Kumar
fd4d4eec0d Toyota: drive mode selector (#437)
drive mode selector
2024-09-29 17:27:25 -07:00
Kumar
c1107924ae CTV 2.0: GlideTech (#436)
smooth, effortless movement
2024-09-29 17:14:17 -07:00
Kumar
aa34714b42 ui: refactor rocket ui (#435)
rockettttt
2024-09-28 19:14:48 -07:00
Kumar
674670dfa7 dec v 2.0 (#434)
* dec update

* date
2024-09-28 19:08:02 -07:00
Kumar
9feffca58a new api: human like long control v1.1 (#414)
* lowspeed

* slight increase
2024-08-19 21:03:20 -07:00
rav4kumar
a4faa41331 return: human api 2024-08-15 05:26:06 -07:00
Jason Wen
4fcd982225 Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into master-dev-c3
# Conflicts:
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/mazda/interface.py
#	selfdrive/car/nissan/interface.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/volkswagen/interface.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/lib/drive_helpers.py
#	system/manager/manager.py
2024-08-13 19:15:33 -04:00
Jason Wen
b2cdfc09ae Longitudinal: Refactor Experimental Mode toggle with distance button hold (#409)
* init

* deprecated

* in controlsd directly

* update

* unused

* combine

* only once

* fix

* better

* cleanup

* more

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

* cruise main state

* v cruise non pcm state

* acc mads combo

* cancel cruise state

* sp common state

* sp event

* custom stock long

* started mads

* v cruise non pcm state old

* acc mads old

* started mads old
2024-08-13 15:57:27 -04:00
Jason Wen
ddf69de7e0 Hyundai Longitudinal: Enable radar tracks based on availability (#406)
* Hyundai Longitudinal: Enable radar tracks based on availability

* don't loop

* just 2

* missed

* missed

* fix

* do this

* every time

* quicker

* less

* nope

* more

* cleanup
2024-08-13 15:50:35 -04:00
Jason Wen
c351b3aef3 fix gm 2024-08-13 14:53:15 -04:00
Jason Wen
18afbd388f Merge remote-tracking branch 'sunnypilot/sunnypilot/ctv1' into master-dev-c3 2024-08-13 01:22:02 -04:00
Jason Wen
2fc1fff88b Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-13 01:19:22 -04:00
Jason Wen
d7f502f4ea diff 2024-08-13 01:19:10 -04:00
Jason Wen
b9d3816fbe back 2024-08-13 01:17:50 -04:00
Jason Wen
2344718941 Merge branch 'exp-hold-fix' into master-dev-c3 2024-08-13 01:07:22 -04:00
Jason Wen
0ced91c982 better 2024-08-13 01:05:16 -04:00
Jason Wen
9a78cb4f16 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-13 00:56:28 -04:00
Jason Wen
eb1e67f2bb more 2024-08-13 00:56:19 -04:00
Jason Wen
a9409a94cf nope 2024-08-12 23:19:53 -04:00
Jason Wen
df1dea34f9 extra 2024-08-12 18:49:49 -04:00
Jason Wen
b1cd16f1e0 Merge branch 'exp-hold-fix' into master-dev-c3 2024-08-12 18:48:40 -04:00
Jason Wen
853fed447d fix 2024-08-12 18:38:09 -04:00
Jason Wen
4ef2afa413 only once 2024-08-12 18:05:30 -04:00
Jason Wen
1866fff33f combine 2024-08-12 17:53:51 -04:00
Jason Wen
18974df258 unused 2024-08-12 17:52:00 -04:00
Jason Wen
47d3d1f8a3 update 2024-08-12 17:51:21 -04:00
Jason Wen
0bf65192a2 in controlsd directly 2024-08-12 17:49:53 -04:00
Jason Wen
224c0457d8 deprecated 2024-08-12 17:36:27 -04:00
Jason Wen
56faf20801 init 2024-08-12 17:33:29 -04:00
Kumar
67c9b03216 ctv1 2024-08-12 13:29:36 -07:00
Jason Wen
cba4c552f3 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-12 14:48:09 -04:00
Jason Wen
f3834c56ca a lead instead 2024-08-12 14:47:56 -04:00
Jason Wen
3c56d25e28 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-12 10:41:44 -04:00
Jason Wen
28234524bc less 2024-08-12 10:41:37 -04:00
Jason Wen
b87d95f98f Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-11 23:58:45 -04:00
Jason Wen
168217ba4d Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into master-dev-c3
# Conflicts:
#	common/params.cc
#	selfdrive/car/hyundai/interface.py
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
#	selfdrive/ui/translations/main_ar.ts
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_es.ts
#	selfdrive/ui/translations/main_fr.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_pt-BR.ts
#	selfdrive/ui/translations/main_th.ts
#	selfdrive/ui/translations/main_tr.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
2024-08-11 23:58:39 -04:00
Jason Wen
ed2b216348 quicker 2024-08-11 23:54:44 -04:00
Jason Wen
aca4181ae3 Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into hkg-mando-radar-edge 2024-08-11 23:33:06 -04:00
Jason Wen
69f88da9c5 Hyundai Longitudinal: Enable Cruise Main when started (#391)
* Hyundai Longitudinal: Enable Cruise Main when started

* don't do this for the ancients (@devtekve 😉)

* okay, toggle per @devtekve xD

* update texts

* non pcm only

* translations
2024-08-11 23:32:43 -04:00
Jason Wen
117ad3b3ef Hyundai Longitudinal: Match stock timestep for ESCC and Camera-based SCC (#407)
Hyundai ESCC: Match stock timestep
2024-08-11 23:29:42 -04:00
Jason Wen
6f3e44f76e MADS: Hyundai: Skip cruise main button check with pcmCruise (#405)
* MADS: Hyundai: Skip cruise main button check with `pcmCruise`

* 2 modes!
2024-08-11 23:21:31 -04:00
Jason Wen
8fec62a23a Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-11 22:06:20 -04:00
Jason Wen
976ebfd185 every time 2024-08-11 22:06:12 -04:00
Jason Wen
f8e1455ced do this 2024-08-11 21:57:28 -04:00
Jason Wen
3a1eba95bf Merge branch 'car-interface-cleanup' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2024-08-11 17:54:55 -04:00
Jason Wen
9183330354 Merge branch 'escc-hz' into master-dev-c3 2024-08-11 00:49:36 -04:00
Jason Wen
192e07736d Hyundai ESCC: Match stock timestep 2024-08-11 00:49:22 -04:00
Jason Wen
ddd955b5d7 Revert "try skipping"
This reverts commit 8c20f15a49.
2024-08-10 23:47:31 -04:00
Jason Wen
2c5e86daef Revert "how about this"
This reverts commit 51fa3c3428.
2024-08-10 23:45:38 -04:00
Jason Wen
42fed80964 Revert "no"
This reverts commit 6e48f282ac.
2024-08-10 23:45:38 -04:00
Jason Wen
5bcd599085 Revert "how about this?"
This reverts commit 6df203030f.
2024-08-10 23:45:37 -04:00
Jason Wen
6df203030f how about this? 2024-08-10 23:44:12 -04:00
Jason Wen
6e48f282ac no 2024-08-10 23:40:45 -04:00
Jason Wen
51fa3c3428 how about this 2024-08-10 23:39:46 -04:00
Jason Wen
8c20f15a49 try skipping 2024-08-10 23:16:08 -04:00
Jason Wen
3dff89fa3b Revert "try this out"
This reverts commit dd939da69b.
2024-08-10 23:13:16 -04:00
Jason Wen
a77fcc7908 Revert "and this"
This reverts commit d4b2418bdf.
2024-08-10 23:13:15 -04:00
Jason Wen
d4b2418bdf and this 2024-08-10 22:37:34 -04:00
Jason Wen
dd939da69b try this out 2024-08-10 22:27:23 -04:00
Jason Wen
c6ca12c239 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 21:02:32 -04:00
Jason Wen
d78952be99 fix 2024-08-10 21:02:25 -04:00
Jason Wen
f3bada6231 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 20:55:49 -04:00
Jason Wen
ecb7912921 missed 2024-08-10 20:55:40 -04:00
Jason Wen
e89fc4fc5f No need 2024-08-10 16:51:38 -04:00
Jason Wen
37fc9c2641 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 14:54:20 -04:00
Jason Wen
bd79e994b4 missed 2024-08-10 14:54:13 -04:00
Jason Wen
8f4ce58bf3 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 14:45:59 -04:00
Jason Wen
1698402927 just 2 2024-08-10 14:45:47 -04:00
Jason Wen
1b294b5a4c Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 13:46:23 -04:00
Jason Wen
c4042e61c4 don't loop 2024-08-10 13:46:07 -04:00
Jason Wen
b77ce67559 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-10 12:11:44 -04:00
Jason Wen
806487a0ca only op long cars 2024-08-10 12:11:30 -04:00
Jason Wen
5515c6604a Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-10 11:57:57 -04:00
Jason Wen
150609dc83 only trigger once? 2024-08-10 11:57:35 -04:00
Jason Wen
e2fd3e109b more 2024-08-10 11:17:38 -04:00
Jason Wen
26e0c38d09 Merge branch 'mads-hkg-main-race' into master-dev-c3 2024-08-10 11:00:18 -04:00
Jason Wen
4e3d726cbf 2 modes! 2024-08-10 11:00:05 -04:00
Jason Wen
789fc28496 Merge branch 'hkg-mando-radar-edge' into master-dev-c3 2024-08-10 10:48:02 -04:00
Jason Wen
490787f6b9 Hyundai Longitudinal: Enable radar tracks based on availability 2024-08-10 10:47:30 -04:00
Jason Wen
721b7f6f6d Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-09 20:54:14 -04:00
Jason Wen
b32e2c384d lower stop accel for non ice 2024-08-09 20:54:03 -04:00
Jason Wen
17d326ba69 Revert "this finna wild"
This reverts commit 20ca222d56.
2024-08-09 20:53:13 -04:00
Jason Wen
7d2396f2e6 Merge branch 'hkg-can-jerk' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
2024-08-09 18:03:34 -04:00
Jason Wen
20ca222d56 this finna wild 2024-08-09 18:01:53 -04:00
Jason Wen
0c88b142e6 completely remove 2024-08-09 11:09:18 -04:00
Jason Wen
88ae25d3bc Merge branch 'mads-hkg-main-race' into master-dev-c3 2024-08-08 21:24:14 -04:00
Jason Wen
fd7f562c87 MADS: Hyundai: Skip cruise main button check with pcmCruise 2024-08-08 21:23:58 -04:00
Jason Wen
0d303a657b Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-08 21:00:50 -04:00
Jason Wen
69be3fdb1b only ice 2024-08-08 20:59:27 -04:00
Jason Wen
155b4b3314 get the car moving pls 2024-08-08 20:52:59 -04:00
Jason Wen
48247ce8da less 2024-08-08 16:07:25 -04:00
Jason Wen
72101c51ee Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-07 13:23:53 -04:00
Jason Wen
560b6e79bc more checks 2024-08-07 13:23:40 -04:00
Jason Wen
c3eec36f4f speed logic 2024-08-07 13:15:00 -04:00
Jason Wen
2bc9bce697 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-07 11:21:31 -04:00
Jason Wen
bd5228e394 check ttc 2024-08-07 11:21:11 -04:00
Jason Wen
b1ac575563 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-07 07:48:03 -04:00
Jason Wen
368a5e3eb4 oops 2024-08-07 07:47:52 -04:00
Jason Wen
adb5c8ee26 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-07 07:16:54 -04:00
Jason Wen
b95ba34a9c fix 2024-08-07 07:16:47 -04:00
Jason Wen
ee3885428b Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-07 00:16:28 -04:00
Jason Wen
ffd42b02b8 sportier 2024-08-07 00:16:18 -04:00
Jason Wen
9dcb0d5ec3 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 23:42:39 -04:00
Jason Wen
bacb49d8ee fix 2024-08-06 23:42:31 -04:00
Jason Wen
fa4ae1367f back to stock 2024-08-06 22:54:13 -04:00
Jason Wen
1eafceb321 fix 2024-08-06 20:46:06 -04:00
Jason Wen
e4c6ea8561 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 20:22:20 -04:00
Jason Wen
3c168d0975 send it 2024-08-06 20:22:10 -04:00
Jason Wen
f621aaf11f Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 18:54:59 -04:00
Jason Wen
c6fa48d166 no starting state for non-ICE 2024-08-06 18:54:46 -04:00
Jason Wen
2a383c65b8 a tad less aggressive 2024-08-06 17:26:37 -04:00
Jason Wen
78f297246d Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 01:05:17 -04:00
Jason Wen
8da8986135 need to stop this too 2024-08-06 01:05:07 -04:00
Jason Wen
221f2648a9 lower matches a bit more 2024-08-06 01:03:24 -04:00
Jason Wen
6f28cd27dd Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 00:51:15 -04:00
Jason Wen
039fd97e6e more aggro 2024-08-06 00:51:05 -04:00
Jason Wen
9f55881f9f Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-06 00:49:56 -04:00
Jason Wen
db593e718f diff logic 2024-08-06 00:48:40 -04:00
Jason Wen
67f5afb7a2 default vEgoStarting 2024-08-06 00:48:32 -04:00
Jason Wen
5df890546f lower stop accel 2024-08-06 00:44:59 -04:00
Jason Wen
c0fce827ea Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-05 22:52:27 -04:00
Jason Wen
a5b4e1bb4b wrong place to condition 2024-08-05 22:52:18 -04:00
Jason Wen
dae3648cef Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-05 19:54:45 -04:00
Jason Wen
d31cde7066 hkg only 2024-08-05 19:54:34 -04:00
Jason Wen
674a19a5cf Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-05 19:38:03 -04:00
Jason Wen
1ef7574a3f try releasing stop req faster 2024-08-05 19:37:40 -04:00
Jason Wen
d979148643 different start accel and less stopping accel 2024-08-05 19:04:09 -04:00
Jason Wen
a4dc264970 left this out wow 2024-08-05 18:26:42 -04:00
Jason Wen
b3543efcb3 started mads 2024-08-05 17:58:52 -04:00
Jason Wen
c607d8aa04 custom stock long 2024-08-05 17:44:53 -04:00
Jason Wen
7408ea04d4 sp event 2024-08-05 17:38:27 -04:00
Jason Wen
5cf9cd7888 sp common state 2024-08-05 17:34:32 -04:00
Jason Wen
6dc9f288bd cancel cruise state 2024-08-05 17:26:46 -04:00
Jason Wen
c2c80a0c1a acc mads combo 2024-08-05 17:24:06 -04:00
Jason Wen
5ac2ec83aa v cruise non pcm state 2024-08-05 17:20:22 -04:00
Jason Wen
d321805ca4 cruise main state 2024-08-05 17:16:03 -04:00
Jason Wen
75497796b9 deprecated 2024-08-05 17:15:53 -04:00
Jason Wen
5986c6611e oops forgot to push 2024-08-05 13:43:40 -04:00
Jason Wen
dc9a8ddca7 Oops 2024-08-04 17:11:22 -04:00
Jason Wen
c70db1030c Toyota: comma Pedal: Fix upstream merge conflicts (#393) 2024-08-04 12:09:00 -04:00
Jason Wen
5484d8e185 Merge branch 'toyota-pedal-upstream-fix' into master-dev-c3 2024-08-04 12:07:37 -04:00
Jason Wen
a59f0e3c48 Toyota: comma Pedal: Fix upstream merge conflicts 2024-08-04 12:07:15 -04:00
Jason Wen
cf867c8e24 Merge branch 'hkg-can-jerk' into master-dev-c3
# Conflicts:
#	selfdrive/controls/lib/longcontrol.py
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
2024-08-04 11:03:19 -04:00
Jason Wen
251716a67d less aggressive start, lower stop accel, send 0 accel at standstill 2024-08-04 11:02:06 -04:00
Jason Wen
5aef30a9cd Only HKG 2024-08-04 10:21:50 -04:00
Jason Wen
5002f3fc73 only for hkg 2024-08-04 09:11:02 -04:00
Jason Wen
b61f75a8fb remove from sync 2024-08-04 09:10:43 -04:00
Jason Wen
b94543ea25 Merge branch 'master' into hkg-can-jerk
# Conflicts:
#	.gitlab-ci.yml
#	SConstruct
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/hyundaicanfd.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/mazda/interface.py
#	selfdrive/car/subaru/interface.py
#	selfdrive/car/volkswagen/interface.py
#	selfdrive/ui/SConscript
#	selfdrive/ui/qt/onroad/annotated_camera.cc
#	selfdrive/ui/sunnypilot/SConscript
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_settings.cc
#	system/manager/process_config.py
2024-08-04 09:08:04 -04:00
Jason Wen
147742568b Merge branch 'hkg-cruise-main-default' into master-dev-c3
# Conflicts:
#	common/params.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
2024-08-04 08:33:19 -04:00
Jason Wen
8955d1b043 okay, toggle per @devtekve xD 2024-08-04 08:32:31 -04:00
Jason Wen
267f809464 Merge branch 'hkg-cruise-main-default' into master-dev-c3 2024-08-04 07:51:39 -04:00
Jason Wen
1cfe485954 don't do this for the ancients (@devtekve 😉) 2024-08-04 07:50:46 -04:00
Jason Wen
f635a0812c Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into master-dev-c3 2024-08-04 07:29:07 -04:00
Jason Wen
19afa83ce1 Bump submodules 2024-08-04 07:25:09 -04:00
Jason Wen
2f54a5250e Merge branch 'hkg-cruise-main-default' into master-dev-c3 2024-08-03 21:49:40 -04:00
Jason Wen
1757e77aaa Hyundai Longitudinal: Enable Cruise Main when started 2024-08-03 21:49:05 -04:00
Jason Wen
6790440b24 Merge branch 'master' into master-dev-c3
# Conflicts:
#	.gitmodules
#	README.md
#	panda
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/controls/radard.py
2024-08-03 21:41:02 -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
Jason Wen
aa831ca69c Merge remote-tracking branch 'commaai/openpilot/master' into master-dev-c3 2024-08-03 20:21:32 -04:00
Jason Wen
66bba6c032 Fix from sync 2024-08-03 17:01:21 -04:00
Jason Wen
d1908ca1d9 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-03 16:00:04 -04:00
Jason Wen
48371eb089 use CAN-FD tune for every car 2024-08-03 15:58:49 -04:00
Jason Wen
758449a12b Merge branch 'sync-20240803' into master-dev-c3
# Conflicts:
#	cereal/messaging/__init__.py
#	panda
2024-08-03 15:42:50 -04:00
DevTekVE
4ec8cb3700 Refactor update process execution.
Changed update process execution from a Python to a native process. Updated signal-based process control to match new process configurations.
2024-08-03 18:42:26 +02:00
Jason Wen
7b294d9763 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20240802
# Conflicts:
#	.gitmodules
#	README.md
#	cereal/services.py
#	msgq_repo
#	opendbc~HEAD
#	opendbc~commaai_openpilot_master
#	panda
#	selfdrive/car/__init__.py
#	selfdrive/car/chrysler/carcontroller.py
#	selfdrive/car/honda/carcontroller.py
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/hyundaican.py
#	selfdrive/car/interfaces.py
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/car/volkswagen/carcontroller.py
#	selfdrive/controls/lib/drive_helpers.py
#	selfdrive/controls/radard.py
#	selfdrive/locationd/paramsd.py
#	selfdrive/locationd/torqued.py
#	selfdrive/ui/translations/main_es.ts
#	system/athena/athenad.py
Merge branch 'upstream/opendbc/master' into sync-20240802

# Conflicts:
#	opendbc/dbc/generator/honda/_dual_nidec_common.dbc
#	opendbc/dbc/generator/honda/honda_accord_touring_2016_can.dbc
#	opendbc/dbc/generator/honda/honda_accord_touring_V6_2016_can.dbc
#	opendbc/dbc/generator/honda/honda_accord_touring_hybrid_2017_can.dbc
#	opendbc/dbc/generator/toyota/_sp_debug_toyota.dbc
2024-08-03 10:26:13 -04: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
Jason Wen
1fb3ab1d1a no more body 2024-08-02 18:45:59 -04: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
Jason Wen
38b2d9670c Merge branch 'sunnylink-connection-flow-improvement' into master-dev-c3 2024-08-02 11:34:16 -04:00
Jason Wen
8323ab0647 Merge remote-tracking branch 'sunnypilot/sunnypilot/master' into sunnylink-connection-flow-improvement 2024-08-02 11:34:05 -04:00
Jason Wen
cbd8d9cc44 Merge branch 'ci-notifications-fix' into master-dev-c3 2024-08-02 11:27:49 -04:00
Jason Wen
5f1d0a535f ci: Update build number on dev builds with Discord notification 2024-08-02 11:27:29 -04:00
Jason Wen
59051d1b84 Merge branch 'master' into master-dev-c3
# Conflicts:
#	.gitlab-ci.yml
2024-08-02 10:50:38 -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
DevTekVE
59ca1374a0 Improving authentication mechanism for the websocket and help with local dev 2024-08-02 16:07:46 +02:00
Jason Wen
8d7a10c06c Merge branch 'all-params-fix' into master-dev-c3 2024-08-02 09:57:52 -04:00
Jason Wen
043de47ed1 car: Fix typo with ParamManager variable 2024-08-02 09:56:44 -04:00
DevTekVE
1972ef8c49 updating gitmodule to proper panda 2024-08-02 14:55:14 +02:00
DevTekVE
ea7a280daa Revert "Add .git-crypt and .venv to the blacklist"
This reverts commit f51a6f54

Revert "Add git-crypt unlock attempt in provision script"

This reverts commit f4dac4b4

Revert "ci: git-crypt: Decrypt prior to building"

This reverts commit faf52492b6.

Revert "git-crypt: add collaborators"

This reverts commit bc1aad6f6a.
2024-08-02 14:04:36 +02:00
DevTekVE
ee285b9f0b Merge remote-tracking branch 'origin/master' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/hyundaicanfd.py
2024-08-02 13:40:32 +02: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
Jason Wen
c8556f340e Merge branch 'car-all-params' into master-dev-c3 2024-08-01 19:11:26 -04:00
Jason Wen
519497c62a Merge branch 'master' into master-dev-c3 2024-08-01 19:10:02 -04:00
Jason Wen
6e381f02ba car: Move all live param checks to ParamManger 2024-08-01 18:47:14 -04:00
Jason Wen
08afbd7cb5 car: Check params before car state is updated (#364)
* car: Check params before car state is updated

* read params in a thread instead

* initialize list

* Do this instead

* type hint

* ParamManager

* make them internal
2024-08-01 18:12:27 -04:00
DevTekVE
9d050f8afa Merge remote-tracking branch 'refs/remotes/origin/master' into master-dev-c3
# Conflicts:
#	.gitlab-ci.yml
2024-08-01 21:52:47 +02:00
DevTekVE
f311c8b1d7 No auto publish for dev-c3 or release-c3 2024-08-01 20:09:17 +02:00
Jason Wen
9d5c3e65b5 Merge branch 'mads-hkg-available-fix' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/hyundaicanfd.py
2024-08-01 13:29:47 -04:00
Jason Wen
9aa452a3c6 wtf how did i miss 2024-08-01 13:29:07 -04:00
Jason Wen
3f04a9872a Merge branch 'car-params-check' into master-dev-c3 2024-08-01 13:28:04 -04:00
Jason Wen
891cba85da make them internal 2024-08-01 13:27:31 -04: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
e394b525cd Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-08-01 10:28:37 -04:00
Jason Wen
fefe083842 oops 2024-08-01 10:28:31 -04:00
Jason Wen
f467b416dd Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-08-01 10:27:04 -04:00
Jason Wen
da9d4917b0 Merge branch 'master' into mads-hkg-available-fix 2024-08-01 10:26:50 -04:00
Jason Wen
54d5281064 MADS: Map cruise main and lateral buttons to button events (#373)
* MADS: Map cruise main and lateral buttons to button events
* MADS: Map cruise main and lateral buttons to button events

* different style

* nah

(cherry picked from commit 4d7afe3a7b)

* reimplement
2024-08-01 10:26:27 -04:00
Jason Wen
2de756f1dc Merge branch 'car-params-check' into master-dev-c3 2024-08-01 07:47:13 -04:00
Jason Wen
29bf1cc294 ParamManager 2024-08-01 07:46:57 -04:00
Jason Wen
9a8c469fdb Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-01 06:41:30 -04:00
Jason Wen
9ad059f05e wrong logic 2024-08-01 06:41:26 -04:00
Jason Wen
0a61323c99 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-01 06:28:53 -04:00
Jason Wen
f79ed8f06b enable for CAN-FD 2024-08-01 06:28:50 -04:00
Jason Wen
e67e1a382f Merge branch 'hkg-can-jerk' into master-dev-c3 2024-08-01 06:28:27 -04:00
Jason Wen
257f3c1f48 enable for CAN-FD 2024-08-01 06:28:20 -04:00
Jason Wen
c2405c76ac Merge branch 'hkg-can-jerk' into master-dev-c3
# Conflicts:
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
2024-08-01 06:16:15 -04:00
Jason Wen
0c78b6b9b8 maybe this is why it has been iffy 2024-08-01 06:15:26 -04:00
Jason Wen
fcca72af9f add new toggle, remove old toggle 2024-08-01 06:13:34 -04:00
Jason Wen
b0a4b7f8ac type hint 2024-07-31 20:49:22 -04:00
Jason Wen
92500628ad Merge branch 'car-params-check' into master-dev-c3 2024-07-31 20:38:35 -04:00
Jason Wen
544531ab91 Do this instead 2024-07-31 20:38:28 -04:00
Jason Wen
1dfb6811db Merge branch 'car-params-check' into master-dev-c3 2024-07-31 20:30:37 -04:00
Jason Wen
e136db1262 initialize list 2024-07-31 20:30:26 -04:00
Jason Wen
e45e02c261 Merge branch 'master' into master-dev-c3 2024-07-31 19:47:46 -04:00
Jason Wen
fa3a0ba747 CI: Update prebuilt repository URL (#374) 2024-07-31 19:47:34 -04:00
Jason Wen
21795afca8 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-31 19:33:43 -04:00
Jason Wen
381b514230 new tuning! 2024-07-31 19:33:28 -04:00
Jason Wen
6e77432c5e Merge branch 'new-button-events-2' into master-dev-c3 2024-07-31 18:47:44 -04:00
Jason Wen
17ec157659 reimplement 2024-07-31 18:47:12 -04:00
Jason Wen
edddc496d6 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)
2024-07-31 18:47:11 -04:00
Jason Wen
b3926faebb Revert "MADS: Map cruise main and lateral buttons to button events" (#372)
Revert "MADS: Map cruise main and lateral buttons to button events (#361)"

This reverts commit 4d7afe3a7b.
2024-07-31 18:41:17 -04:00
Jason Wen
3c60734760 Merge branch 'pcm-long-disengage' into master-dev-c3 2024-07-31 17:04:11 -04:00
Jason Wen
053b07e4c0 honda only 2024-07-31 17:04:00 -04: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
Jason Wen
e615f34490 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-31 00:03:17 -04:00
Jason Wen
d472f129e6 stock stop distance again 2024-07-31 00:03:04 -04:00
Jason Wen
74481be4ff same rate up/down 2024-07-31 00:02:04 -04:00
Jason Wen
1dd9ed1042 more aggressive jerk 2024-07-31 00:00:09 -04:00
Jason Wen
9c02257bcf Merge branch 'pcm-long-disengage' into master-dev-c3 2024-07-30 23:57:13 -04:00
Jason Wen
03722f9090 try this out 2024-07-30 23:57:04 -04:00
Jason Wen
7da934c2c0 Merge branch 'car-params-check' into master-dev-c3 2024-07-30 23:06:18 -04:00
Jason Wen
afb0c3fe42 read params in a thread instead 2024-07-30 22:59:47 -04:00
Jason Wen
b2ba2aaab1 car: Check params before car state is updated 2024-07-30 17:49:49 -04:00
Jason Wen
7a85b34024 Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-30 17:46:30 -04:00
Jason Wen
b4fd73141e not needed 2024-07-30 17:46:24 -04:00
Jason Wen
0c7268567f Merge branch 'mads-hkg-available-fix' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2024-07-30 14:17:47 -04:00
Jason Wen
bce46b63da both 2024-07-30 14:17:30 -04:00
Jason Wen
4c664020f2 handle cruise main button universally 2024-07-30 11:44:40 -04:00
Jason Wen
85e0e8b526 Merge branch 'master' into mads-hkg-available-fix
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2024-07-30 11:22:13 -04:00
Jason Wen
4d7afe3a7b MADS: Map cruise main and lateral buttons to button events (#361)
* MADS: Map cruise main and lateral buttons to button events

* different style

* nah
2024-07-30 10:58:35 -04:00
Jason Wen
a4a7e76ddf Merge branch 'pcm-long-disengage' into master-dev-c3 2024-07-29 21:18:41 -04:00
Jason Wen
6185b82ed3 MADS: Honda: Fix PCM ACC disengage fault 2024-07-29 21:18:09 -04:00
Jason Wen
4e237e59a5 Translations: Add untranslated 2024-07-29 21:01:11 -04:00
Jason Wen
957e6666a5 License: Loosen restrictions 2024-07-29 18:27:40 -04:00
Jason Wen
7935c2bea9 dev-c3 still uses priv 2024-07-29 15:47:56 -04:00
Jason Wen
d80dceee92 Merge branch 'mads-hkg-available-fix' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2024-07-29 15:46:37 -04:00
Jason Wen
bdb7fa4bf8 same behavior 2024-07-29 15:44:05 -04:00
Jason Wen
294476fc33 oops flipped main 2024-07-29 15:38:30 -04:00
Jason Wen
faff375b94 make sure main button is pressed 2024-07-29 15:38:30 -04:00
Jason Wen
4a53caff37 this is better 2024-07-29 15:38:30 -04:00
Jason Wen
e6970ea15b handle states properly 2024-07-29 15:38:29 -04:00
Jaosn Wen
c923a249df MADS: HKG CAN-FD: Disallow cruise buttons to engage when pcmCruiseSpeed is off 2024-07-29 15:38:29 -04:00
Jason Wen
33fbf2718c Merge branch 'master' into master-dev-c3 2024-07-29 15:25:53 -04:00
Jason Wen
1f770e1bea Submodule: Point to panda on GitHub 2024-07-29 15:25:44 -04:00
Jason Wen
8c37e54ed9 Merge branch 'new-button-events' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/interface.py
2024-07-29 15:20:53 -04:00
Jason Wen
a7abe8c522 Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-29 15:19:22 -04:00
Jason Wen
8cc99f0cd0 Merge branch 'master' into mads-hkg-available-fix
# Conflicts:
#	SConstruct
#	selfdrive/ui/SConscript
#	selfdrive/ui/sunnypilot/SConscript
2024-07-29 15:19:03 -04:00
Jason Wen
b8d3f9a16f use upstream msgq 2024-07-29 15:16:50 -04:00
Jason Wen
5382db2b19 missed from merge 2024-07-29 15:15:46 -04:00
Jason Wen
2734aa7eb7 Merge branch 'master' into master-dev-c3
# Conflicts:
#	.gitlab-ci.yml
#	CHANGELOGS.md
#	SConstruct
#	panda
#	selfdrive/car/ford/carstate.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/ui/qt/api.h
#	selfdrive/ui/qt/home.cc
#	selfdrive/ui/qt/home.h
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/offroad_home.cc
#	selfdrive/ui/qt/offroad_home.h
#	selfdrive/ui/qt/onroad/buttons.cc
#	selfdrive/ui/qt/onroad/buttons.h
#	selfdrive/ui/qt/onroad/onroad_home.h
#	selfdrive/ui/qt/request_repeater.cc
#	selfdrive/ui/qt/request_repeater.h
#	selfdrive/ui/qt/sidebar.h
#	selfdrive/ui/qt/widgets/toggle.h
#	selfdrive/ui/qt/window.h
#	selfdrive/ui/sunnypilot/qt/api.cc
#	selfdrive/ui/sunnypilot/qt/api.h
#	selfdrive/ui/sunnypilot/qt/common/json_fetcher.h
#	selfdrive/ui/sunnypilot/qt/home.cc
#	selfdrive/ui/sunnypilot/qt/home.h
#	selfdrive/ui/sunnypilot/qt/maps/map.cc
#	selfdrive/ui/sunnypilot/qt/maps/map.h
#	selfdrive/ui/sunnypilot/qt/maps/map_helpers.h
#	selfdrive/ui/sunnypilot/qt/network/networking.cc
#	selfdrive/ui/sunnypilot/qt/network/networking.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/models/role_model.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/models/sponsor_role_model.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/models/user_model.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/base_device_service.cc
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/base_device_service.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/role_service.cc
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/role_service.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/user_service.cc
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/services/user_service.h
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/sunnylink_client.cc
#	selfdrive/ui/sunnypilot/qt/network/sunnylink/sunnylink_client.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/display_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/display_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/onboarding.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/onboarding.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/osm/models_fetcher.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/osm_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/osm_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/software_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/software_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnylink_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnylink_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/custom_offsets_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/custom_offsets_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/lane_change_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/lane_change_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/mads_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/mads_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/speed_limit_control_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/speed_limit_policy_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/speed_limit_warning_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/trips_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/trips_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_settings.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_settings.h
#	selfdrive/ui/sunnypilot/qt/offroad_home.cc
#	selfdrive/ui/sunnypilot/qt/offroad_home.h
#	selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.cc
#	selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.h
#	selfdrive/ui/sunnypilot/qt/onroad/buttons.cc
#	selfdrive/ui/sunnypilot/qt/onroad/buttons.h
#	selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.cc
#	selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.h
#	selfdrive/ui/sunnypilot/qt/onroad/developer_ui/ui_elements.h
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_home.cc
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.cc
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.h
#	selfdrive/ui/sunnypilot/qt/request_repeater.cc
#	selfdrive/ui/sunnypilot/qt/request_repeater.h
#	selfdrive/ui/sunnypilot/qt/sidebar.cc
#	selfdrive/ui/sunnypilot/qt/sidebar.h
#	selfdrive/ui/sunnypilot/qt/text.cc
#	selfdrive/ui/sunnypilot/qt/ui_scene.h
#	selfdrive/ui/sunnypilot/qt/util.cc
#	selfdrive/ui/sunnypilot/qt/util.h
#	selfdrive/ui/sunnypilot/qt/widgets/controls.cc
#	selfdrive/ui/sunnypilot/qt/widgets/controls.h
#	selfdrive/ui/sunnypilot/qt/widgets/drive_stats.cc
#	selfdrive/ui/sunnypilot/qt/widgets/drive_stats.h
#	selfdrive/ui/sunnypilot/qt/widgets/scrollview.cc
#	selfdrive/ui/sunnypilot/qt/widgets/scrollview.h
#	selfdrive/ui/sunnypilot/qt/widgets/toggle.cc
#	selfdrive/ui/sunnypilot/qt/widgets/toggle.h
#	selfdrive/ui/sunnypilot/qt/window.cc
#	selfdrive/ui/sunnypilot/qt/window.h
#	selfdrive/ui/sunnypilot/sunnypilot_main.h
#	selfdrive/ui/sunnypilot/ui.cc
#	selfdrive/ui/sunnypilot/ui.h
#	selfdrive/ui/translations/main_ar.ts
#	selfdrive/ui/translations/main_de.ts
#	selfdrive/ui/translations/main_es.ts
#	selfdrive/ui/translations/main_fr.ts
#	selfdrive/ui/translations/main_ja.ts
#	selfdrive/ui/translations/main_ko.ts
#	selfdrive/ui/translations/main_pt-BR.ts
#	selfdrive/ui/translations/main_th.ts
#	selfdrive/ui/translations/main_tr.ts
#	selfdrive/ui/translations/main_zh-CHS.ts
#	selfdrive/ui/translations/main_zh-CHT.ts
#	selfdrive/ui/ui.h
2024-07-29 15:12:27 -04:00
Jason Wen
707a45cb0a nah 2024-07-29 14:52:09 -04:00
Jason Wen
bda51a3a86 different style 2024-07-29 14:50:10 -04:00
Jason Wen
6c185fb6ac MADS: Map cruise main and lateral buttons to button events 2024-07-29 14:36:02 -04:00
Jason Wen
f92bc4b760 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-29 07:18:30 -04:00
Jason Wen
4a2b96ae4e Revert "dynamic stopping distance"
This reverts commit cb76fb797f.
2024-07-29 07:18:21 -04:00
Jason Wen
41d0ee236d should be reverted 2024-07-29 07:10:40 -04:00
Jason Wen
1188307175 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-29 07:10:02 -04: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
Jason Wen
b55ae7f5f9 Revert "try this to make car stop a bit further"
This reverts commit 0487294495.
2024-07-28 22:44:10 -04:00
Jason Wen
cb76fb797f dynamic stopping distance 2024-07-28 22:44:01 -04:00
Jason Wen
f9be24b154 Revert "try this to make car stop a bit further"
This reverts commit 0487294495.
2024-07-28 22:32:44 -04:00
Jason Wen
6f4ba97e3d Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-28 14:20:05 -04:00
Jason Wen
0487294495 try this to make car stop a bit further 2024-07-28 14:19:52 -04:00
Jason Wen
8f3b091381 Merge branch 'ui-sp-split' into master-dev-c3 2024-07-27 23:59:06 -04:00
Jason Wen
abe5fc9146 map: working!!! 2024-07-27 23:58:44 -04:00
Jason Wen
a47a992871 map: less 2024-07-27 23:27:46 -04:00
Jason Wen
b9785e33e7 use sp's 2024-07-27 23:26:16 -04:00
DevTekVE
93b8435eaa Merge branch 'refs/heads/ui-sp-split' into master-dev-c3 2024-07-27 23:11:53 +02:00
DevTekVE
0894686bb5 Refactor brightness update logic in DeviceSP
Remove redundant brightness calculation from DeviceSP by leveraging Device's implementation. Introduce a conditional return to handle Sunnypilot-specific logic cleanly.
2024-07-27 23:09:30 +02:00
DevTekVE
f242f6b55d No more rave 2024-07-27 23:07:19 +02:00
DevTekVE
3c8acc8c77 Add override to updateBrightness in DeviceSP
Implemented an override for the updateBrightness function in DeviceSP. This ensures proper handling of UIState type by dynamically casting it to UIStateSP.
2024-07-27 22:47:52 +02:00
Jason Wen
68330cea27 Merge branch 'ui-sp-split' into master-dev-c3 2024-07-27 15:13:32 -04:00
Jason Wen
9d0ba054f3 make sure map rendering is compiled 2024-07-27 15:08:39 -04:00
Jason Wen
c10121b570 unused 2024-07-27 14:40:50 -04:00
Jason Wen
b4c98bc72f add kona ev 2022 to can-fd 2024-07-27 14:37:02 -04:00
Jason Wen
5fcd546b77 Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-27 02:06:21 -04:00
Jason Wen
287e2fc845 Merge branch 'master-priv' into hkg-can-jerk 2024-07-27 02:05:08 -04:00
Jason Wen
59370bed7d Merge branch 'hkg-can-jerk' into master-dev-c3
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
#	selfdrive/car/hyundai/hyundaican.py
2024-07-27 02:04:20 -04:00
Jason Wen
5ba3e90676 comment 2024-07-27 02:03:15 -04:00
Jason Wen
76b8bce5d8 Merge branch 'ui-sp-split' into master-dev-c3 2024-07-27 01:50:07 -04:00
Jason Wen
bc40052344 make sure to use our UI 2024-07-27 01:49:57 -04:00
Jason Wen
348cd735f2 handle stopAccel = 0 2024-07-27 00:25:37 -04:00
Jason Wen
796e6ae924 SCC "Fast" mode 2024-07-26 23:59:56 -04:00
DevTekVE
936fc6403b Merge branch 'refs/heads/ui-sp-split' into master-dev-c3 2024-07-26 20:32:06 +02:00
DevTekVE
7f90846971 Refactor conditional process management for external scripts
Refactor the way external scripts 'gitlab_runner.sh' and 'sunnylink_uploader.py' are included in the process list based on their existence. This improves code readability and ensures that the inclusion checks are performed at a single point.
2024-07-26 19:19:37 +02:00
DevTekVE
cef4fbbdea Merge branch 'refs/heads/ui-sp-split' into master-dev-c3 2024-07-26 17:37:06 +02:00
DevTekVE
d20010ee31 Refactor option flag for UI customization
Changed the build option flag from '--sunnypilot' to '--stock-ui' to improve clarity. Updated related conditions and defaults in 'selfdrive/ui/SConscript' and 'SConstruct' files for consistency. Removed unused internal developer check logic from 'SConstruct'.
2024-07-26 17:35:45 +02:00
Jason Wen
981d150a3b different rate of change for ICE, HEV, PHEV, EV 2024-07-26 10:13:06 -04:00
Jason Wen
72a0142bf9 do this at the car level 2024-07-26 09:52:30 -04:00
DevTekVE
40f177f646 Merge branch 'refs/heads/ui-sp-split' into master-dev-c3 2024-07-26 11:25:36 +02:00
DevTekVE
f532ced4c8 Merge branch 'refs/heads/master-priv' into master-dev-c3 2024-07-26 11:25:23 +02:00
DevTekVE
0e499aa2c1 Merge branch 'refs/heads/master-priv' into ui-sp-split 2024-07-26 11:25:04 +02:00
DevTekVE
7b8a03b5f2 Add new parameters for enabling GitLab runner and Sunnylink uploader 2024-07-26 09:24:27 +00:00
DevTekVE
8465daa80f Merge conflict resolving -> EnforceTorqueLateral changed to use ToggleControlSP as expected 2024-07-26 11:05:05 +02:00
Jason Wen
eb7f4274f8 Merge conflict resolving -> custom stock long planner 2024-07-26 11:04:41 +02:00
DevTekVE
01d4d05729 Merge branch 'refs/heads/ui-sp-split' into master-dev-c3
# Conflicts:
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc
2024-07-26 10:42:53 +02:00
DevTekVE
66d98503df Merge branch 'refs/heads/master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/car/ford/carstate.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/hyundai/interface.py
2024-07-26 10:28:30 +02:00
Jason Wen
e8ca47ebfa Enhance chevron display with additional lead car metrics
Added a third chevron type to display Time-to-Collision (TTC) metrics for the lead car. Modified logic to handle the new metrics type, allowing for comprehensive data on distance, speed, and TTC. Adjusted text box dimensions as needed for the additional information.
2024-07-26 10:17:05 +02:00
DevTekVE
11059efa39 Merge branch 'refs/heads/master-priv' into ui-sp-split
# Conflicts:
#	selfdrive/ui/qt/onroad/annotated_camera.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_settings.cc
2024-07-26 10:15:03 +02:00
Jason Wen
a33d4e51c7 use jerk limit to change accel to car 2024-07-25 16:44:54 -04:00
Jason Wen
c943126d26 send 0 to car when stopping 2024-07-25 16:32:52 -04:00
Jason Wen
d4096d6234 not really needed 2024-07-25 16:26:30 -04:00
Jason Wen
7eee21f293 add back delay 2024-07-25 16:12:09 -04:00
Jason Wen
2038d9b469 send 0 at stop req 2024-07-25 15:18:34 -04:00
Jason Wen
a2eb4545da a lot less delay 2024-07-25 13:54:38 -04:00
Jason Wen
c7f2f15950 MADS: Use modern button events parsing 2024-07-25 17:23:33 +00:00
Jason Wen
97f0178d5e ui: Lead car chevron: Time to Lead Car 2024-07-25 17:16:57 +00:00
Jason Wen
bf31b2ab33 further stop distance 2024-07-24 21:22:58 -04:00
Jason Wen
1b084d7eb9 revert long mpc 2024-07-24 21:22:40 -04:00
Jason Wen
e0414b4528 0.1 interval to stopping 2024-07-24 16:57:42 -04:00
Jason Wen
2cc53b6e69 Revert "disable starting state"
This reverts commit 3f25d6f530.
2024-07-24 16:54:27 -04:00
DevTekVE
274f994fbe Merge remote-tracking branch 'refs/remotes/origin/master-priv' into ui-sp-split 2024-07-24 21:17:32 +02:00
DevTekVE
f55febc855 remove sp_priv from the names
Renamed files by removing sp_priv_ prefix
2024-07-24 21:15:39 +02:00
DevTekVE
b8a2efcb52 delting comment 2024-07-24 17:07:07 +00:00
DevTekVE
1ec52f1707 makin a nice commit from github 2024-07-24 18:58:36 +02:00
DevTekVE
ff5e9840bc cleaning up 2024-07-24 18:52:40 +02:00
DevTekVE
598e9b48db New branch from github 2024-07-24 16:46:21 +00:00
DevTekVE
aa99f3df53 Merge branch 'refs/heads/master-priv' into master-dev-c3
# Conflicts:
#	release/release_files.py
2024-07-24 10:14:34 +02:00
DevTekVE
3683e9eb0a git-crypt blacklist .git-crypt folder on the release_files.py 2024-07-24 10:14:13 +02:00
Jason Wen
c288a7792c super fast take off!!! 2024-07-23 23:30:01 -04:00
Jason Wen
3f25d6f530 disable starting state 2024-07-23 23:28:49 -04:00
Jason Wen
a3e60f92cf only send 0 when fully stopped 2024-07-23 21:53:35 -04:00
Jason Wen
597dadd45b revert 2024-07-23 21:50:50 -04:00
Jason Wen
85f726298c simplify 2024-07-23 21:49:16 -04:00
Jason Wen
80c1aa0f0c only do rate of change in pid mode 2024-07-23 19:04:39 -04:00
Jason Wen
fd48800940 try disengaging for 250 ms 2024-07-23 18:31:33 -04:00
Jason Wen
63b86a80a6 handle stopaccel in long control 2024-07-23 18:18:35 -04:00
Jason Wen
b95933d652 disable fast stop attempt for now 2024-07-23 17:56:22 -04:00
Jason Wen
067bd2b8fd less if/else 2024-07-23 17:55:49 -04:00
Jason Wen
6ab66834f0 adapt to 0 stopAccel 2024-07-23 17:54:47 -04:00
Jason Wen
63a6178360 faster stops 2024-07-23 17:14:09 -04:00
Jason Wen
2507ec7abf same vEgoStopping, higher startAccel 2024-07-23 17:12:18 -04:00
Jason Wen
63754678d1 0.1 rate of change all around 2024-07-23 17:01:42 -04:00
Jason Wen
68149b71c4 gracefully when stopping 2024-07-23 11:41:35 -04:00
Jason Wen
b20ce27908 matches stock with 0 m/s^2 at stopping 2024-07-23 11:40:40 -04:00
Jason Wen
c02b3fca53 fast resume: disengage acc enabled for 1 frame, then re-engage 2024-07-23 11:32:42 -04:00
Jason Wen
8ec69008ce lower starAccel 2024-07-23 11:11:12 -04:00
Jason Wen
7560d8db9e do stopping accel in carcontroller 2024-07-23 11:11:00 -04:00
DevTekVE
353b22168f Refactor networking files and include network UI for SunnyPilot
This commit refactors the networking files and includes a SunnyPilot network UI. Changes in existing files result in the removal of some features not required for SunnyPilot while retaining others. For instance, the 'ToggleControl' functionality for Sunnypilot was removed as Sunnypilot does not require this feature. Other changes include adjustments to the network's user interface layout and the removal of unnecessary widgets.

This refactor was necessitated by the need to provide slightly different functionalities between Comma's default UI and the Sunnypilot UI while avoiding code duplication whenever possible.

The newly created files sp_priv_networking.{c,h} include the relevant elements of the network UI specifically modified for SunnyPilot. These modifications are expected to enhance the overall user experience and usability of the network interface in the SunnyPilot UI.

Please note that the 'ngrok' and 'hotspotOnBoot' functionalities have been excluded from Sunnypilot as they are not required in its use case.

The SConscript file has also been updated accordingly to include the required configurations for the new network UI files.
2024-07-23 11:40:10 +02:00
DevTekVE
223cfd2c34 Refactor map helper includes for SunnyPilot
This update refactors the inclusion of map helper files in various source files for compatibility with SunnyPilot. This involves changes like replacing "#include selfdrive/ui/qt/maps/map_helpers.h" with "#include selfdrive/ui/sunnypilot/qt/maps/sp_priv_map_helpers.h". Added logging information in "sp_priv_onroad_home.cc" to debug the creation of map widgets. This refactoring is necessary to support map related functionalities in the SunnyPilot environment.
2024-07-23 11:40:10 +02:00
DevTekVE
09068fc34e cleaning up 2024-07-23 11:40:10 +02:00
DevTekVE
5bcd0a2d3d Refactor onboarding process and terms page in Sunnypilot
The code modifications refactor the onboarding window and terms page in Sunnypilot. It includes moving OnboardingWindow to the protective area, and changing OnboardingWindowSP into a subclass of OnboardingWindow, which enhances code encapsulation and reusability. The expressions for the terms agreement pages are also refined for better readability.

initial onboarding
2024-07-23 11:40:10 +02:00
DevTekVE
47420fda5d Improve HttpRequest class for QT and refactor associated classes
The presented change refactors the HttpRequest class in the QT API for the OpenPilot project. Unused OpenSSL libraries were removed, and the HttpRequest class was modified to improve readability. The HttpRequest::sendRequest method was refactored, and the logic to prepare the network request was extracted to a new method called HttpRequest::prepareRequest. In addition, the user agent retrieval logic was encapsulated within the HttpRequest class.

The RequestRepeater class was similarly refactored. Timer connection and cache processing logic were moved into separate methods for better code organization.

Several other classes that depend on HttpRequest and RequestRepeater were modified to reflect these changes. Handled security-related changes for SunnyPilot. Added a new file `sp_priv_api.cc` for Sunnylink-specific API operations. Removed unnecessary includes and updated SConscript accordingly.
2024-07-23 11:40:09 +02:00
DevTekVE
cc43701808 Refactor code related to Sunnypilot's special utilities
This commit updates various scripts involved in Sunnypilot's special utilities. Modifications primarily include simplification of several functions in 'util.cc', addition of required exports in 'SConscript', and restructuring `getUserAgent`, `getDongleId`, and `getCarNames` methods under `sp_priv_util.h` and `sp_priv_util.cc`. The changes help segregate Sunnypilot specific utility functions, resulting in cleaner and more maintainable code.
2024-07-23 11:40:09 +02:00
DevTekVE
99b0276913 Add conditional compilation for 'sunnypilot' in SConscript
This commit introduces a conditional compilation for 'sunnypilot' within the SConscript file. It also adds a new 'sp_priv_text.cc' file for 'sunnypilot' and performs a significant cleanup on the existing 'text.cc' file, removing unneeded commands. This change helps to customize the build process based on the specific feature flags such as 'sunnypilot'.
2024-07-23 11:40:09 +02:00
Jason Wen
7f06773c26 higher jerk limits 2024-07-22 23:22:33 -04:00
Jason Wen
f641939240 trigger stop earlier 2024-07-22 23:19:58 -04:00
Jason Wen
58004f4fc6 fix pulsing 2024-07-22 21:50:31 -04:00
Jason Wen
0d499b0857 doesn't work well 2024-07-22 21:49:03 -04:00
Jason Wen
8affb2fcad make sure accel_last changes with raw if in pid 2024-07-22 16:56:48 -04:00
Jason Wen
e64d209f54 set speed stuck 2024-07-22 16:54:21 -04:00
Jason Wen
be300df85c should only go up to 3 lol 2024-07-22 16:53:37 -04:00
Jason Wen
e5b19ddc17 only different rate of change if not in pid 2024-07-22 16:46:27 -04:00
Jason Wen
8191c951c7 oops it's doing it twice 2024-07-22 16:33:25 -04:00
Jason Wen
5e3cf24afe update rate of change properly 2024-07-22 16:25:51 -04:00
Jason Wen
ab72cf0457 handle this in long control 2024-07-22 16:14:45 -04:00
Jason Wen
0c95fe1408 send 2.0 startAccel to both aReqRaw/aReqValue for 0.1 second (2 frames), then pid 2024-07-22 11:46:01 -04:00
Jason Wen
d25d832885 Should run these at 50 Hz 2024-07-22 11:29:42 -04:00
Jason Wen
807873e6a8 fix 2024-07-22 10:12:03 -04:00
DevTekVE
8e5e4a611f Update mousePressEvent behavior in HomeWindowSP
This update stops calling the parent mousePressEvent function in HomeWindowSP due to conflicts with sidebar code. Previous implementation led to undesired sidebar behaviour following a tap beyond the 300px of the left. Added debug logging to provide more context on the behavior of sidebar and screen wake timeout.
2024-07-22 10:22:39 +02:00
Jason Wen
56cf002307 change in 0.1 like stock 2024-07-21 21:43:53 -04:00
Jason Wen
c5af23a010 clear values if not engaged 2024-07-21 17:44:55 -04:00
Jason Wen
b32b216a6b try this out (pls don't die) 2024-07-21 17:41:16 -04:00
Jason Wen
5f2c104ae5 try this out (pls don't die) 2024-07-21 17:40:06 -04:00
Jason Wen
c52b83ce8d Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-21 17:16:56 -04:00
Jason Wen
1037bb15a0 oops flipped main 2024-07-21 17:16:48 -04:00
Jason Wen
d923f2fa59 only in stopping state at 0.5 (same as stock), and track accel_last 2024-07-21 16:54:19 -04:00
Jason Wen
9b427c02e1 Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-21 16:35:30 -04:00
Jason Wen
73afab7e8d make sure main button is pressed 2024-07-21 16:35:21 -04:00
Jason Wen
1a809cadf5 more fixes 2024-07-21 15:58:19 -04:00
DevTekVE
d164bf2f02 Fixed bug where the toggles were on the parent's instance as opposed to the derived class instance and fixed the index as well 2024-07-21 16:10:54 +02:00
DevTekVE
08abc5c9eb map stuff 2024-07-21 15:35:09 +02:00
DevTekVE
1edda9eadb Merge branch 'refs/heads/master-priv' into ui-sp-split
# Conflicts:
#	selfdrive/ui/sunnypilot/SConscript
2024-07-21 15:19:40 +02:00
DevTekVE
8865950499 Update definitions for compatibility in SunnyPilot UI
The commit introduces several definitions under the SUNNYPILOT flag in different files for compatibility. These changes are meant to make sure controls previously relying on other labels now properly use specifically defined SunnyPilot labels. The update reduces confusion and enhances code clarity.
2024-07-21 15:16:31 +02:00
DevTekVE
b7b813c531 Update UI components with new SP controls
Replaced several different ButtonControl, ToggleControl, and LabelControl instances with their corresponding SP versions across various sections of the UI. This improves the consistency of the user interface and lays the groundwork for further enhancements.
2024-07-21 15:04:53 +02:00
Jason Wen
4aa7d25c9a add them back 2024-07-21 08:56:45 -04:00
Jason Wen
72f34a3335 should be removed 2024-07-21 08:51:06 -04:00
DevTekVE
69a2408c44 Update self-driving UI for SunnyPilot behavior
Modified the self-driving UI components to better accommodate SunnyPilot's custom behavior. Changes include the reduction of EXTRA_UI_STATES, addition of early returns in updates if in SunnyPilot mode, and revisions in UIStateSP update methods. The refactoring also includes rearrangement of car status updates and removal of duplicate parameters acquisition.
2024-07-21 13:44:48 +02:00
DevTekVE
fa668e786c Implemented a window update for SunnyPilot mode
The code was tailored to work with SunnyPilot mode. It includes various changes, such as adding logic to the main window to include SunnyPilot's window when it's active and making changes to the MainWindow constructor for compatibility with SunnyPilot. Additional changes were made to various UI elements to ensure compatibility with the different mode. This update provides a more seamless user experience when switching between the two modes, SunnyPilot and standard.
2024-07-21 12:42:51 +02:00
Jason Wen
025ac23c89 Merge branch 'master-priv' into hkg-can-jerk 2024-07-21 01:18:28 -04:00
Jason Wen
1faaf719d7 Merge branch 'mads-button-event-modern' into master-dev-c3
# Conflicts:
#	selfdrive/car/__init__.py
#	selfdrive/car/chrysler/interface.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/gm/interface.py
#	selfdrive/car/honda/interface.py
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/mazda/interface.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/volkswagen/interface.py
2024-07-21 01:16:24 -04:00
Jason Wen
1f69ad630d update logic 2024-07-21 01:13:31 -04:00
Jason Wen
36498041a9 add to cereal at the end 2024-07-21 00:50:00 -04:00
Jason Wen
f5b1b4c73e Revert "encapsulate in method"
This reverts commit 5facba22
2024-07-20 22:40:45 -04:00
Jason Wen
0521f54536 Revert "encapsulate cancel event in method"
This reverts commit 93226506fa.
2024-07-20 22:40:21 -04:00
Jason Wen
38697b1f4c Revert "encapsulate in a class"
This reverts commit b95079bf7a.
2024-07-20 22:40:20 -04:00
Jason Wen
cd09b47936 Revert "pre-commit: Apply mypy and ruff check fixes"
This reverts commit 17b8c6ab4e.
2024-07-20 22:40:20 -04:00
Jason Wen
f62c14c761 Revert "one too much"
This reverts commit b62682f108.
2024-07-20 22:40:19 -04:00
Jason Wen
5e0f59e51d Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-20 21:15:57 -04:00
Jason Wen
d51d95426a this is better 2024-07-20 21:15:37 -04:00
Jason Wen
f6066f4076 Merge branch 'master-priv' into mads-hkg-available-fix 2024-07-20 21:10:38 -04:00
Jason Wen
499654cb3b Merge branch 'mads-button-event-modern' into master-dev-c3 2024-07-20 20:54:03 -04:00
Jason Wen
b62682f108 one too much 2024-07-20 20:53:50 -04:00
Jason Wen
0ff60c8adf Merge branch 'hooks-fix' into master-dev-c3 2024-07-20 19:48:40 -04:00
Jason Wen
17b8c6ab4e pre-commit: Apply mypy and ruff check fixes 2024-07-20 19:48:19 -04:00
Jason Wen
7938ed408f Merge branch 'mads-button-event-modern' into master-dev-c3
# Conflicts:
#	selfdrive/car/gm/interface.py
#	selfdrive/car/hyundai/interface.py
2024-07-20 18:56:37 -04:00
Jason Wen
d18fa774f8 Merge branch 'master-priv' into master-dev-c3 2024-07-20 18:50:06 -04:00
Jason Wen
b95079bf7a encapsulate in a class 2024-07-20 18:48:07 -04:00
Jason Wen
93226506fa encapsulate cancel event in method 2024-07-20 18:32:50 -04:00
Jason Wen
5facba229a encapsulate in method 2024-07-20 18:23:38 -04:00
Jason Wen
fb06ddf85b do this universally 2024-07-20 17:24:11 -04:00
Jason Wen
e923d773f8 Revert "HKG Longitudinal: Jerk limits"
This reverts commit 4821f1bbc8.
2024-07-20 15:14:51 -04:00
Jason Wen
84274e2fc0 Revert "add lower"
This reverts commit dac5e529b6.
2024-07-20 15:14:51 -04:00
Jason Wen
3232d4d01e Revert "more, and comfort band"
This reverts commit 91dadaafd1.
2024-07-20 15:14:50 -04:00
Jason Wen
b4ccc27b2c Merge branch 'master-priv' into mads-button-event-modern 2024-07-20 14:56:06 -04:00
Jason Wen
8b6e403996 Driving Model Selector v5: Bug fixes 2024-07-20 13:06:34 +00:00
Jason Wen
9ea42911e2 Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-20 07:40:02 -04:00
Jason Wen
3366bda92a handle states properly 2024-07-20 07:39:46 -04:00
DevTekVE
4cab5097eb Merge branch 'refs/heads/master-priv' into master-dev-c3 2024-07-20 12:01:08 +02:00
DevTekVE
0f2e56a203 [sunnypilot] Forcing SConstruct to assume always sunnypilot developer true until we actually encrypt things 2024-07-20 12:00:52 +02:00
DevTekVE
8735a0a776 Refactor MainWindow and add support for SunnyPilot
The MainWindow constructor now accepts optional parameters to allow for more flexibility in window management. This enabled us to add support for a variant of the UI called SunnyPilot. Separate header and source files `sp_priv_window.h` and `sp_priv_window.cc` have been created for this variant, which has its own logic but inherits from the same MainWindow class.
2024-07-20 11:57:56 +02:00
Jason Wen
ee229c2b70 maps: Use UIStateSP and disconnect 2024-07-19 15:52:19 -04:00
DevTekVE
62e8791b1e Update UIState references in Sunnypilot code
Updated to use new UIStateSP class in Sunnypilot's map and onroad functionality. The previous UIState class has been replaced, to fall in line with other changes in the Sunnypilot system, adapting the function arguments and variable assignments accordingly.
2024-07-19 18:51:42 +02:00
DevTekVE
fcd0dc2874 Refactor and enhance UI state and device classes for both base and sunny pilot
Various improvements have been made to UI state and device classes in both base and sunny pilot. This includes better organization of code, addition of new functionalities and removal of unused code and libraries.

Each UI state update now also updates the sockets and the state itself. Conditions for brightness updates in deviceSP's methods are also simplified. This results in a more streamlined update process.

Changes have been made to update the device brightness according to the specified parameters. If the screen is expected to be off, the brightness is set to 0. Otherwise, the brightness is set to a level according to the onroadScreenOffBrightness parameter.

The rest of the changes involve cleaning up redundant code, updating includes, and removing unnecessary typecasts and conversions. The parameters updating are now handled more succinctly.

Overall, the updated code provides a cleaner, more efficient implementation of the UI and devices.
2024-07-19 18:28:05 +02:00
Jaosn Wen
522d42500e maps: split 2024-07-18 11:17:07 -04:00
DevTekVE
ca969e16ce Merge branch 'auto-provisioning-gpg' into master-dev-c3 2024-07-18 16:16:06 +02:00
DevTekVE
f51a6f5462 Add .git-crypt and .venv to the blacklist
This commit updates the release_files.py script to include .git-crypt and .venv in the list of blacklisted files. This ensures that these directories are excluded from the release process, maintaining cleaner and more secure releases.
2024-07-18 16:15:55 +02:00
DevTekVE
a40a8c494b Merge branch 'auto-provisioning-gpg' into master-dev-c3 2024-07-18 16:08:54 +02:00
DevTekVE
f4dac4b462 Add git-crypt unlock attempt in provision script
This update tries to unlock the repository with git-crypt at the start of the provision script. If the unlock is successful, it exits early, confirming access.

Check for /TICI file and install git-crypt if found

Previously, the script would exit if git-crypt was not found. Now, the script checks for the presence of the /TICI file and attempts to install git-crypt automatically if the file is detected. This change helps automate setup on systems where /TICI is present.

Remove GPG key file after import in CI script

Ensure GPG key files are removed after importing to improve security. This change mitigates the risk of accidental exposure of key files in subsequent steps.

Refactor key export path handling

Simplify and improve clarity in the key export process by defining a separate variable for the key installation path. This ensures consistency and reduces potential errors in directory management. Additionally, it automates committing and pushing the new public key to the repository.

Add provision script for git-crypt setup

This script checks for gpg and git-crypt installations and sets up a GPG key for git-crypt. It supports user input for name, email, and passphrase, with options for non-interactive execution and displays help information when requested.

Updated .gitlab-ci.yml to support automation of git-crypt provisioning and improved CI configuration.

This update adds a new stage to the pipeline for automatic provisioning of git-crypt when a change is detected in the git-crypt path. It introduces shared configurations to manage SSH key configurations, Git configurations, and git-crypt unlocking across multiple jobs. Unnecessary repetition of scripts has been minimized through reusability of these shared configurations. This ultimately enhances modularity and readability of the pipeline script.
2024-07-18 16:01:10 +02:00
DevTekVE
cbb30cd8c5 Back to using reference on pipeline 2024-07-18 09:08:52 +02:00
Jaosn Wen
eb0ced8040 ui: header imports 2024-07-17 23:07:32 -04:00
Jaosn Wen
f6ee3d69f4 ui.h rename (WIP) 2024-07-17 22:53:42 -04:00
Jaosn Wen
fd64c79d35 ui.cc|h: init 2024-07-17 22:48:54 -04:00
Jaosn Wen
b12e82adc7 controls: Keep stock as stock as possible 2024-07-17 20:39:00 -04:00
Jaosn Wen
e07dd2fd9c ReplaceWidget: more safety 2024-07-17 20:23:36 -04:00
Jaosn Wen
124a230296 AbstractControlSP: Inherit from stock AbstractControl 2024-07-17 20:23:24 -04:00
Jaosn Wen
093980b767 SP Controls: Icons not needed for ButtonParamControlSP 2024-07-17 18:52:00 -04:00
Jaosn Wen
47842ff63e Merge branch 'mads-hkg-available-fix' into master-dev-c3 2024-07-17 11:22:18 -04:00
Jaosn Wen
90e829b8a2 MADS: HKG CAN-FD: Disallow cruise buttons to engage when pcmCruiseSpeed is off 2024-07-17 11:22:05 -04:00
Jaosn Wen
fa71f0667c cleanup 2024-07-17 00:59:32 -04:00
Jaosn Wen
cdd614a2fe Merge branch 'hkg-can-jerk' into master-dev-c3 2024-07-17 00:56:43 -04:00
Jaosn Wen
ad01e930c6 widgets: rename 2024-07-17 00:56:17 -04:00
Jaosn Wen
d111bff3cf onroad settings: rename 2024-07-17 00:54:21 -04:00
Jaosn Wen
4be255ab61 onroad settings: rename 2024-07-17 00:51:48 -04:00
Jaosn Wen
6e962afe1a settings: more renaming 2024-07-17 00:46:55 -04:00
Jaosn Wen
1fd5140d29 settings: Rename 2024-07-17 00:22:11 -04:00
Jaosn Wen
a4b57f4178 sunnypilot_main 2024-07-16 23:32:25 -04:00
Jaosn Wen
e99130d808 Merge branch 'master-priv' into master-dev-c3 2024-07-16 23:28:05 -04:00
Jaosn Wen
a05db5dcc7 Merge branch 'master-priv' into master-dev-c3 2024-07-16 23:27:48 -04:00
Jason Wen
faf52492b6 ci: git-crypt: Decrypt prior to building 2024-07-17 03:26:13 +00:00
Jaosn Wen
c0b732081b sunnypilot: Rename all sub panels 2024-07-16 23:22:04 -04:00
Jaosn Wen
91dadaafd1 more, and comfort band 2024-07-16 21:11:18 -04:00
Jaosn Wen
dac5e529b6 add lower 2024-07-16 20:55:25 -04:00
Jaosn Wen
4821f1bbc8 HKG Longitudinal: Jerk limits 2024-07-16 20:54:08 -04:00
DevTekVE
a4926ef332 Rename and remove custom abstracts for map support
Refactor class names by renaming AbstractControl to AbstractControlSP_TITLED and LayoutWidget to LayoutWidgetSP. Removed conditional compilation definitions for map support to streamline the code and avoid multiple definition errors.
2024-07-16 23:14:57 +02:00
Jaosn Wen
12151efa78 MadsSettings: rename 2024-07-16 16:01:13 -04:00
Jaosn Wen
9377e9a56c LaneChangeSettings: rename 2024-07-16 15:53:34 -04:00
Jaosn Wen
c001c1e93c CustomOffsetsSettings: rename 2024-07-16 15:39:01 -04:00
Jaosn Wen
1b291893bb qt/network/sunnylink: rename 2024-07-16 15:05:01 -04:00
Jaosn Wen
0ca98a8379 Scons: Split sunnypilot/Sconscript 2024-07-16 00:20:45 -04:00
Jaosn Wen
a9bcc782e0 Scons: Set SUNNYPILOT to CPPDEFINES 2024-07-16 00:07:29 -04:00
Jaosn Wen
dbaa14dec1 revert translations 2024-07-15 23:40:54 -04:00
Jaosn Wen
f04c019843 sync 2024-07-15 23:07:27 -04:00
Jaosn Wen
f672244343 Merge branch 'master-priv' into ui-sp-split
# Conflicts:
#	selfdrive/ui/sunnypilot/SConscript
2024-07-15 22:59:33 -04:00
Jason Wen
62cc0fa0d2 Scons: Build sunnypilot elements with added GPG keys 2024-07-16 02:59:02 +00:00
Jaosn Wen
3507e627ac Revert "ui.cc|h: split completely (refactor later) (WIP)"
This reverts commit c4abe230a7.
2024-07-14 23:03:20 -04:00
Jaosn Wen
7a2778f3f1 Reapply "Only when building map"
This reverts commit ec0c2edd66.
2024-07-14 23:01:45 -04:00
Jaosn Wen
1386d1215b Reapply "SP Controls: Fix duplicate classes"
This reverts commit 142db222ce.
2024-07-14 23:01:44 -04:00
Jaosn Wen
134f585482 Revert "Remove stock classes from compiling"
This reverts commit 4e1ef0dca7.
2024-07-14 23:01:44 -04:00
Jaosn Wen
4e1ef0dca7 Remove stock classes from compiling 2024-07-14 22:38:27 -04:00
Jaosn Wen
142db222ce Revert "SP Controls: Fix duplicate classes"
This reverts commit 02b3ea4917.
2024-07-14 22:35:37 -04:00
Jaosn Wen
ec0c2edd66 Revert "Only when building map"
This reverts commit 5c1c833223.
2024-07-14 22:35:37 -04:00
Jaosn Wen
c4abe230a7 ui.cc|h: split completely (refactor later) (WIP) 2024-07-14 22:35:19 -04:00
Jaosn Wen
7ddc18d08f DeveloperUi: Add comments 2024-07-14 22:01:37 -04:00
Jaosn Wen
7a58f3026d Dev UI: rename 2024-07-14 21:52:43 -04:00
Jaosn Wen
08449ddb77 DeveloperUi: Split 2024-07-14 21:44:05 -04:00
Jaosn Wen
d367b346a0 bump panda lock fix 2024-07-14 19:09:17 -04:00
Jason Wen
5c1c833223 Only when building map 2024-07-14 19:07:11 -04:00
Jason Wen
02b3ea4917 SP Controls: Fix duplicate classes 2024-07-14 18:56:55 -04:00
Jason Wen
f2c500249c Sidebar: missing import 2024-07-14 16:48:26 -04:00
DevTekVE
e02c4a60f9 Rename instances of 'openpilot' to 'sunnypilot' in settings
Updated references in the settings UI to replace 'openpilot' with 'sunnypilot' for consistency with branding. This includes various descriptions and warnings related to longitudinal control and driver monitoring.
2024-07-14 22:40:06 +02:00
DevTekVE
dc6c20ba97 Add separate Sidebar implementation for SunnyPilot
The file structure of SidebarSP has been revamped. A separate SidebarSP class has been created instead of overriding pieces of Sidebar. The implementation of SidebarSP has been encapsulated in the new SidebarSP class files (sp_priv_sidebar.cc and sp_priv_sidebar.h). The code integrity of Sidebar and its usages in offroad_home.h and sp_priv_home.h have been maintained. This should increase the overall modularity of the code.
2024-07-14 22:37:25 +02:00
DevTekVE
66be7afbdb Apply 3 suggestion(s) to 2 file(s) 2024-07-14 19:24:40 +00:00
DevTekVE
ba1c47b320 Cleaning up 2024-07-14 21:18:53 +02:00
DevTekVE
4643d88af6 Refactor settings to improve layout and functionality
This commit introduces several layout and functionality changes in the settings. It extracts various functionalities into separate methods, including those related to on-road settings, and removes redundant panel definitions. The changes aim to make the settings more modular, manageable, and user-friendly. Furthermore, a new file for device panel settings is added to provide a more structured way of managing device-related settings. Please note that some functionalities, such as the fleet manager pin, file system watcher, and off-road button, have been moved and included in the device panel settings. These changes do not affect the functioning of the application but provide a more maintainable code structure.
2024-07-14 21:13:28 +02:00
DevTekVE
d792be8999 Refactor ListWidgetSP functions from macros to inline methods
Consolidate multiple macro-defined functions into inline methods within ListWidgetSP to improve readability and maintainability. This change ensures that the widget functionalities are more straightforward and easier to debug. Adjust related headers and implementation files accordingly.
2024-07-14 19:48:17 +02:00
DevTekVE
f56a30d6ce Refactor ListWidgetSP functions from macros to inline methods
Consolidate multiple macro-defined functions into inline methods within ListWidgetSP to improve readability and maintainability. This change ensures that the widget functionalities are more straightforward and easier to debug. Adjust related headers and implementation files accordingly.
2024-07-14 16:40:18 +02:00
DevTekVE
7030dc02ce Add handling for SUNNYPILOT in Qt settings
Introduced the RETURN_IF_SUNNYPILOT macro to handle conditional returns in the settings code. This ensures that certain blocks of code are bypassed when SUNNYPILOT is defined, improving modularity and reducing preprocessor directives.
2024-07-14 16:04:48 +02:00
DevTekVE
80ecce9d81 Remove "Driving Model" label and adjust item management
Eliminated the "Driving Model" label from SoftwarePanel and refactored item management to improve code clarity and functionality. Updated macro naming and added new list widget functions for better handling of UI elements.
2024-07-14 15:43:21 +02:00
DevTekVE
ddee284733 Removing maps from stock's toggles
I believe this maps thing is a leftover we want to keep only on sp priv
2024-07-14 15:25:32 +02:00
DevTekVE
efcd86529b Refactor: Move replaceWidget to sunnypilot_main.h
Moved the replaceWidget function to sunnypilot_main.h to allow for better code organization and reusability. Commented out the previous static declaration in sp_priv_offroad_home.h and updated replaceWidget calls to ReplaceWidget in sp_priv_offroad_home.cc.
2024-07-14 15:24:39 +02:00
DevTekVE
beef2f0be9 Refactor SunnyPilot preprocessor directives in UI code
This commit simplifies the conditional preprocessor directives related to SunnyPilot in various parts of the UI code. The previous use of #ifdef SUNNYPILOT has been consolidated to make the code cleaner and easier to read. Also, some unused code blocks have been removed. This refactoring simplifies the management of different configuration setups.
2024-07-14 11:43:10 +02:00
Jason Wen
e3939247a7 Nav stock icons 2024-07-14 04:19:38 -04:00
Jason Wen
b8d26259c4 Toggle - ToggleSP, TESLA TOGGLE DESIGN!!! 2024-07-14 04:08:28 -04:00
Jason Wen
6fb4925b57 ScrollView - ScrollViewSP 2024-07-14 00:24:46 -04:00
Jason Wen
ed862f012b ListWidget - ListWidgetSP 2024-07-14 00:08:34 -04:00
Jason Wen
7a1ff6cd01 SubPanelButton, PanelBackButton 2024-07-13 23:48:49 -04:00
Jason Wen
0ed13466f9 AbstractControl: Thicker texts 2024-07-13 23:45:11 -04:00
Jason Wen
2e7942ef16 AbstractControlSP, ButtonParamControlSP, OptionalControlSP 2024-07-13 23:35:38 -04:00
Jason Wen
d0ec155a9d ElidedLabel, AbstractControl, ButtonControl 2024-07-13 23:14:49 -04:00
Jason Wen
a3635f567a horizontal_line 2024-07-13 22:13:19 -04:00
Jason Wen
ff6ff674c6 ParamControl - ParamControlSP 2024-07-13 21:08:43 -04:00
Jason Wen
71a5e80204 TogglesPanel - TogglesPanelSP 2024-07-13 20:33:20 -04:00
Jason Wen
058f7aa29d SettingsWindow - SettingsWindowSP 2024-07-13 19:46:35 -04:00
Jason Wen
35faa3ba95 fix define 2024-07-13 17:03:50 -04:00
DevTekVE
3c5070ce4a Moving some of elements out first and then I will restructure them to not duplicate code 2024-07-13 20:48:03 +00:00
Jason Wen
3731794cdf Merge branch 'model-v5-fix' into master-dev-c3 2024-07-13 11:57:44 -04:00
Jason Wen
5c90b31f72 Driving Model Selector v5: Bug fixes 2024-07-13 11:57:06 -04:00
Jason Wen
73994d4bb1 Revert "Driving Model Selector v5: Bug fixes and revert to param checks"
This reverts commit 03fd6050f7.
2024-07-13 11:52:44 -04:00
Jason Wen
1b419974b0 Revert "fix types"
This reverts commit 3cdbde6dbe.
2024-07-13 11:52:44 -04:00
Dean Lee
3c3fdb8428 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>
(cherry picked from commit 12d729a0a0)
2024-07-13 11:51:44 -04:00
Jason Wen
3cdbde6dbe fix types 2024-07-13 11:45:36 -04:00
Jason Wen
03fd6050f7 Driving Model Selector v5: Bug fixes and revert to param checks 2024-07-13 11:38:48 -04:00
DevTekVE
2b3b8d1df3 Merge branch 'master-priv' into ui-sp-split 2024-07-13 09:41:17 +02:00
DevTekVE
c170976547 Revert "nuke dev's temporarily"
This reverts commit 19c1c99a28.
2024-07-13 09:36:05 +02:00
DevTekVE
35d8d7b3f7 Processor definition check for __APPLE__ has a typo on replay (#32930)
(cherry picked from commit 3c74ad145e)
2024-07-13 09:26:32 +02:00
Jason Wen
19c1c99a28 nuke dev's temporarily 2024-07-13 02:56:00 -04:00
DevTekVE
f99799701f Remove the sunnypilot on clion scripts because code will default properly 2024-07-13 08:54:49 +02:00
DevTekVE
c7932f8b73 Refactor GPG key check and update SCons build tools.
Converted GPG key check logic into a more modular function `is_sunnypilot_developer` for better readability and maintainability. Updated `External Tools.xml` to include `--sunnypilot` flag in SCons build commands.
2024-07-13 08:33:20 +02:00
Jason Wen
ec6f86efbf new way to detect added gpg keys 2024-07-13 02:21:30 -04:00
DevTekVE
54ffb8b1fe Enable conditional compilation for SUNNYPILOT
Add conditional definition for SUNNYPILOT in SConscript. This allows code to be compiled differently based on the presence of the SUNNYPILOT environment variable.
2024-07-13 07:34:40 +02:00
Jason Wen
2ac8bb6c1d test 2024-07-13 00:13:13 -04:00
Jason Wen
43a38ed039 set constant with added gpg key id 2024-07-12 23:35:05 -04:00
Jason Wen
e7ea608c45 Split all SP files out 2024-07-12 22:19:42 -04:00
Jason Wen
bc1aad6f6a git-crypt: add collaborators 2024-07-12 21:36:28 +00:00
Jason Wen
c69d886c20 Merge branch 'mads-button-event-modern' into master-dev-c3
# Conflicts:
#	selfdrive/car/ford/carstate.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/gm/interface.py
2024-07-11 23:54:03 -04:00
Jason Wen
6b431bde57 Merge branch 'slc-long-only' into master-dev-c3 2024-07-11 23:52:43 -04:00
Jason Wen
1a8170e839 Speed Limit Control: Gate behind longitudinal 2024-07-11 23:51:17 -04:00
Jason Wen
11567ed7dc Empty button events at start of loop 2024-07-11 23:30:17 -04:00
Jason Wen
a44677bde3 Toyota: Use modern button events 2024-07-11 23:24:08 -04:00
Jason Wen
56119eb66e Subaru: Use modern button events 2024-07-11 23:23:43 -04:00
Jason Wen
25fdd735c2 Hyundai: Use modern button events 2024-07-11 23:23:21 -04:00
Jason Wen
4e9ab2abaf Honda: Use modern button events 2024-07-11 23:22:50 -04:00
Jason Wen
207b4473c7 GM: Use modern button events 2024-07-11 23:22:25 -04:00
Jason Wen
a3e2661ca5 Nissan: Use modern button events 2024-07-11 23:20:19 -04:00
Jason Wen
29bc69be5b Mazda: Use modern button events 2024-07-11 23:15:34 -04:00
Jason Wen
dbc086744b Ford: Use modern button events 2024-07-11 23:06:18 -04:00
Jason Wen
e4175e636a Volkswagen: Use modern button events 2024-07-11 22:55:15 -04:00
Jason Wen
120699df97 Chrysler: Use modern button events 2024-07-11 22:54:09 -04:00
Jason Wen
b1d1cb33dc Merge branch 'SP-138-cslc-gm' into master-dev-c3 2024-07-11 22:37:17 -04:00
Jason Wen
692e6783e4 typo 2024-07-11 22:37:04 -04:00
Jason Wen
b896f1b6ff Merge branch 'SP-138-cslc-gm' into master-dev-c3 2024-07-11 21:47:26 -04:00
Jason Wen
4a67489e33 this might have been blocking engagement 2024-07-11 21:47:14 -04:00
Jason Wen
c1cd33dbc1 MADS: Fix extra gear check 2024-07-11 15:46:24 +00:00
Jason Wen
23e0b94b6f Merge branch 'SP-138-cslc-gm' into master-dev-c3
# Conflicts:
#	panda
2024-07-10 22:20:21 -04:00
Jason Wen
f947397d84 try this 2024-07-10 22:19:53 -04:00
Jason Wen
bc23432dd5 need unpressed 2024-07-10 21:24:45 -04:00
Jason Wen
a0f96588ea need unpressed 2024-07-10 21:24:08 -04:00
Jason Wen
5d1263718f Merge branch 'SP-138-cslc-gm' into master-dev-c3
# Conflicts:
#	panda
2024-07-10 21:18:23 -04:00
Jason Wen
f9159301b3 add logging 2024-07-10 21:11:02 -04:00
Jason Wen
518ef952cc Merge branch 'master-priv' into SP-138-cslc-gm
# Conflicts:
#	panda
2024-07-10 20:59:30 -04:00
Jason Wen
4e6fd4ee81 try lowering it for to 20 due to exceeded message traversal limit 2024-07-10 20:37:58 -04:00
Jason Wen
e0ee086a9c Merge remote-tracking branch 'sunnyhaibin/openpilot-special/master-priv' into master-dev-c3 2024-07-10 13:02:17 -04:00
DevTekVE
606fb2d7c9 sunnylink: disable log upload handler 2024-07-10 17:01:57 +00:00
Jason Wen
c80c78e8d7 Merge branch 'sync-remove-ubuntu-focal' into master-dev-c3 2024-07-10 11:27:58 -04:00
Jason Wen
eb8b04cce8 Merge branch 'SP-168-chevron-time-to-lead' into master-dev-c3 2024-07-10 11:27:35 -04:00
Jason Wen
f20973d4cf cleaner 2024-07-10 11:27:07 -04:00
Jason Wen
d9da6064c0 ui: Build mapsd in UBUNTU_FOCAL-based AGNOS 2024-07-10 11:04:46 -04:00
Jason Wen
6c481e5a07 more 2024-07-09 23:55:22 -04:00
Jason Wen
ebce2d15cb sync 2024-07-09 23:49:48 -04:00
Jason Wen
279c5ab29e Merge branch 'master-priv' into SP-168-chevron-time-to-lead
# Conflicts:
#	selfdrive/ui/qt/onroad/annotated_camera.cc
2024-07-09 23:05:47 -04:00
Jason Wen
ba12998986 ui: onroad: drawLead cleanup 2024-07-09 22:59:44 -04:00
Jason Wen
a64b17b680 fix division by 0 and negative values 2024-07-09 22:16:30 -04:00
Jason Wen
7d6463e24f Merge branch 'master-priv' into SP-168-chevron-time-to-lead 2024-07-08 10:20:03 -04:00
Jason Wen
4c650da8e4 Merge branch 'SP-168-chevron-time-to-lead' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-07-08 10:18:23 -04:00
Jason Wen
d9bc6fe102 Merge branch 'nnlc-lateral-jerk' into master-dev-c3 2024-07-08 09:22:08 -04: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
Jason Wen
fc1a294d5e revert !729 for now till it's fixed and compiled 2024-07-07 23:33:05 -04:00
Jason Wen
8e256ee6c5 Add toggles and update CHANGELOGS.md 2024-07-07 23:11:18 -04:00
Jason Wen
bdb3c0a09c Update CHANGELOGS.md 2024-07-07 22:23:46 -04:00
Jason Wen
a6a105dc20 Merge branch 'master-priv' into nnlc-lateral-jerk 2024-07-07 22:22:12 -04:00
Jason Wen
127ba8f859 ui: Lead car chevron: Time to Lead Car 2024-07-07 22:17:39 -04:00
Jason Wen
bbef8d5764 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	panda
2024-07-07 20:39:24 -04: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
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
DevTekVE
b04db4ed33 Merge branch 'disable-log-upload' into master-dev-c3 2024-07-06 20:40:49 +02:00
DevTekVE
d6600c32aa disable log upload handler 2024-07-06 20:04:09 +02:00
DevTekVE
4732848117 Merge branch 'launch-setup-from-failure' into master-dev-c3 2024-07-05 12:11:27 +02:00
DevTekVE
303d244966 Refactor setup command sequence by removing redundant kill operation.
The `kill_op` command to stop the `comma` service was removed as it is redundant. This change simplifies the `cmd` string construction and ensures the setup process starts with deleting `continue.sh` and restarting the `comma` service.

don't know what diff it makes MinimumExpanding vs Expanding so I am leaving it as I found it and some formatting on the code

Improved user interface of application

The user interface in selfdrive/ui/qt/text.cc was significantly enhanced. This was accomplished by streamlining the QVBoxLayout for displaying text and the QGridLayout for displaying buttons. The QPushButton were updated to handle actions for updating and reinstalling. Additional formatting was also added to improve the visibility of the buttons. Furthermore, unnecessary QWidget import was removed and replaced with QLabel. The QLabel was set to clear before setting newText, creating a smoother update of application status messages. Lastly, QApplication::exec() was used in place of a.exec() to cater for the button states on different platforms and handle the application's exit.
2024-07-05 12:11:08 +02:00
Jason Wen
a4ef912bed Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	selfdrive/ui/qt/text.cc
2024-07-03 00:41:46 -04:00
Jason Wen
11f0da4aa9 Manager: Add Update button when Traceback is displayed 2024-07-03 04:40:59 +00:00
Jason Wen
dca98f0cfe Merge branch 'honda-pedal-long-disengage' into master-dev-c3 2024-07-02 17:23:44 -04:00
Jason Wen
8525cf6333 Revert "MADS: Honda Nidec: Fix enforce cruise cancel with stock PCM"
This reverts commit c313af5c
2024-07-02 17:23:15 -04:00
Jason Wen
d43028df41 Merge branch 'ui-torque-fric-half' into master-dev-c3 2024-07-02 12:05:53 -04:00
Jason Wen
a86ce23f4c higher 2024-07-02 12:05:43 -04:00
Jason Wen
090c97b2fc nope 2024-07-02 12:05:13 -04:00
Jason Wen
67d7df43ad Merge branch 'toyota-lowspeed-override' into master-dev-c3 2024-07-02 12:04:53 -04:00
Jason Wen
fdf99e014b Merge branch 'ui-torque-fric-half' into master-dev-c3 2024-07-02 12:02:27 -04:00
Jason Wen
9af616605b ui: Torque Lateral Control: Update every 0.005 2024-07-02 12:01:58 -04:00
Jason Wen
5d097fa5de rename to PCM Speed Override 2024-07-02 10:57:40 -04:00
Jason Wen
59d960addf housekeeping 2024-07-02 10:46:32 -04:00
Jason Wen
67dcb68f00 Merge branch 'master-priv' into toyota-lowspeed-override
# Conflicts:
#	common/params.cc
2024-07-02 01:15:27 -04:00
Jason Wen
191fe69d0c extra 2024-07-02 01:09:39 -04:00
Jason Wen
80d03921a7 Merge branch 'ui-onroad-settings-panel-adjust' into master-dev-c3 2024-07-02 01:08:31 -04:00
Jason Wen
f3a546132c ui: Onroad Settings: Wider panel 2024-07-02 01:08:20 -04:00
Jason Wen
a5d1e13b48 Update CHANGELOGS.md 2024-07-02 00:53:27 -04:00
Jason Wen
c5e6342630 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	cereal/custom.capnp
#	common/params.cc
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/lib/longitudinal_planner.py
#	selfdrive/controls/lib/sunnypilot/accel_controller.py
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/offroad/settings.h
#	selfdrive/ui/ui.h
2024-07-02 00:51:54 -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
Brian Brown
f23982d748 more english 2024-07-02 00:17:05 +00:00
Jason Wen
2a3a533d2b Merge branch 'dynamic_personality' into master-dev-c3
# Conflicts:
#	cereal/custom.capnp
#	selfdrive/controls/controlsd.py
2024-07-01 16:24:36 -04:00
Jason Wen
a268ba67c2 Merge branch 'tss2-long-tuning' into master-dev-c3 2024-07-01 16:23:56 -04:00
Jason Wen
fbc556bc81 Merge branch 'accel-profile' into master-dev-c3 2024-07-01 16:23:52 -04:00
Jason Wen
a7bcfcab87 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	panda
2024-07-01 16:23:47 -04:00
Jason Wen
9ee63438ef update tuning 2024-07-01 16:23:06 -04:00
Jason Wen
f0d2fd4649 Merge branch 'master-priv' into dynamic_personality 2024-07-01 16:22:24 -04:00
Jason Wen
c97fa56bd3 Toyota Longitudinal: New TSS2 Tuning 2024-07-01 16:22:12 -04:00
Jason Wen
69ae0445b7 update tuning 2024-07-01 16:20:37 -04:00
Jason Wen
750f9c8233 Merge branch 'master-priv' into accel-profile 2024-07-01 16:18:04 -04:00
rav4 kumar
46c1362511 Toyota: Automatic Door Locking and Unlocking 2024-07-01 20:16:40 +00:00
Jason Wen
b81cdccb6c Merge branch 'master-priv' into dynamic_personality
# Conflicts:
#	selfdrive/controls/lib/longitudinal_planner.py
2024-07-01 15:47:34 -04:00
Jason Wen
36c89ce666 Fix 2024-07-01 15:47:18 -04: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
faddc5a93b Merge branch 'master-priv' into dynamic_personality 2024-07-01 15:35:31 -04:00
Jason Wen
4de6fac0d4 in plannerd 2024-07-01 15:35:27 -04:00
Jason Wen
0ae9eb274c in plannerd 2024-07-01 15:34:35 -04:00
Jason Wen
e4ae935aab Merge branch 'master-priv' into accel-profile 2024-07-01 15:33:09 -04:00
Jason Wen
86446a8e42 ui: Onroad Settings: Parse DLP availability 2024-07-01 15:29:52 -04:00
Jason Wen
6743cdf5f2 Merge branch 'master-priv' into accel-profile 2024-07-01 15:09:28 -04:00
Jason Wen
4bf4f627bd use cereal 2024-07-01 15:05:50 -04:00
Jason Wen
dd2334290e Merge branch 'master-priv' into dynamic_personality 2024-07-01 14:55:08 -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
Brian Brown
d7545ddeb7 fix space 2024-07-01 18:00:23 +00:00
Brian Brown
c9ac0993b7 Update CHANGELOGS.md 2024-07-01 17:59:11 +00:00
Jason Wen
6afa49be91 use custom cereal 2024-07-01 12:31:48 -04:00
Jason Wen
7a1533eae0 ui change 2024-07-01 12:06:15 -04:00
Jason Wen
13475140ec inline 2024-07-01 12:01:06 -04:00
Jason Wen
7d751da1b8 enforce type hint 2024-07-01 11:58:11 -04:00
Jason Wen
6e6de6742e some refactors 2024-07-01 11:51:01 -04:00
Jason Wen
6098dd300a formatting 2024-07-01 11:21:09 -04:00
Jason Wen
1051580e63 Merge branch 'master-priv' into accel-profile 2024-07-01 11:14:51 -04:00
Jason Wen
4ffd7dc4d5 Merge branch 'kona-ev-non-scc-2019-port' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-07-01 09:38:52 -04:00
Jason Wen
e731e330a9 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	panda
2024-07-01 09:38:41 -04:00
Jason Wen
c27efd01d6 Hyundai: Car Port for Kona Electric Non-SCC 2019 2024-07-01 09:37:29 -04: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
5f415b726b Merge branch 'master-priv' into toyota-lowspeed-override 2024-06-30 22:28:28 -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
rav4kumar
f809fcf0aa dynamic personality 2024-06-29 12:11:07 -07:00
rav4kumar
972951de3e accel controller 2024-06-29 11:52:15 -07:00
rav4kumar
342effe5dd toyota low speed override 2024-06-29 11:02:21 -07:00
Brian Brown
91b39629fe add dongle id for taco testing 2024-06-29 15:20:16 +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
Jason Wen
33de3dfae3 OP long on keep alive 2024-06-29 10:44:33 -04:00
DevTekVE
2e39c96496 [Sunnylink] hotfix for boot registration 2024-06-28 23:35:10 +00:00
DevTekVE
8094a9cd01 Merge branch 'sunnylink-hotfix-boot' into master-dev-c3 2024-06-29 01:10:22 +02:00
DevTekVE
0668513d13 Remove unused SunnylinkApi and improve error handling
Removed the SunnylinkApi call from the registration process as it was no longer in use. Improved error logging by adding directory checks and more descriptive exception handling in the sunnylink API.
2024-06-29 01:04:27 +02:00
Jason Wen
00f9b1a19f Merge branch 'master-priv-ford' into master-dev-c3 2024-06-27 00:37:09 -04:00
Jason Wen
0341490541 Merge branch 'master-priv' into master-priv-ford 2024-06-27 00:35:51 -04:00
Jason Wen
3442e8b65f MADS: Fix Disengage on Accelerator Pedal not disengaging properly 2024-06-27 04:28:13 +00:00
Jason Wen
bb9d946b28 Merge branch 'SP-159-map-settings-dm-overlap' into master-dev-c3 2024-06-27 00:19:58 -04:00
Jason Wen
ecdf0bdecc confirmed to work 2024-06-27 00:19:41 -04:00
Jason Wen
a3e20c8d6d Merge branch 'master-priv-ford' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	panda
2024-06-25 13:44:19 -04:00
Jason Wen
9883e7742f Merge branch 'SP-159-map-settings-dm-overlap' into master-dev-c3 2024-06-25 13:43:41 -04:00
Jason Wen
cb23843162 no more deadzone 2024-06-25 13:42:38 -04:00
Jason Wen
896fc5c6a4 Merge branch 'master-priv' into master-priv-ford
# Conflicts:
#	CHANGELOGS.md
#	panda
2024-06-25 13:42:09 -04:00
Jason Wen
b91a134b63 Merge branch 'master-priv' into SP-159-map-settings-dm-overlap
# Conflicts:
#	selfdrive/ui/qt/onroad/annotated_camera.cc
2024-06-24 19:05:48 -04:00
Jason Wen
afa97df945 Remove Screen Recorder 2024-06-24 18:56:36 -04:00
Jason Wen
cdc2ffceff Merge branch 'master-priv' into SP-159-map-settings-dm-overlap 2024-06-24 18:24:19 -04:00
Jason Wen
ff65d37cc7 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	opendbc
2024-06-24 18:20:40 -04: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
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
00fd7515b5 Merge branch 'SP-163-mads-disengage-on-accel' into master-dev-c3 2024-06-24 17:57:51 -04:00
Jason Wen
a1b6b467a6 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	selfdrive/car/sunnypilot_carname.json
2024-06-24 17:57:41 -04:00
Jason Wen
3e0edf6faa MADS: Fix Disengage on Accelerator Pedal not disengaging properly 2024-06-24 17:56:55 -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
DevTekVE
80bc76791c Merge branch 'master-priv' into master-dev-c3 2024-06-22 21:07:56 +02:00
DevTekVE
9c34635fda [sunnylink] Refactor sunnylink registration process and more resiliency 2024-06-22 19:06:17 +00:00
DevTekVE
fb3835ed39 Merge branch 'background-sunnylink-register' into master-dev-c3 2024-06-22 20:02:45 +02:00
DevTekVE
fcc61ac46e Reset Sunnylink ping time during registration
In the Sunnylink API, a line was added to reset the last ping time to zero whenever we are trying to register. The purpose of this change is to ensure that registration attempts start with a clean slate, potentially improving the reliability of the registration process.
2024-06-22 20:00:46 +02:00
DevTekVE
5c351a994f Disable Sunnylink if registration is unsuccessful
This code update sets Sunnylink to be disabled in the event that the registration does not go through successfully. This is to ensure that resources aren't wasted trying to access unregistered Sunnylink hardware.
2024-06-22 14:47:32 +02:00
DevTekVE
696497c6e4 Update sunnylink error logging and status display
Updated the error logging in sunnylink.py to include the module name for clarity. In addition, adjusted the status display in sidebar.cc to shorten the "REGISTERING" status text for a cleaner user interface.
2024-06-22 14:45:04 +02:00
DevTekVE
93286505e1 Improve Sunnylink registration and exception handling
This change enhances the Sunnylink registration process by including better error checks and exception handling for cases when the public key is in use or known to be not unique. The commit also adjusts the setting of the ping time right after a successful registration. Additionally, cleanup occurred in the UI to streamline some code relating to the display of Sunnylink status. The handling of the last Sunnylink ping time has been removed from the system manager.
2024-06-22 14:31:51 +02:00
DevTekVE
3f5dc2f418 Merge remote-tracking branch 'origin/SP-157-sync-priv-20240614' into master-dev-c3
# Conflicts:
#	selfdrive/car/ford/interface.py
#	selfdrive/car/hyundai/interface.py
2024-06-22 13:36:11 +02:00
DevTekVE
27dd7d6332 Merge branch 'background-sunnylink-register' into master-dev-c3 2024-06-21 10:22:45 +02:00
DevTekVE
1a09978811 Fixing a little the conditions 2024-06-21 10:19:45 +02:00
DevTekVE
b9bec4853c Add toggle for log upload functionality
A new functionality has been added to the sunnylinkd script which allows for the toggling of log uploads. This includes the establishment of "DISALLOW_LOG_UPLOAD" as a threading event and a new method, "toggleLogUpload", that sets or clears this event based on whether uploads are enabled or not.
2024-06-21 09:27:45 +02:00
DevTekVE
4c6fec9ddf Refactor Sunnylink status checks and improve logic in multiple modules
This update streamlines how the system checks the status of Sunnylink. New methods were added to `sunnylink.py` to encapsify status checking logic, such as whether the device is connected to a network, if Sunnylink is enabled, if the device is registered and if registration is needed. This resulted in simplified code in `sunnylinkd.py` and `process_config.py` as these status checks are now standardized. Furthermore, removed repetitive code in `sunnylinkd.py` by replacing it with these new methods and modified the while loop conditions according to the new status methods.
2024-06-21 09:14:00 +02:00
DevTekVE
ef133f2182 Merge branch 'background-sunnylink-register' into master-dev-c3
# Conflicts:
#	selfdrive/ui/qt/offroad/sunnypilot/sunnylink_settings.cc
#	system/manager/manager.py
#	system/manager/sunnylink.py
2024-06-20 08:18:55 +02:00
DevTekVE
1bd2a2f007 add back the dirinvg model even if dupped. it's not responisibility of this mr
add back the dirinvg model even if dupped. it's not responisibility of this mr

Refactor Sunnylink's operation and default state handling

This update refines the operation and handling of the Sunnylink feature, focusing on its management within the launch script and the logic for its default state.

Starting with the default state, the 'SunnylinkEnabled' parameter is no longer hard-coded to 0. Instead, it now depends on the presence of a release_channel or release_sp_channel. Furthermore, Sunnylink is set to be active in all non-release builds by default.

Regarding the launch script, obsolete invocations of Sunnylink are avoided. This procedure actively checks for Sunnylink registration status before initiating the related processes, effectively conserving system resources. Also, this modifies the launching order of the mapd installer and manager.

As for the functionality of Sunnylink, crucial improvements are brought into effect:
- The status display post Sunnylink registration is made more accurate and informative, with the inclusion of a progress color.
- The handling of Sunnylink capability is overhauled, ensuring that if Sunnylink feature is disabled, a clear warning is logged and the daemon process shuts down correctly.
- System exit conditions now accommodate the Sunnylink registration status to ensure clean termination.
- The start of Sunnylink Uploader is now strictly dependent on the validation of Sunnylink registration.
- This optimization is also incorporated into the 'manage_athenad' method which now gracefully handles any potential null values for Sunnylink Dongle ID.

This comprehensive update aims to enhance the transparency, functionality, and efficient operation of the Sunnylink feature.
2024-06-20 08:16:59 +02:00
Jason Wen
85a2a7241e Merge branch 'SP-162-kia-ceed-phev-non-scc-2022' into master-dev-c3 2024-06-19 19:31:34 -04:00
Jason Wen
7f3a965aa2 Wrong key 2024-06-19 19:31:25 -04:00
Jason Wen
b7ddd9e2e4 Merge branch 'SP-162-kia-ceed-phev-non-scc-2022' into master-dev-c3 2024-06-19 19:06:04 -04:00
Jason Wen
b1f4d05051 Try this 2024-06-19 19:05:50 -04:00
Jason Wen
ba14ae6b1d Merge branch 'SP-162-kia-ceed-phev-non-scc-2022' into master-dev-c3
# Conflicts:
#	panda
2024-06-19 18:18:57 -04:00
DevTekVE
7f80ce645e Merge branch 'background-sunnylink-register' into master-dev-c3 2024-06-19 22:03:51 +02:00
DevTekVE
c4037ece24 Update sunnylink registration processes
Removed spinner from sunnylink.py and stopped reboot prompt in sunnylink_settings.cc. The spinner was unnecessary and the reboot, instead of being prompted, will be handled differently. Additionally, timestamp of the last successful ping is now recorded upon registration in the Sunnylink service.
2024-06-19 22:03:29 +02:00
DevTekVE
7e7d98f0c0 addming main 2024-06-19 22:03:29 +02:00
DevTekVE
b80f6442bd Remove unnecessary sunnylink.py launch command
The sunnylink.py file was unnecessarily initiated in the launch_chffrplus.sh script. This initiation was removed to streamline the script and potentially increase overall runtime efficiency.
2024-06-19 22:03:29 +02:00
DevTekVE
cd8d07dddd Add Sunnylink registration check and process
The commit introduces a new function, sunnylink_need_register, to check if the Sunnylink feature is registered. It also updates the process list to always include the manage_sunnylinkd process and introduces a new process for Sunnylink registration if it's enabled but not registered.
2024-06-19 22:03:29 +02:00
DevTekVE
61843ee71c Refactor Sunnylink registration condition
The condition for Sunnylink registration has been simplified and refactored within the main loop. Previously, the "is_registered" variable was being set outside the registration loop. Now, the checking process of the dongle ID in regard to the registration status is directly integrated into the while condition. This makes the code more concise and the process flow clearer.
2024-06-19 22:03:29 +02:00
DevTekVE
7dc412fcf1 Refactor encoding method and reduce sleep time
The decoding method in the manage_athenad file has been refactored for parameter retrieval. Instead of decoding after receiving the parameter, decoding is now integrated in the parameter retrieval process. Also, the waiting time in the sunnylinkd.py has been reduced from 60 seconds to 10 to enhance performance and reduce lag.
2024-06-19 22:03:29 +02:00
DevTekVE
5836995097 Refactor sunnylinkd.py for dynamic Sunnylink check
Removed the static check for Sunnylink's enabled status, allowing the feature to be checked dynamically within while loops. This change ensures that if the Sunnylink feature status changes, it can immediately affect the decision-making within the process. This is particularly useful for smooth enabling or disabling of the Sunnylink feature.
2024-06-19 22:03:29 +02:00
DevTekVE
524b97f8d4 Refactor sunnylinkd.main exit conditions
The checks for the sunnylink_enabled flag have been restructured to eliminate unnecessary loop iterations. The check has been moved out of the loop to do the evaluation only once, when exiting the loop. This significantly increases the efficiency of the code.
2024-06-19 22:03:29 +02:00
DevTekVE
62b0c9f8be Add delay before retrying sunnylinkd main
The update introduces a 60-second delay before retrying the execution of sunnylinkd main when SunnylinkEnabled is false. This aims to prevent the immediate termination of the process when SunnylinkEnabled is turned off, allowing for a smoother transition.
2024-06-19 22:03:28 +02:00
DevTekVE
c7464fc615 Add Sunnylink registration check in main function
The code has been adjusted to perform a check for Sunnylink registration in the main function of the sunnylinkd script. Previously, the script was checking for the SunnylinkEnabled state and if the dongle is registered at the beginning of the script. Now, these checks are executed within the main function, allowing the script to exit with a warning log if Sunnylink is not enabled.
2024-06-19 22:03:28 +02:00
DevTekVE
1f63d63398 Change loop control from 'continue' to 'break'
The loop control in sunnylinkd.py was changed from 'continue' to 'break' when Sunnylink is disabled. This prevents unnecessary iterations and makes the code more efficient when the Sunnylink functionality is not in use.
2024-06-19 22:03:28 +02:00
DevTekVE
b18987a5f7 Remove setting exit_event in sunnylinkd.py
The code has been updated to remove the conditional that sets exit_event in the sunnylinkd.py file. This change simplifies control flow by immediately returning to the top of the loop when Sunnylink is not enabled, instead of managing an additional event.
2024-06-19 22:03:28 +02:00
DevTekVE
00fb20e28c Refactor sunnylink process configuration logic
The code for managing sunnylink processes has been refactored and improved. A function, use_sunnylink, has been added to check if sunnylink is both enabled and registered appropriately.  Additionally, the launching of process logic for 'sunnylink_uploader' and 'manage_sunnylinkd' has been adjusted to use this new function. The main function of 'sunnylinkd.py' now also checks if the sunnylink is enabled before running.
2024-06-19 22:03:28 +02:00
DevTekVE
7fcdcf64d8 Fix format error in SunnylinkDongleId variable
The format of the SunnylinkDongleId variable was incorrect in system manager code. It used a dictionary format instead of a tuple. This commit replaces it back with a tuple appropriately to avoid inconsistencies.
2024-06-19 22:03:28 +02:00
DevTekVE
65edbe4f47 Update Sunnylink dongle ID handling
The Sunnylink dongle ID is now being formatted directly in the manager.py file, reducing redundancy. Also, the check for sunnylink_dongle_id in sunnylink.py was removed to simplify the SunnlinkEnabled conditional.
2024-06-19 22:03:28 +02:00
DevTekVE
5d440cf62a Refactor Sunnylink integration and add dongle registration check
The Sunnylink integration has been refactored to improve handling of scenarios where Sunnylink is enabled but the dongle is not registered. Added checks for the registration status of the Sunnylink dongle and updated related defaults and UI indicators correspondingly. Additionally, moved the execution of the sunnylink.py script to the background during launch to prevent blocking other tasks.
2024-06-19 22:03:28 +02:00
Jason Wen
27fbb3a67b Merge branch 'SP-157-sync-20240614' into SP-157-sync-priv-20240614 2024-06-19 15:25:25 -04:00
Jason Wen
2952d54a2b Bump submodule for SP-162 2024-06-19 15:00:56 -04:00
Jason Wen
7821c5371b HKG: Car Port for Kia Ceed PHEV Non-SCC 2022 2024-06-19 14:58:24 -04:00
Jason Wen
7357522e39 Merge branch 'SP-161-ui-no-noo-path' into master-dev-c3 2024-06-18 21:59:46 -04:00
Jason Wen
d00479b517 ui: Fix navigation path not updating color 2024-06-17 20:15:48 -04: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
a89d9b743e Merge branch 'master-priv' into master-dev-c3 2024-06-16 19:36:36 -04:00
Jason Wen
2b6bfe32f4 Custom Stock Longitudinal ControL: Volkswagen: Fix missing bus argument 2024-06-16 19:32:10 -04:00
Jason Wen
74088da1d0 Merge branch 'SP-138-cslc-gm' into master-dev-c3 2024-06-16 14:51:42 -04:00
Jason Wen
779637fb0d Fix 2024-06-16 14:51:32 -04:00
Jason Wen
3e901769ec Merge branch 'master-priv' into SP-138-cslc-gm 2024-06-16 14:50:55 -04: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
87fe82493b Merge branch 'SP-138-cslc-gm' into master-dev-c3 2024-06-16 02:19:56 -04:00
Jason Wen
50b0a7a69a Only camera ACC for now 2024-06-16 02:19:45 -04:00
Jason Wen
ad9ac9d9fd Merge branch 'SP-159-map-settings-dm-overlap' into master-dev-c3 2024-06-16 01:41:41 -04:00
Jason Wen
572abfb519 ui: Fix onroad bottom row buttons positions with RHD detection
The `updateButtonsLayout` function now takes a boolean argument `is_rhd` which adjusts the alignment of the on-screen buttons according to the handedness of the driving. This change was necessary to cater to right-hand drive regions, making the application more user-friendly and adaptable to global user base. No behavior change for left-hand drive.
2024-06-16 01:41:15 -04:00
Jason Wen
653e061ec5 Merge branch 'SP-138-cslc-gm' into master-dev-c3
# Conflicts:
#	panda
2024-06-16 01:19:01 -04:00
Jason Wen
e1ac25bdd8 Custom Stock Longitudinal Control: GM Support
This commit adds the custom cruise control logic in the GM interface and provides custom minimum cruise speed for GM. It also provides comprehensive updates in GM car controller to manage different scenarios in cruise control. Additionally, the update includes button control for cruise speed modification, maintaining a steady speed and considering curve speed hysteresis. Further, safety checks were implemented in the panda safety module for the GM to check cruise control actions.
2024-06-16 01:17:53 -04: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
Jason Wen
76ee63bb51 Merge branch 'master-priv' into master-dev-c3 2024-06-14 11:44:36 -04:00
Jason Wen
81a361e5ad Merge branch 'sentry-update-flags' into master-dev-c3 2024-06-14 11:42:02 -04:00
Jason Wen
2110e9cfc9 Sentry: Update fingerprinting events 2024-06-14 11:41:42 -04:00
DevTekVE
d78948ea6e Add 'allow_failure: false' to publish script in .gitlab-ci.yml 2024-06-14 15:32:11 +00:00
Jason Wen
c9cd510d33 Merge branch 'master-priv' into master-dev-c3 2024-06-14 09:20:56 -04:00
Jason Wen
a72ebe18be Release: Add all DBC to release files 2024-06-14 09:19:26 -04:00
Jason Wen
e90f15199f Merge branch 'master-priv' into master-dev-c3 2024-06-14 08:02:45 -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
Jason Wen
bbf7c88bc4 Merge branch 'master-priv' into master-dev-c3 2024-06-13 17:33:06 -04: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
Jason Wen
4e1cbef881 Merge branch 'master-priv-fix-sunnylink-failed-register' into master-dev-c3 2024-06-13 13:27:11 -04:00
Jason Wen
684a494950 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	selfdrive/ui/qt/offroad/onboarding.cc
2024-06-13 13:27:08 -04:00
Jason Wen
43a4218e7f Explicit access token arg 2024-06-13 13:26:29 -04:00
Jason Wen
2551e51526 Merge branch 'master-priv' into master-priv-fix-sunnylink-failed-register 2024-06-13 13:07:55 -04: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
Jason Wen
3e5cb3e290 Merge branch 'SP-154-sl-sponsor-qr' into master-dev-c3 2024-06-13 12:50:05 -04:00
Jason Wen
bc749ff83c ui: Disallow QR code generation if sunnylink dongle ID does not exist 2024-06-13 12:46:54 -04:00
Jason Wen
51b40230ec Merge branch 'SP-151-sp-tos' into master-dev-c3 2024-06-13 12:08:21 -04:00
Jason Wen
589a4de522 split comma's and sunnypilot's 2024-06-13 12:08:12 -04:00
DevTekVE
0357966798 Merge branch 'refs/heads/master-priv-fix-sunnylink-failed-register' into master-dev-c3 2024-06-13 17:28:50 +02:00
DevTekVE
f48c7b22ae Set default value for SunnylinkDongleId
Removed the condition check for sunnylink_dongle_id and instead, directly assigned a default value in case it doesn't exist. This simplifies the code by removing an unnecessary if statement.
2024-06-13 17:28:36 +02:00
Jason Wen
7d952ecc1e Merge branch 'SP-151-sp-tos' into master-dev-c3 2024-06-13 10:44:29 -04:00
Jason Wen
29791a7105 fix index 2024-06-13 10:44:21 -04:00
Jason Wen
cc48ee7dd4 Merge branch 'SP-151-sp-tos' into master-dev-c3 2024-06-13 10:40:31 -04:00
Jason Wen
252f06c5ad make sure comma's ToS is retained 2024-06-13 10:40:15 -04:00
DevTekVE
43557a29db Merge branch 'refs/heads/master-priv-more-resilient-sunnylink-connection-and-thread-handling' into master-dev-c3 2024-06-13 09:58:51 +02:00
DevTekVE
fbaf8722d1 Refactor athenad and sunnylinkd python code
Several changes have been made to improve the code structure of the athenad and sunnylinkd scripts. The while loop in athenad now uses end_event.wait(5) for cleaner execution control. In sunnylinkd.py, there have been additions to manage exceptions and refinements in the handling of network checks. The final major change is the inclusion of a new constant for sunnylink reconnection timeout that plays major role in various parts of the script.
2024-06-13 09:56:54 +02:00
Jason Wen
3cb8be0b94 Merge branch 'SP-151-sp-tos' into master-dev-c3 2024-06-13 02:05:25 -04:00
Jason Wen
55542d56f2 ui: sunnypilot Terms of Service 2024-06-13 02:02:58 -04:00
Jason Wen
2c10fc3f56 Update CHANGELOGS.md 2024-06-13 01:07:28 -04:00
Jason Wen
85dde420d8 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-06-13 01:04:38 -04:00
Jason Wen
799488573a Update CHANGELOGS.md 2024-06-13 01:02:55 -04:00
Jason Wen
c9332cde8c Merge branch 'SP-150-sync-priv-20240612' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	panda
#	release/build_release.sh
#	release/release_files.py
2024-06-12 22:28:16 -04:00
Jason Wen
b7df7298a1 Update CHANGELOGS.md 2024-06-12 22:25:31 -04: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
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
Jason Wen
69abbd94ec Merge branch 'SP-147-sync-priv-2024' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	panda
#	release/files_common
2024-06-12 16:08:20 -04:00
Jason Wen
436bc369c1 Update CHANGELOGS.md 2024-06-12 14:28:56 -04:00
Jason Wen
229dccd428 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 14:28:31 -04:00
Jason Wen
211ff21af0 Merge branch 'master' into SP-147-sync-priv-2024
# Conflicts:
#	common/api/__init__.py
#	panda
#	release/build_release.sh
#	release/files_common
#	selfdrive/car/card.py
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/radard.py
#	selfdrive/ui/qt/api.cc
#	selfdrive/ui/qt/maps/map.cc
#	selfdrive/ui/ui.cc
#	system/athena/manage_athenad.py
#	system/athena/manage_sunnylinkd.py
#	system/athena/sunnylinkd.py
#	system/manager/gitlab_runner.sh
#	system/manager/manager.py
#	system/manager/mapd_installer.py
#	system/manager/process_config.py
#	system/manager/sunnylink.py
#	system/sentry.py
2024-06-12 14:28:20 -04:00
DevTekVE
0e7ad5918e Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 22:11:52 +02:00
DevTekVE
a2ad9cb6a4 adding back the readme 2024-06-11 22:11:35 +02:00
DevTekVE
eb93ee7b3b Merge remote-tracking branch 'origin/master-dev-c3' into master-dev-c3 2024-06-11 22:03:59 +02:00
DevTekVE
a2b3fd432c Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3
# Conflicts:
#	.gitlab-ci.yml
2024-06-11 21:53:02 +02:00
DevTekVE
dde55447d5 Update method for copying release files in CI
The method to copy release files in the continuous integration pipeline has been changed. Instead of using a complex cp command, we are now simply using a Python script with rsync, which provides cleaner and more readable code. The old method is still present but commented out for history or possible future use.
2024-06-11 21:50:22 +02:00
Jason Wen
90628c6e0f Add monitoring/helpers.py 2024-06-11 21:49:29 +02:00
DevTekVE
6c87faefdf Move mapd_manager.py to system directory
The mapd_manager.py file has been relocated from the selfdrive directory to the system directory. This change in location reflects the file hierarchy restructuring and improves the organization of the codebase.
2024-06-11 21:49:29 +02:00
DevTekVE
1f5c04f80e Update release files copy command in CI pipeline
The `.gitlab-ci.yml` file has been updated to directly use copy command instead of the output from release_files.py script, which was previously used in the pipeline. This change is implemented for security reasons - to validate the output and prevent exposure of unnecessary files. Warning outputs are also efficiently managed now, with the use of grep command.
2024-06-11 21:49:29 +02:00
DevTekVE
556e2f55a0 Update rsync flag in GitLab CI configuration
This change updates the rsync command in the GitLab CI configuration file (.gitlab-ci.yml) from '-av' to '-avm'. This introduces a more efficient synchronization by reducing the amount of file metadata transferred.
2024-06-11 21:27:01 +02:00
DevTekVE
0f94403092 Optimize scons command and update release_files script
The scons command in the GitLab CI file now includes the --minimal flag to boost performance by reducing unnecessary operations. In the release_files script, a redundant exclusion pattern has been removed, simplifying file matching.
2024-06-11 21:00:30 +02:00
DevTekVE
d21a6126ac Update file whitelists and blacklists in release_files.py
The file blacklists and whitelists in release_files.py have been thoroughly updated to reflect changes in project structure and requirements. This includes additions to the sunnypilot_blacklist, such as "system/manager/gitlab_runner.sh" and "README.md", among others. The sunnypilot_whitelist has also been
2024-06-11 20:48:55 +02:00
Jason Wen
57b5dbf31f Merge branch 'SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 12:31:45 -04:00
Jason Wen
38a40b4db0 Add monitoring/helpers.py 2024-06-11 12:17:28 -04:00
DevTekVE
99ace8f1b5 Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 15:58:03 +02:00
DevTekVE
2babfe790d Move mapd_manager.py to system directory
The mapd_manager.py file has been relocated from the selfdrive directory to the system directory. This change in location reflects the file hierarchy restructuring and improves the organization of the codebase.
2024-06-11 15:53:59 +02:00
DevTekVE
725768783f Update release files copy command in CI pipeline
The `.gitlab-ci.yml` file has been updated to directly use copy command instead of the output from release_files.py script, which was previously used in the pipeline. This change is implemented for security reasons - to validate the output and prevent exposure of unnecessary files. Warning outputs are also efficiently managed now, with the use of grep command.
2024-06-11 15:47:38 +02:00
DevTekVE
55cee14105 more cleanup adjustment 2024-06-11 15:45:14 +02:00
DevTekVE
649aef3cc1 more cleanup adjustment 2024-06-11 15:32:09 +02:00
DevTekVE
f264b49c7e more cleanup adjustment 2024-06-11 15:26:04 +02:00
DevTekVE
86242fa57f more cleanup adjustment 2024-06-11 14:56:15 +02:00
DevTekVE
489ab0efe3 more cleanup 2024-06-11 14:29:08 +02:00
DevTekVE
a8bc3d30ca Update release files and remove unnecessary tests
This commit significantly updates the list of release files, adding several new ones and removing numerous others. In addition, a large number of test files deemed unnecessary have been removed. This is part of a broader effort to optimize the codebase and improve efficiency.
2024-06-11 14:27:33 +02:00
DevTekVE
06ea74d954 Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 12:57:47 +02:00
DevTekVE
135eb2f17b Remove unused files from release
The Docker-related files, SECURITY.md, codecov.yml, conftest.py, poetry.lock and .clang-tidy were removed from the release_files.py. This cleanup was made to ensure the release contains only the necessary files, reducing potential clutter and confusion.
2024-06-11 12:56:26 +02:00
DevTekVE
7a51cfcd13 Add numerous files to release_files.py
This commit majorly expands the list of files to be tracked in release_files.py. The additions range from Dockerfile configurations, README documents, test files, builder scripts and many more. This might enhance the overall tracking and versioning capability for a wider scope of files across the project.
2024-06-11 12:37:41 +02:00
DevTekVE
6a6f5f4860 Add various files to release_files.py
The commit adds a list of files related to GitLab CI, Docker, code formatting, and security guidelines to the release_files.py. These additions will provide more control and configuration for the release process.
2024-06-11 12:24:22 +02:00
DevTekVE
9f269722ab Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 12:08:32 +02:00
DevTekVE
d9170548c9 Add new entries to sunnypilot_blacklist
Two new entries have been added to the sunnypilot_blacklist array in the release_files.py script. This now includes ".run/" and "release/ci/scons_cache/".
2024-06-11 12:07:59 +02:00
DevTekVE
472948cf62 Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3 2024-06-11 11:59:58 +02:00
DevTekVE
de4cefdc1e Update import paths in athena files
The changes here correct a misalignment in the import paths in the sunnylinkd.py and manage_sunnylinkd.py files. These updates ensure that system.athena modules are accurately referenced, which is critical for the function of these scripts.
2024-06-11 11:59:46 +02:00
DevTekVE
702643188c Updating panda to point to the proper branch for dev-c3 2024-06-11 10:49:35 +02:00
DevTekVE
a42398646b Merge branch 'refs/heads/SP-147-sync-priv-2024' into master-dev-c3-snapshot
# Conflicts:
#	CHANGELOGS.md
#	panda
2024-06-11 10:45:58 +02:00
DevTekVE
7ae27b6970 Merge remote-tracking branch 'refs/remotes/origin/master-priv' into master-dev-c3-snapshot
# Conflicts:
#	selfdrive/athena/sunnylinkd.py
2024-06-11 10:44:31 +02:00
DevTekVE
ba3475a02c Add 'sunnylink_uploader.py' to temporary blacklist
We are temporarily blacklisting 'sunnylink_uploader.py' by adding it under 'sunnypilot_blacklist' in 'release/release_files.py' until it's ready for widespread roll-out. Alongside, the existing path in 'system/manager/process_config.py' has been updated to reflect the correct location of 'sunnylink_uploader.py'. This will ensure the processes are correctly managed based on its existence.
2024-06-11 09:33:27 +02:00
DevTekVE
e0110198bf Merge branch 'refs/heads/master-priv' into SP-147-sync-priv-2024
# Conflicts:
#	system/manager/process_config.py
2024-06-11 09:25:59 +02: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
Jason Wen
899b5a6e33 Update CHANGELOGS.md 2024-06-10 21:34:20 -04:00
Jason Wen
7484d75205 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-10 21:24:35 -04:00
Jason Wen
e36dbe97b5 Merge branch 'master' into SP-147-sync-priv-2024
# Conflicts:
#	common/api/__init__.py
#	panda
#	release/build_release.sh
#	release/files_common
#	selfdrive/car/card.py
#	selfdrive/car/toyota/carcontroller.py
#	selfdrive/controls/controlsd.py
#	selfdrive/controls/radard.py
#	selfdrive/ui/qt/api.cc
#	selfdrive/ui/qt/maps/map.cc
#	selfdrive/ui/ui.cc
#	system/athena/manage_athenad.py
#	system/athena/manage_sunnylinkd.py
#	system/athena/sunnylinkd.py
#	system/manager/gitlab_runner.sh
#	system/manager/manager.py
#	system/manager/mapd_installer.py
#	system/manager/process_config.py
#	system/manager/sunnylink.py
#	system/sentry.py
2024-06-10 21:24:23 -04:00
DevTekVE
d79f0082eb Merge branch 'refs/heads/master-priv-log-sunnylink-error' into master-dev-c3
# Conflicts:
#	selfdrive/athena/sunnylinkd.py
2024-06-10 11:21:19 +02:00
DevTekVE
922a0f91ba Merge branch 'refs/heads/swaglog-to-cloudwatch' into master-dev-c3 2024-06-10 11:19:58 +02:00
DevTekVE
a7699c280f Change log level from info to debug in sunnylinkd.py
The logging level for 'pong' and 'ping' messages in sunnylinkd.py has been changed from 'info' to 'debug'. This adjustment will help reduce the level of verbosity in the logs and focus more on significant events.
2024-06-10 11:14:35 +02:00
DevTekVE
12841b7bb4 Update sunnylinkd.py to improve logging and connection timeout
The commit enhances the logging in the selfdrive/athena/sunnylinkd.py by adding an info statement when the handle_long_poll function starts. It also modifies the create_connection function call, removing the fixed 30 seconds timeout, providing more flexibility for connection time.
2024-06-10 09:40:08 +02:00
DevTekVE
6d8348ccf0 Change error logging to event logging in athenad.py
The logging for an invalid JSON RPC request in athenad.py has been changed from an error log to an event log. The event log still records the request as an error, improving clarity of error handling in the system.
2024-06-10 09:39:32 +02:00
DevTekVE
85fb840575 Add debug message for non-supported PC in log_handler
A debug message has been added to the log_handler function in the athenad.py file. This message will get triggered when the function is being invoked on a non-supported PC, providing a clearer indication of potential errors due to platform incompatibility.
2024-06-10 08:55:23 +02:00
DevTekVE
feff771969 Merge branch 'refs/heads/master-priv-log-sunnylink-error' into master-dev-c3 2024-06-10 08:22:47 +02:00
DevTekVE
f4415169c0 Add error logging for invalid requests in athenad.py
An error logging line was added in athenad.py to capture and log the details of any invalid requests received. This additional error handling measure will help to maintain the standards of incoming requests and provide clearer debugging information.
2024-06-10 08:17:28 +02:00
DevTekVE
b9d9346994 Merge branch 'refs/heads/master-priv-log-sunnylink-error' into master-dev-c3 2024-06-10 07:47:38 +02:00
DevTekVE
3f7403318e Add LastSunnylinkPingTime to manager and update sunnylinkStatus calculation
A new parameter "LastSunnylinkPingTime" has been introduced to the manager script, it will now be tracked and stored alongside other car status parameters. Additionally, unnecessary comments and includes have been removed in the sidebar script. The "sunnylinkStatus" calculation has also been updated to accommodate empty strings and prevent potential crashes.
2024-06-10 07:47:20 +02:00
DevTekVE
6115f73085 Merge branch 'refs/heads/master-priv-log-sunnylink-error' into master-dev-c3 2024-06-09 11:32:58 +02:00
DevTekVE
6b70ea3de6 Comment out error logging for Sunnylink status
The commit comments out a log statement that outputs an error message if Sunnylink is offline. This change is probably a temporary measure to avoid unnecessary log messages in the output, although it may affect troubleshooting of Sunnylink connection issues.
2024-06-09 11:32:43 +02:00
DevTekVE
63ed2c8e30 Merge branch 'refs/heads/master-priv-log-sunnylink-error' into master-dev-c3 2024-06-09 11:31:25 +02:00
DevTekVE
d75fd76537 Merge branch 'refs/heads/master-priv' into master-dev-c3 2024-06-09 11:30:59 +02:00
DevTekVE
609b2d8a21 Refactor sunnylink code for logs and ping timeouts
The sunnylink ping and log statements have been refactored for clarity and optimization. Log levels were changed from debug to info, resulting in more visibility for important processes in sunnylinkd.py. The timeout before re-pinging in ws_ping() was also updated from 80% to 70% to ensure more consistent connections.
2024-06-09 10:32:02 +02: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
DevTekVE
21d3fd3385 Add logging for Sunnylink offline issue
The code updates include error logging for debugging when Sunnylink goes offline. Log includes information such as the last ping time and the current time to better understand the cause of possible issues. This logging will aid in resolving status discrepancies with the Sunnylink feature.
2024-06-08 21:59:31 +02:00
Jason Wen
e4f6e12786 Simulator: Refactor hardcoded path crashing PC runs 2024-06-07 22:59:54 +00:00
Jason Wen
c740ab2a86 Revert "Update CHANGELOGS.md"
This reverts commit 910a4f6c8f.
2024-06-04 21:25:07 -04:00
Jason Wen
910a4f6c8f Update CHANGELOGS.md 2024-06-04 21:25:04 -04:00
Jason Wen
6217b2be81 Merge branch 'SP-140-toyota-pedal-bug' into master-dev-c3 2024-06-03 15:36:30 -04:00
Jason Wen
111d8a5a54 Toyota: Fix platform naming with comma Pedal 2024-06-03 15:36:21 -04:00
Jason Wen
acbd1d4b4c Merge branch 'SP-132-manager-crash-git-pull' into master-dev-c3 2024-06-01 00:12:23 -04:00
Jason Wen
b66da7dd1a disable log 2024-06-01 00:12:17 -04:00
Jason Wen
cba9bc63b2 Merge branch 'SP-132-manager-crash-git-pull' into master-dev-c3 2024-06-01 00:06:30 -04:00
Jason Wen
318fc690fa Revert "have this so no need to manually do it"
This reverts commit a4f65ab740.
2024-06-01 00:06:19 -04:00
Jason Wen
2a451f859f Merge branch 'SP-132-manager-crash-git-pull' into master-dev-c3 2024-06-01 00:04:12 -04:00
Jason Wen
6f619aa48d Revert "use qprocess so text is printed live"
This reverts commit 7703ea8c51.
2024-06-01 00:02:46 -04:00
Jason Wen
b0e8fddfed Revert "deprecated"
This reverts commit 8225779bf0.
2024-06-01 00:02:46 -04:00
Jason Wen
a7e9f09338 Revert "do it like this"
This reverts commit 09be75814b.
2024-06-01 00:02:45 -04:00
Jason Wen
09be75814b do it like this 2024-06-01 00:01:14 -04:00
Jason Wen
8225779bf0 deprecated 2024-05-31 23:59:31 -04:00
Jason Wen
7703ea8c51 use qprocess so text is printed live 2024-05-31 23:58:23 -04:00
Jason Wen
96506a9097 not needed 2024-05-31 23:53:25 -04:00
Jason Wen
d615f6dd8b try not updating scroll 2024-05-31 23:51:33 -04:00
Jason Wen
449563c0bd add this 2024-05-31 23:46:03 -04:00
Jason Wen
a1662b86eb execute all commands regardless of failures 2024-05-31 23:41:37 -04:00
Jason Wen
bd2b6eb304 Revert "disable log"
This reverts commit 97409b198c.
2024-05-31 23:40:48 -04:00
Jason Wen
a335542090 Revert "just execute for now"
This reverts commit 3dc042e066.
2024-05-31 23:38:10 -04:00
Jason Wen
3dc042e066 just execute for now 2024-05-31 23:36:59 -04:00
Jason Wen
a4f65ab740 have this so no need to manually do it 2024-05-31 23:33:36 -04:00
Jason Wen
97409b198c disable log 2024-05-31 23:33:07 -04:00
Jason Wen
07f5592e4f use std::ostringstream 2024-05-31 23:31:21 -04:00
Jason Wen
db23c4a56f print them all! 2024-05-31 23:28:45 -04:00
Jason Wen
23f263304f try this 2024-05-31 23:22:52 -04:00
Jason Wen
fd68ce13ee convert str 2024-05-31 23:17:24 -04:00
Jason Wen
520ecde1cd swaglog 2024-05-31 23:16:14 -04:00
Jason Wen
8f4dc2481f add debug 2024-05-31 23:10:17 -04:00
Jason Wen
a353db8637 try printing the output in view 2024-05-31 23:07:53 -04:00
Jason Wen
c06ddb81af should add if does not exist 2024-05-31 22:47:30 -04:00
Jason Wen
b07473b9c9 oops 2024-05-31 22:43:11 -04:00
Jason Wen
ce16dd2a4f handle things better 2024-05-31 22:41:57 -04:00
Jason Wen
9dae5d1659 Revert "check if origin-update exists"
This reverts commit f4c7d3ecd3.
2024-05-31 22:27:45 -04:00
Jason Wen
c661d36c34 Revert "do this"
This reverts commit 83349a13da.
2024-05-31 22:27:44 -04:00
Jason Wen
4789730917 Revert "oops"
This reverts commit 30fe43bf01.
2024-05-31 22:27:44 -04:00
Jason Wen
30fe43bf01 oops 2024-05-31 22:26:29 -04:00
Jason Wen
83349a13da do this 2024-05-31 22:25:21 -04:00
Jason Wen
f4c7d3ecd3 check if origin-update exists 2024-05-31 22:21:11 -04:00
Jason Wen
06784e2a80 interact with reboot button too 2024-05-31 22:10:18 -04:00
Jason Wen
2c0ab40c82 Controls: Customizable Pause Lateral Speed 2024-05-31 23:01:31 +00:00
Jason Wen
5a32d5b027 Merge branch 'master-priv' into master-dev-c3 2024-05-31 18:58:16 -04: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
Jason Wen
a036b5d93a Merge branch 'sentry-bootlog' into master-dev-c3 2024-05-31 11:05:39 -04:00
Jason Wen
344425ddb6 Merge branch 'SP-132-manager-crash-git-pull' into master-dev-c3 2024-05-31 11:05:24 -04:00
Jason Wen
920ff7836e Sentry: Add dongle ID to uploaded bootlog 2024-05-31 11:04:55 -04:00
Jason Wen
2ee7a0200f oops 2024-05-31 03:27:26 -04:00
Jason Wen
00ad42da50 just to test lol 2024-05-31 03:25:56 -04:00
Jason Wen
cd2a265364 update_btn instead 2024-05-31 03:15:41 -04:00
Jason Wen
46b8d83b65 fix 2024-05-31 03:03:07 -04:00
Jason Wen
8336e7b01c fix 2024-05-31 03:02:12 -04:00
Jason Wen
8bdb6631be move it 2024-05-31 02:59:23 -04:00
Jason Wen
c181a4edd4 Revert "try this"
This reverts commit fb267e91c2.
2024-05-31 02:57:34 -04:00
Jason Wen
bf886e3fe6 Revert "how about this"
This reverts commit e77ce5684b.
2024-05-31 02:57:33 -04:00
Jason Wen
e77ce5684b how about this 2024-05-31 02:51:58 -04:00
Jason Wen
fb267e91c2 try this 2024-05-31 02:45:50 -04:00
Jason Wen
ee5cdaf7bb should be add 2024-05-31 02:36:47 -04:00
Jason Wen
0842d8ace0 oops 2024-05-31 02:35:10 -04:00
Jason Wen
a57fd5585c Manager: Add Update button when Traceback is displayed 2024-05-31 02:30:12 -04:00
Jason Wen
9cbb45bab6 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-30 23:42:31 -04:00
Jason Wen
29b223cb40 move to desire helper 2024-05-30 23:42:21 -04:00
Jason Wen
c0137870a2 Merge branch 'vw-distance-hold-toggle' into master-dev-c3 2024-05-30 23:38:48 -04: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
ca2d189f71 Update CHANGELOGS.md 2024-05-30 21:12:56 -04:00
Jason Wen
d3a06b8df5 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-30 21:10:59 -04:00
Jason Wen
4b56ea9e53 Refactor lateral speed calculation method
This commit abstracts the computation of minimal lateral speed into a function named 'get_min_lateral_speed'. It simplifies the calculation logic used for lane change speed minimum in 'selfdrive/car/interfaces.py'. The 'pause_lateral_speed' value has been changed from a string to an integer and directly used in the new function. This change improves code readability and modularity.
2024-05-30 21:10:49 -04:00
Jason Wen
14e7d0f91e Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-30 17:06:35 -04:00
Jason Wen
2801305283 Merge branch 'master-priv' into SP-134-pause-lateral-speed 2024-05-30 17:03:35 -04:00
Jason Wen
37c5b69529 Merge branch 'sync-priv-2024-05-30' into master-dev-c3 2024-05-30 14:34:51 -04:00
Jason Wen
1dc145c628 Sync: sunnypilot/sunnypilot:master into sunnypilot/openpilot-special:master-priv 2024-05-30 14:34:12 -04: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
Jason Wen
ba6940f398 Add TODO 2024-05-30 13:59:06 -04:00
Jason Wen
c4eba52729 Merge branch 'master-priv' into nnlc-lateral-jerk 2024-05-29 23:44:08 -04:00
Jason Wen
bdbd16c902 Fix upstream merge conflicts 2024-05-29 23:42:00 -04:00
Jason Wen
9329986205 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-29 22:45:15 -04:00
Jason Wen
d2dbbd4e69 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/controls/lib/desire_helper.py
#	selfdrive/ui/qt/widgets/controls.h
2024-05-29 22:44:32 -04:00
Jason Wen
91442072d0 Merge branch 'master-priv' into SP-134-pause-lateral-speed
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/controls/lib/desire_helper.py
2024-05-29 22:43:37 -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
Jason Wen
a7468682c4 new line 2024-05-29 22:37:59 -04:00
Jason Wen
317a08bff3 should be all toggleable when onroad 2024-05-29 22:37:11 -04:00
Jason Wen
4b62be024c Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3
# Conflicts:
#	selfdrive/controls/lib/desire_helper.py
2024-05-29 22:31:09 -04:00
Jason Wen
999ac0b8b7 in future PR for customizable min lane change speed 2024-05-29 22:30:33 -04:00
Jason Wen
c8257721b6 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-29 15:39:16 -04:00
Jason Wen
4e3f5d54cd More update name 2024-05-29 15:39:09 -04:00
Jason Wen
1427f4e79b Merge branch 'SP-133-disable-lane-change' into master-dev-c3 2024-05-29 15:34:40 -04:00
Jason Wen
5fbb3d39d6 Update name 2024-05-29 15:13:12 -04:00
DevTekVE
838d72adcb Merge branch 'refs/heads/routes-to-s3' into master-dev-c3 2024-05-29 18:23:26 +02:00
DevTekVE
dceab805de Update SUNNYLINK_BASE_URL default value
The default value of SUNNYLINK_BASE_URL has been changed to the stage environment URL. This change aids in testing and further development purposes.
2024-05-29 18:22:26 +02:00
DevTekVE
62726d612d Update upload attribute name and handle no network connection
The upload attribute name has been changed from 'user.sunnydv.upload' to 'user.sunny.upload' to improve consistency in nomenclature. Furthermore, logic has been added to handle case when there is no network connection available; the process will now sleep and retry rather than crashing or hanging.
2024-05-29 17:26:01 +02:00
Jason Wen
91fcd5a632 Merge branch 'SP-133-disable-lane-change' into master-dev-c3 2024-05-29 08:43:21 -04:00
Jason Wen
bf41202cab Auto Lane Change: Add option to disable lane change 2024-05-29 08:43:12 -04:00
Jason Wen
3c6f78979f Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-29 08:10:10 -04:00
Jason Wen
170a0d035e fix non-int 2024-05-29 08:09:58 -04:00
DevTekVE
e053368ebf Added headers to sunnylink upload requests
The sunnylink_uploader.py file was modified to include headers in the upload request. The headers are gathered from the 'headers' field in the URL response JSON and passed into the 'put' request method. The debug log message was also updated to display these headers along with the upload URL.
2024-05-29 11:28:12 +02:00
DevTekVE
4f5251f951 Add detailed log for upload failures
The commit introduces more detailed log events when an attempted upload fails for any reason. Now, when there is a non-null status code like 401 or 403, it will log more information, including the decoded content of the HTTP response. This aids in quickly identifying and resolving upload issues.
2024-05-29 09:54:49 +02:00
DevTekVE
ab0a10cd9c Update Sunnylink base URL and upload attribute name
Updated the base URL for SUNNYLINK to point to a new staging test environment. Changed the UPLOAD_ATTR_NAME in the sunnylink uploader from 'user.sunny.upload' to 'user.sunnydv.upload'. This provides distinction and prevents potential conflicts.
2024-05-29 08:42:42 +02:00
DevTekVE
4857b35943 Refactor status_code checks in sunnylink_uploader.py
Removed 401 and 403 status codes from the success conditions in the sunnylink_uploader.py script. The handling for these status codes has been moved to the else clause, as they were unexpectedly marked as successful previously.
2024-05-29 08:42:28 +02:00
Jason Wen
2f18b56b75 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3 2024-05-29 00:54:32 -04:00
Jason Wen
abfc90cbb6 desire helepr too 2024-05-29 00:54:23 -04:00
Jason Wen
8cab7c4629 Merge branch 'ui-sp-optional-control-hide-btn' into master-dev-c3 2024-05-29 00:47:27 -04:00
Jason Wen
68cd82ad28 Controls: Dim button if the option cannot be adjusted 2024-05-29 00:47:09 -04:00
Jason Wen
d104beb207 Merge branch 'SP-134-pause-lateral-speed' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-29 00:22:04 -04:00
Jason Wen
57f569062c Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-29 00:21:39 -04: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
Jason Wen
01d58f5d59 Remove unused 2024-05-29 00:10:50 -04:00
Jason Wen
7a41c44e8e Merge branch 'master-priv' into SP-134-pause-lateral-speed 2024-05-29 00:08:15 -04:00
Jason Wen
daaf05e5a6 Controls: Customizable Pause Lateral Speed 2024-05-29 00:07:24 -04:00
DevTekVE
b52348bf40 Bump to 0.9.6.2 2024-05-28 22:59:45 -04:00
DevTekVE
a7b52c7ac9 Add sunnylink_uploader to process_config and implement uploader
The commit adds sunnylink_uploader to the process_config and implements an uploader in a new file, sunnylink_uploader.py. The uploader handles listing, prioritizing, and uploading files to Sunnylink. Modified process_config to conditionally include the uploader process based on SunnylinkEnabled param and file existence. New getxattr and setxattr functions are also used to keep track of the uploaded files.
2024-05-28 21:51:18 +02:00
DevTekVE
2e34d88db1 Merge branch 'refs/heads/swaglog-to-cloudwatch' into master-dev-c3 2024-05-28 19:59:48 +02:00
DevTekVE
a79a044a25 Remove unnecessary os module import and file xattr removal code
The import of the 'os' module is eliminated to clean up the code, as it is no longer needed. Furthermore, the code for removing the extended attribute from all files in the current directory has been removed as well. This streamlines the setxattr function and focuses only on setting the attributes without additional file operations.
2024-05-28 19:59:36 +02:00
DevTekVE
5b559b7f8b Merge branch 'refs/heads/swaglog-to-cloudwatch' into master-dev-c3 2024-05-28 15:08:52 +02:00
DevTekVE
f4b54b1963 Change logging level from info to debug in athenad.py and sunnylinkd.py
Adjusted the logging level for certain log entries from info to debug in athenad.py and sunnylinkd.py. This change improves control over the log verbosity allowing for cleaner log files, and to debug specific sections more effectively.
2024-05-28 15:08:40 +02:00
DevTekVE
a069da1883 Merge branch 'refs/heads/swaglog-to-cloudwatch' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-28 14:58:54 +02:00
DevTekVE
bae94e292d Merge branch 'refs/heads/master-priv' into swaglog-to-cloudwatch 2024-05-28 14:56:11 +02:00
DevTekVE
0c909e98bb Spacing 2024-05-28 14:54:35 +02:00
DevTekVE
2d2a35c7e4 Apply 2 suggestion(s) to 1 file(s) 2024-05-28 12:54:11 +00:00
DevTekVE
52ea16a93a Update log file size calculation method
The code for calculating the size of the log file has been revised. Instead of using os.path.getsize, which simply captures the size of the file on disk, we're now calculating the size of the payload after it has been serialized and encoded, plus an overhead of 100 bytes. This change provides a more accurate measure of the data that will be sent.
2024-05-28 14:14:22 +02:00
DevTekVE
753bcce9a7 Implement compression and encoding for large log files
The `add_log_to_queue` function has been updated to compress and base64 encode log files that exceed a certain size, specifically for the "sunnylink" scenario. This function also provides logging for various stages of the process, including initial file size, size post-compression/encoding, and whether the final payload is small enough to be sent in one request. The change will improve handle of larger log files and prevent payload size related issues.
2024-05-28 12:20:19 +02:00
DevTekVE
23742d046f Disable Screen Recorder 2024-05-28 02:26:26 +00:00
DevTekVE
091e5d1343 Adjust maximum chunk size in athenad.py
This commit decreases the maximum chunk size from 32KB to 28KB in the add_log_to_queue function in athenad.py. This size reduction will affect how the log files are loaded and processed.
2024-05-27 22:51:27 +02:00
DevTekVE
797e273ba7 Reduce maximum chunk size in athenad.py
Updating the maximum chunk size constant in athenad.py to decrease its value from 128KB to 32KB. This change has been made to optimize the handling of log files and data transmission.
2024-05-27 22:19:39 +02:00
DevTekVE
9d79f243ff Refactor log handling and add exception handling
The changes refactor the log handling in athenad.py for more efficient processing. The log is now split into maximum chunk sizes of 128KB to prevent oversized requests. Additionally, an invalid request or response exception has been introduced for better error handling.
2024-05-27 21:51:00 +02:00
DevTekVE
e7b40f61a8 Add support for network metering and PrimeType checking in sunnylinkd
This commit introduces network metering and PrimeType checking in sunnylinkd. The implementation includes an additional threading event and a new log handler function, 'sunny_log_handler'. It defines PrimeType and metering conditions to set and clear the new threading event as part of the main processing loop in handle_long_poll function.
2024-05-27 19:44:41 +02:00
Jason Wen
51cc39c74c Merge branch 'master-priv' into master-dev-c3 2024-05-26 23:45:42 -04: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
DevTekVE
86ce2bc791 Remove unused import in sunnylinkd.py
The unused import, LOG_ATTR_NAME, in the file selfdrive/athena/sunnylinkd.py has been removed to provide cleaner, simpler, and more readable code. This also helps follow good coding practices such as removing unnecessary or unused imports or resources.
2024-05-26 23:55:41 +02:00
DevTekVE
b56692bd2e Add platform-specific xattr handling in loggerd
This commit adapts the xattr handling in the loggerd module to individual platforms, specifically macOS and others. It imports specific xattr functions based on the running system, enhancing compatibility and reducing the risk of errors. In specific, 'ENOATTR' error is now also taken into account which is relevant in some non-Linux platforms.
2024-05-26 23:53:04 +02:00
DevTekVE
f1a3149551 Update attribute name for Sunnylink log upload
The attribute name used for Sunnylink's log upload function was modified. The new attribute name "user.sunny.upload" replaces the previous "sunnylink.user.upload" to reflect recent changes in naming convention.
2024-05-26 23:53:04 +02:00
DevTekVE
a366d5b873 Add custom attribute name for Sunnylink logs
The commit introduces a custom attribute name for Sunnylink log entries. The custom attribute name 'sunnylink.user.upload' is used for all operations in the athenad.py and sunnylinkd.py files that previously referred to the default LOG_ATTR_NAME. This will allow more flexibility in handling logs specific to Sunnylink.
2024-05-26 23:53:04 +02:00
DevTekVE
060b8f084d Enable log_handler in sunnylinkd.py
The 'log_handler' thread in sunnylinkd.py was previously commented out and has now been enabled for execution. This update will allow the 'log_handler' to perform its task in the thread execution sequence.
2024-05-26 23:53:04 +02:00
Jason Wen
f4d5443abe Merge branch 'ui-buttonparamcontrol-fix' into master-dev-c3 2024-05-24 02:41:39 -04:00
Jason Wen
51f815deb0 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-24 02:41:34 -04: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
1b91d952bd Merge branch 'SP-130-hkg-can-long-radar-tracks-fix' into master-dev-c3 2024-05-24 02:04:35 -04:00
Jason Wen
4e3a3cb72d return RadarInterface superclass 2024-05-24 02:04:27 -04:00
Jason Wen
4c48000d0e Merge branch 'SP-130-hkg-can-long-radar-tracks-fix' into master-dev-c3 2024-05-24 01:56:46 -04:00
Jason Wen
a5e5e82d0d only set flag to false if no radar dbc assigned 2024-05-24 01:56:36 -04:00
Jason Wen
096bc72465 Merge branch 'master-priv' into SP-130-hkg-can-long-radar-tracks-fix 2024-05-24 01:41:54 -04:00
Jason Wen
ceae1ac88f Merge branch 'master-priv' into master-dev-c3 2024-05-24 01:02:59 -04:00
Jason Wen
3f7bf0c167 Params: Fix for SP-35 2024-05-24 01:02:27 -04:00
Jason Wen
6af6642183 fix 2024-05-24 01:00:31 -04:00
Jason Wen
9661104ed2 Merge branch 'SP-130-hkg-can-long-radar-tracks-fix' into master-dev-c3 2024-05-24 00:57:54 -04:00
Jason Wen
a6687d8193 return empty rr if can error due to missing tracks 2024-05-24 00:57:37 -04:00
Jason Wen
f867537c5a Merge branch 'master-priv' into master-dev-c3 2024-05-24 00:38:44 -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
a468c660b6 Merge branch 'SP-35-model-selector-clear-params' into master-dev-c3 2024-05-24 00:17:20 -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
Jason Wen
e3becc2867 Merge branch 'SP-130-hkg-can-long-radar-tracks-fix' into master-dev-c3 2024-05-23 17:50:46 -04:00
Jason Wen
f02c4007d4 Hyundai CAN Longitudinal: Lenient parsing for auto-enabled radar configs 2024-05-23 17:50:35 -04:00
DevTekVE
e78ae2c140 Driving Model Selector: Introduce ModelCapabilities class for model feature handling 2024-05-23 21:39:28 +00:00
DevTekVE
1b10cc8575 Driving Model Selector: Improve progress display for model downloads 2024-05-23 17:59:37 +00:00
Jason Wen
5eccc47203 Merge branch 'improved-model-cabapilities-check' into master-dev-c3 2024-05-23 13:58:20 -04:00
Jason Wen
0c5b37c981 Merge branch 'master-priv' into improved-model-cabapilities-check 2024-05-23 13:58:07 -04:00
Jason Wen
4ff9eef6b1 Merge branch 'more-responsive-model-fetcher' into master-dev-c3 2024-05-23 13:57:48 -04:00
Jason Wen
1998474f67 Merge branch 'master-priv' into more-responsive-model-fetcher 2024-05-23 13:56:56 -04:00
Jason Wen
9678924263 Merge branch 'master-priv' into master-dev-c3 2024-05-23 13:40:46 -04: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
Jason Wen
37c29f710a Merge branch 'SP-128-ui-visuals-freeze-fix' into master-dev-c3 2024-05-23 13:34:21 -04:00
Jason Wen
255699c7ef Merge branch 'master-priv' into SP-128-ui-visuals-freeze-fix 2024-05-23 13:33:54 -04:00
Jason Wen
3551e7c4bc ui: ButtonParamControl: Handle out of bound param 2024-05-23 13:33:18 -04:00
DevTekVE
6355e81432 Merge branch 'refs/heads/more-responsive-model-fetcher' into master-dev-c3 2024-05-19 21:58:38 +02:00
DevTekVE
b659a979ed Change base class of ModelCapabilities from IntEnum to IntFlag
In model_capabilities.py, the base class of ModelCapabilities has been changed from IntEnum to IntFlag to better suit requirements. This changes how the enumeration values behave and interact.
2024-05-19 21:50:10 +02:00
DevTekVE
00bff6ca48 Merge branch 'refs/heads/master-priv' into improved-model-cabapilities-check
# Conflicts:
#	selfdrive/modeld/modeld.py
2024-05-19 21:32:20 +02:00
DevTekVE
a2cd756541 Merge branch 'refs/heads/master-priv' into master-dev-c3 2024-05-19 21:24:05 +02:00
DevTekVE
16706bda9c Update model generation conditions in modeld.py and map.cc 2024-05-19 19:23:32 +00:00
DevTekVE
62af3b760c Refactor model capabilities and update model inputs
Expanded the ModelCapabilities class to better represent different model generations and their unique features. The alterations split the "DesiredCurvature" capability into two versions, "DesiredCurvatureV1" and "DesiredCurvatureV2", which have different input parameters. This change also involves updates in the "modeld.py" where conditions checking for "DesiredCurvature" are updated to check for the correct versions.
2024-05-19 17:37:23 +02:00
DevTekVE
97c7f5599f Merge branch 'refs/heads/ensure-if-model-gen-0-not-nav-features' into master-dev-c3
# Conflicts:
#	selfdrive/modeld/modeld.py
2024-05-19 16:53:59 +02:00
DevTekVE
68ae65bfa9 Update model generation conditions in modeld.py and map.cc
This commit updates the conditions for the model generation within the modeld.py and map.cc files. Previously, the code was specifically excluding model generation 4, but now it excludes model generations 0 and 4. This might affect features like navigation and model parameters processing.
2024-05-19 16:53:01 +02:00
DevTekVE
34130bb7cb Check model capabilities when using custom model
The use of a custom model is now conditional to non-default model capabilities. This change ensures that a custom model will only be used if the model capabilities are different from the default. This prevents potential issues with using custom models that don't have any distinct capabilities or are not suitable for the current application.
2024-05-18 23:32:07 +02:00
DevTekVE
8904cf731a Introduce ModelCapabilities class for model feature handling
This commit introduces a new class, ModelCapabilities, to manage model features. It changes initializations and conditional statements to use this new class, improving code readability and simplicity. The new class provides an easier and clearer way to check which features are enabled, reducing the complexity associated with generation-dependent feature handling.
2024-05-18 22:29:11 +02:00
DevTekVE
80bf5a24ca Improve progress display for model downloads
The progress indication for downloading of driving, navigation, and metadata models has been improved. We now display "PENDING" if the progress is 0.01 or less instead of showing 0%. This change gives a more intuitive indication to the users during model downloads.
2024-05-18 21:52:53 +02: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
DevTekVE
094be8ce97 Merge branch 'refs/heads/default-params-for-custom-driving-models' into master-dev-c3 2024-05-18 19:13:29 +02:00
DevTekVE
47fd6fca3d Add default values for DrivingModel parameters
The latest change includes additional default settings for the "CustomDrivingModel" and "DrivingModelGeneration" parameters. These settings were added to the default_params list within the manager.py script to ensure correct functioning under default conditions.
2024-05-18 19:12:31 +02:00
DevTekVE
76c506479d Merge branch 'refs/heads/bugfix-modeld-wrong-logic' into master-dev-c3 2024-05-18 18:50:59 +02:00
DevTekVE
422773bb9f Refactor model generation condition in modeld.py
Fixed the conditional statement checking the model generation and custom model status in modeld.py. Now, the navigation features and instructions are only updated if a custom model is being used and the model generation is not 4.
2024-05-18 18:50:32 +02:00
Jason Wen
f77f86bf36 Merge branch 'ui-visuals-freeze-fix' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-18 10:40:42 -04:00
Jason Wen
536c73d00b ui: Visuals: Fix freezing 2024-05-18 10:40:12 -04: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
Jason Wen
e05a3e135c Merge branch 'master-priv' into master-dev-c3 2024-05-17 20:03:54 -04: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
00e3bd0259 Merge branch 'sentry-more-tags' into master-dev-c3 2024-05-17 19:48:51 -04:00
Jason Wen
ecafb03111 Merge branch 'SP-120-ui-slc-fix' into master-dev-c3 2024-05-17 19:48:48 -04:00
Jason Wen
538ac6b980 ui: SLC: Fix "Customize Speed Limit Control" submenu button visibility 2024-05-17 19:47:59 -04:00
Jason Wen
22d021cf24 Merge branch 'master-priv' into master-dev-c3 2024-05-17 19:38:18 -04:00
Jason Wen
b5c66e193c Models: Update default name 2024-05-17 19:38:08 -04:00
Jason Wen
d08e432637 Merge branch 'nnlc-lateral-jerk' into master-dev-c3 2024-05-17 13:17:58 -04:00
Jason Wen
fadcad8793 init at 0 2024-05-17 13:17:49 -04:00
Jason Wen
8087891bd0 Merge branch 'master-priv' into nnlc-lateral-jerk 2024-05-17 13:17:08 -04:00
Jason Wen
7dbe3967df Merge branch 'vw-non-acc-fix' into master-dev-c3 2024-05-17 13:05:14 -04:00
Jason Wen
5df451aa83 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	selfdrive/ui/qt/offroad/sunnypilot/sunnylink_settings.cc
2024-05-17 13:05:10 -04: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
DevTekVE
b9e2d4ec19 Merge branch 'refs/heads/sunnylink-for-all' into master-dev-c3 2024-05-17 18:29:54 +02:00
DevTekVE
82a4fea539 Remove sponsor check for restoring sunnypilot settings
This commit removes the clause checking whether the user is a Sunnylink sponsor before proceeding with the restoration of sunnypilot settings. Now, all users, regardless of their sponsorship status, can restore their sunnypilot settings. The related prompts and UI elements have also been cleaned up accordingly.
2024-05-17 18:29:20 +02:00
Jason Wen
34e1b8f36f Sentry: Add sunnylink_dongle_id tag 2024-05-17 11:49:19 -04:00
Jason Wen
25e89cf887 Merge branch 'master-priv' into sentry-sunnylink 2024-05-17 10:48:23 -04:00
Jason Wen
5c6cc44495 Merge branch 'ui-visual-fix' into master-dev-c3 2024-05-17 10:45:59 -04:00
Jason Wen
6ca20884d2 Manager: Initialize SidebarTemperatureOptions 2024-05-17 10:45:37 -04: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
18fb3d6ab2 Merge branch 'navmodeld-fix' into master-dev-c3 2024-05-17 10:18:23 -04:00
Jason Wen
ecaea1ef78 NoO: Only start processes if NoO-enabled models are selected 2024-05-17 10:18:03 -04:00
Jason Wen
c8473fd54e Merge branch 'more-platform-fix' into master-dev-c3 2024-05-17 10:10:03 -04:00
Jason Wen
afb91322e1 use different list 2024-05-17 10:09:55 -04:00
Jason Wen
ecd6934cbe Merge branch 'more-platform-fix' into master-dev-c3 2024-05-17 09:59:40 -04:00
Jason Wen
ae964e0162 Honda Platform: Remove redundant code 2024-05-17 09:59:29 -04:00
Jason Wen
fa68a51e87 Merge branch 'SP-123-hkg-can-long-radar-tracks-all' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-17 03:17:53 -04:00
Jason Wen
e9bd81699e Update CHANGELOGS.md 2024-05-17 03:17:28 -04:00
Jason Wen
ab3c8dc294 Merge branch 'SP-123-hkg-can-long-radar-tracks-all' into master-dev-c3 2024-05-17 03:15:43 -04:00
Jason Wen
7f9f461942 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
2024-05-17 03:15:38 -04:00
Jason Wen
e234b72aa6 Hyundai CAN Longitudinal: Auto-enable radar tracks on platforms with Mando radar 2024-05-17 03:14:25 -04: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
363f9c03f6 Merge branch 'master-priv' into master-dev-c3
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/car/hyundai/interface.py
2024-05-17 00:50:18 -04:00
Jason Wen
0b8262175f Hyundai CAN-FD Longitudinal: Parse lead info for camera-based SCC platforms 2024-05-17 04:48:46 +00:00
Jason Wen
0f8661b434 Merge branch 'upstream-fixes' into master-dev-c3 2024-05-17 00:27:47 -04:00
Jason Wen
304311e078 Unused 2024-05-17 00:27:35 -04:00
Jason Wen
1428bb4cce Merge branch 'upstream-fixes' into master-dev-c3 2024-05-17 00:24:44 -04:00
Jason Wen
cab8c62e96 Controlsd: Fix edge_toggle variable and leadDistanceBar parsing with SP values 2024-05-17 00:24:28 -04:00
Jason Wen
f106b2ca9c Merge branch 'SP-121-upstream-platform-fixes' into master-dev-c3 2024-05-16 23:41:38 -04:00
Jason Wen
0d6c95dadc SP-121: Platforms: Update old platform names referenced in different features 2024-05-16 23:41:04 -04:00
Jason Wen
0954a0191e Merge branch 'master-priv-ford-traffic-signs' into master-dev-c3 2024-05-16 23:27:49 -04:00
Jason Wen
25b4ef7833 int flag fix 2024-05-16 23:27:40 -04:00
Jason Wen
01439b2ad1 Merge branch 'master-priv' into master-dev-c3 2024-05-16 23:06:01 -04:00
Jason Wen
8261a71d67 Update CHANGELOGS.md 2024-05-16 23:05:50 -04:00
Jason Wen
24c331a6eb Merge branch 'cslc-hkg-fix' into master-dev-c3 2024-05-16 22:22:38 -04:00
Jason Wen
bb41d2e386 CSLC: Hyundai: Fix upstream conflicts 2024-05-16 22:22:21 -04:00
Jason Wen
3c18f2babb Merge branch 'no-dcam-loggerd-ram' into master-dev-c3 2024-05-16 13:04:00 -04:00
Jason Wen
6a05e2267d dcam: do not log dcam-related things for unofficial devices with no dcam 2024-05-16 13:03:50 -04:00
Jason Wen
2188a915b6 Merge branch 'master-priv' into master-dev-c3 2024-05-16 12:45:35 -04: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
2efb958727 Merge branch 'ford-q3-radar' into master-dev-c3-new 2024-05-16 11:05:14 -04:00
Jason Wen
6c50176787 Flipped platform 2024-05-16 11:04:36 -04:00
Jason Wen
ffa4744cbe Merge branch 'SP-64-ui-force-offroad' into master-dev-c3-new
# Conflicts:
#	CHANGELOGS.md
2024-05-16 11:03:00 -04:00
Jason Wen
fae405317e Merge branch 'master-priv-sunnylink-sidebar-status' into master-dev-c3-new
# Conflicts:
#	CHANGELOGS.md
2024-05-16 11:02:44 -04:00
Jason Wen
94f8f5a92c Merge branch 'mapd-update-1.9.0' into master-dev-c3-new 2024-05-16 11:02:22 -04:00
Jason Wen
a9da225e80 Merge branch 'disable-on-screen-recorder' into master-dev-c3-new 2024-05-16 11:02:15 -04:00
Jason Wen
874e8ce8e2 Merge branch 'nnlc-lateral-jerk' into master-dev-c3-new 2024-05-16 11:02:07 -04:00
Jason Wen
54e97eec07 Merge branch 'master-priv-ford-lat' into master-dev-c3-new
# Conflicts:
#	panda
#	selfdrive/car/ford/interface.py
2024-05-16 11:01:54 -04:00
Jason Wen
bab98e9c56 Merge branch 'master-priv-ford-traffic-signs' into master-dev-c3-new
# Conflicts:
#	CHANGELOGS.md
2024-05-16 11:01:23 -04:00
Jason Wen
e69a687ae3 Merge branch 'master-priv-ford' into master-dev-c3-new
# Conflicts:
#	panda
2024-05-16 11:01:01 -04:00
Jason Wen
2b1e79565c Merge branch 'custom-stock-long-planner-speed-allow-experiemtnal' into master-dev-c3-new 2024-05-16 11:00:36 -04:00
Jason Wen
31a7b6c329 Merge branch 'custom-stock-long-planner-speed' into custom-stock-long-planner-speed-allow-experiemtnal 2024-05-16 11:00:04 -04:00
Jason Wen
bafd4fe913 Merge branch 'hkg-canfd-camera-scc-long-lead' into master-dev-c3-new
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/car/hyundai/interface.py
2024-05-16 10:59:17 -04:00
Jason Wen
298da42918 Update CHANGELOGS.md 2024-05-16 10:58:25 -04:00
Jason Wen
600c1d06f7 Merge branch 'custom-stock-long-planner-speed' into master-dev-c3-new 2024-05-16 10:54:44 -04:00
Jason Wen
0758881350 Merge branch 'hkg-canfd-all-long' into master-dev-c3-new
# Conflicts:
#	panda
2024-05-16 10:54:32 -04:00
Jason Wen
9d322662ef Merge branch 'ev6-taco' into master-dev-c3-new
# Conflicts:
#	panda
2024-05-16 10:54:17 -04:00
Jason Wen
bba16d6822 Merge branch 'subaru-gen2-torque-increase' into master-dev-c3-new 2024-05-16 10:51:47 -04:00
Jason Wen
21571e99c5 Merge branch 'master-priv-ford' into ford-q3-radar 2024-05-16 10:47:34 -04:00
Jason Wen
1dec79083d Merge branch 'master-priv' into SP-64-ui-force-offroad
# Conflicts:
#	CHANGELOGS.md
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/offroad/settings.h
2024-05-16 02:28:17 -04:00
Jason Wen
a76a1f98ec Merge branch 'master-priv' into master-priv-sunnylink-sidebar-status 2024-05-16 02:18:35 -04:00
Jason Wen
83666c79fa Merge branch 'master-priv' into mapd-update-1.9.0
# Conflicts:
#	CHANGELOGS.md
2024-05-16 02:17:51 -04:00
Jason Wen
ac921c6ee6 Merge branch 'master-priv' into disable-on-screen-recorder 2024-05-16 02:16:58 -04:00
Jason Wen
0fb93cec60 Merge branch 'master-priv' into nnlc-lateral-jerk
# Conflicts:
#	CHANGELOGS.md
2024-05-16 02:16:11 -04:00
Jason Wen
17b7f0bdba before flag is set 2024-05-16 02:10:40 -04:00
Jason Wen
b01d6d423a update flag 2024-05-16 02:09:32 -04:00
Jason Wen
a2b0275e37 bump panda 2024-05-16 02:07:31 -04:00
Jason Wen
08fa5159f6 Merge branch 'master-priv' into master-priv-ford-lat
# Conflicts:
#	selfdrive/car/ford/carcontroller.py
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
2024-05-16 02:07:00 -04:00
Jason Wen
79252b6b5a Update CHANGELOGS.md 2024-05-16 02:03:17 -04:00
Jason Wen
cdf0bdfe15 Merge branch 'master-priv' into master-priv-ford-traffic-signs
# Conflicts:
#	selfdrive/car/ford/carstate.py
2024-05-16 02:02:55 -04:00
Jason Wen
2833cf9d48 Update CHANGELOGS.md 2024-05-16 02:01:34 -04:00
Jason Wen
d852e4a4f0 FCR: sync with upstream supported car platforms 2024-05-16 02:00:38 -04:00
Jason Wen
f35a76dc14 Merge branch 'master-priv' into master-priv-ford
# Conflicts:
#	panda
#	selfdrive/car/ford/interface.py
#	selfdrive/car/ford/values.py
#	selfdrive/car/sunnypilot_carname.json
#	selfdrive/car/tests/routes.py
2024-05-16 01:59:30 -04:00
Jason Wen
b1715b470a Merge branch 'master-priv' into hkg-canfd-camera-scc-long-lead
# Conflicts:
#	CHANGELOGS.md
#	opendbc
2024-05-16 01:44:19 -04:00
Jason Wen
c8c4f2296d Merge branch 'master-priv' into custom-stock-long-planner-speed
# Conflicts:
#	common/params.cc
#	selfdrive/controls/controlsd.py
#	selfdrive/ui/qt/onroad/annotated_camera.cc
2024-05-16 01:40:56 -04:00
Jason Wen
8b20794fe3 Update CHANGELOGS.md 2024-05-16 01:37:49 -04:00
Jason Wen
95fc2810c7 Merge branch 'master-priv' into hkg-canfd-all-long
# Conflicts:
#	CHANGELOGS.md
2024-05-16 01:35:26 -04:00
Jason Wen
2f9e9faea5 Merge branch 'master-priv' into ev6-taco
# Conflicts:
#	CHANGELOGS.md
2024-05-16 01:34:46 -04:00
Jason Wen
e23e925d1a Merge branch 'master-priv' into subaru-gen2-torque-increase
# Conflicts:
#	CHANGELOGS.md
2024-05-16 01:34:07 -04:00
Jason Wen
2efdba4daf Update CHANGELOGS.md 2024-05-16 01:31:44 -04:00
Jason Wen
836e7d5c6d Merge branch 'SP-59-sync-priv-20240507' into hkg-canfd-all-long
# Conflicts:
#	panda
2024-05-16 01:27:46 -04:00
Jason Wen
18f62b1c5b Merge branch 'SP-59-sync-priv-20240507' into ev6-taco
# Conflicts:
#	panda
#	selfdrive/car/hyundai/interface.py
#	selfdrive/car/hyundai/values.py
2024-05-16 01:26:37 -04:00
Jason Wen
2db0a9cffa bump to 1600 2024-05-16 01:24:53 -04:00
Jason Wen
8f37e795c9 Merge branch 'SP-59-sync-priv-20240507' into subaru-gen2-torque-increase
# Conflicts:
#	panda
#	selfdrive/car/subaru/values.py
2024-05-16 01:24:17 -04:00
Jason Wen
d0761ddcd4 Update CHANGELOGS.md 2024-05-16 00:37:40 -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
Jason Wen
250afef443 Merge branch 'master' into SP-59-sync-priv-20240507
# Conflicts:
#	panda
#	release/build_release.sh
#	selfdrive/car/volkswagen/interface.py
2024-05-15 16:04:19 -04:00
Jason Wen
d7715899cb Bump submodules (#332) 2024-05-11 15:27:27 -04: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
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
Jason Wen
c53c90f7fa Bump submodules (#327) 2024-05-08 21:58:14 -04: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
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
Jason Wen
def7873e7e Revert LFS changes for now 2024-05-02 15:35:27 -04:00
Jason Wen
32c59e829c LFS: Move to sunnypilot's public GitLab 2024-05-01 22:12:26 -04:00
DevTekVE
c7ade243a9 Subaru: Increase RPM Limit (#32299) 2024-04-30 20:33:01 +00:00
Jason Wen
8f3ca7a9b2 do we need this to close the relay? 2024-04-21 12:33:59 -04:00
Jason Wen
1d18524218 disable screen recorder again 2024-04-20 01:40:58 -04:00
Jason Wen
4757364fa9 lint 2024-04-20 01:40:06 -04:00
Jason Wen
b8d2e90e62 add same comments 2024-04-20 01:39:05 -04:00
Jason Wen
da14ac9bff lint 2024-04-20 01:37:42 -04:00
Jason Wen
1ba739c372 less 2024-04-20 01:36:09 -04:00
Jason Wen
71b489a095 Handle button style properly 2024-04-20 01:35:16 -04:00
Jason Wen
b4cb35fd23 Nuke and force immediately for all errors 2024-04-19 14:19:26 -04:00
Jason Wen
1d19029f19 cleaner 2024-04-19 11:59:58 -04:00
Jason Wen
2bbb420d28 Transition to offroad 2024-04-19 11:55:32 -04:00
Jason Wen
f3e450db85 Update CHANGELOGS.md 2024-04-18 18:22:26 -04:00
Jason Wen
5c5cc631bb More professional wording 2024-04-18 17:33:33 -04:00
Jason Wen
f5cd0b91ed do this dynamically 2024-04-18 17:11:36 -04:00
Jason Wen
92a0777aa7 use this 2024-04-18 17:07:38 -04:00
Jason Wen
c0f46cd44a do this instead, and flip the logics 2024-04-18 17:06:41 -04:00
Jason Wen
4abdf85dd1 use the param instead 2024-04-18 17:01:27 -04:00
Jason Wen
7371b7aad5 wrong int flag 2024-04-18 16:59:45 -04:00
Jason Wen
49ab5a1ca2 change it up 2024-04-18 16:59:19 -04:00
Jason Wen
2030196c8c show button at all times 2024-04-18 16:55:55 -04:00
Jason Wen
3071744acd only display message when forced 2024-04-18 16:54:46 -04:00
Jason Wen
2f4f0a7c16 display message when forced offroad 2024-04-18 16:50:34 -04:00
Jason Wen
fef46d3093 wtf 2024-04-18 12:41:15 -04:00
Jason Wen
819e5660e8 Revert "Impossible condition"
This reverts commit d2c242b17c.
2024-04-18 12:41:10 -04:00
Jason Wen
d2c242b17c Impossible condition 2024-04-18 12:37:57 -04:00
Jason Wen
153b8b8bff Add this check too 2024-04-18 12:29:02 -04:00
Jason Wen
c6bf6886cf ui: Force offroad from settings when the car is on 2024-04-18 01:01:18 -04: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
Jason Wen
0fce0cbd2f Merge branch 'master-priv' into disable-on-screen-recorder 2024-04-17 22:32:33 -04:00
DevTekVE
39bcc41f9f [sunnylink] Integrate debug logging and revise retry mechanism in sunnylinkd.py 2024-04-15 19:24:40 +00:00
DevTekVE
fe023d946f Add new thread for handling sunnylink queue 2024-04-14 10:11:08 +00:00
DevTekVE
53f50e53ef Add easter egg for specific Sunnylink device ID 2024-04-13 17:40:17 +00:00
DevTekVE
ba9fb8af6b Add sunnylink connectivity status to changelog
In the update information for the changelog, a record of the new feature displaying the sunnylink connectivity status on the left sidebar has been added. This lets users and developers quickly see that this change has been implemented.
2024-04-13 17:23:52 +00:00
DevTekVE
abdb9e64d0 Add disabled state to sidebar status items
A new disabled color has been added to the sidebar items. This change primarily impacts the 'Sunnylink' status where a new state has been introduced. Now, when 'Sunnylink' is not enabled, it will show as 'DISABLED' in the disabled color.
2024-04-13 17:23:52 +00:00
DevTekVE
a177818e58 Add Sunnylink status to Sidebar UI
Included a new 'ItemStatus' variable, 'sunnylinkStatus', to the Sidebar class and draw its metric in the UI. The status is determined by the value of 'LastSunnylinkPingTime', turning Sunnylink offline if it equals 0, online if the ping time is less than 80e9, and displaying an error otherwise.
2024-04-13 17:23:52 +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
Jason Wen
33f0bd323b only skip assert and force start if OMX_ErrorInsufficientResources 2024-04-12 00:39:56 -04:00
Jason Wen
452808f550 lib 2024-04-12 00:35:44 -04:00
Jason Wen
23e5165959 Re-enable 2024-04-12 00:27:42 -04:00
Jason Wen
caed4b34cb Do this if error is triggered 2024-04-12 00:25:57 -04:00
Jason Wen
87bfd47a59 Trigger fast UI restart directly in OMX if err != 0 2024-04-12 00:19:24 -04:00
Jason Wen
531a75134f Gate behind flag 2024-04-12 00:11:30 -04:00
Jason Wen
7ea3136d4f Merge branch 'master-priv' into disable-on-screen-recorder 2024-04-12 00:09:27 -04:00
Jason Wen
397bcf03a5 ui: Reset Access Tokens for all Map Services 2024-04-12 04:07:07 +00: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
Jason Wen
957071fd42 Ngrok: Add toggle to start/stop service manually 2024-04-11 05:05:37 +00:00
Jason Wen
2cbe1a7ec6 Toyota sdsu upstream hack 2024-04-08 21:32:53 +00:00
DevTekVE
2d705e826c sunnylink: Full sunnylink update with pairing, athena and more 2024-04-08 21:15:18 +00: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
DevTekVE
dcb786675f updating changelog nicely 2024-04-08 19:12:01 +02:00
DevTekVE
a26bb62ed0 Bumping mapd to v1.9.0 2024-04-08 19:08:25 +02: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
DevTekVE
7376ac960a nuking the option on the settings too 2024-04-04 16:34:00 +02:00
DevTekVE
058487c0a4 disable on screen recorder 2024-04-04 16:23:47 +02:00
DevTekVE
8acd104c65 specify base image 2024-04-01 18:14:42 +02:00
Jason Wen
9777d74a74 Update CHANGELOGS.md 2024-03-26 17:50:48 -04:00
Jason Wen
7153a7bb84 NNLC: "Lazy" tight curve fixes and more toggles 2024-03-26 17:49:01 -04:00
Jason Wen
746d2b750c ui: Developer UI cleanup 2024-03-25 18:28:22 +00:00
DevTekVE
cab71cc388 sunnylink: Remov unicode header during HTTP requests 2024-03-14 16:23:52 +00: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
Jason Wen
5b9a397078 sunnylink: Config Backup 2024-03-13 19:50:00 +00:00
DevTekVE
28efb5388b sunnylink: Registration API 2024-03-13 18:29:58 +00:00
Jason Wen
e2d6a9ab3e Params: Do not backup Driving Model Selector params 2024-03-13 13:22:23 -04:00
Jason Wen
920d4cdcc3 Remove PNG and WAV from LFS 2024-03-12 21:13:47 -04:00
Jason Wen
7dc9d336b5 ui: Lead car chevron improvements 2024-03-12 14:55:25 +00:00
Jason Wen
0daa1e846b Map: Use latActive and longActive for navigation path color change 2024-03-12 00:06:02 -04:00
Jason Wen
ef727550a9 Params: BACKUP ParamKeyType for sunnylink's Settings Backup 2024-03-11 14:28:55 -04:00
Isaac Barham
709bbc8857 Update values.py 2024-03-11 14:14:50 +00:00
Isaac Barham
01ba44eb3f Update radar_interface.py 2024-03-11 14:10:55 +00: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
mike8643
c39c54a0d8 otisserv: set_destination and locations endpoints for non-prime users (#243)
ios shortcut support
2024-03-07 13:57:41 -05:00
Jason Wen
95c748b9f9 M-TSC: Re-enable in release 2024-03-04 22:41:31 -05:00
Jason Wen
95b224c155 NNLC: Add HONDA CLARITY 2018 2024-02-29 02:32:55 +00:00
Jason Wen
2d6dbc1275 Event: Add additional GitHub path for startup event check 2024-02-28 17:20:58 -05: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
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
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
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
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
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
Isaac Barham
6e2ba55a99 Update interface.py 2024-02-20 22:37:54 -05:00
Isaac Barham
9d91771822 Update values.py 2024-02-20 22:37:37 -05:00
Isaac
f5374f6e89 Cherry pick 2024-02-20 22:37:13 -05:00
Isaac Barham
bda7a60f86 Updating Car Controller 2024-02-20 22:32:04 -05:00
Isaac
4653f530d2 Revert "Update carcontroller.py"
This reverts commit c0c461862c.
2024-02-20 22:30:23 -05:00
Isaac Barham
c0c461862c Update carcontroller.py 2024-02-20 22:29:20 -05: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
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
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
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
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
Jason Wen
05d9e81a0c Update CHANGELOGS.md 2024-02-16 07:24:55 -05:00
Jason Wen
fa9e2ddf4e Merge branch 'dev-priv/master-priv' into master-priv-ford-traffic-signs 2024-02-15 15:47:48 -05:00
Jason Wen
c260944a2d Merge branch 'dev-priv/master-priv' into master-priv-ford
# Conflicts:
#	selfdrive/car/torque_data/override.yaml
2024-02-15 15:47:07 -05:00
Jason Wen
d474db7799 Merge branch 'dev-priv/master-priv' into hkg-canfd-camera-scc-long-lead
# Conflicts:
#	CHANGELOGS.md
2024-02-15 15:46:19 -05:00
Jason Wen
ab6b12699a Merge branch 'dev-priv/master-priv' into custom-stock-long-planner-speed 2024-02-15 15:45:13 -05:00
Jason Wen
aa04ec3ffc Merge branch 'dev-priv/master-priv' into hkg-canfd-all-long 2024-02-15 15:41:48 -05:00
Jason Wen
0fce74c408 Merge branch 'dev-priv/master-priv' into ev6-taco 2024-02-15 15:41:33 -05:00
Jason Wen
df791f8fe6 Merge branch 'dev-priv/master-priv' into subaru-gen2-torque-increase 2024-02-15 15:41:13 -05:00
Jason Wen
170c63fbc5 FCR: Add description to generate LEAF_IC in Nissan FCR 2024-02-15 11:40:23 -05: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
Jason Wen
071e12e527 NNLC: Slight fixes 2024-02-14 13:08:54 -05: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 Wen
17acb0dc49 Driving Model Selector: Create directory if does not exist 2024-02-13 17:57:24 -05: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
Jason Wen
e1b98b5df3 Fix sync conflict 2024-02-13 14:17:17 -05: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
Isaac
010ac077c1 Merging upstream 2024-02-12 22:18:43 -05:00
Jason Wen
6097be261e Merge branch 'sync-priv-20240201' into master-priv-ford-traffic-signs 2024-02-12 21:59:07 -05:00
Jason Wen
5e8ef25498 Merge branch 'sync-priv-20240201' into hkg-canfd-camera-scc-long-lead
# Conflicts:
#	CHANGELOGS.md
#	opendbc
#	selfdrive/car/hyundai/interface.py
2024-02-12 21:26:29 -05:00
Jason Wen
ad49c52513 Merge branch 'sync-priv-20240201' into custom-stock-long-planner-speed
# Conflicts:
#	selfdrive/controls/controlsd.py
2024-02-12 21:18:01 -05:00
Jason Wen
0c1cf6b5e7 Merge branch 'sync-priv-20240201' into hkg-canfd-all-long 2024-02-12 21:17:16 -05:00
Jason Wen
c986b3587e Merge branch 'sync-priv-20240201' into ev6-taco 2024-02-12 21:17:08 -05:00
Jason Wen
7cb0ab83cd Merge branch 'sync-priv-20240201' into subaru-gen2-torque-increase 2024-02-12 21:16:59 -05:00
Jason Wen
019257eb60 controlsd: Fix upstream conflicts 2024-02-12 21:16:48 -05:00
Jason Wen
a2d8799071 Merge branch 'sync-priv-20240201' into hkg-canfd-all-long
# Conflicts:
#	panda
#	selfdrive/car/hyundai/interface.py
2024-02-12 21:14:19 -05:00
Jason Wen
6e478aedf3 Merge branch 'sync-priv-20240201' into ev6-taco
# Conflicts:
#	panda
#	selfdrive/car/hyundai/interface.py
2024-02-12 21:11:44 -05:00
Jason Wen
4119371a90 Merge branch 'sync-priv-20240201' into subaru-gen2-torque-increase
# Conflicts:
#	panda
2024-02-12 21:10:03 -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
Jason Wen
74c3c72ba0 Driving Model Selector: Can't import Params on PC 2024-02-12 16:00:32 -05: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
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
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
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
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
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
75b38db870 Merge branch 'sync-20240201' into sync-priv-20240201 2024-02-07 22:49:01 -05:00
Jason Wen
daae551ea8 Merge remote-tracking branch 'commaai/openpilot/master' into sync-20240201 2024-02-05 11:41:19 -05: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
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
Jason Wen
ce64433dc9 MADS: Fix wrong variable name in init function 2024-01-03 12:21:48 -05:00
Jason Wen
059cf0f3a3 Torque: Subaru: Ignore paramsd valid checks 2023-12-27 20:08:36 +00: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
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
Jason Wen
cdc13293ae hoomoose dongle 2023-12-21 00:26:26 -05:00
Jason Wen
e78a072676 Merge branch 'dev-priv/master-priv' into ev6-taco
# Conflicts:
#	panda
#	selfdrive/car/hyundai/values.py
2023-12-21 00:25:33 -05:00
Isaac Barham
e34ec127d1 Update carstate.py 2023-12-20 13:57:11 +00:00
Jason Wen
3aa30a5c59 Update CHANGELOGS.md 2023-12-20 13:57:11 +00:00
Jason Wen
1cf45623f1 more cleanup 2023-12-20 13:57:11 +00:00
Jason Wen
c66f3492c5 cleanup 2023-12-20 13:57:11 +00:00
Isaac
b6f1a5c429 Fixed naming 2023-12-20 13:57:11 +00:00
Isaac
39b2dcdc0f Added speed sign recognition on CAN-FD Ford 2023-12-20 13:57:11 +00: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
DevTekVE
57dfee47b8 mapd: New implementation and remove deprecated libraries 2023-12-19 22:14:06 +00: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
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
Jason Wen
f7a674550a Hyundai: Car Port for Bayon Non-SCC 2021 2023-12-15 03:22:12 +00: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
Jason Wen
0772ef2b8c CSLC: Hyundai CAN-FD: Disable for CRUISE_BUTTONS_ALT platforms 2023-12-12 10:43:25 -05:00
Jason Wen
bcf1736265 Sentry: Fix set_tag with route_name 2023-12-12 02:18:26 -05:00
Jason Wen
704577e22f V-TSC: Add conditions to allow engaging 2023-12-11 23:59:45 -05:00
Jason Wen
c6de841d79 ui: V-TSC: Only hide experimental button when debug UI is on 2023-12-11 02:35:30 -05:00
Jason Wen
8e84ebeadb V-TSC: New implementation 2023-12-10 23:18:34 +00: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
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
Jason Wen
05f3074a79 Hyundai: CSLC: don't calculate counters manually for LEGACY_SAFETY_MODE_CAR 2023-12-09 22:55:43 +00: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
8783bcd755 Merge branch 'dev-priv/master-priv' into master-priv-ford 2023-12-09 16:36:23 -05:00
Jason Wen
e143d45c21 Sentry: Log params as attachment and new tags to startup event 2023-12-09 21:34:03 +00:00
Jason Wen
e13641080b Sentry: Cleanup redundant code 2023-12-09 19:37:30 +00:00
DevTekVE
002d0d10de CI: Unifying gitlab steps 2023-12-09 15:12:57 +00:00
Jason Wen
e19383d5f0 CI: Post notifications to Discord 2023-12-09 11:58:25 +00:00
Jason Wen
09f10362f3 Merge branch 'dev-priv/master-priv' into master-priv-ford 2023-12-07 19:44:40 -05:00
Jason Wen
4d5a6d3ece Merge branch 'dev-priv/master-priv' into hkg-canfd-camera-scc-long-lead
# Conflicts:
#	CHANGELOGS.md
2023-12-07 19:41:52 -05:00
Jason Wen
3196ade663 oops by issac ;) 2023-12-07 17:33:11 -05: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
Jason Wen
71de09824c bump panda 2023-12-07 11:44:08 -05:00
Jason Wen
bb940d1a78 Update FCR and CHANGELOGS.md 2023-12-07 11:43:19 -05:00
Jason Wen
4cc25d4c76 Merge branch 'dev-priv/master-priv' into master-priv-ford 2023-12-07 11:32:38 -05:00
Jason Wen
557728aa09 NNLC: Update event texts 2023-12-07 15:25:08 +00: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
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
Isaac Barham
2b0bec9e65 Updated to include deadzone for stopping 2023-12-05 20:10:18 +00: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
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
Jason Wen
faa1ecbbbe Driving Model Selector 2023-12-05 05:15:30 +00:00
Jason Wen
f6977cc925 SLC: Properly handle previous setpoint updates 2023-12-04 22:36:18 -05:00
Isaac
985778c3e3 Added changes to add CAN-FD support for Ford 2023-12-04 00:30:37 -05:00
Isaac
56f69e8435 Adding changes back without spacing
(cherry picked from commit 8112017f9290bf02d936dd3869579a662a1fcc27)
2023-12-04 05:22:45 +00: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
DevTekVE
bfb02ca7f9 Add connection to ExperimentalMode toggle
This change introduces a connection to the "ExperimentalMode" toggle in the settings.cc file. Whenever the toggle state is flipped, the `updateToggles()` function will be called, maintaining the consistency of toggle update behavior across different settings.

Update dec_toggle enablement criteria

The changes in the code modified the condition for enabling the dec_toggle. Instead of relying on the status of custom_stock_long_planner, dec_toggle will now depend on the toggle status of experimental_mode_toggle. This will ensure the dec_toggle is only enabled when the experimental mode is active.

Enable dec_toggle based on custom_stock_long_planner status

The dec_toggle in the selfdrive user interface now mirrors the enabled status of the custom_stock_long_planner. Whenever the stock long planner toggle is switched, it will automatically enable or disable the dec_toggle.

update also experiemental to disable if no custom stock with planner speed

Update CustomStockLongPlanner settings interface

The interface for the CustomStockLongPlanner function has been updated to improve usability. A new connection to "toggleFlipped" signal was added, allowing real-time settings update. The planner is also now enabled when the long_personality_setting is toggled on. Additionally, the refresh function call for the planner has been added to ensure correct display of current settings. However, the removal of "ExperimentalMode" is now conditional, taking place only if the planner is not toggled on.
2023-12-02 13:45:16 +01:00
DevTekVE
54f7ccab8c Add new JsonFetcher class in Sunnypilot 2023-12-02 10:29:37 +00: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 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
Jason Wen
ec748af4d0 Revert "SLC: Fix rounding mismatch with MPH" 2023-11-27 15:55:42 +00: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
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
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
Jason Wen
e76b2d449f Update CHANGELOGS.md 2023-11-23 15:57:15 -05:00
Jason Wen
489661f182 allow all camera SCC platforms 2023-11-23 15:56:05 -05:00
Jason Wen
f017780506 bruh wrong flag! 2023-11-23 12:53:09 -05: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
Jason Wen
e6366ff5a2 maybe? 2023-11-22 20:20:04 -05:00
Jason Wen
1759c5e884 use ACC_ObjDist to detect lead 2023-11-22 15:10:04 -05:00
Jason Wen
f97df7ed87 only tucson hev 4th gen 2023-11-22 15:00:33 -05:00
Jason Wen
6c70ed0aab Hyundai CAN-FD: Lead Relative Speed for camara-based SCC platforms 2023-11-21 13:42:54 -05:00
Jason Wen
3711d5e91a Hyundai CAN-FD Longitudinal: Parse lead info for camera-based SCC platforms 2023-11-21 13:36:13 -05: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
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
1add9975bd set to false if OP long 2023-11-14 01:32:14 -05:00
Jason Wen
e1e401a8f4 Merge branch 'dev-priv/master-priv' into custom-stock-long-planner-speed 2023-11-14 01:30:11 -05:00
Jason Wen
5213aca6db SLC: User Confirmation State Machine 2023-11-14 06:25:23 +00: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
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
8f1de6b9e2 Revert "lat planner retune"
This reverts commit 1088d425f4.
2023-11-12 00:32:26 -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
DevTekVE
294b0ad038 Refactor driver view transform function 2023-11-09 19:15:20 +00: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
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
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
Jason Wen
f2d6949402 ui: Speed Limit Warning 2023-11-06 21:56:05 +00:00
Jason Wen
8f2682022e ui: Speed limit cleanup 2023-11-06 21:40:03 +00: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
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
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
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
Jason Wen
e4b9e7d07a don't check at 100 hz 2023-10-31 20:55:16 -04:00
Jason Wen
95d111bb20 var changes 2023-10-31 19:28:55 -04:00
Jason Wen
2ac06e8c5c Merge branch 'dev-priv/master-priv' into custom-stock-long-planner-speed
# Conflicts:
#	selfdrive/ui/qt/offroad/settings.cc
#	selfdrive/ui/qt/onroad_settings.cc
2023-10-31 19:07:01 -04: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
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
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
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
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
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
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
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
Jason Wen
c8cefa4af1 fix with T_IDXS 2023-10-23 20:22:49 -04: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
DevTekVE
cf1e01cf45 Merge branch 'master-priv' into custom-stock-long-planner-speed
# Conflicts:
#	selfdrive/car/hyundai/carcontroller.py
2023-10-22 17:26:32 +02: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
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
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
DevTekVE
df23ba80dd Reimplement HKG: Add lead distance indicator on cluster 2023-10-19 17:21:01 +00: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
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
Jason Wen
b1f4dc6bb0 Merge remote-tracking branch 'commaai/openpilot/master' into sync-priv-20231016 2023-10-17 14:37:34 -04: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
DevTekVE
3aef2ddbd9 Refactor GPS data handling to use 'liveLocationKalman' 2023-10-15 09:01:43 +00:00
DevTekVE
f885863e1e Sync master-priv with public sunnypilot:master 2023-10-13 16:40:08 +00: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
DevTekVE
99f8adde71 Refactoring the speed limit control 2023-10-10 15:02:35 +00: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 Wen
374dea106c Subaru: Fix safety param assignment for IMPREZA_2020 torque increase 2023-10-07 06:50:27 +00: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
Jason Wen
023ee34771 allow dec change 2023-10-04 17:51:57 -04:00
Jason Wen
4af030b881 Merge branch 'dev-priv/master-priv' into custom-stock-long-planner-speed 2023-10-04 17:50:05 -04:00
Jason Wen
4f07bf2504 ui: Hide description on SPAbstractControl init 2023-10-04 15:02:16 -04: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
Jason Wen
2c43f3b15b ui: Use local variables for cereal 2023-10-04 02:42:20 +00:00
Jason Wen
b1c05548c4 allow experimental mode 2023-10-03 20:55:04 -04:00
Jason Wen
f5910661cc convert back 2023-10-03 20:54:29 -04:00
Jason Wen
ac5a4b3ed5 Merge branch 'dev-priv/master-priv' into custom-stock-long-planner-speed 2023-10-03 17:52:07 -04:00
Jason Wen
98dbd39209 Mazda: Custom Stock Longitudinal Control: calculate counters manually 2023-10-03 21:38:52 +00:00
Jason Wen
8d993284b3 Hyundai: Custom Stock Longitudinal Control: calculate counters manually 2023-10-03 21:23:37 +00:00
Jason Wen
6bb5c5166f Custom Stock Longitudinal Control: Use planner speed 2023-10-03 17:07:31 -04: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
Jason Wen
c946f50a70 Subaru: Stop and Go: Initialize for all platforms (#329) 2023-10-03 11:14:29 -04:00
Jason Wen
62e6d6392d V-TSC: Parse lane lines calculation fix (#326) 2023-10-02 22:54:01 -04:00
Jason Wen
5e0c958618 Subaru: Safety param assignment fix (#327) 2023-10-02 20:52:25 -04: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
95ef2c09bb Merge branch 'dev-priv/master' into subaru-gen2-torque-increase
# Conflicts:
#	panda
2023-10-01 03:21:51 -04:00
Jason Wen
08117150d2 Merge branch 'dev-priv/master' into hkg-canfd-all-long
# Conflicts:
#	panda
2023-10-01 03:21:33 -04:00
Jason Wen
e02d32c86f Merge branch 'dev-priv/master' into ev6-taco
# Conflicts:
#	panda
#	selfdrive/car/hyundai/values.py
2023-10-01 03:20:40 -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
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
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
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
Jason Wen
705bd1a42a Merge branch 'dev-priv/master' into subaru-gen2-torque-increase
# Conflicts:
#	panda
2023-09-29 11:01:05 -04:00
Jason Wen
40ed3377f2 Merge branch 'dev-priv/master' into ev6-taco
# Conflicts:
#	panda
2023-09-29 11:00:32 -04:00
Jason Wen
13453c6468 fixes 2023-09-29 09:04:59 -04:00
Jason Wen
132628b121 Merge branch 'dev-priv/master' into hkg-canfd-all-long
# Conflicts:
#	panda
2023-09-29 09:00:19 -04: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
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
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
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
Jason Wen
5214a703d7 Sentry: Cleanup unncessary inits (#307)
* Sentry: cleanup unncessary inits

* unnecessary

* unused

* cleanup
2023-09-27 21:59:13 -04: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
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
Jason Wen
5cf452acdd Hyundai: radar interface cleanup (#298) 2023-09-26 10:00:41 -04:00
Jason Wen
c035228010 Merge commaai:openpilot/30021 2023-09-25 20:35:26 -04: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
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
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
Jason Wen
fb9a990184 FCR: sync with upstream supported car platforms 2023-09-24 00:09:50 -04:00
Jason Wen
3b1ad57ee2 sunnypilot: Fix upstream conflict 2023-09-23 14:12:49 -04: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
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
Jason Wen
70cf84e7e4 Merge branch 'dev-priv/master' into ev6-taco
# Conflicts:
#	panda
2023-09-23 00:41:52 -04:00
Jason Wen
ad07b13f23 Hyundai CAN-FD: longitudinal support for all platforms 2023-09-23 00:37:25 -04: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
90b170af9a Merge branch 'dev-priv/master' into subaru-gen2-torque-increase
# Conflicts:
#	panda
2023-09-23 00:10:35 -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
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
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
Jason Wen
b1bb33418e ui: Feature Status display conditions (#283) 2023-09-21 21:35:55 -04: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
Jason Wen
65e08b51a0 ui: Update Feature Status texts (#282) 2023-09-19 00:26:43 -04: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
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
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
Jason Wen
22a5951aa7 ui: Add comment and organize Auto Hide Button and Onroad Brightness (#277) 2023-09-15 21:55:16 -04: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
Jason Wen
04b62555a0 Gap Adjust Cruise: Fix carstate button press logic (#274) 2023-09-15 04:02:12 -04: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
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
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
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
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
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
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
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
d3f58ba9d7 variable fix 2023-09-08 11:02:16 -04:00
Jason Wen
11f34056ef Merge branch 'dev-priv/master' into ev6-taco
# Conflicts:
#	panda
#	selfdrive/car/hyundai/values.py
2023-09-08 11:00:34 -04:00
Jason Wen
a91a4814cd Merge branch 'dev-priv/master' into subaru-gen2-torque-increase
# Conflicts:
#	panda
2023-09-08 10:53:20 -04: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
1088d425f4 lat planner retune 2023-08-19 14:35:38 -04:00
Jason Wen
bd583b98c1 MADS: keep longActive state for minEnableSpeed > 0 cars (#240) 2023-08-19 12:07:26 -04:00
Jason Wen
fb3991c07a Revert "use SSH to enable instead"
This reverts commit 665c4a69f4.
2023-08-18 11:33:58 -04:00
Jason Wen
b4884c720d This is why it doesn't work 2023-08-18 11:33:48 -04:00
Jason Wen
665c4a69f4 use SSH to enable instead 2023-08-18 11:07:21 -04:00
Jason Wen
f6be6beb2b use this instead 2023-08-18 10:51:31 -04:00
Jason Wen
42e842324a Try this 2023-08-18 10:43:53 -04:00
Jason Wen
4f9841302e only behind flags 2023-08-18 10:40:29 -04:00
Jason Wen
b4ef0c3a5e bytes instead 2023-08-18 10:31:33 -04:00
Jason Wen
9950777919 Hyundai CAN-FD: upstream taco tune 2023-08-18 08:54:30 -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
f5ce706df7 revert for now 2023-08-17 18:05:08 -04:00
Jason Wen
8a7f1b588b match 2023-08-17 17:53:02 -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
079cd7833e Subaru: gen2 torque increase 2023-08-16 23:03:01 -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
996 changed files with 87338 additions and 13852 deletions

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

@@ -1,11 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Join the Discord
url: https://discord.comma.ai
about: The community Discord is for both openpilot development and experience discussion
- name: Report model bugs
url: https://discord.com/channels/469524606043160576/1254834193066623017
about: Feedback for the driving and driver monitoring models goes in the #driving-feedback in Discord
url: https://github.com/commaai/openpilot/discussions/categories/model-feedback
about: Provide feedback for the driving or driver monitoring models
- name: Discussions
url: https://github.com/commaai/openpilot/discussions
about: For questions and general discussion about openpilot
- name: Community Wiki
url: https://github.com/commaai/openpilot/wiki
about: Check out our community wiki
- name: Community Discord
url: https://discord.comma.ai
about: Check out our community discord

View File

@@ -8,7 +8,7 @@ assignees: ''
**Checklist**
- [ ] added entry to CAR in selfdrive/car/*/values.py and ran `selfdrive/opcar/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:

56
.github/labeler.yaml vendored
View File

@@ -4,7 +4,59 @@ CI / testing:
car:
- changed-files:
- any-glob-to-all-files: '{selfdrive/car/**,opendbc_repo}'
- 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:
@@ -22,6 +74,6 @@ multilanguage:
- changed-files:
- any-glob-to-all-files: 'selfdrive/ui/translations/**'
autonomy:
research:
- changed-files:
- any-glob-to-all-files: "{selfdrive/modeld/models/**,selfdrive/test/process_replay/model_replay_ref_commit}"

View File

@@ -44,7 +44,7 @@ Explain how you tested this bug fix.
**Checklist**
- [ ] added entry to CAR in selfdrive/car/*/values.py and ran `selfdrive/opcar/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:

View File

@@ -35,12 +35,11 @@ jobs:
already-exists-comment: "Your PR should be made against the `master` branch"
# Welcome comment
- name: "First timers PR"
uses: actions/first-interaction@v1
- name: comment
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6
if: github.event.pull_request.head.repo.full_name != 'commaai/openpilot'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |
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
@@ -50,4 +49,5 @@ jobs:
* 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

@@ -23,7 +23,7 @@ jobs:
- uses: ./.github/workflows/setup-with-retry
- name: Push badges
run: |
${{ env.RUN }} "scons -j$(nproc) && python3 selfdrive/ui/translations/create_badges.py"
${{ env.RUN }} "scons -j$(nproc) && python selfdrive/ui/translations/create_badges.py"
rm .gitattributes

View File

@@ -58,14 +58,14 @@ jobs:
const jobName = job.name.split(" / ")[2];
const runRegex = /\((.*?)\)/;
const run = job.name.match(runRegex)[1];
report[jobName] = report[jobName] || { successes: [], failures: [], canceled: [] };
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 "canceled":
report[jobName].canceled.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});

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}}"

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

@@ -6,8 +6,8 @@ on:
workflow_dispatch:
jobs:
package_updates:
name: package_updates
bump_submodules:
name: bump_submodules
runs-on: ubuntu-latest
container:
image: ghcr.io/commaai/openpilot-base:latest
@@ -16,21 +16,36 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: true
- name: uv lock
run: |
python3 -m ensurepip --upgrade
pip3 install uv
uv lock --upgrade
- name: bump submodules
run: |
git config --global --add safe.directory '*'
git -c submodule."tinygrad".update=none submodule update --remote
git add .
- name: update car docs
- 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: 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: |
scons -j$(nproc) --minimal opendbc
PYTHONPATH=. python selfdrive/car/docs.py
git add docs/CARS.md
python3 -m ensurepip --upgrade
pip3 install uv
uv lock --upgrade
- name: Create Pull Request
uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
with:

View File

@@ -54,20 +54,20 @@ 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 }} "python3 system/manager/build.py"
${{ env.RUN }} "python system/manager/build.py"
- name: Run tests
timeout-minutes: 3
run: |
cd $STRIPPED_DIR
${{ env.RUN }} "release/check-dirty.sh && \
MAX_EXAMPLES=5 $PYTEST -m 'not slow' selfdrive/car"
- name: Static analysis
- name: static analysis
timeout-minutes: 1
run: |
cd $GITHUB_WORKSPACE
cp pyproject.toml $STRIPPED_DIR
cd $STRIPPED_DIR
${{ env.RUN }} "scripts/lint/lint.sh --skip check_added_large_files"
${{ env.RUN }} "scripts/lint.sh"
build:
strategy:
@@ -139,16 +139,17 @@ jobs:
name: static analysis
runs-on: ${{ ((github.repository == 'commaai/openpilot') &&
((github.event_name != 'pull_request') ||
(github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-24.04' }}
env:
PYTHONWARNINGS: default
(github.event.pull_request.head.repo.full_name == 'commaai/openpilot'))) && 'namespace-profile-amd64-8x16' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4
- name: Setup
run: tools/op.sh setup
- name: Static analysis
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- name: Build openpilot
run: ${{ env.RUN }} "scons -j$(nproc)"
- name: static analysis
timeout-minutes: 1
run: tools/op.sh lint
run: ${{ env.RUN }} "scripts/lint.sh"
unit_tests:
name: unit tests
@@ -169,6 +170,7 @@ jobs:
timeout-minutes: 15
run: |
${{ 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 && \
@@ -221,7 +223,7 @@ jobs:
- name: Upload reference logs
if: ${{ failure() && steps.print-diff.outcome == 'success' && github.repository == 'commaai/openpilot' && env.AZURE_TOKEN != '' }}
run: |
${{ env.RUN }} "unset PYTHONWARNINGS && AZURE_TOKEN='$AZURE_TOKEN' python3 selfdrive/test/process_replay/test_processes.py -j$(nproc) --upload-only"
${{ 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: 4
@@ -281,8 +283,7 @@ jobs:
car_docs_diff:
name: PR comments
runs-on: ubuntu-latest
#if: github.event_name == 'pull_request'
if: false # TODO: run this in opendbc?
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
with:
@@ -292,7 +293,7 @@ jobs:
- uses: ./.github/workflows/setup-with-retry
- name: Get base car info
run: |
${{ env.RUN }} "scons -j$(nproc) && python3 selfdrive/debug/dump_car_docs.py --path /tmp/openpilot_cache/base_car_docs"
${{ 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@v4
with:
@@ -304,7 +305,7 @@ jobs:
run: |
cd current
${{ env.RUN }} "scons -j$(nproc)"
output=$(${{ env.RUN }} "python3 selfdrive/debug/print_docs_diff.py --path /tmp/openpilot_cache/base_car_docs")
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
@@ -349,7 +350,8 @@ jobs:
run: >
${{ env.RUN }} "PYTHONWARNINGS=ignore &&
source selfdrive/test/setup_xvfb.sh &&
python3 selfdrive/ui/tests/test_ui/run.py"
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:

View File

@@ -39,7 +39,8 @@ jobs:
${{ env.RUN }} "scons -j$(nproc)"
- name: Run bridge test
run: |
${{ env.RUN }} "source selfdrive/test/setup_xvfb.sh && \
${{ 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"

View File

@@ -6,7 +6,6 @@ on:
- 'master'
paths:
- 'selfdrive/ui/**'
workflow_dispatch:
env:
UI_JOB_NAME: "Create UI Report"
@@ -76,27 +75,15 @@ jobs:
<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 }}/settings_network.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.png"></td>
<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 }}/onroad_wide.png"></td>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_wide_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>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_alert_small.png"></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_alert_mid.png"></td>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/onroad_alert_full.png"></td>
</tr>
<tr>
<td><img src="https://raw.githubusercontent.com/commaai/ci-artifacts/openpilot/pr-${{ github.event.number }}/driver_camera.png"></td>
<td></td>
</tr>
</table>
comment_tag: run_id_screenshots

1
.gitignore vendored
View File

@@ -56,6 +56,7 @@ selfdrive/car/tests/cars_dump
system/camerad/camerad
system/camerad/test/ae_gray_test
selfdrive/modeld/_modeld
selfdrive/modeld/_navmodeld
selfdrive/modeld/_dmonitoringmodeld
/src/

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"]

10
.gitmodules vendored
View File

@@ -1,18 +1,18 @@
[submodule "panda"]
path = panda
url = ../../commaai/panda.git
url = https://github.com/sunnyhaibin/panda.git
[submodule "opendbc"]
path = opendbc_repo
url = ../../commaai/opendbc.git
url = https://github.com/sunnypilot/opendbc.git
[submodule "msgq"]
path = msgq_repo
url = ../../commaai/msgq.git
url = https://github.com/sunnypilot/msgq.git
[submodule "rednose_repo"]
path = rednose_repo
url = ../../commaai/rednose.git
url = https://github.com/commaai/rednose.git
[submodule "teleoprtc_repo"]
path = teleoprtc_repo
url = ../../commaai/teleoprtc
url = https://github.com/commaai/teleoprtc
[submodule "tinygrad"]
path = tinygrad_repo
url = https://github.com/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

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>

1
.vscode/launch.json vendored
View File

@@ -7,6 +7,7 @@
"description": "Select the process to debug",
"options": [
"selfdrive/controls/controlsd.py",
"selfdrive/navd/navd.py",
"system/timed/timed.py",
"tools/sim/run_bridge.py"
]

989
CHANGELOGS.md Normal file
View File

@@ -0,0 +1,989 @@
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! (CTV 2.0: GlideTech)
* 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❗: Toyota - Drive Mode Selector
* When enabled you can control acceleration personality just with press of button!
* UPDATED: Dynamic Experimental Control
* Switched to weighted moving averages to enhance responsiveness to recent data.
* Goal is to improve real-time detection accuracy in dynamic conditions.
* Capable of handling the increased complexity that comes with this approach.
* Particularly beneficial in environments where recent changes are critical to performance.
* 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❗: Hyundai CAN: Enable Cruise Main by Default
* Set CRUISE MAIN to ON by default when the car starts, without engaging MADS
* This feature only applies when "openpilot Longitudinal Control (Alpha)" is enabled under the "Toggles" menu
* 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 (CTV 2.0: GlideTech)
* Re-tuned and tested by the community (September 29, 2024)
* UPDATED: Driving Model Selector v5
* NEW❗: Driving Model additions
* Notre Dame (July 01, 2024) - NDv3
* UPDATED: Neural Network Lateral Control (NNLC)
* NEW❗: Remove Lateral Jerk Response (Alpha)
* FIXED: Hotfix for "lazy" steering performance in tighter curves thanks to twilsonco!
* 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
* FIXED: Experimental Model Distance Button Hold
* Experimental Model toggle with distance button hold no longer changes Personality
* Personality setting remains consistent when switching between Chill and Experimental Mode
* 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
* Ford F-150 2022-23 support
* Ford F-150 Lightning 2021-23 support
* Ford Mustang Mach-E 2021-23 support
* Hyundai Kona Electric Non-SCC 2019 support thanks to NikitaNekrasov!
* 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
* NEW❗: Ford CAN-FD longitudinal
* NEW❗: Parse speed limit sign recognition from camera for certain supported platforms
* 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 Radar-based SCC
* Longitudinal support for CAN-FD Radar-based SCC cars
* 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

@@ -13,7 +13,7 @@ ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
COPY tools/install_ubuntu_dependencies.sh /tmp/tools/
RUN /tmp/tools/install_ubuntu_dependencies.sh && \
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

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>

39
Jenkinsfile vendored
View File

@@ -26,6 +26,7 @@ export SOURCE_DIR=${env.SOURCE_DIR}
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"
@@ -95,11 +96,49 @@ def deviceStage(String stageName, String deviceType, List extra_env, def steps)
}
}
def pcStage(String stageName, Closure body) {
node {
stage(stageName) {
if (currentBuild.result != null) {
return
}
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 .")
}
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"
}
body()
} finally {
sh "rm -rf ${env.WORKSPACE}/* || true"
sh "rm -rf .* || true"
}
}
}
}
}
}
}
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}"
}
}

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

502
README.md
View File

@@ -1,98 +1,460 @@
<div align="center" style="text-align: center;">
![](https://user-images.githubusercontent.com/47793918/233812617-beab2e71-57b9-479e-8bff-c3931347ca40.png)
<h1>openpilot</h1>
Table of Contents
=======================
<p>
<b>openpilot is an operating system for robotics.</b>
* [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)
---
<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
* a comma two (only with older versions below 0.8.13)
* 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
------
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.
* 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`
| 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 two
------
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: ```https://smiskol.com/fork/sunnyhaibin/0.8.12-4-prod```
4. Complete the rest of the installation following the onscreen instructions.
Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
</details>
<details>
<summary>SSH (More Versatile)</summary>
<br>
Currently, it upgrades the driver assistance system in 275+ supported cars.
</p>
<h3>
<a href="https://docs.comma.ai">Docs</a>
<span> · </span>
<a href="https://docs.comma.ai/contributing/roadmap/">Roadmap</a>
<span> · </span>
<a href="https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md">Contribute</a>
<span> · </span>
<a href="https://discord.comma.ai">Community</a>
<span> · </span>
<a href="https://comma.ai/shop">Try it on a comma 3X</a>
</h3>
Prerequisites: [How to SSH](https://github.com/commaai/openpilot/wiki/SSH)
Quick start: `bash <(curl -fsSL openpilot.comma.ai)`
If you are looking to install sunnypilot via SSH, run the following command in an SSH terminal after connecting to your device:
![openpilot tests](https://github.com/commaai/openpilot/actions/workflows/selfdrive_tests.yaml/badge.svg)
[![codecov](https://codecov.io/gh/commaai/openpilot/branch/master/graph/badge.svg)](https://codecov.io/gh/commaai/openpilot)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![X Follow](https://img.shields.io/twitter/follow/comma_ai)](https://x.com/comma_ai)
[![Discord](https://img.shields.io/discord/469524606043160576)](https://discord.comma.ai)
</div>
<table>
<tr>
<td><a href="https://youtu.be/NmBfgOanCyk" title="Video By Greer Viau"><img src="https://github.com/commaai/openpilot/assets/8762862/2f7112ae-f748-4f39-b617-fabd689c3772"></a></td>
<td><a href="https://youtu.be/VHKyqZ7t8Gw" title="Video By Logan LeGrand"><img src="https://github.com/commaai/openpilot/assets/8762862/92351544-2833-40d7-9e0b-7ef7ae37ec4c"></a></td>
<td><a href="https://youtu.be/SUIZYzxtMQs" title="A drive to Taco Bell"><img src="https://github.com/commaai/openpilot/assets/8762862/05ceefc5-2628-439c-a9b2-89ce77dc6f63"></a></td>
</tr>
</table>
To start using openpilot in a car
comma three:
------
* [`release-c3`](https://github.com/sunnyhaibin/openpilot/tree/release-c3):
To use openpilot in a car, you need four things:
1. **Supported Device:** a comma 3/3X, available at [comma.ai/shop](https://comma.ai/shop/comma-3x).
2. **Software:** The setup procedure for the comma 3/3X allows users to enter a URL for custom software. Use the URL `openpilot.comma.ai` to install the release version.
3. **Supported Car:** Ensure that you have one of [the 275+ supported cars](docs/CARS.md).
4. **Car Harness:** You will also need a [car harness](https://comma.ai/shop/car-harness) to connect your comma 3/3X 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 install the harness and device in a car](https://comma.ai/setup). Note that it's possible to run openpilot on [other hardware](https://blog.comma.ai/self-driving-car-for-free/), although it's not plug-and-play.
To start developing openpilot
comma two:
------
* [`0.8.12-prod-personal-hkg`](https://github.com/sunnyhaibin/openpilot/tree/0.8.12-prod-personal-hkg):
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).
```
cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot
```
* Join the [community Discord](https://discord.comma.ai)
* Check out [the contributing docs](docs/CONTRIBUTING.md)
* Check out the [openpilot tools](tools/)
* Read about the [development workflow](docs/WORKFLOW.md)
* Code documentation lives at https://docs.comma.ai
* Information about running openpilot lives on the [community wiki](https://github.com/commaai/openpilot/wiki)
After running the command to install the desired branch, your comma device should reboot.
</details>
Want to get paid to work on openpilot? [comma is hiring](https://comma.ai/jobs#open-positions) and offers lots of [bounties](https://comma.ai/bounties) for external contributors.
</details>
Safety and Testing
----
* openpilot observes [ISO26262](https://en.wikipedia.org/wiki/ISO_26262) 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.
<details><summary><h3>🚗 Highlight Features</h3></summary>
Licensing
------
---
### 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.
### 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
### 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)
</details>
<details><summary><h3>🚗 Driving Enhancements</h3></summary>
---
### 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 ACC/SCC completely when `OFF` **(strictly enforced in panda safety code)**
### 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)**
### 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
### Dynamic Lane Profile (DLP)
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](https://github.com/sunnyhaibin/openpilot/blob/(!)README/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 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.
</details>
<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.**
User Data and comma Account
------
</details>
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.
<h3>💰 Support sunnypilot</h3>
openpilot is open source software: the user is free to disable data collection if they wish to do so.
---
openpilot logs the road-facing cameras, 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.
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.
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 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

@@ -14,6 +14,8 @@ SCons.Warnings.warningAsException(True)
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')
@@ -70,6 +72,12 @@ AddOption('--minimal',
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
@@ -168,6 +176,13 @@ else:
if arch != "Darwin":
ldflags += ["-Wl,--as-needed", "-Wl,--no-undefined"]
# Enable swaglog include in submodules
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(' ')
@@ -182,9 +197,12 @@ env = Environment(
"-Werror",
"-Wshadow",
"-Wno-unknown-warning-option",
"-Wno-deprecated-register",
"-Wno-register",
"-Wno-inconsistent-missing-override",
"-Wno-c99-designator",
"-Wno-reorder-init-list",
"-Wno-error=unused-but-set-variable",
"-Wno-vla-cxx-extension",
] + cflags + ccflags,
@@ -199,7 +217,11 @@ env = Environment(
"#third_party/linux/include",
"#third_party/snpe/include",
"#third_party",
"#cereal",
"#msgq",
"#opendbc/can",
"#third_party/maplibre-native-qt/include",
f"#third_party/maplibre-native-qt/{arch}/include"
],
CC='clang',
@@ -233,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)
@@ -265,7 +288,7 @@ Export('envCython', 'np_version')
# Qt build environment
qt_env = env.Clone()
qt_modules = ["Widgets", "Gui", "Core", "Network", "Concurrent", "DBus", "Xml"]
qt_modules = ["Widgets", "Gui", "Core", "Network", "Concurrent", "Multimedia", "Quick", "Qml", "QuickWidgets", "Location", "Positioning", "DBus", "Xml"]
qt_libs = []
if arch == "Darwin":
@@ -311,11 +334,15 @@ qt_flags = [
"-DQT_NO_DEBUG",
"-DQT_WIDGETS_LIB",
"-DQT_GUI_LIB",
"-DQT_QUICK_LIB",
"-DQT_QUICKWIDGETS_LIB",
"-DQT_QML_LIB",
"-DQT_CORE_LIB",
"-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"):
@@ -335,27 +362,24 @@ Export('env', 'qt_env', 'arch', 'real_arch')
SConscript(['common/SConscript'])
Import('_common', '_gpucommon')
common = [_common, 'json11', 'zmq']
common = [_common, 'json11']
gpucommon = [_gpucommon]
Export('common', 'gpucommon')
# Build messaging (cereal + msgq + socketmaster + their dependencies)
# Enable swaglog include in submodules
env_swaglog = env.Clone()
env_swaglog['CXXFLAGS'].append('-DSWAGLOG="\\"common/swaglog.h\\""')
SConscript(['msgq_repo/SConscript'], exports={'env': env_swaglog})
SConscript(['opendbc/can/SConscript'], exports={'env': env_swaglog})
SConscript(['msgq_repo/SConscript'])
SConscript(['cereal/SConscript'])
Import('socketmaster', 'msgq')
messaging = [socketmaster, msgq, 'zmq', 'capnp', 'kj',]
Export('messaging')
# Build other submodules
SConscript(['panda/SConscript'])
SConscript([
'opendbc/can/SConscript',
'panda/SConscript',
])
# Build rednose library
SConscript(['rednose/SConscript'])

View File

@@ -1,20 +1,31 @@
Import('env', 'common', 'msgq')
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/")
cereal = env.Library('cereal', [f'gen/cpp/{s}.c++' for s in schema_files])
# 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', 'messaging/msgq_to_zmq.cc'], LIBS=[msgq, common, 'pthread'])
socketmaster = env.Library('socketmaster', ['messaging/socketmaster.cc'])
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')

View File

@@ -117,7 +117,27 @@ struct CarEvent @0x9b1657f34caf3ad3 {
paramsdPermanentError @119;
actuatorsApiUnavailable @120;
espActive @121;
personalityChanged @122;
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;
hyundaiRadarTracksAvailable @142;
radarCanErrorDEPRECATED @15;
communityFeatureDisallowedDEPRECATED @62;
@@ -197,7 +217,6 @@ struct CarState {
accFaulted @42 :Bool;
carFaultedNonCritical @47 :Bool; # some ECU is faulted, but car remains controllable
espActive @51 :Bool;
vehicleSensorsInvalid @52 :Bool; # invalid steering angle readings, etc.
# cruise state
cruiseState @10 :CruiseState;
@@ -218,6 +237,27 @@ struct CarState {
# 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;
vCruiseKphPrevDEPRECATED @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
@@ -244,6 +284,7 @@ struct CarState {
speedOffset @3 :Float32;
standstill @4 :Bool;
nonAdaptive @5 :Bool;
speedLimit @7 :Float32;
}
enum GearShifter {
@@ -329,6 +370,7 @@ struct CarControl {
enabled @0 :Bool;
latActive @11: Bool;
longActive @12: Bool;
vCruise @17 :Float32; # actual set speed
# Actuator commands as computed by controlsd
actuators @6 :Actuators;
@@ -416,6 +458,9 @@ struct CarControl {
prompt @6;
promptRepeat @7;
promptDistracted @8;
promptStarting @9;
promptSingleLow @10;
promptSingleHigh @11;
}
}
@@ -448,6 +493,9 @@ struct CarParams {
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;
@@ -537,6 +585,8 @@ struct CarParams {
steeringAngleDeadzoneDeg @5 :Float32;
latAccelFactor @6 :Float32;
latAccelOffset @7 :Float32;
nnModelName @8 :Text;
nnModelFuzzyMatch @9 :Bool;
}
struct LongitudinalPIDTuning {

View File

@@ -1,6 +1,8 @@
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
@@ -8,25 +10,206 @@ $Cxx.namespace("cereal");
# cereal, so use these if you want custom events in your fork.
# you can rename the struct, but don't change the identifier
struct CustomReserved0 @0x81c2f05a394cf4af {
enum LongitudinalPersonalitySP {
aggressive @0;
moderate @1;
standard @2;
relaxed @3;
overtake @4;
}
struct CustomReserved1 @0xaedffd8f31e7b55d {
enum AccelerationPersonality {
sport @0;
normal @1;
eco @2;
stock @3;
}
struct CustomReserved2 @0xf35cc4560bbf6ec2 {
enum ModelGeneration {
default @0;
one @1;
two @2;
three @3;
four @4;
five @5;
}
struct CustomReserved3 @0xda96579883444c35 {
enum MpcSource {
acc @0;
blended @1;
}
struct CustomReserved4 @0x80ae746ee2596b11 {
struct ControlsStateSP @0x81c2f05a394cf4af {
lateralState @0 :Text;
personality @8 :LongitudinalPersonalitySP;
dynamicPersonality @9 :Bool;
accelPersonality @10 :AccelerationPersonality;
overtakingAccelerationAssist @11 :Bool;
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 CustomReserved5 @0xa5cd762cd951a455 {
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);
e2eBlendedDEPRECATED @18 :Text;
e2eStatus @22 :Bool;
mpcSource @23 :MpcSource;
dynamicExperimentalControl @24 :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 CustomReserved6 @0xf98d843bfd7004a3 {
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 {

View File

@@ -684,53 +684,18 @@ struct LiveTracks {
oncoming @9 :Bool;
}
struct SelfdriveState {
# high level system state
state @0 :OpenpilotState;
enabled @1 :Bool;
active @2 :Bool;
engageable @9 :Bool; # can OP be engaged?
# UI alerts
alertText1 @3 :Text;
alertText2 @4 :Text;
alertStatus @5 :AlertStatus;
alertSize @6 :AlertSize;
alertType @7 :Text;
alertSound @8 :Car.CarControl.HUDControl.AudibleAlert;
# configurable driving settings
experimentalMode @10 :Bool;
personality @11 :LongitudinalPersonality;
enum OpenpilotState @0xdbe58b96d2d1ac61 {
disabled @0;
preEnabled @1;
enabled @2;
softDisabling @3;
overriding @4; # superset of overriding with steering or accelerator
}
enum AlertStatus @0xa0d0dcd113193c62 {
normal @0;
userPrompt @1;
critical @2;
}
enum AlertSize @0xe98bb99d6e985f64 {
none @0;
small @1;
mid @2;
full @3;
}
}
struct ControlsState @0x97ff69c53601abf1 {
cumLagMs @15 :Float32;
startMonoTime @48 :UInt64;
longitudinalPlanMonoTime @28 :UInt64;
lateralPlanMonoTime @50 :UInt64;
state @31 :OpenpilotState;
enabled @19 :Bool;
active @36 :Bool;
experimentalMode @64 :Bool;
personality @66 :LongitudinalPersonality;
longControlState @30 :Car.CarControl.Actuators.LongControlState;
vTargetLead @3 :Float32;
vCruise @22 :Float32; # actual set speed
@@ -741,21 +706,19 @@ struct ControlsState @0x97ff69c53601abf1 {
aTarget @35 :Float32;
curvature @37 :Float32; # path curvature from vehicle model
desiredCurvature @61 :Float32; # lag adjusted curvatures used by lateral controllers
forceDecel @51 :Bool;
# TODO: remove these, they're now in selfdriveState
# UI alerts
alertText1 @24 :Text;
alertText2 @25 :Text;
alertStatus @38 :SelfdriveState.AlertStatus;
alertSize @39 :SelfdriveState.AlertSize;
alertStatus @38 :AlertStatus;
alertSize @39 :AlertSize;
alertBlinkingRate @42 :Float32;
alertType @44 :Text;
alertSound @56 :Car.CarControl.HUDControl.AudibleAlert;
engageable @41 :Bool; # can OP be engaged?
forceDecel @51 :Bool;
state @31 :SelfdriveState.OpenpilotState;
enabled @19 :Bool;
active @36 :Bool;
experimentalMode @64 :Bool;
personality @66 :LongitudinalPersonality;
cumLagMs @15 :Float32;
lateralControlState :union {
indiState @52 :LateralINDIState;
@@ -768,6 +731,27 @@ struct ControlsState @0x97ff69c53601abf1 {
lqrStateDEPRECATED @55 :LateralLQRState;
}
enum OpenpilotState @0xdbe58b96d2d1ac61 {
disabled @0;
preEnabled @1;
enabled @2;
softDisabling @3;
overriding @4; # superset of overriding with steering or accelerator
}
enum AlertStatus {
normal @0; # low priority alert for user's convenience
userPrompt @1; # mid priority alert that might require user intervention
critical @2; # high priority alert that needs immediate user intervention
}
enum AlertSize {
none @0; # don't display the alert
small @1; # small box
mid @2; # mid screen
full @3; # full screen
}
struct LateralINDIState {
active @0 :Bool;
steeringAngleDeg @1 :Float32;
@@ -881,7 +865,6 @@ struct ControlsState @0x97ff69c53601abf1 {
desiredCurvatureRateDEPRECATED @62 :Float32;
canErrorCounterDEPRECATED @57 :UInt32;
vPidDEPRECATED @2 :Float32;
alertBlinkingRateDEPRECATED @42 :Float32;
}
struct DrivingModelData {
@@ -1027,8 +1010,6 @@ struct ModelDataV2 {
brake3MetersPerSecondSquaredProbs @4 :List(Float32);
brake4MetersPerSecondSquaredProbs @5 :List(Float32);
brake5MetersPerSecondSquaredProbs @6 :List(Float32);
gasPressProbs @7 :List(Float32);
brakePressProbs @8 :List(Float32);
}
struct Pose {
@@ -2101,15 +2082,9 @@ struct LiveParametersData {
stiffnessFactorStd @12 :Float32;
steerRatioStd @13 :Float32;
roll @14 :Float32;
debugFilterState @16 :FilterState;
filterState @15 :LiveLocationKalman.Measurement;
yawRateDEPRECATED @7 :Float32;
filterStateDEPRECATED @15 :LiveLocationKalman.Measurement;
struct FilterState {
value @0 : List(Float64);
std @1 : List(Float64);
}
}
struct LiveTorqueParametersData {
@@ -2317,7 +2292,6 @@ struct Event {
gpsNMEA @3 :GPSNMEAData;
can @5 :List(CanData);
controlsState @7 :ControlsState;
selfdriveState @130 :SelfdriveState;
gyroscope @99 :SensorEventData;
gyroscope2 @100 :SensorEventData;
accelerometer @98 :SensorEventData;
@@ -2349,6 +2323,7 @@ struct Event {
onroadEvents @68: List(Car.CarEvent);
carParams @69: Car.CarParams;
driverMonitoringState @71: DriverMonitoringState;
liveLocationKalman @72 :LiveLocationKalman;
livePose @129 :LivePose;
modelV2 @75 :ModelDataV2;
drivingModelData @128 :DrivingModelData;
@@ -2406,13 +2381,13 @@ struct Event {
customReservedRawData2 @126 :Data;
# *********** Custom: reserved for forks ***********
customReserved0 @107 :Custom.CustomReserved0;
customReserved1 @108 :Custom.CustomReserved1;
customReserved2 @109 :Custom.CustomReserved2;
customReserved3 @110 :Custom.CustomReserved3;
customReserved4 @111 :Custom.CustomReserved4;
customReserved5 @112 :Custom.CustomReserved5;
customReserved6 @113 :Custom.CustomReserved6;
controlsStateSP @107 :Custom.ControlsStateSP;
longitudinalPlanSP @108 :Custom.LongitudinalPlanSP;
lateralPlanSPDEPRECATED @109 :Custom.LateralPlanSP;
driverMonitoringStateSP @110 :Custom.DriverMonitoringStateSP;
liveMapDataSP @111 :Custom.LiveMapDataSP;
e2eLongStateSP @112 :Custom.E2eLongStateSP;
modelV2SP @113 :Custom.ModelDataV2SP;
customReserved7 @114 :Custom.CustomReserved7;
customReserved8 @115 :Custom.CustomReserved8;
customReserved9 @116 :Custom.CustomReserved9;
@@ -2421,7 +2396,7 @@ struct Event {
model @9 :Legacy.ModelData; # TODO: rename modelV2 and mark this as deprecated
liveMpcDEPRECATED @36 :LiveMpcData;
liveLongitudinalMpcDEPRECATED @37 :LiveLongitudinalMpcData;
liveLocationKalmanLegacyDEPRECATED @51 :Legacy.LiveLocationData;
liveLocationKalmanDEPRECATED @51 :Legacy.LiveLocationData;
orbslamCorrectionDEPRECATED @45 :Legacy.OrbslamCorrection;
liveUIDEPRECATED @14 :Legacy.LiveUI;
sensorEventDEPRECATED @4 :SensorEventData;
@@ -2458,6 +2433,5 @@ struct Event {
lateralPlanDEPRECATED @64 :LateralPlan;
navModelDEPRECATED @104 :NavModelData;
uiPlanDEPRECATED @106 :UiPlan;
liveLocationKalmanDEPRECATED @72 :LiveLocationKalman;
}
}

View File

@@ -92,63 +92,26 @@ def recv_one_retry(sock: SubSocket) -> capnp.lib.capnp._DynamicStructReader:
return log_from_bytes(dat)
class FrequencyTracker:
def __init__(self, service_freq: float, update_freq: float, is_poll: bool):
freq = max(min(service_freq, update_freq), 1.)
if is_poll:
min_freq = max_freq = freq
else:
max_freq = min(freq, update_freq)
if service_freq >= 2 * update_freq:
min_freq = update_freq
elif update_freq >= 2* service_freq:
min_freq = freq
else:
min_freq = min(freq, freq / 2.)
self.min_freq = min_freq * 0.8
self.max_freq = max_freq * 1.2
self.recv_dts: Deque[float] = deque(maxlen=int(10 * freq))
self.prev_time = 0.0
def record_recv_time(self, cur_time: float) -> None:
# TODO: Handle case where cur_time is less than prev_time
if self.prev_time > 1e-5:
self.recv_dts.append(cur_time - self.prev_time)
self.prev_time = cur_time
@property
def valid(self) -> bool:
if not self.recv_dts:
return False
avg_freq = len(self.recv_dts) / sum(self.recv_dts)
if self.min_freq <= avg_freq <= self.max_freq:
return True
recent_dts = list(self.recv_dts)[-int(self.recv_dts.maxlen / 10):]
avg_freq_recent = len(recent_dts) / sum(recent_dts)
return self.min_freq <= avg_freq_recent <= self.max_freq
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.services = services
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.freq_tracker: Dict[str, FrequencyTracker] = {}
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
@@ -175,7 +138,22 @@ class SubMaster:
self.data[s] = getattr(data.as_reader(), s)
self.logMonoTime[s] = 0
self.valid[s] = True # FIXME: this should default to False
self.freq_tracker[s] = FrequencyTracker(SERVICE_LIST[s].frequency, self.update_freq, s == poll)
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]
@@ -195,7 +173,7 @@ class SubMaster:
def update_msgs(self, cur_time: float, msgs: List[capnp.lib.capnp._DynamicStructReader]) -> None:
self.frame += 1
self.updated = dict.fromkeys(self.services, False)
self.updated = dict.fromkeys(self.updated, False)
for msg in msgs:
if msg is None:
continue
@@ -204,30 +182,54 @@ class SubMaster:
self.seen[s] = True
self.updated[s] = True
self.freq_tracker[s].record_recv_time(cur_time)
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.services:
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)
self.freq_ok[s] = self.freq_tracker[s].valid
# 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
self.alive[s] = self.seen[s] if self.simulation else 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:
return all(self.alive[s] for s in (service_list or self.services) if s not in self.ignore_alive)
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:
return all(self.freq_ok[s] for s in (service_list or self.services) if self._check_avg_freq(s))
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:
return all(self.valid[s] for s in (service_list or self.services) if s not in self.ignore_valid)
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)

View File

@@ -1,10 +1,25 @@
#include <algorithm>
#include <cassert>
#include <csignal>
#include <iostream>
#include <map>
#include <string>
typedef void (*sighandler_t)(int sig);
#include "cereal/messaging/msgq_to_zmq.h"
#include "cereal/services.h"
#include "common/util.h"
#include "msgq/impl_msgq.h"
#include "msgq/impl_zmq.h"
ExitHandler do_exit;
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;
@@ -19,22 +34,41 @@ static std::vector<std::string> get_services(std::string whitelist_str, bool zmq
return service_list;
}
void msgq_to_zmq(const std::vector<std::string> &endpoints, const std::string &ip) {
MsgqToZmq bridge;
bridge.run(endpoints, ip);
}
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);
void zmq_to_msgq(const std::vector<std::string> &endpoints, const std::string &ip) {
auto poller = std::make_unique<ZMQPoller>();
auto pub_context = std::make_unique<MSGQContext>();
auto sub_context = std::make_unique<ZMQContext>();
std::map<SubSocket *, PubSocket *> sub2pub;
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]) : "";
for (auto endpoint : endpoints) {
auto pub_sock = new MSGQPubSocket();
auto sub_sock = new ZMQSubSocket();
pub_sock->connect(pub_context.get(), endpoint);
sub_sock->connect(sub_context.get(), endpoint, ip, false);
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;
@@ -42,30 +76,17 @@ void zmq_to_msgq(const std::vector<std::string> &endpoints, const std::string &i
while (!do_exit) {
for (auto sub_sock : poller->poll(100)) {
std::unique_ptr<Message> msg(sub_sock->receive(true));
if (msg) {
sub2pub[sub_sock]->sendMessage(msg.get());
}
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;
}
}
// Clean up allocated sockets
for (auto &[sub_sock, pub_sock] : sub2pub) {
delete sub_sock;
delete pub_sock;
}
}
int main(int argc, char **argv) {
bool is_zmq_to_msgq = argc > 2;
std::string ip = is_zmq_to_msgq ? argv[1] : "127.0.0.1";
std::string whitelist_str = is_zmq_to_msgq ? std::string(argv[2]) : "";
std::vector<std::string> endpoints = get_services(whitelist_str, is_zmq_to_msgq);
if (is_zmq_to_msgq) {
zmq_to_msgq(endpoints, ip);
} else {
msgq_to_zmq(endpoints, ip);
}
return 0;
}

View File

@@ -1,143 +0,0 @@
#include "cereal/messaging/msgq_to_zmq.h"
#include <cassert>
#include "common/util.h"
extern ExitHandler do_exit;
// Max messages to process per socket per poll
constexpr int MAX_MESSAGES_PER_SOCKET = 50;
static std::string recv_zmq_msg(void *sock) {
zmq_msg_t msg;
zmq_msg_init(&msg);
std::string ret;
if (zmq_msg_recv(&msg, sock, 0) > 0) {
ret.assign((char *)zmq_msg_data(&msg), zmq_msg_size(&msg));
}
zmq_msg_close(&msg);
return ret;
}
void MsgqToZmq::run(const std::vector<std::string> &endpoints, const std::string &ip) {
zmq_context = std::make_unique<ZMQContext>();
msgq_context = std::make_unique<MSGQContext>();
// Create ZMQPubSockets for each endpoint
for (const auto &endpoint : endpoints) {
auto &socket_pair = socket_pairs.emplace_back();
socket_pair.endpoint = endpoint;
socket_pair.pub_sock = std::make_unique<ZMQPubSocket>();
int ret = socket_pair.pub_sock->connect(zmq_context.get(), endpoint);
if (ret != 0) {
printf("Failed to create ZMQ publisher for [%s]: %s\n", endpoint.c_str(), zmq_strerror(zmq_errno()));
return;
}
}
// Start ZMQ monitoring thread to monitor socket events
std::thread thread(&MsgqToZmq::zmqMonitorThread, this);
// Main loop for processing messages
while (!do_exit) {
{
std::unique_lock lk(mutex);
cv.wait(lk, [this]() { return do_exit || !sub2pub.empty(); });
if (do_exit) break;
for (auto sub_sock : msgq_poller->poll(100)) {
// Process messages for each socket
for (int i = 0; i < MAX_MESSAGES_PER_SOCKET; ++i) {
auto msg = std::unique_ptr<Message>(sub_sock->receive(true));
if (!msg) break;
while (sub2pub[sub_sock]->sendMessage(msg.get()) == -1) {
if (errno != EINTR) break;
}
}
}
}
util::sleep_for(1); // Give zmqMonitorThread a chance to acquire the mutex
}
thread.join();
}
void MsgqToZmq::zmqMonitorThread() {
std::vector<zmq_pollitem_t> pollitems;
// Set up ZMQ monitor for each pub socket
for (int i = 0; i < socket_pairs.size(); ++i) {
std::string addr = "inproc://op-bridge-monitor-" + std::to_string(i);
zmq_socket_monitor(socket_pairs[i].pub_sock->sock, addr.c_str(), ZMQ_EVENT_ACCEPTED | ZMQ_EVENT_DISCONNECTED);
void *monitor_socket = zmq_socket(zmq_context->getRawContext(), ZMQ_PAIR);
zmq_connect(monitor_socket, addr.c_str());
pollitems.emplace_back(zmq_pollitem_t{.socket = monitor_socket, .events = ZMQ_POLLIN});
}
while (!do_exit) {
int ret = zmq_poll(pollitems.data(), pollitems.size(), 1000);
if (ret < 0) {
if (errno == EINTR) {
// Due to frequent EINTR signals from msgq, introduce a brief delay (200 ms)
// to reduce CPU usage during retry attempts.
util::sleep_for(200);
}
continue;
}
for (int i = 0; i < pollitems.size(); ++i) {
if (pollitems[i].revents & ZMQ_POLLIN) {
// First frame in message contains event number and value
std::string frame = recv_zmq_msg(pollitems[i].socket);
if (frame.empty()) continue;
uint16_t event_type = *(uint16_t *)(frame.data());
// Second frame in message contains event address
frame = recv_zmq_msg(pollitems[i].socket);
if (frame.empty()) continue;
std::unique_lock lk(mutex);
auto &pair = socket_pairs[i];
if (event_type & ZMQ_EVENT_ACCEPTED) {
printf("socket [%s] connected\n", pair.endpoint.c_str());
if (++pair.connected_clients == 1) {
// Create new MSGQ subscriber socket and map to ZMQ publisher
pair.sub_sock = std::make_unique<MSGQSubSocket>();
pair.sub_sock->connect(msgq_context.get(), pair.endpoint, "127.0.0.1");
sub2pub[pair.sub_sock.get()] = pair.pub_sock.get();
registerSockets();
}
} else if (event_type & ZMQ_EVENT_DISCONNECTED) {
printf("socket [%s] disconnected\n", pair.endpoint.c_str());
if (pair.connected_clients == 0 || --pair.connected_clients == 0) {
// Remove MSGQ subscriber socket from mapping and reset it
sub2pub.erase(pair.sub_sock.get());
pair.sub_sock.reset(nullptr);
registerSockets();
}
}
cv.notify_one();
}
}
}
// Clean up monitor sockets
for (int i = 0; i < pollitems.size(); ++i) {
zmq_socket_monitor(socket_pairs[i].pub_sock->sock, nullptr, 0);
zmq_close(pollitems[i].socket);
}
cv.notify_one();
}
void MsgqToZmq::registerSockets() {
msgq_poller = std::make_unique<MSGQPoller>();
for (const auto &socket_pair : socket_pairs) {
if (socket_pair.sub_sock) {
msgq_poller->registerSocket(socket_pair.sub_sock.get());
}
}
}

View File

@@ -1,37 +0,0 @@
#pragma once
#include <condition_variable>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <vector>
#define private public
#include "msgq/impl_msgq.h"
#include "msgq/impl_zmq.h"
class MsgqToZmq {
public:
MsgqToZmq() {}
void run(const std::vector<std::string> &endpoints, const std::string &ip);
protected:
void registerSockets();
void zmqMonitorThread();
struct SocketPair {
std::string endpoint;
std::unique_ptr<ZMQPubSocket> pub_sock;
std::unique_ptr<MSGQSubSocket> sub_sock;
int connected_clients = 0;
};
std::unique_ptr<MSGQContext> msgq_context;
std::unique_ptr<ZMQContext> zmq_context;
std::mutex mutex;
std::condition_variable cv;
std::unique_ptr<MSGQPoller> msgq_poller;
std::map<SubSocket *, ZMQPubSocket *> sub2pub;
std::vector<SocketPair> socket_pairs;
};

View File

@@ -89,8 +89,8 @@ class TestSubMaster:
for service, (max_freq, min_freq) in checks.items():
if max_freq is not None:
assert sm._check_avg_freq(service)
assert sm.freq_tracker[service].max_freq == max_freq*1.2
assert sm.freq_tracker[service].min_freq == min_freq*0.8
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)

View File

@@ -24,7 +24,6 @@ _services: dict[str, tuple] = {
"deviceState": (True, 2., 1),
"can": (True, 100., 2053), # decimation gives ~3 msgs in a full segment
"controlsState": (True, 100., 10),
"selfdriveState": (True, 100., 10),
"pandaStates": (True, 10., 1),
"peripheralState": (True, 2., 1),
"radarState": (True, 20., 5),
@@ -49,8 +48,10 @@ _services: dict[str, tuple] = {
"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),
@@ -68,10 +69,21 @@ _services: dict[str, tuple] = {
"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.),

View File

@@ -1,46 +1,27 @@
import jwt
import os
import requests
from datetime import datetime, timedelta, UTC
from openpilot.system.hardware.hw import Paths
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(Paths.persist_root()+'/comma/id_rsa') as f:
self.private_key = f.read()
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.now(UTC).replace(tzinfo=None)
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,8 +0,0 @@
from openpilot.common.params import Params
def get_gps_location_service(params: Params) -> str:
if params.get_bool("UbloxAvailable"):
return "gpsLocationExternal"
else:
return "gpsLocation"

View File

@@ -8,12 +8,12 @@ import functools
import threading
from cereal.messaging import PubMaster
from cereal.services import SERVICE_LIST
from openpilot.common.mock.generators import generate_livePose
from openpilot.common.mock.generators import generate_liveLocationKalman
from openpilot.common.realtime import Ratekeeper
MOCK_GENERATOR = {
"livePose": generate_livePose
"liveLocationKalman": generate_liveLocationKalman
}

View File

@@ -1,14 +1,20 @@
from cereal import messaging
def generate_livePose():
msg = messaging.new_message('livePose')
meas = {'x': 0.0, 'y': 0.0, 'z': 0.0, 'xStd': 0.0, 'yStd': 0.0, 'zStd': 0.0, 'valid': True}
msg.livePose.orientationNED = meas
msg.livePose.velocityDevice = meas
msg.livePose.angularVelocityDevice = meas
msg.livePose.accelerationDevice = meas
msg.livePose.inputsOK = True
msg.livePose.posenetOK = True
msg.livePose.sensorsOK = True
LOCATION1 = (32.7174, -117.16277)
LOCATION2 = (32.7558, -117.2037)
LLK_DECIMATION = 10
RENDER_FRAMES = 15
DEFAULT_ITERATIONS = RENDER_FRAMES * LLK_DECIMATION
def generate_liveLocationKalman(location=LOCATION1):
msg = messaging.new_message('liveLocationKalman')
msg.liveLocationKalman.positionGeodetic = {'value': [*location, 0], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.positionECEF = {'value': [0., 0., 0.], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.calibratedOrientationNED = {'value': [0., 0., 0.], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.velocityCalibrated = {'value': [0., 0., 0.], 'std': [0., 0., 0.], 'valid': True}
msg.liveLocationKalman.status = 'valid'
msg.liveLocationKalman.gpsOK = True
return msg

1
common/model.h Normal file
View File

@@ -0,0 +1 @@
#define CURRENT_MODEL "Notre Dame (July 1, 2024)"

View File

@@ -91,6 +91,7 @@ std::unordered_map<std::string, uint32_t> keys = {
{"AccessToken", CLEAR_ON_MANAGER_START | DONT_LOG},
{"AlwaysOnDM", PERSISTENT},
{"ApiCache_Device", PERSISTENT},
{"ApiCache_NavDestinations", PERSISTENT},
{"AssistNowToken", PERSISTENT},
{"AthenadPid", PERSISTENT},
{"AthenadUploadQueue", PERSISTENT},
@@ -104,50 +105,52 @@ std::unordered_map<std::string, uint32_t> keys = {
{"CarParamsCache", CLEAR_ON_MANAGER_START},
{"CarParamsPersistent", PERSISTENT},
{"CarParamsPrevRoute", PERSISTENT},
{"CarVin", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"CompletedTrainingVersion", PERSISTENT},
{"ControlsReady", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"CurrentBootlog", PERSISTENT},
{"CurrentRoute", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"DisableLogging", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"DisablePowerDown", PERSISTENT},
{"DisableUpdates", PERSISTENT},
{"DisengageOnAccelerator", PERSISTENT},
{"DisablePowerDown", PERSISTENT | BACKUP},
{"DisableUpdates", PERSISTENT | BACKUP},
{"DisengageOnAccelerator", PERSISTENT | BACKUP},
{"DmModelInitialized", CLEAR_ON_ONROAD_TRANSITION},
{"DongleId", PERSISTENT},
{"DoReboot", CLEAR_ON_MANAGER_START},
{"DoShutdown", CLEAR_ON_MANAGER_START},
{"DoUninstall", CLEAR_ON_MANAGER_START},
{"ExperimentalLongitudinalEnabled", PERSISTENT | DEVELOPMENT_ONLY},
{"ExperimentalMode", PERSISTENT},
{"ExperimentalModeConfirmed", PERSISTENT},
{"ExperimentalLongitudinalEnabled", PERSISTENT | DEVELOPMENT_ONLY | BACKUP},
{"ExperimentalMode", PERSISTENT | BACKUP},
{"ExperimentalModeConfirmed", PERSISTENT | BACKUP},
{"FirmwareQueryDone", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"ForcePowerDown", PERSISTENT},
{"GitBranch", PERSISTENT},
{"GitCommit", PERSISTENT},
{"GitCommitDate", PERSISTENT},
{"GitDiff", PERSISTENT},
{"GithubSshKeys", PERSISTENT},
{"GithubUsername", PERSISTENT},
{"GithubSshKeys", PERSISTENT | BACKUP},
{"GithubUsername", PERSISTENT | BACKUP},
{"GitRemote", PERSISTENT},
{"GsmApn", PERSISTENT},
{"GsmMetered", PERSISTENT},
{"GsmRoaming", PERSISTENT},
{"GsmApn", PERSISTENT | BACKUP},
{"GsmMetered", PERSISTENT | BACKUP},
{"GsmRoaming", PERSISTENT | BACKUP},
{"HardwareSerial", PERSISTENT},
{"HasAcceptedTerms", PERSISTENT},
{"IMEI", PERSISTENT},
{"InstallDate", PERSISTENT},
{"IsDriverViewEnabled", CLEAR_ON_MANAGER_START},
{"IsEngaged", PERSISTENT},
{"IsLdwEnabled", PERSISTENT},
{"IsMetric", PERSISTENT},
{"IsLdwEnabled", PERSISTENT | BACKUP},
{"IsMetric", PERSISTENT | BACKUP},
{"IsOffroad", CLEAR_ON_MANAGER_START},
{"IsOnroad", PERSISTENT},
{"IsRhdDetected", PERSISTENT},
{"IsReleaseBranch", CLEAR_ON_MANAGER_START},
{"IsReleaseSPBranch", CLEAR_ON_MANAGER_START},
{"IsTakingSnapshot", CLEAR_ON_MANAGER_START},
{"IsTestedBranch", CLEAR_ON_MANAGER_START},
{"JoystickDebugMode", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"LanguageSetting", PERSISTENT},
{"LanguageSetting", PERSISTENT | BACKUP},
{"LastAthenaPingTime", CLEAR_ON_MANAGER_START},
{"LastGPSPosition", PERSISTENT},
{"LastManagerExitReason", CLEAR_ON_MANAGER_START},
@@ -157,7 +160,12 @@ std::unordered_map<std::string, uint32_t> keys = {
{"LastUpdateTime", PERSISTENT},
{"LiveParameters", PERSISTENT},
{"LiveTorqueParameters", PERSISTENT | DONT_LOG},
{"LongitudinalPersonality", PERSISTENT},
{"LongitudinalPersonality", PERSISTENT | BACKUP},
{"NavDestination", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"NavDestinationWaypoints", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"NavPastDestinations", PERSISTENT},
{"NavSettingLeftSide", PERSISTENT | BACKUP},
{"NavSettingTime24h", PERSISTENT | BACKUP},
{"NetworkMetered", PERSISTENT},
{"ObdMultiplexingChanged", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"ObdMultiplexingEnabled", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
@@ -173,17 +181,18 @@ std::unordered_map<std::string, uint32_t> keys = {
{"Offroad_TemperatureTooHigh", CLEAR_ON_MANAGER_START},
{"Offroad_UnofficialHardware", CLEAR_ON_MANAGER_START},
{"Offroad_UpdateFailed", CLEAR_ON_MANAGER_START},
{"OpenpilotEnabledToggle", PERSISTENT},
{"Offroad_OSMUpdateRequired", CLEAR_ON_MANAGER_START},
{"OpenpilotEnabledToggle", PERSISTENT | BACKUP},
{"PandaHeartbeatLost", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"PandaSomResetTriggered", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"PandaSignatures", CLEAR_ON_MANAGER_START},
{"PrimeType", PERSISTENT},
{"RecordFront", PERSISTENT},
{"RecordFront", PERSISTENT | BACKUP},
{"RecordFrontLock", PERSISTENT}, // for the internal fleet
{"ReplayControlsState", CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION},
{"RouteCount", PERSISTENT},
{"SnoozeUpdate", CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION},
{"SshEnabled", PERSISTENT},
{"SshEnabled", PERSISTENT | BACKUP},
{"TermsVersion", PERSISTENT},
{"TrainingVersion", PERSISTENT},
{"UbloxAvailable", PERSISTENT},
@@ -199,6 +208,163 @@ std::unordered_map<std::string, uint32_t> keys = {
{"UpdaterTargetBranch", CLEAR_ON_MANAGER_START},
{"UpdaterLastFetchTime", PERSISTENT},
{"Version", PERSISTENT},
{"AccelPersonality", PERSISTENT | BACKUP},
{"AccMadsCombo", PERSISTENT | BACKUP},
{"AmapKey1", PERSISTENT | BACKUP},
{"AmapKey2", PERSISTENT | BACKUP},
{"ApiCache_DriveStats", PERSISTENT | BACKUP},
{"AutoLaneChangeTimer", PERSISTENT | BACKUP},
{"AutoLaneChangeBsmDelay", PERSISTENT | BACKUP},
{"BelowSpeedPause", PERSISTENT | BACKUP},
{"BrakeLights", PERSISTENT | BACKUP},
{"BrightnessControl", PERSISTENT | BACKUP},
{"ButtonAutoHide", PERSISTENT | BACKUP},
{"CameraControl", PERSISTENT | BACKUP},
{"CameraControlToggle", PERSISTENT | BACKUP},
{"CameraOffset", PERSISTENT | BACKUP},
{"CarModel", PERSISTENT | BACKUP},
{"CarModelText", PERSISTENT | BACKUP},
{"ChevronInfo", PERSISTENT | BACKUP},
{"CustomBootScreen", PERSISTENT | BACKUP},
{"CustomDrivingModel", PERSISTENT},
{"CustomMapboxTokenPk", PERSISTENT | BACKUP},
{"CustomMapboxTokenSk", PERSISTENT | BACKUP},
{"CustomOffsets", PERSISTENT | BACKUP},
{"CustomStockLong", PERSISTENT | BACKUP},
{"CustomStockLongPlanner", PERSISTENT | BACKUP},
{"CustomTorqueLateral", PERSISTENT | BACKUP},
{"DevUIInfo", PERSISTENT | BACKUP},
{"DisableOnroadUploads", PERSISTENT | BACKUP},
{"DisengageLateralOnBrake", PERSISTENT | BACKUP},
{"DrivingModelGeneration", PERSISTENT},
{"DrivingModelMetadataText", PERSISTENT},
{"DrivingModelName", PERSISTENT},
{"DrivingModelText", PERSISTENT},
{"DrivingModelUrl", PERSISTENT},
{"DynamicExperimentalControl", PERSISTENT | BACKUP},
{"DynamicLaneProfile", PERSISTENT | BACKUP},
{"DynamicPersonality", PERSISTENT | BACKUP},
{"EnableAmap", PERSISTENT | BACKUP},
{"EnableGmap", PERSISTENT | BACKUP},
{"EnableMads", PERSISTENT | BACKUP},
{"EnableSlc", PERSISTENT | BACKUP},
{"EndToEndLongAlertLead", PERSISTENT | BACKUP},
{"EndToEndLongAlertLight", PERSISTENT | BACKUP},
{"EndToEndLongAlertUI", PERSISTENT | BACKUP},
{"EndToEndLongToggle", PERSISTENT | BACKUP},
{"EnforceTorqueLateral", PERSISTENT | BACKUP},
{"EnhancedScc", PERSISTENT | BACKUP},
{"FeatureStatus", PERSISTENT | BACKUP},
{"FleetManagerPin", PERSISTENT},
{"ForceOffroad", CLEAR_ON_MANAGER_START},
{"GmapKey", PERSISTENT | BACKUP},
{"HandsOnWheelMonitoring", PERSISTENT | BACKUP},
{"HasAcceptedTermsSP", PERSISTENT},
{"HideVEgoUi", PERSISTENT | BACKUP},
{"HyundaiCruiseMainDefault", PERSISTENT | BACKUP},
{"HkgCustomLongTuning", PERSISTENT | BACKUP},
{"HkgSmoothStop", PERSISTENT | BACKUP},
{"HyundaiCruiseMainDefault", PERSISTENT | BACKUP},
{"HotspotOnBoot", PERSISTENT},
{"HotspotOnBootConfirmed", PERSISTENT},
{"HyundaiRadarTracksAvailable", PERSISTENT},
{"HyundaiRadarTracksAvailableCache", PERSISTENT},
{"HyundaiRadarTracksAvailablePersistent", PERSISTENT},
{"LastCarModel", PERSISTENT | BACKUP},
{"LastSpeedLimitSignTap", PERSISTENT},
{"LastSunnylinkPingTime", CLEAR_ON_MANAGER_START},
{"LiveTorque", PERSISTENT | BACKUP},
{"LiveTorqueRelaxed", PERSISTENT | BACKUP},
{"LkasToggle", PERSISTENT | BACKUP},
{"MadsCruiseMain", PERSISTENT | BACKUP},
{"MadsIconToggle", PERSISTENT | BACKUP},
{"MapboxFullScreen", PERSISTENT | BACKUP},
{"MapTargetVelocities", PERSISTENT},
{"Map3DBuildings", PERSISTENT | BACKUP},
{"MaxTimeOffroad", PERSISTENT | BACKUP},
{"NavModelText", PERSISTENT | BACKUP},
{"NavModelUrl", PERSISTENT | BACKUP},
{"NNFF", PERSISTENT | BACKUP},
{"NNFFCarModel", PERSISTENT | BACKUP},
{"NNFFNoLateralJerk", PERSISTENT | BACKUP},
{"OnroadScreenOff", PERSISTENT | BACKUP},
{"OnroadScreenOffBrightness", PERSISTENT | BACKUP},
{"OnroadScreenOffEvent", PERSISTENT | BACKUP},
{"OnroadSettings", PERSISTENT | BACKUP},
{"OsmLocal", PERSISTENT},
{"OsmLocationName", PERSISTENT},
{"OsmLocationTitle", PERSISTENT},
{"OsmLocationUrl", PERSISTENT},
{"OsmWayTest", PERSISTENT},
{"OsmDownloadedDate", PERSISTENT},
{"OvertakingAccelerationAssist", PERSISTENT},
{"PathOffset", PERSISTENT | BACKUP},
{"PauseLateralSpeed", PERSISTENT | BACKUP},
{"PCMVCruiseOverride", PERSISTENT | BACKUP},
{"PCMVCruiseOverrideSpeed", PERSISTENT | BACKUP},
{"QuietDrive", PERSISTENT | BACKUP},
{"RoadEdge", PERSISTENT | BACKUP},
{"ReverseAccChange", PERSISTENT | BACKUP},
{"ReverseDmCam", PERSISTENT | BACKUP},
{"ScreenRecorder", PERSISTENT | BACKUP},
{"ShowDebugUI", PERSISTENT | BACKUP},
{"SidebarTemperatureOptions", PERSISTENT | BACKUP},
{"SpeedLimitControlPolicy", PERSISTENT | BACKUP},
{"SpeedLimitEngageType", PERSISTENT | BACKUP},
{"SpeedLimitValueOffset", PERSISTENT | BACKUP},
{"SpeedLimitOffsetType", PERSISTENT | BACKUP},
{"SpeedLimitWarningFlash", PERSISTENT | BACKUP},
{"SpeedLimitWarningType", PERSISTENT | BACKUP},
{"SpeedLimitWarningValueOffset", PERSISTENT | BACKUP},
{"SpeedLimitWarningOffsetType", PERSISTENT | BACKUP},
{"StandStillTimer", PERSISTENT | BACKUP},
{"StockLongToyota", PERSISTENT | BACKUP},
{"SubaruManualParkingBrakeSng", PERSISTENT | BACKUP},
{"SunnylinkDongleId", PERSISTENT},
{"SunnylinkEnabled", PERSISTENT},
{"SunnylinkdPid", PERSISTENT},
{"TermsVersionSunnypilot", PERSISTENT},
{"TorqueDeadzoneDeg", PERSISTENT | BACKUP},
{"TorqueFriction", PERSISTENT | BACKUP},
{"TorqueLateralJerk", PERSISTENT | BACKUP},
{"TorqueMaxLatAccel", PERSISTENT | BACKUP},
{"TorquedOverride", PERSISTENT | BACKUP},
{"ToyotaAutoLockBySpeed", PERSISTENT | BACKUP},
{"ToyotaAutoUnlockByShifter", PERSISTENT | BACKUP},
{"ToyotaDriveMode", PERSISTENT | BACKUP},
{"ToyotaEnhancedBsm", PERSISTENT | BACKUP},
{"ToyotaSnG", PERSISTENT | BACKUP},
{"ToyotaTSS2Long", PERSISTENT | BACKUP},
{"TrueVEgoUi", PERSISTENT | BACKUP},
{"TurnSpeedControl", PERSISTENT | BACKUP},
{"TurnVisionControl", PERSISTENT | BACKUP},
{"DriverCameraHardwareMissing", PERSISTENT},
{"VisionCurveLaneless", PERSISTENT | BACKUP},
{"VwAccType", PERSISTENT | BACKUP},
{"VwCCOnly", PERSISTENT | BACKUP},
{"Offroad_ForceStatus", CLEAR_ON_MANAGER_START},
{"Offroad_SupersededUpdate", PERSISTENT},
{"SunnylinkCache_Users", PERSISTENT},
{"SunnylinkCache_Roles", PERSISTENT},
{"EnableGitlabRunner", PERSISTENT | BACKUP},
{"EnableSunnylinkUploader", PERSISTENT | BACKUP},
// PFEIFER - MAPD {{
{"MapdVersion", PERSISTENT},
{"RoadName", CLEAR_ON_ONROAD_TRANSITION},
{"MapSpeedLimit", CLEAR_ON_ONROAD_TRANSITION},
{"MapAdvisorySpeedLimit", CLEAR_ON_ONROAD_TRANSITION},
{"NextMapSpeedLimit", CLEAR_ON_ONROAD_TRANSITION},
{"OSMDownloadBounds", PERSISTENT},
{"OSMDownloadLocations", PERSISTENT},
{"OsmDownloadedDate", PERSISTENT},
{"OsmStateTitle", PERSISTENT},
{"OsmStateName", PERSISTENT},
{"OSMDownloadProgress", CLEAR_ON_MANAGER_START},
{"OsmDbUpdatesCheck", CLEAR_ON_MANAGER_START}, // mapd database update happens with device ON, reset on boot
// }} PFEIFER - MAPD
};
} // namespace

View File

@@ -16,6 +16,7 @@ enum ParamKeyType {
CLEAR_ON_OFFROAD_TRANSITION = 0x10,
DONT_LOG = 0x20,
DEVELOPMENT_ONLY = 0x40,
BACKUP = 0x80,
ALL = 0xFFFFFFFF
};

View File

@@ -3,6 +3,7 @@
from libcpp cimport bool
from libcpp.string cimport string
from libcpp.vector cimport vector
from libcpp.map cimport map
cdef extern from "common/params.h":
cpdef enum ParamKeyType:
@@ -11,6 +12,7 @@ cdef extern from "common/params.h":
CLEAR_ON_ONROAD_TRANSITION
CLEAR_ON_OFFROAD_TRANSITION
DEVELOPMENT_ONLY
BACKUP
ALL
cdef cppclass c_Params "Params":
@@ -26,6 +28,7 @@ cdef extern from "common/params.h":
string getParamPath(string) nogil
void clearAll(ParamKeyType)
vector[string] allKeys()
map[string, string] readAll()
def ensure_bytes(v):
@@ -116,3 +119,6 @@ cdef class Params:
def all_keys(self):
return self.p.allKeys()
def read_all(self):
return self.p.readAll()

View File

@@ -2,9 +2,11 @@
import gc
import os
import time
import threading
import psutil
from collections import deque
from setproctitle import getproctitle
from openpilot.common.threadname import getthreadname
from openpilot.system.hardware import PC
@@ -44,6 +46,14 @@ def config_realtime_process(cores: int | list[int], priority: int) -> None:
set_core_affinity(c)
def set_thread_affinity(thread: threading.Thread, cores: list[int]) -> None:
try:
process = psutil.Process(thread.ident)
process.cpu_affinity(cores)
except Exception as e:
print(f"Error setting thread affinity: {e}")
class Ratekeeper:
def __init__(self, rate: float, print_delay_threshold: float | None = 0.0) -> None:
"""Rate in Hz for ratekeeping. print_delay_threshold must be nonnegative."""
@@ -52,7 +62,7 @@ class Ratekeeper:
self._print_delay_threshold = print_delay_threshold
self._frame = 0
self._remaining = 0.0
self._process_name = getproctitle()
self._thread_name = getthreadname()
self._dts = deque([self._interval], maxlen=100)
self._last_monitor_time = time.monotonic()
@@ -87,7 +97,7 @@ class Ratekeeper:
remaining = self._next_frame_time - time.monotonic()
self._next_frame_time += self._interval
if self._print_delay_threshold is not None and remaining < -self._print_delay_threshold:
print(f"{self._process_name} lagging by {-remaining * 1000:.2f} ms")
print(f"{self._thread_name} lagging by {-remaining * 1000:.2f} ms")
lagged = True
self._frame += 1
self._remaining = remaining

View File

@@ -104,15 +104,6 @@ class UnixDomainSocketHandler(logging.Handler):
pass
class ForwardingHandler(logging.Handler):
def __init__(self, target_logger):
super().__init__()
self.target_logger = target_logger
def emit(self, record):
self.target_logger.handle(record)
def add_file_handler(log):
"""
Function to add the file log handler to swaglog.

View File

@@ -0,0 +1,8 @@
from openpilot.common.threadname import setthreadname, getthreadname, LINUX
class TestThreadName:
def test_set_get_threadname(self):
if LINUX:
name = 'TESTING'
setthreadname(name)
assert name == getthreadname()

19
common/threadname.py Normal file
View File

@@ -0,0 +1,19 @@
import ctypes
import os
LINUX = os.name == 'posix' and os.uname().sysname == 'Linux'
if LINUX:
libc = ctypes.CDLL('libc.so.6')
def setthreadname(name: str) -> None:
if LINUX:
name = name[-15:] + '\0'
libc.prctl(15, str.encode(name), 0, 0, 0)
def getthreadname() -> str:
if LINUX:
name = ctypes.create_string_buffer(16)
libc.prctl(16, name)
return name.value.decode('utf-8')
return ""

View File

@@ -1,7 +1,7 @@
import datetime
from pathlib import Path
_MIN_DATE = datetime.datetime(year=2024, month=8, day=26)
_MIN_DATE = datetime.datetime(year=2024, month=3, day=30)
def min_date():
# on systemd systems, the default time is the systemd build time

11
common/utils.py Normal file
View File

@@ -0,0 +1,11 @@
class Freezable:
_frozen: bool = False
def freeze(self):
if not self._frozen:
self._frozen = True
def __setattr__(self, *args, **kwargs):
if self._frozen:
raise Exception("cannot modify frozen object")
super().__setattr__(*args, **kwargs)

View File

@@ -1 +1 @@
#define COMMA_VERSION "0.9.8"
#define COMMA_VERSION "0.9.8.0"

62
docs/BOUNTIES.md Normal file
View File

@@ -0,0 +1,62 @@
# [Bounties](https://github.com/orgs/commaai/projects/26/views/1)
Get paid to improve openpilot!
## Rules
* code must be merged into openpilot master
* bounty eligibility is solely at our discretion
* once you open a PR, the bounty is locked to you until you stop working on it
* open a ticket at [comma.ai/support](https://comma.ai/support/shop-order) with links to your PRs to claim
* get an extra 20% if you redeem your bounty in [comma shop](https://comma.ai/shop) credit (including refunds on previous orders)
* for bounties >$100, the first PR gets a lock, which times out after a week of no progress
We put up each bounty with the intention that it'll get merged, but occasionally the right resolution is to close the bounty, which only becomes clear once some effort is put in.
This is still valuable work, so we'll pay out $100 for getting any bounty closed with a good explanation.
## Issue bounties
We've tagged bounty-eligible issues across openpilot and the rest of our repos; check out all the open ones [here](https://github.com/orgs/commaai/projects/26/views/1). These bounties roughly work out like this:
* **$100** - a few hours of work for an experienced openpilot developer; a good intro for someone new to openpilot
* **$300** - a day of work for an experienced openpilot developer
* **$500** - a few days of work for an experienced openpilot developer
* **$1k+** - a week or two of work (could be less for the right person)
New bounties can be proposed in the [**#contributing**](https://discord.com/channels/469524606043160576/1183173332531687454) channel in Discord.
## Car bounties
The car bounties only apply to cars that have a path to ship in openpilot release, which excludes unsupportable cars (e.g. Fords with a steering lockout) or cars that require extra hardware (Honda Accord with serial steering).
#### Brand or platform port - $2000
Example PR: [commaai/openpilot#23331](https://github.com/commaai/openpilot/pull/23331)
This is for adding support for an entirely new brand or a substantially new ADAS platform within a brand (e.g. the Volkswagen PQ platform).
#### Model port - $250
Example PR: [commaai/openpilot#30245](https://github.com/commaai/openpilot/pull/30245)
This is for porting a new car model that runs on a platform openpilot already supports.
In the average case, this is a few hours of work for an experienced software developer.
This bounty also covers getting openpilot supported on a previously unsupported trim of an already supported car, e.g. the Chevy Bolt without ACC.
#### Reverse Engineering a new Actuation Message - $300
This is for cars that are already supported, and it has three components:
* reverse a new steering, adaptive cruise, or AEB message
* merge the DBC definitions to [opendbc](http://github.com/commaai/opendbc)
* merge the openpilot code to use it and post a demo route
The control doesn't have to be perfect, but it should generally do what it's supposed to do.
### Specific Cars
#### Rivian R1T or R1S - $3000
Get a Rivian driving with openpilot.
Requires a merged port with lateral control and at least a POC of longitudinal control.
#### Chevy Bolt with SuperCruise - $2500
The Bolt is already supported on the trim with standard ACC. Get openpilot working on the trim with SuperCruise. It must be a normal install: no extra pandas or other hardware, no ECU reflashes, etc. The full bounty is for a port with lateral and longitudinal control. $1500 of the bounty can be claimed with a lateral-only port.

View File

@@ -8,8 +8,8 @@ A supported vehicle is one that just works when you install a comma device. All
|Make|Model|Supported Package|ACC|No ACC accel below|No ALC below|Steering Torque|Resume from stop|<a href="##"><img width=2000></a>Hardware Needed<br>&nbsp;|Video|
|---|---|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|Acura|ILX 2016-19|AcuraWatch Plus|openpilot|26 mph|25 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Acura&model=ILX 2016-19">Buy Here</a></sub></details>||
|Acura|RDX 2016-18|AcuraWatch Plus|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Acura&model=RDX 2016-18">Buy Here</a></sub></details>||
|Acura|ILX 2016-19|AcuraWatch Plus|openpilot|25 mph|25 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Acura&model=ILX 2016-19">Buy Here</a></sub></details>||
|Acura|RDX 2016-18|AcuraWatch Plus|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Acura&model=RDX 2016-18">Buy Here</a></sub></details>||
|Acura|RDX 2019-22|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|3 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Acura&model=RDX 2019-22">Buy Here</a></sub></details>||
|Audi|A3 2014-19|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[<sup>1,12</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 USB-C coupler<br>- 1 VW J533 connector<br>- 1 comma 3X<br>- 1 harness box<br>- 1 long OBD-C cable<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Audi&model=A3 2014-19">Buy Here</a></sub></details>||
|Audi|A3 Sportback e-tron 2017-18|Adaptive Cruise Control (ACC) & Lane Assist|openpilot available[<sup>1,12</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 USB-C coupler<br>- 1 VW J533 connector<br>- 1 comma 3X<br>- 1 harness box<br>- 1 long OBD-C cable<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Audi&model=A3 Sportback e-tron 2017-18">Buy Here</a></sub></details>||
@@ -64,20 +64,20 @@ A supported vehicle is one that just works when you install a comma device. All
|Honda|Civic 2022-24|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch B connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Civic 2022-24">Buy Here</a></sub></details>|<a href="https://youtu.be/ytiOT5lcp6Q" target="_blank"><img height="18px" src="assets/icon-youtube.svg"></img></a>|
|Honda|Civic Hatchback 2017-21|Honda Sensing|openpilot available[<sup>1</sup>](#footnotes)|0 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Civic Hatchback 2017-21">Buy Here</a></sub></details>||
|Honda|Civic Hatchback 2022-24|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch B connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Civic Hatchback 2022-24">Buy Here</a></sub></details>|<a href="https://youtu.be/ytiOT5lcp6Q" target="_blank"><img height="18px" src="assets/icon-youtube.svg"></img></a>|
|Honda|CR-V 2015-16|Touring Trim|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=CR-V 2015-16">Buy Here</a></sub></details>||
|Honda|CR-V 2015-16|Touring Trim|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=CR-V 2015-16">Buy Here</a></sub></details>||
|Honda|CR-V 2017-22|Honda Sensing|openpilot available[<sup>1</sup>](#footnotes)|0 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=CR-V 2017-22">Buy Here</a></sub></details>||
|Honda|CR-V Hybrid 2017-21|Honda Sensing|openpilot available[<sup>1</sup>](#footnotes)|0 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=CR-V Hybrid 2017-21">Buy Here</a></sub></details>||
|Honda|e 2020|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|3 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=e 2020">Buy Here</a></sub></details>||
|Honda|Fit 2018-20|Honda Sensing|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Fit 2018-20">Buy Here</a></sub></details>||
|Honda|Freed 2020|Honda Sensing|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Freed 2020">Buy Here</a></sub></details>||
|Honda|HR-V 2019-22|Honda Sensing|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=HR-V 2019-22">Buy Here</a></sub></details>||
|Honda|Fit 2018-20|Honda Sensing|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Fit 2018-20">Buy Here</a></sub></details>||
|Honda|Freed 2020|Honda Sensing|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Freed 2020">Buy Here</a></sub></details>||
|Honda|HR-V 2019-22|Honda Sensing|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=HR-V 2019-22">Buy Here</a></sub></details>||
|Honda|HR-V 2023|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch B connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=HR-V 2023">Buy Here</a></sub></details>||
|Honda|Insight 2019-22|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|3 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Insight 2019-22">Buy Here</a></sub></details>||
|Honda|Inspire 2018|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|3 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Bosch A connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Inspire 2018">Buy Here</a></sub></details>||
|Honda|Odyssey 2018-20|Honda Sensing|openpilot|26 mph|0 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Odyssey 2018-20">Buy Here</a></sub></details>||
|Honda|Passport 2019-23|All|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Passport 2019-23">Buy Here</a></sub></details>||
|Honda|Pilot 2016-22|Honda Sensing|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Pilot 2016-22">Buy Here</a></sub></details>||
|Honda|Ridgeline 2017-24|Honda Sensing|openpilot|26 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Ridgeline 2017-24">Buy Here</a></sub></details>||
|Honda|Odyssey 2018-20|Honda Sensing|openpilot|25 mph|0 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Odyssey 2018-20">Buy Here</a></sub></details>||
|Honda|Passport 2019-23|All|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Passport 2019-23">Buy Here</a></sub></details>||
|Honda|Pilot 2016-22|Honda Sensing|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Pilot 2016-22">Buy Here</a></sub></details>||
|Honda|Ridgeline 2017-24|Honda Sensing|openpilot|25 mph|12 mph|[![star](assets/icon-star-empty.svg)](##)|[![star](assets/icon-star-empty.svg)](##)|<details><summary>Parts</summary><sub>- 1 Honda Nidec connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Honda&model=Ridgeline 2017-24">Buy Here</a></sub></details>||
|Hyundai|Azera 2022|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Hyundai K connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Hyundai&model=Azera 2022">Buy Here</a></sub></details>||
|Hyundai|Azera Hybrid 2019|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Hyundai C connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Hyundai&model=Azera Hybrid 2019">Buy Here</a></sub></details>||
|Hyundai|Azera Hybrid 2020|All|openpilot available[<sup>1</sup>](#footnotes)|0 mph|0 mph|[![star](assets/icon-star-full.svg)](##)|[![star](assets/icon-star-full.svg)](##)|<details><summary>Parts</summary><sub>- 1 Hyundai K connector<br>- 1 RJ45 cable (7 ft)<br>- 1 comma 3X<br>- 1 comma power v2<br>- 1 harness box<br>- 1 mount<br>- 1 right angle OBD-C cable (1.5 ft)<br><a href="https://comma.ai/shop/comma-3x.html?make=Hyundai&model=Azera Hybrid 2020">Buy Here</a></sub></details>||

View File

@@ -1,8 +1,6 @@
# How to contribute
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/).
Development is coordinated through [Discord](https://discord.comma.ai) and GitHub.
Our software is open source so you can solve your own problems without needing help from others. And if you solve a problem and are so kind, you can upstream it for the rest of the world to use. Check out our [post about externalization](https://blog.comma.ai/a-2020-theme-externalization/). Development activity is coordinated through our GitHub Issues, [GitHub Discussions](https://github.com/commaai/openpilot/discussions), and [Discord](https://discord.comma.ai).
### Getting Started
@@ -13,8 +11,7 @@ Development is coordinated through [Discord](https://discord.comma.ai) and GitHu
## What contributions are we looking for?
**openpilot's priorities are [safety](SAFETY.md), stability, quality, and features, in that order.**
openpilot is part of comma's mission to *solve self-driving cars while delivering shippable intermediaries*, and all development is towards that goal.
**openpilot's priorities are [safety](SAFETY.md), stability, quality, and features, in that order.** openpilot is part of comma's mission to *solve self-driving cars while delivering shippable intermediaries*, and **all** development is towards that goal.
### What gets merged?
@@ -30,21 +27,24 @@ All of these are examples of good PRs:
### What doesn't get merged?
* **style changes**: code is art, and it's up to the author to make it beautiful
* **arbitrary style changes**: code is art, and it's up to the author to make it beautiful
* **500+ line PRs**: clean it up, break it up into smaller PRs, or both
* **PRs without a clear goal**: every PR must have a singular and clear goal
* **UI design**: we do not have a good review process for this yet
* **UI design changes**: we do not have a good review process for this yet
* **New features**: We believe openpilot is mostly feature-complete, and the rest is a matter of refinement and fixing bugs. As a result of this, most feature PRs will be immediately closed, however the beauty of open source is that forks can and do offer features that upstream openpilot doesn't.
* **Negative expected value**: This a class of PRs that makes an improvement, but the risk or validation costs more than the improvement. The risk can be mitigated by first getting a failing test merged.
### First contribution
[Bounties](https://comma.ai/bounties) are the best place to get started.
There's lot of bounties that don't require a comma 3/3X or a car.
Check out any [good first issue](https://github.com/commaai/openpilot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to get started.
### What do I need to contribute?
A lot of openpilot work requires only a PC, and some requires a comma device.
Most car-related contributions require access to that car, plus a comma device installed in the car.
## Pull Requests
Pull requests should be against the master branch.
Pull requests should be against the master branch. If you're unsure about a contribution, feel free to open a discussion, issue, or draft PR to discuss the problem you're trying to solve.
A good pull request has all of the following:
* a clearly stated purpose

77
docs/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>

View File

@@ -1,6 +1,6 @@
# What is a car port?
A car port enables openpilot support on a particular car. Each car model openpilot supports needs to be individually ported. All car ports live in `openpilot/selfdrive/car/car_specific.py` and `opendbc_repo/opendbc/car`.
A car port enables openpilot support on a particular car. Each car model openpilot supports needs to be individually ported. All car ports live in `openpilot/selfdrive/car/`.
The complexity of a car port varies depending on many factors including:
* existing openpilot support for similar cars

View File

@@ -5,7 +5,6 @@ This is the roadmap for the next major openpilot releases. Also check out
* [Milestones](https://github.com/commaai/openpilot/milestones) for minor releases
* [Projects](https://github.com/commaai/openpilot/projects?query=is%3Aopen) for shorter-term projects not tied to releases
* [Bounties](https://comma.ai/bounties) for paid individual issues
* [#current-projects](https://discord.com/channels/469524606043160576/1249579909739708446) in Discord for discussion on work-in-progress projects
## openpilot 0.10

View File

@@ -7,7 +7,7 @@ A comma 3/3X is a normal [Linux](https://github.com/commaai/agnos-builder) compu
On both the comma three and 3X, the serial console is accessible from the main OBD-C port.
Connect the comma 3/3X to your computer with a normal USB C cable, or use a [comma serial](https://comma.ai/shop/comma-serial) for steady 12V power.
On the comma three, the serial console is exposed through a UART-to-USB chip, and `tools/scripts/serial.sh` can be used to connect.
On the comma three, the serial console is exposed through a UART-to-USB chip, and `tools/serial/connect.sh` can be used to connect.
On the comma 3X, the serial console is accessible through the [panda](https://github.com/commaai/panda) using the `panda/tests/som_debug.sh` script.

View File

@@ -9,7 +9,7 @@ And if you have a comma 3/3X, we'll deploy the change to your device for testing
Run this to clone openpilot and install all the dependencies:
```bash
bash <(curl -fsSL openpilot.comma.ai)
curl -fsSL openpilot.comma.ai | bash
```
Navigate to openpilot folder & activate a Python virtual environment

Binary file not shown.

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/bash
if [ -z "$BASEDIR" ]; then
BASEDIR="/data/openpilot"
@@ -86,7 +86,8 @@ function launch {
if [ ! -f $DIR/prebuilt ]; then
./build.py
fi
./manager.py
./mapd_installer.py; ./manager.py
# if broken, keep on screen error
while true; do sleep 1; done

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/bash
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1

View File

@@ -1,3 +1,3 @@
#!/usr/bin/env bash
#!/usr/bin/bash
exec ./launch_chffrplus.sh

2
panda

Submodule panda updated: 866bd9c3bc...55018eafc2

View File

@@ -26,7 +26,7 @@ dependencies = [
"pycapnp",
"Cython",
"setuptools",
"numpy < 2.0.0",
"numpy",
# body / webrtcd
"aiohttp",
@@ -52,13 +52,13 @@ dependencies = [
"websocket_client",
# acados deps
"casadi >=3.6.6", # 3.12 fixed in 3.6.6
"casadi @ https://github.com/commaai/casadi/releases/download/nightly-release-3.6.6/casadi-3.6.6-cp312-none-manylinux2014_aarch64.whl ; (python_version == '3.12' and platform_machine == 'aarch64')", # TODO: Go back to pypi casadi when they fix aarch64 for python312
"casadi; platform_machine != 'aarch64' or python_version != '3.12'",
"future-fstrings",
# these should be removed
"psutil",
"pycryptodome", # used in updated/casync, panda, body, and a test
"setproctitle",
# logreader
"zstandard",
@@ -74,6 +74,7 @@ docs = [
testing = [
"coverage",
"hypothesis ==6.47.*",
"import-linter",
"mypy",
"pytest",
"pytest-cov",
@@ -87,7 +88,6 @@ testing = [
"pytest-repeat",
"ruff",
"codespell",
"pre-commit-hooks",
]
dev = [
@@ -99,7 +99,7 @@ dev = [
"inputs",
"lru-dict",
"matplotlib",
"metadrive-simulator @ https://github.com/commaai/metadrive/releases/download/MetaDrive-minimal/metadrive_simulator-0.4.2.3-py3-none-any.whl ; (platform_machine != 'aarch64')",
"metadrive-simulator@git+https://github.com/commaai/metadrive@opencv_headless ; platform_machine != 'aarch64'",
"parameterized >=0.8, <0.9",
#"pprofile",
"pyautogui",
@@ -107,7 +107,7 @@ dev = [
"pytools < 2024.1.11; platform_machine != 'aarch64'", # pyopencl use a broken version
"pywinctl",
"pyprof2calltree",
"rerun-sdk >= 0.18",
"rerun-sdk",
"tabulate",
"types-requests",
"types-tabulate",
@@ -144,7 +144,6 @@ testpaths = [
"common",
"selfdrive/pandad",
"selfdrive/car",
"selfdrive/opcar",
"selfdrive/controls",
"selfdrive/locationd",
"selfdrive/monitoring",
@@ -166,11 +165,11 @@ testpaths = [
]
[tool.codespell]
count = true
quiet-level = 3
# if you've got a short variable name that's getting flagged, add it here
ignore-words-list = "bu,ro,te,ue,alo,hda,ois,nam,nams,ned,som,parm,setts,inout,warmup,bumb,nd,sie,preints,whit,indexIn,ws,uint,grey,deque,stdio,amin,BA,LITE,atEnd,UIs,errorString,arange,FocusIn,od,tim,relA,hist,copyable,jupyter,thead"
builtin = "clear,rare,informal,code,names,en-GB_to_en-US"
skip = "./third_party/*, ./tinygrad/*, ./tinygrad_repo/*, ./msgq/*, ./panda/*, ./opendbc/*, ./opendbc_repo/*, ./rednose/*, ./rednose_repo/*, ./teleoprtc/*, ./teleoprtc_repo/*, *.ts, uv.lock, *.onnx, ./cereal/gen/*, */c_generated_code/*"
ignore-words-list = "bu,ro,te,ue,alo,hda,ois,nam,nams,ned,som,parm,setts,inout,warmup,bumb,nd,sie,preints,whit,indexIn"
builtin = "clear,rare,informal,usage,code,names,en-GB_to_en-US"
[tool.mypy]
python_version = "3.11"
@@ -178,11 +177,9 @@ plugins = [
"numpy.typing.mypy_plugin",
]
exclude = [
"body/",
"cereal/",
"msgq/",
"msgq_repo/",
"opendbc/",
"opendbc_repo/",
"panda/",
"rednose/",
"rednose_repo/",
@@ -207,10 +204,6 @@ warn_return_any=true
# allow implicit optionals for default args
implicit_optional = true
local_partial_types=true
explicit_package_bases=true
disable_error_code = "annotation-unchecked"
# https://beta.ruff.rs/docs/configuration/#using-pyprojecttoml
[tool.ruff]
indent-width = 2

128
release/build_dev.sh Executable file
View File

@@ -0,0 +1,128 @@
#!/usr/bin/bash -e
# git diff --name-status origin/release3-staging | grep "^A" | less
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
BUILD_DIR=/data/openpilot
SOURCE_DIR="$(git rev-parse --show-toplevel)"
FILES_SRC="release/files_tici"
DEV_BRANCH="dev-c3"
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $DEV_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
cd $SOURCE_DIR
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
cp -pR --parents $(cat $FILES_SRC) $BUILD_DIR/
# in the directory
cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(date '+%Y.%m.%d')
echo "#define COMMA_VERSION \"$VERSION-dev\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$DEV_BRANCH
# Build panda firmware
pushd panda/
scons -u .
mv board/obj/panda.bin.signed /tmp/panda.bin.signed
mv board/obj/panda_h7.bin.signed /tmp/panda_h7.bin.signed
mv board/obj/bootstub.panda.bin /tmp/bootstub.panda.bin
mv board/obj/bootstub.panda_h7.bin /tmp/bootstub.panda_h7.bin
popd
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc)
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
echo "submodules found:"
git submodule--helper list
exit 1
fi
git submodule status
# Cleanup
find . -name '*.a' -delete
find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf panda/board panda/certs panda/crypto
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
rm -rf selfdrive/ui/replay/
# Move back signed panda fw
mkdir -p panda/board/obj
mv /tmp/panda.bin.signed panda/board/obj/panda.bin.signed
mv /tmp/panda_h7.bin.signed panda/board/obj/panda_h7.bin.signed
mv /tmp/bootstub.panda.bin panda/board/obj/bootstub.panda.bin
mv /tmp/bootstub.panda_h7.bin panda/board/obj/bootstub.panda_h7.bin
# Restore third_party
git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "sunnypilot v$VERSION
version: sunnypilot v$SP_VERSION release
date: $DATETIME
master commit: $GIT_HASH
"
git branch -m dev-c3
# Run tests
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 selfdrive/test/test_onroad.py
#selfdrive/manager/test/test_manager.py
#selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$PUSH" ]; then
echo "[-] pushing T=$SECONDS"
git push -f origin $DEV_BRANCH
fi
echo "[-] done T=$SECONDS"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/bash
set -ex
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/bash
set -e
set -x
@@ -19,14 +19,17 @@ fi
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
git remote add origin git@github.com:commaai/openpilot.git
git checkout --orphan $RELEASE_BRANCH
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $RELEASE_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
@@ -38,20 +41,23 @@ cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(cat common/version.h | awk -F[\"-] '{print $2}')
echo "#define COMMA_VERSION \"$VERSION-release\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "openpilot v$VERSION release"
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$RELEASE_BRANCH
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc) --minimal
# release panda fw
CERT=/data/pandaextra/certs/release RELEASE=1 scons -j$(nproc) panda/
scons -j$(nproc) panda/
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
@@ -67,9 +73,12 @@ find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
rm -rf selfdrive/ui/replay/
find third_party/ -name '*x86*' -exec rm -r {} +
find third_party/ -name '*Darwin*' -exec rm -r {} +
@@ -81,19 +90,25 @@ git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "openpilot v$VERSION"
git commit --amend -m "sunnypilot v$VERSION"
git branch -m release-c3
# Run tests
TEST_FILES="tools/"
cd $SOURCE_DIR
cp -pR -n --parents $TEST_FILES $BUILD_DIR/
cd $BUILD_DIR
RELEASE=1 pytest -n0 -s selfdrive/test/test_onroad.py
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 pytest -n0 -s selfdrive/test/test_onroad.py
#system/manager/test/test_manager.py
pytest selfdrive/car/tests/test_car_interfaces.py
rm -rf $TEST_FILES
#pytest selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$RELEASE_BRANCH" ]; then
echo "[-] pushing release T=$SECONDS"

125
release/build_staging.sh Executable file
View File

@@ -0,0 +1,125 @@
#!/usr/bin/bash -e
# git diff --name-status origin/release3-staging | grep "^A" | less
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
BUILD_DIR=/data/openpilot
SOURCE_DIR="$(git rev-parse --show-toplevel)"
FILES_SRC="release/files_tici"
STAGING_BRANCH="staging-c3"
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $STAGING_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
cd $SOURCE_DIR
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
cp -pR --parents $(cat $FILES_SRC) $BUILD_DIR/
# in the directory
cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(cat common/version.h | awk -F[\"-] '{print $2}')
echo "#define COMMA_VERSION \"$VERSION-staging\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$STAGING_BRANCH
# Build panda firmware
pushd panda/
scons -u .
mv board/obj/panda.bin.signed /tmp/panda.bin.signed
mv board/obj/panda_h7.bin.signed /tmp/panda_h7.bin.signed
mv board/obj/bootstub.panda.bin /tmp/bootstub.panda.bin
mv board/obj/bootstub.panda_h7.bin /tmp/bootstub.panda_h7.bin
popd
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc)
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
echo "submodules found:"
git submodule--helper list
exit 1
fi
git submodule status
# Cleanup
find . -name '*.a' -delete
find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf panda/board panda/certs panda/crypto
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
#rm models/supercombo_badweights.thneed
rm -rf selfdrive/ui/replay/
# Move back signed panda fw
mkdir -p panda/board/obj
mv /tmp/panda.bin.signed panda/board/obj/panda.bin.signed
mv /tmp/panda_h7.bin.signed panda/board/obj/panda_h7.bin.signed
mv /tmp/bootstub.panda.bin panda/board/obj/bootstub.panda.bin
mv /tmp/bootstub.panda_h7.bin panda/board/obj/bootstub.panda_h7.bin
# Restore third_party
git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "sunnypilot v$VERSION"
git branch -m staging-c3
# Run tests
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 selfdrive/test/test_onroad.py
#selfdrive/manager/test/test_manager.py
#selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$PUSH" ]; then
echo "[-] pushing T=$SECONDS"
git push -f origin $STAGING_BRANCH
fi
echo "[-] done T=$SECONDS"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/bash
set -e
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
#!/bin/bash
while read hash submodule ref; do
git -C $submodule fetch --depth 4000 origin master
git -C $submodule fetch --depth 3000 origin master
git -C $submodule branch -r --contains $hash | grep "origin/master"
if [ "$?" -eq 0 ]; then
echo "$submodule ok"

45
release/ci/build.sh Executable file
View File

@@ -0,0 +1,45 @@
# UNUSED YET BUT I WANT TO KEEP IT BECAUSE I INTEND TO USE IT SOON
#!/usr/bin/env bash
# set -e
# DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
# cd $DIR
# # Take parameters as arguments
# SOURCE_DIR=$1
# OUTPUT_DIR=$2
# # Check parameters
# if [ -z "$SOURCE_DIR" ] || [ -z "$OUTPUT_DIR" ]; then
# echo "Error: No source or output directory provided."
# exit 1
# fi
# if [ -z "$TARGETPLATFORM" ]; then
# # Detect the platform (e.g., x86_64, aarch64, etc.)
# platform=$(uname -m)
# # Map to Docker's platform syntax
# if [ "$platform" = "x86_64" ]; then
# TARGETPLATFORM="linux/amd64"
# elif [ "$platform" = "aarch64" ]; then
# TARGETPLATFORM="linux/arm64"
# # Add here more elif statements for other architectures if needed.
# else
# echo "Unknown platform: $platform"
# exit 1
# fi
# export TARGETPLATFORM
# fi
# echo "TARGETPLATFORM IS: [${TARGETPLATFORM}]"
# # Let's bring the submodules!
# git submodule update --init --recursive
# # Build
# docker compose -f ${SOURCE_DIR}/docker-compose.yml build
# docker compose -f ${SOURCE_DIR}/docker-compose.yml up

27
release/ci/build_and_publish.sh Executable file
View File

@@ -0,0 +1,27 @@
# UNUSED YET BUT I WANT TO KEEP IT BECAUSE I INTEND TO USE IT SOON
# #!/usr/bin/env bash
# DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
# cd $DIR
# DEV_BRANCH=$1
# GIT_ORIGIN=$2
# if [ -z "$DEV_BRANCH" ]; then
# DEV_BRANCH="dev-c3-test"
# fi
# if [ -z "$GIT_ORIGIN" ]; then
# GIT_ORIGIN="git@github.com:devtekve/openpilot-og.git" #This is a default that should be changed
# echo "No GIT_ORIGIN provided, we will use the default [${GIT_ORIGIN}]"
# fi
# VERSION=$(date '+%Y.%m.%d')
# SOURCE_DIR="$(git rev-parse --show-toplevel)"
# OUTPUT_DIR=${SOURCE_DIR}/output
# echo "Calling to build [${DIR}/build.sh ${SOURCE_DIR} ${OUTPUT_DIR} ${VERSION}]"
# $DIR/build.sh "${SOURCE_DIR}" "${OUTPUT_DIR}" "${VERSION}"
# echo "Calling to publish [${DIR}/publish.sh ${SOURCE_DIR} ${OUTPUT_DIR} ${DEV_BRANCH} ${VERSION} ${GIT_ORIGIN}]"
# $DIR/publish.sh "${SOURCE_DIR}" "${OUTPUT_DIR}" "${DEV_BRANCH}" "${VERSION}" "${GIT_ORIGIN}"

View File

@@ -0,0 +1,13 @@
{
"embeds": [
{
"title": "❗️ Action Required for `${CI_COMMIT_REF_NAME}` ❗️",
"description": "[${CI_PROJECT_NAME}](${CI_PROJECT_URL}): Pipeline [#${CI_PIPELINE_ID}](${CI_PROJECT_URL}/-/pipelines/${CI_PIPELINE_ID}) of branch [${CI_COMMIT_REF_NAME}](${CI_PROJECT_URL}/-/commits/${CI_COMMIT_REF_NAME}) by ${GITLAB_USER_NAME} (${GITLAB_USER_LOGIN}) is ready to publish manually as [${NEW_BRANCH}](${PUBLIC_REPO_URL}/tree/${NEW_BRANCH})",
"color": 16763904,
"author": {
"name": "${GITLAB_USER_LOGIN}",
"icon_url": "${AVATAR_URL}"
}
}
]
}

View File

@@ -0,0 +1,9 @@
{
"embeds": [
{
"title": "🎉 sunnypilot `${NEW_BRANCH}` New Update 🎉",
"description": "[sunnypilot](${PUBLIC_REPO_URL}): Build #${EXTRA_VERSION_IDENTIFIER} of branch [${NEW_BRANCH}](${PUBLIC_REPO_URL}/tree/${NEW_BRANCH}) has been published.\n\nDrive safe! 🚗💨",
"color": 4321431
}
]
}

View File

@@ -0,0 +1,107 @@
#!/bin/bash
set -e
# Check if script arguments are present, if not exit the script
if [ $# -eq 0 ]; then
echo "No arguments provided. A GitLab token is required to run this script."
exit 1
fi
# Constants
GITLAB_RUNNER_DOWNLOAD_URL="https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm64"
GITLAB_RUNNER_USER_NAME="gitlab-runner"
USER_GROUPS="comma,gpu,gpio,sudo"
GITLAB_BASE_DIR="/data/gitlab"
GITLAB_BIN_DIR="${GITLAB_BASE_DIR}/bin"
GITLAB_BUILDS_DIR="${GITLAB_BASE_DIR}/builds"
GITLAB_LOGS_DIR="${GITLAB_BASE_DIR}/logs"
GITLAB_CACHE_DIR="${GITLAB_BASE_DIR}/cache"
GITLAB_OPENPILOT_DIR="${GITLAB_BASE_DIR}/openpilot"
SERVICE_NAME="gitlab-runner"
create_gitlab_runner_directories() {
sudo mkdir -p "$GITLAB_BIN_DIR" "$GITLAB_BUILDS_DIR" "$GITLAB_LOGS_DIR" "$GITLAB_CACHE_DIR" "$GITLAB_OPENPILOT_DIR"
mkdir -p "/data/openpilot"
sudo chown -R comma:comma "/data/openpilot"
}
download_and_setup_gitlab_runner() {
sudo curl -L --output "$GITLAB_BIN_DIR/gitlab-runner" "$GITLAB_RUNNER_DOWNLOAD_URL"
sudo chmod +x "$GITLAB_BIN_DIR/gitlab-runner"
}
setup_gitlab_runner_user() {
sudo useradd --comment 'GitLab Runner' --create-home --home-dir ${GITLAB_BASE_DIR} ${GITLAB_RUNNER_USER_NAME} --shell /bin/bash -G ${USER_GROUPS} || sudo usermod -aG ${USER_GROUPS} ${GITLAB_RUNNER_USER_NAME}
export GITLAB_BASE_DIR # Export it to make it available to sub-processes
sudo -u ${GITLAB_RUNNER_USER_NAME} bash -c "truncate -s 0 '${GITLAB_BASE_DIR}/.bash_logout'"
}
create_sudoers_entry() {
sudo grep -qxF "${GITLAB_RUNNER_USER_NAME} ALL=(ALL) NOPASSWD: ALL" /etc/sudoers || echo "${GITLAB_RUNNER_USER_NAME} ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
}
generate_gitlab_config_file() {
cat <<EOL | sudo tee "$GITLAB_BASE_DIR/config.toml"
[[runners]]
name = "tici"
url = "https://gitlab.com/"
token = "$1"
executor = "shell"
builds_dir = "$GITLAB_BUILDS_DIR"
[runners.custom_build_dir]
[runners.docker]
volumes = ["$GITLAB_CACHE_DIR:/cache"]
[runners.cache]
MaxUploadedArchiveSize = 0
[runners.custom]
config_exec = "$GITLAB_LOGS_DIR"
EOL
}
set_gitlab_directory_permissions() {
sudo chown -R ${GITLAB_RUNNER_USER_NAME}:comma "$GITLAB_BASE_DIR"
sudo chmod g+rwx "$GITLAB_BASE_DIR"
sudo chmod g+s "$GITLAB_BASE_DIR"
}
# Please note that when the gitlab runner is started, linux implicitly executes "source /etc/profile" for every logged shell. This will make scons available
create_gitlab_runner_service() {
cat <<EOL | sudo tee /etc/systemd/system/${SERVICE_NAME}.service
[Unit]
Description=GitLab Runner
After=syslog.target network.target
ConditionFileIsExecutable=$GITLAB_BIN_DIR/gitlab-runner
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/bin/unshare -m -- sh -c 'mount --bind $GITLAB_OPENPILOT_DIR /data/openpilot && exec $GITLAB_BIN_DIR/gitlab-runner "run" "--working-directory" "$GITLAB_BUILDS_DIR" "--config" "$GITLAB_BASE_DIR/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "${GITLAB_RUNNER_USER_NAME}"'
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
EOL
}
start_gitlab_runner_service() {
sudo systemctl daemon-reload
sudo systemctl disable gitlab-runner # Intentionally making sure the service is NOT enabled on boot.
sudo systemctl start gitlab-runner
}
# Make the filesystem writable
sudo mount -o remount,rw /
# Ensure filesystem is remounted as read-only on script exit
trap "sudo mount -o remount,ro /" EXIT
# Call functions
setup_gitlab_runner_user
create_sudoers_entry
create_gitlab_runner_directories
download_and_setup_gitlab_runner
generate_gitlab_config_file "$1"
set_gitlab_directory_permissions
create_gitlab_runner_service
start_gitlab_runner_service
# End of install script

78
release/ci/publish.sh Executable file
View File

@@ -0,0 +1,78 @@
#!/usr/bin/env bash
set -e
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
# Take parameters as arguments
SOURCE_DIR=$1
OUTPUT_DIR=$2
DEV_BRANCH=$3
VERSION=$4
GIT_ORIGIN=$5
EXTRA_VERSION_IDENTIFIER=$6
# Check parameters
if [ -z "$SOURCE_DIR" ] || [ -z "$OUTPUT_DIR" ]; then
echo "Error: No source or output directory provided."
exit 1
fi
if [ -z "$DEV_BRANCH" ] || [ -z "$VERSION" ]; then
echo "Error: No dev branch or version provided."
exit 1
fi
if [ -z "$GIT_ORIGIN" ]; then
echo "Error: No GIT_ORIGIN provided"
exit 1
fi
# "Tagging"
echo "#define COMMA_VERSION \"$VERSION\"" > ${OUTPUT_DIR}/common/version.h
## set git identity
#source $DIR/identity.sh
#export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
cd $OUTPUT_DIR
git init
# set git username/password
#source /data/identity.sh
git rm -rf $OUTPUT_DIR/.git || true # Doing cleanup, but it might fail if the .git doesn't exist or not allowed to delete
git remote remove origin || true # ensure cleanup
git remote add origin $GIT_ORIGIN
#git push origin -d $DEV_BRANCH || true # Ensuring we delete the remote branch if it exists as we are wiping it out
git fetch origin $DEV_BRANCH || (git checkout -b $DEV_BRANCH && git commit --allow-empty -m "sunnypilot v$VERSION release" && git push -u origin $DEV_BRANCH)
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$DEV_BRANCH
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
if [ "$EXTRA_VERSION_IDENTIFIER" = "-release" ] || [ "$EXTRA_VERSION_IDENTIFIER" = "-staging" ]; then
export VERSION=${VERSION%"$EXTRA_VERSION_IDENTIFIER"}
git commit --amend -m "sunnypilot v$VERSION"
else
git commit --amend -m "sunnypilot v$VERSION
version: sunnypilot v$SP_VERSION release
date: $DATETIME
master commit: $GIT_HASH
"
fi
git branch -m $DEV_BRANCH
# Push!
echo "[-] pushing T=$SECONDS"
git push -f origin $DEV_BRANCH

75
release/ci/sanity_check.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/usr/bin/env bash
# Check if the correct number of arguments are provided
if [ "$#" -lt 2 ]; then
echo "Error: Missing required arguments."
echo "Usage: $0 \"ext1,ext2,...\" \"dir1,dir2,...\" [expect_no_match]"
exit 1
fi
# Convert comma-separated lists of extensions and directory patterns to arrays
IFS=',' read -r -a file_extensions <<< "$1"
IFS=',' read -r -a dir_patterns <<< "$2"
# Boolean argument to determine the script's behavior when matches are found
expect_no_match=${3:-true} # Default to true if not provided
# Validate that file_extensions and dir_patterns are not empty
if [ ${#file_extensions[@]} -eq 0 ]; then
echo "Error: No file extensions provided."
exit 1
fi
if [ ${#dir_patterns[@]} -eq 0 ]; then
echo "Error: No directory patterns provided."
exit 1
fi
# Define the command and arguments as an array
find_command=(find . \( -false)
for ext in "${file_extensions[@]}"; do
find_command+=(-o -type f -name "*$ext")
done
for dir in "${dir_patterns[@]}"; do
find_command+=(-o -type d -path "$dir")
done
find_command+=(\) -print)
# Debug print
echo "Executing find_command ${find_command[@]}"
# Execute the find command
FOUND=$("${find_command[@]}")
# Function to handle found matches
handle_found() {
local count=$(echo "$FOUND" | grep -c '^')
if [ "$expect_no_match" = true ]; then
echo "Failure: Unexpected match$( [ "$count" -gt 1 ] && echo "es" ) found ($count):"
echo "$FOUND"
exit 1
else
echo "Success: Expected match$( [ "$count" -gt 1 ] && echo "es" ) found ($count):"
echo "$FOUND"
exit 0
fi
}
# Function to handle no matches found
handle_not_found() {
if [ "$expect_no_match" = false ]; then
echo "Failure: Expected matches not found."
exit 1
else
echo "Success: No matches found as expected."
exit 0
fi
}
# Check if any files or directories are found and handle accordingly
if [ -n "$FOUND" ]; then
handle_found
else
handle_not_found
fi

7
release/ci/sync-lfs.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
mv .lfsconfig .lfsconfig.bak
mv .lfsconfig-comma .lfsconfig
git lfs fetch --all; git lfs pull
mv .lfsconfig .lfsconfig-comma
mv .lfsconfig.bak .lfsconfig
git lfs fetch --all; git lfs push --all origin

View File

@@ -0,0 +1,58 @@
#!/bin/bash
# Define directories and user
GITLAB_BASE_DIR="/data/gitlab"
BIN_DIR="$GITLAB_BASE_DIR/bin"
BUILDS_DIR="$GITLAB_BASE_DIR/builds"
OPENPILOT_DIR="$GITLAB_BASE_DIR/openpilot"
LOGS_DIR="$GITLAB_BASE_DIR/logs"
CACHE_DIR="$GITLAB_BASE_DIR/cache"
RUNNER_USERNAME="gitlab-runner"
# Define the systemd service name
SERVICE_NAME="gitlab-runner"
USER_GROUPS="comma,gpu,gpio,sudo"
# Function to stop and disable the systemd service
stop_service() {
sudo systemctl stop ${SERVICE_NAME}
sudo systemctl disable ${SERVICE_NAME}
}
# Function to remove the systemd service file
remove_service_file() {
sudo rm /etc/systemd/system/${SERVICE_NAME}.service
sudo systemctl daemon-reload
}
# Function to delete the GitLab Runner directories
delete_directories() {
sudo rm -rf "$BIN_DIR/gitlab-runner"
sudo rm -rf "$GITLAB_BASE_DIR" "$BIN_DIR" "$BUILDS_DIR" "$LOGS_DIR" "$CACHE_DIR" "$OPENPILOT_DIR"
}
# Function to remove the GitLab Runner user
delete_user() {
for group in ${USER_GROUPS//,/ }
do
sudo gpasswd -d ${RUNNER_USERNAME} ${group}
done
sudo userdel -r ${RUNNER_USERNAME}
}
# Function to remove sudoers entry
remove_sudoers_entry() {
sudo sed -i.bak "/${RUNNER_USERNAME} ALL=(ALL) NOPASSWD: ALL/d" /etc/sudoers
}
# Make filesystem writable
sudo mount -o remount rw /
# Ensure filesystem is remounted as read-only on script exit
trap "sudo mount -o remount ro /" EXIT
# Call functions
stop_service
remove_service_file
delete_directories
delete_user
remove_sudoers_entry
# End of uninstall script

4
release/files_pc Normal file
View File

@@ -0,0 +1,4 @@
third_party/libyuv/x86_64/**
third_party/snpe/x86_64/**
third_party/snpe/x86_64-linux-clang/**
third_party/acados/x86_64/**

15
release/files_tici Normal file
View File

@@ -0,0 +1,15 @@
third_party/libyuv/larch64/**
third_party/snpe/larch64**
third_party/snpe/aarch64-ubuntu-gcc7.5/*
third_party/acados/larch64/**
system/camerad/cameras/camera_qcom2.cc
system/camerad/cameras/camera_qcom2.h
system/camerad/cameras/camera_util.cc
system/camerad/cameras/camera_util.h
system/camerad/cameras/process_raw.cl
system/qcomgpsd/*
selfdrive/ui/qt/spinner_larch64
selfdrive/ui/qt/text_larch64

View File

@@ -1,4 +1,4 @@
export GIT_COMMITTER_NAME="Vehicle Researcher"
export GIT_COMMITTER_EMAIL="user@comma.ai"
export GIT_AUTHOR_NAME="Vehicle Researcher"
export GIT_AUTHOR_EMAIL="user@comma.ai"
export GIT_COMMITTER_NAME="Jason Wen"
export GIT_COMMITTER_EMAIL="haibin.wen3@gmail.com"
export GIT_AUTHOR_NAME="Jason Wen"
export GIT_AUTHOR_EMAIL="haibin.wen3@gmail.com"

View File

@@ -34,7 +34,7 @@ blacklist = [
".github/",
".devcontainer/",
"Darwin/",
".vscode",
".vscode/",
# common things
"LICENSE",
@@ -48,10 +48,52 @@ blacklist = [
".gitmodules",
]
# Sunnypilot blacklist
sunnypilot_blacklist = [
"system/loggerd/sunnylink_uploader.py", # Temporarily, until we are ready to roll it out widely
"system/manager/gitlab_runner.sh",
".idea/",
".run/",
".run/",
".*__pycache__/.*",
".*\.pyc",
"tinygrad/*",
"teleoprtc/*",
"third_party/snpe/x86_64/*",
"body/board/canloader.py",
"body/board/flash_base.sh",
"body/board/flash_knee.sh",
"body/board/recover.sh",
".*/test/",
".*/tests/",
".*tinygrad_repo/tinygrad/renderer/",
"README.md",
".*internal/",
"docs/.*",
".sconsign.dblite",
"release/ci/scons_cache/",
".gitlab-ci.yml",
".clang-tidy",
".dockerignore",
".editorconfig",
".gitmodules",
".pre-commit-config.yaml",
".python-version",
"Dockerfile",
"dockerfile",
"SECURITY.md",
"codecov.yml",
"conftest.py",
"poetry.lock",
]
# Merge the blacklists
blacklist += sunnypilot_blacklist
# gets you through the blacklist
whitelist = [
"tools/lib/",
"tools/bodyteleop/",
"^tools/lib/(?!.*__pycache__).*$",
"tools/bodyteleop/(?!.*__pycache__).*$",
"tinygrad_repo/openpilot/compile2.py",
"tinygrad_repo/extra/onnx.py",
@@ -118,8 +160,53 @@ whitelist = [
"opendbc_repo/dbc/toyota_tss2_adas.dbc",
"opendbc_repo/dbc/vw_golf_mk4.dbc",
"opendbc_repo/dbc/vw_mqb_2010.dbc",
"opendbc_repo/dbc/tesla_can.dbc",
"opendbc_repo/dbc/tesla_radar_bosch_generated.dbc",
"opendbc_repo/dbc/tesla_radar_continental_generated.dbc",
"opendbc_repo/dbc/tesla_powertrain.dbc",
]
# Sunnypilot whitelist
sunnypilot_whitelist = [
"^README.md",
".*selfdrive/test/fuzzy_generation.py",
".*selfdrive/test/helpers.py",
".*selfdrive/test/__init__.py",
".*selfdrive/test/setup_device_ci.sh",
".*selfdrive/test/test_time_to_onroad.py",
".*selfdrive/test/test_onroad.py",
".*system/manager/test/test_manager.py",
".*system/manager/test/__init__.py",
".*system/qcomgpsd/tests/test_qcomgpsd.py",
".*system/updated/casync/tests/test_casync.py",
".*system/updated/tests/test_git.py",
".*system/updated/tests/test_base.py",
".*tools/lib/tests/test_route_library.py",
".*tools/lib/tests/test_caching.py",
".*tools/lib/tests/test_logreader.py",
".*tools/lib/tests/test_readers.py",
".*tools/lib/tests/__init__.py",
".*tools/lib/tests/test_comma_car_segments.py",
".*selfdrive/ui/tests/test_translations.py",
".*selfdrive/car/tests/__init__.py",
".*selfdrive/car/tests/test_car_interfaces.py",
".*selfdrive/navd/tests/test_navd.py",
".*selfdrive/navd/tests/test_map_renderer.py",
".*selfdrive/boardd/tests/test_boardd_loopback.py",
".*tinygrad_repo/tinygrad/renderer/opencl.py",
".*tinygrad_repo/tinygrad/renderer/cstyle.py",
".*INTEGRATION.md",
".*HOW-TOS.md",
".*CARS.md",
".*LIMITATIONS.md",
".*CONTRIBUTING.md",
".*sunnyhaibin0850_qrcode_paypal.me.png",
"opendbc/.*.dbc",
]
# Merge the whitelists
whitelist += sunnypilot_whitelist
if __name__ == "__main__":
for f in Path(ROOT).rglob("**/*"):

View File

@@ -0,0 +1,130 @@
#!/usr/bin/bash -e
# git diff --name-status origin/release3-staging | grep "^A" | less
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
BUILD_DIR=/data/media/openpilot-dev
SOURCE_DIR="$(git rev-parse --show-toplevel)"
FILES_SRC="release/files_tici"
DEV_BRANCH="dev-c3"
BUILD_PANDA_DIR=/data/media/panda/openpilot-dev
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $DEV_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
cd $SOURCE_DIR
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
cp -pR --parents $(cat $FILES_SRC) $BUILD_DIR/
# in the directory
cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(date '+%Y.%m.%d')
echo "#define COMMA_VERSION \"$VERSION-dev\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$DEV_BRANCH
# Build panda firmware
pushd panda/
scons -u .
mv board/obj/panda.bin.signed $BUILD_PANDA_DIR/panda.bin.signed
mv board/obj/panda_h7.bin.signed $BUILD_PANDA_DIR/panda_h7.bin.signed
mv board/obj/bootstub.panda.bin $BUILD_PANDA_DIR/bootstub.panda.bin
mv board/obj/bootstub.panda_h7.bin $BUILD_PANDA_DIR/bootstub.panda_h7.bin
popd
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc)
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
echo "submodules found:"
git submodule--helper list
exit 1
fi
git submodule status
# Cleanup
find . -name '*.a' -delete
find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf panda/board panda/certs panda/crypto
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
rm -rf selfdrive/ui/replay/
# Move back signed panda fw
mkdir -p panda/board/obj
mv $BUILD_PANDA_DIR/panda.bin.signed panda/board/obj/panda.bin.signed
mv $BUILD_PANDA_DIR/panda_h7.bin.signed panda/board/obj/panda_h7.bin.signed
mv $BUILD_PANDA_DIR/bootstub.panda.bin panda/board/obj/bootstub.panda.bin
mv $BUILD_PANDA_DIR/bootstub.panda_h7.bin panda/board/obj/bootstub.panda_h7.bin
# Restore third_party
git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "sunnypilot v$VERSION
version: sunnypilot v$SP_VERSION release
date: $DATETIME
master commit: $GIT_HASH
"
git branch -m dev-c3
# Run tests
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 selfdrive/test/test_onroad.py
#selfdrive/manager/test/test_manager.py
#selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$PUSH" ]; then
echo "[-] pushing T=$SECONDS"
git push -f origin $DEV_BRANCH
fi
echo "[-] done T=$SECONDS"

View File

@@ -0,0 +1,127 @@
#!/usr/bin/bash -e
# git diff --name-status origin/release3-staging | grep "^A" | less
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
BUILD_DIR=/data/media/openpilot-release
SOURCE_DIR="$(git rev-parse --show-toplevel)"
FILES_SRC="release/files_tici"
RELEASE_BRANCH="release-c3"
BUILD_PANDA_DIR=/data/media/panda/openpilot-release
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $RELEASE_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
cd $SOURCE_DIR
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
cp -pR --parents $(cat $FILES_SRC) $BUILD_DIR/
# in the directory
cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(cat common/version.h | awk -F[\"-] '{print $2}')
echo "#define COMMA_VERSION \"$VERSION-release\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$RELEASE_BRANCH
# Build panda firmware
pushd panda/
scons -u .
mv board/obj/panda.bin.signed $BUILD_PANDA_DIR/panda.bin.signed
mv board/obj/panda_h7.bin.signed $BUILD_PANDA_DIR/panda_h7.bin.signed
mv board/obj/bootstub.panda.bin $BUILD_PANDA_DIR/bootstub.panda.bin
mv board/obj/bootstub.panda_h7.bin $BUILD_PANDA_DIR/bootstub.panda_h7.bin
popd
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc)
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
echo "submodules found:"
git submodule--helper list
exit 1
fi
git submodule status
# Cleanup
find . -name '*.a' -delete
find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf panda/board panda/certs panda/crypto
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
#rm models/supercombo_badweights.thneed
rm -rf selfdrive/ui/replay/
# Move back signed panda fw
mkdir -p panda/board/obj
mv $BUILD_PANDA_DIR/panda.bin.signed panda/board/obj/panda.bin.signed
mv $BUILD_PANDA_DIR/panda_h7.bin.signed panda/board/obj/panda_h7.bin.signed
mv $BUILD_PANDA_DIR/bootstub.panda.bin panda/board/obj/bootstub.panda.bin
mv $BUILD_PANDA_DIR/bootstub.panda_h7.bin panda/board/obj/bootstub.panda_h7.bin
# Restore third_party
git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "sunnypilot v$VERSION"
git branch -m release-c3
# Run tests
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 selfdrive/test/test_onroad.py
#selfdrive/manager/test/test_manager.py
#selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$PUSH" ]; then
echo "[-] pushing T=$SECONDS"
git push -f origin $RELEASE_BRANCH
fi
echo "[-] done T=$SECONDS"

View File

@@ -0,0 +1,127 @@
#!/usr/bin/bash -e
# git diff --name-status origin/release3-staging | grep "^A" | less
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
BUILD_DIR=/data/media/openpilot-staging
SOURCE_DIR="$(git rev-parse --show-toplevel)"
FILES_SRC="release/files_tici"
STAGING_BRANCH="staging-c3"
BUILD_PANDA_DIR=/data/media/panda/openpilot-staging
# set git identity
source $DIR/identity.sh
export GIT_SSH_COMMAND="ssh -i /data/gitkey"
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
# set git username/password
source /data/identity.sh
git remote add origin https://github.com/sunnyhaibin/sunnypilot.git
git fetch origin $STAGING_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
cd $SOURCE_DIR
cp -pR --parents $(cat release/files_common) $BUILD_DIR/
cp -pR --parents $(cat $FILES_SRC) $BUILD_DIR/
# in the directory
cd $BUILD_DIR
rm -f panda/board/obj/panda.bin.signed
rm -f panda/board/obj/panda_h7.bin.signed
rm -f panda/board/obj/bootstub.panda.bin
rm -f panda/board/obj/bootstub.panda_h7.bin
VERSION=$(cat common/version.h | awk -F[\"-] '{print $2}')
echo "#define COMMA_VERSION \"$VERSION-staging\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "sunnypilot v$VERSION release"
git branch --set-upstream-to=origin/$STAGING_BRANCH
# Build panda firmware
pushd panda/
scons -u .
mv board/obj/panda.bin.signed $BUILD_PANDA_DIR/panda.bin.signed
mv board/obj/panda_h7.bin.signed $BUILD_PANDA_DIR/panda_h7.bin.signed
mv board/obj/bootstub.panda.bin $BUILD_PANDA_DIR/bootstub.panda.bin
mv board/obj/bootstub.panda_h7.bin $BUILD_PANDA_DIR/bootstub.panda_h7.bin
popd
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc)
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
echo "submodules found:"
git submodule--helper list
exit 1
fi
git submodule status
# Cleanup
find . -name '*.a' -delete
find . -name '*.o' -delete
find . -name '*.os' -delete
find . -name '*.pyc' -delete
find . -name 'moc_*' -delete
find . -name '*.cc' -delete
find . -name '__pycache__' -delete
find selfdrive/ui/ -name '*.h' -delete
rm -rf panda/board panda/certs panda/crypto
rm -rf .sconsign.dblite Jenkinsfile release/
rm selfdrive/modeld/models/supercombo.onnx
#rm models/supercombo_badweights.thneed
rm -rf selfdrive/ui/replay/
# Move back signed panda fw
mkdir -p panda/board/obj
mv $BUILD_PANDA_DIR/panda.bin.signed panda/board/obj/panda.bin.signed
mv $BUILD_PANDA_DIR/panda_h7.bin.signed panda/board/obj/panda_h7.bin.signed
mv $BUILD_PANDA_DIR/bootstub.panda.bin panda/board/obj/bootstub.panda.bin
mv $BUILD_PANDA_DIR/bootstub.panda_h7.bin panda/board/obj/bootstub.panda_h7.bin
# Restore third_party
git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# include source commit hash and build date in commit
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
SP_VERSION=$(cat $SOURCE_DIR/common/version.h | awk -F\" '{print $2}')
# Add built files to git
git add -f .
git commit --amend -m "sunnypilot v$VERSION"
git branch -m staging-c3
# Run tests
#TEST_FILES="tools/"
#cd $SOURCE_DIR
#cp -pR -n --parents $TEST_FILES $BUILD_DIR/
#cd $BUILD_DIR
#RELEASE=1 selfdrive/test/test_onroad.py
#selfdrive/manager/test/test_manager.py
#selfdrive/car/tests/test_car_interfaces.py
#rm -rf $TEST_FILES
if [ ! -z "$PUSH" ]; then
echo "[-] pushing T=$SECONDS"
git push -f origin $STAGING_BRANCH
fi
echo "[-] done T=$SECONDS"

View File

@@ -0,0 +1,4 @@
export GIT_COMMITTER_NAME="Jason Wen"
export GIT_COMMITTER_EMAIL="haibin.wen3@gmail.com"
export GIT_AUTHOR_NAME="Jason Wen"
export GIT_AUTHOR_EMAIL="haibin.wen3@gmail.com"

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