Commit Graph

134 Commits

Author SHA1 Message Date
Mitchell Goff
72a3c987c0 Rewrite modeld in python (#29230)
* Added modeld.py (WIP)

* No more VisionIpcBufExtra

* Started work on cython bindings for runmodel

* Got ONNXModel cython bindings mostly working, added ModelFrame bindings

* Got modeld main loop running without model eval

* Move everything into ModelState

* Doesn't crash!

* Moved ModelState into modeld.py

* Added driving_pyx

* Added cython bindings for message generation

* Moved CLContext definition to visionipc.pxd

* *facepalm*

* Move cl_pyx into commonmodel_pyx

* Split out ONNXModel into a subclass of RunModel

* Added snpemodel/thneedmodel bindings

* Removed modeld.cc

* Fixed scons for macOS

* Fixed sconscript

* Added flag for thneedmodel

* paths are now relative to openpilot root dir

* Set cl kernel paths in SConscript

* Set LD_PRELOAD=libthneed.so to fix ioctl interception

* Run from root dir

* A few more fixes

* A few more minor fixes

* Use C update_calibration for now to exactly match refs

* Add nav_instructions input

* Link driving_pyx.pyx with transformations

* Checked python FirstOrderFilter against C++ FirstOrderFilter

* Set process name to fix test_onroad

* Revert changes to onnxmodel.cc

* Fixed bad onnx_runner.py path in onnxmodel.cc

* Import all constants from driving.h

* logging -> cloudlog

* pylint import-error suppressions no longer needed?

* Loop in SConscript

* Added parens

* Bump modeld cpu usage in test_onroad

* Get rid of use_nav

* use config_realtime_process

* error message from ioctl sniffer was messing up pyenv

* cast distance_idx to int

* Removed cloudlog.infos in model.run

* Fixed rebase conflicts

* Clean up driving.pxd/pyx

* Fixed linter error
2023-08-25 14:36:26 -07:00
Adeeb Shihadeh
e0e139a233 soundd: update cpu usage 2023-08-22 15:16:38 -07:00
Adeeb Shihadeh
6a5725bb38 sensord: update cpu usage after removing light sensor 2023-08-22 14:03:15 -07:00
Adeeb Shihadeh
a9626f95b6 add openpilot prefix to imports (#29498)
* add openpilot prefix to imports

* more

* more

* fix docs

* fix linter

* bump submodules

* fix patched tests

* update dynamic imports

* debug

* Revert "debug"

This reverts commit db5e13b9911cc74438bee123bc3430da6c31b24b.

* fix pm test
2023-08-20 20:49:55 -07:00
Justin Newberry
62c1e65924 Ruff: enable most of bugbear (#29320)
* added mutable default args

* most of the Bs

* add comment about lrucache
2023-08-11 15:33:49 -07:00
Justin Newberry
4a9afd7554 Ruff: comprehensions conventions (#29317)
ignore c408
2023-08-10 16:40:30 -07:00
Adeeb Shihadeh
670fa9af5f pytest unit test running (#29261)
* setup config

* collect passes

* pytest system/ works
2023-08-10 08:23:19 -07:00
Harald Schäfer
7613f6918b Laikad cpu usage: enable test onroad (#28926)
* enable test onroad

* Better

* specify range

* fix printing

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-07-15 23:06:42 -07:00
Shane Smiskol
c541074669 test_onroad: lower ui CPU usage (#28927)
lower from multiple runs
2023-07-13 23:47:12 -07:00
Adeeb Shihadeh
69e7f386a7 revert accidental enable 2023-07-10 17:22:09 -07:00
Adeeb Shihadeh
24de4a6204 Update test_onroad.py 2023-07-10 16:40:09 -07:00
Adeeb Shihadeh
740380bf05 test onroad: stricter ui timings check (#28853) 2023-07-08 22:26:53 -07:00
Mitchell Goff
aadd9ae269 Enable nav features in modeld (#28448)
* Enable nav features in modeld

* Enable mapsd/navmodeld

* Updated model_replay_ref_commit and added mapsd/navmodeld to test_onroad

* fixed process name

* always publish from mapsd
2023-06-16 21:27:35 -07:00
Adeeb Shihadeh
2f117e88b7 test onroad: explicit memory leak check (#28502) 2023-06-11 14:43:25 -07:00
ZwX1616
a2e11b2f48 ci: test sof diffs in onroad test (#27723)
* add diff test

* skip

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-06-02 21:23:32 -07:00
Adeeb Shihadeh
80d8dcd22e test_onroad: tizi updates (#28379)
* test_onroad: add tizi support

* don't clear params on desk device

* update

* fix mypy

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-06-02 21:18:51 -07:00
Adeeb Shihadeh
cd57b340c1 test_onroad: ignore vehicleModelInvalid (#28335)
* test_onroad: ignore vehicleModelInvalid

* not for all ci
2023-06-01 10:26:08 -07:00
Adeeb Shihadeh
9f3c0a7781 update loggerd and ui cpu 2023-05-24 10:04:53 -07:00
Adeeb Shihadeh
a3d5913228 adjust uploader cpu usage 2023-05-22 10:48:15 -07:00
Adeeb Shihadeh
1b12f17ee3 test onroad: add gpsLocationExternal to gps proc list 2023-05-22 01:10:24 -07:00
Adeeb Shihadeh
39c5d492bf time to onroad test (#28242)
* time to onroad test

* run few times

* test on stripped builds

* manager

* cleanup

* split those out

* run first

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-05-20 17:59:41 -07:00
Adeeb Shihadeh
fbcf6ced51 test_onroad: handle spotty gps in testing closet (#28194) 2023-05-15 12:45:19 -07:00
Adeeb Shihadeh
984029b606 test onroad: ensure 100% engageability (#28132) 2023-05-08 13:48:42 -07:00
Adeeb Shihadeh
d5a0a4b3e8 Jenkins tuneup (#28095)
* tuneup

* use service messages

* logmono

* not passive
2023-05-03 16:52:20 -07:00
Adeeb Shihadeh
64df41c9af test_onroad: enforce CPU usage test for all procs (#28024)
* cleanup

* add missing procs

* ugh not systemd

* floor

* unused

* handle laikad

* continue

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-05-01 21:35:10 -07:00
Adeeb Shihadeh
cddb7c37e6 ci: locationd cpu has increased a bit 2023-04-01 16:05:51 -07:00
Adeeb Shihadeh
94eb215980 loggerd: move to system/ (#27534) 2023-03-08 11:20:49 -08:00
Harald Schäfer
04fe6c4ec7 Expand lateral MPC to 10s (#27343)
* 10s lat

* Full length MPC

* redfine N

* Leave controls the same for now

* Updates

* use long plan in lat plan

* interp plan

* add new interp

* simplergit add selfdrive/controls/plannerd.py selfdrive/controls/

* expand to 10s

* revert this

* fix linter

* Update sconscripts

* fix test

* fix test

* fix test

* Revert "Update sconscripts"

This reverts commit 6e23c69dcebd5ed003e37e01921f6af7c31de0db.

* Dont import drive helpers

* better compile deps

* fix compile

* comment

* update replay

* Update plannerd time
2023-02-17 15:28:26 -08:00
Adeeb Shihadeh
0589ff23a5 bump up controlsd cpu usage 2022-11-02 15:51:52 -07:00
Adeeb Shihadeh
bdbdd42d5b test_onroad: temp disable max UI draw time check 2022-11-01 23:18:56 -07:00
Adeeb Shihadeh
15b8c7d1dc ui: publish draw times + add test (#26119)
* ui: publish draw times + add test

* add some checks

* adjust

* fix linter

* update max

Co-authored-by: Comma Device <device@comma.ai>
2022-10-17 17:14:38 -07:00
Vivek Aithal
4fa62f1464 Live torque (#25456)
* wip torqued

* add basic logic

* setup in manager

* check sanity and publish msg

* add first order filter to outputs

* wire up controlsd, and update gains

* rename intercept to offset

* add cloudlog, live values are not updated

* fix bugs, do not reset points for now

* fix crashes

* rename to main

* fix bugs, works offline

* fix float in cereal bug

* add latacc filter

* randomly choose points, approx for iid

* add variable decay

* local param to capnp instead of dict

* verify works in replay

* use torqued output in controlsd

* use in controlsd; use points from past routes

* controlsd bugfix

* filter before updating gains, needs to be replaced

* save all points to ensure smooth transition across routes, revert friction factor to 1.5

* add filters to prevent noisy low-speed data points; improve fit sanity

* add engaged buffer

* revert lat_acc thresh

* use paramsd realtime process config

* make latacc-to-torque generic, and overrideable

* move freq to 4Hz, avoid storing in np.array, don't publish points in the message

* float instead of np

* remove constant while storing pts

* rename slope, offset to lat_accet_factor, offset

* resolve issues

* use camelcase in all capnp params

* use camelcase everywhere

* reduce latacc threshold or sanity, add car_sane todo, save points properly

* add and check tag

* write param to disk at end of route

* remove args

* rebase op, cereal

* save on exit

* restore default handler

* cpu usage check

* add to process replay

* handle reset better, reduce unnecessary computation

* always publish raw values - useful for debug

* regen routes

* update refs

* checks on cache restore

* check tuning vals too

* clean that up

* reduce cpu usage

* reduce cpu usage by 75%

* cleanup

* optimize further

* handle reset condition better, don't put points in init, use only in corolla

* bump cereal after rebasing

* update refs

* Update common/params.cc

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

* remove unnecessary checks

* Update RELEASES.md

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-09-19 15:19:26 -07:00
Kurt Nistelberger
98c843bfb4 sensord: increase cpu usage in onroad test (#25773)
Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
2022-09-13 22:28:00 -07:00
Adeeb Shihadeh
21d7c540d2 fix encoderd cpu usage 2022-08-28 21:20:19 -07:00
Adeeb Shihadeh
62bb70ef29 test onroad: update dmonitoringd cpu usage 2022-08-21 14:29:52 -07:00
Adeeb Shihadeh
80cbcafb5f test onroad: more robust CPU usage test (#25375)
* test onroad: more robust CPU usage test

* fix linter

* remove debug print

* Revert "remove debug print"

This reverts commit 172cb655fe3558abeb0ec6432ff24b90c0aab183.

Co-authored-by: Comma Device <device@comma.ai>
2022-08-05 16:12:32 -07:00
Willem Melching
cdc7a6dbea enable laikad (#25013)
* enable laikad

* increase logprint for onroad test
2022-07-01 08:26:41 -07:00
Willem Melching
30ddadc8b4 test onroad: lower camerad cpu usage 2022-06-30 13:25:42 +02:00
ZwX1616
1f2f9ea9c9 fullframe DM model (#24860)
* Revert "put cereal on master"

This reverts commit a8ccd8f838.

* Revert "Revert fullframe DM model (#24812)"

This reverts commit c646eeee0a.

* revert revert cereal

* clip6

* 0.8 is fair

* Fiction compensation should be based on error

* Update refs

* Add deadzone

* not that

* good mg

* ref

* ref

* ee8f

* minor tweak

* ref

* recompile

* ref

* cereal

* match driverstatus

* new ref

* new ref

* pass token through jenkins credentials

* quote

* fix snpe dead weights

* final ref

Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2022-06-20 16:24:51 -07:00
Joost Wooning
1221aef233 ui: skip texture frame copy (#24700)
* ui_blit working

* simpler and working

* more believable that it's real

* working on device

* build on pc

* use hardware pc

* reduce cpu usage

* yuv conversion to EGL

* move everything to cameraview

* some cleanup

* more cleanup

* init array

* init images with std::map

* dont destroy images

* do destroy images

Co-authored-by: Comma Device <device@comma.ai>
2022-06-13 12:27:47 +02:00
Adeeb Shihadeh
0fce5d9045 Move a bunch of stuff to system/ part 3 (#24829)
* move swaglog.py

* timezoned

* logmessaged

* version.py

* fix linter
2022-06-11 23:19:27 -07:00
ZwX1616
c646eeee0a Revert fullframe DM model (#24812)
* Revert "fullframe DM: flip RHD yaw to use matching thresholds"

This reverts commit 2ac6931003.

* Revert "fullframe DM model (#24762)"

This reverts commit d6c07a6b15.

* revert cereal
2022-06-10 16:16:46 -07:00
ZwX1616
d6c07a6b15 fullframe DM model (#24762)
* get log

* simplify two nonsense

* not needed

* libyuv is a joke

* clean up

* try small

* fast but not bad

* working

* clean up driverview

* simplified

* thats mirrored

* smol

* tweak

* ref is screen

* w/ ee

* update camera model

* no if TICI

* start

* update pose thresh

* less cpu more dsp

* new libyuv

* new snpe

* add files

* test

* should be fast

* update out len

* trigger test

* use master snpe

* add cereal

* update cereal

* refactor parsing

* missing ;

* get

* wrong type

* test model

* use driver data

* 10829278-72fe-4283-a118-2cef959ce174/1550

* no pf

* adapt driverview

* ;

* rhd learner

* update libyuv buildi x64

* ad4337ea

* remove blink slack

* test

* no

* use toggle

* b16

* fix for nv12

* 5b02cff5 both

* update test

* update cereal

* update cereal

* update cereal

* v2 packets

* revert libyuv

* no /

* update snpemodel

* ;

* memcpy

* fix test

* use toggle in driverview

* update power

* update replay

* Revert "update replay"

This reverts commit 1d0979ca59dbc89bc5890656e9501e83f0556d50.

* update model ref

* halve cpu

* fake 8bit onnx runner

* same thresh as report

* cereal master

Co-authored-by: Comma Device <device@comma.ai>
2022-06-08 20:13:46 -07:00
George Hotz
ea5b8cdfb1 nv12: encoderd avoids a full frame copy (#24519)
* rgb to nv12

* nv12 works (w memcpy)

* correct now

* no copy

* fix nv12 with fast debayer

* reverts of unused stuff

* ui use nv12

* comment out thumbnails for now

* rebase fix

* dm read nv12

* model read nv12

* fix ffmpeg encoder

* thumbnails from nv12

* replay to nv12

* python framereader support nv12

* remove hardcoded frame/buffer sizes

* fix build

* ffmpeg encoder fix buffers

* small cleanup

* reduce power usage test

* fix cpu usage test

* fix snapshot

* fix loggerd test

* bump cereal

Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Joost Wooning <jwooning@gmail.com>
2022-06-01 17:18:28 +02:00
Adeeb Shihadeh
3771ccc655 controlsd cpu has crept up 2022-05-17 19:42:58 -07:00
George Hotz
94b9972eb7 encoderd: enable (#24492)
* enable encoderd

* correct enable line

* fix loggerd tests

* fix power draw and cpu tests

* correct cpu for encoderd

* fix a bug, video_writer is shared

* fix issue with not recording dcam

* add recording state

* wooo tests pass. encode id keeps counting

* core 3

* loggerd then encoderd

* stop loggerd first

* core 3 always online

* see the camera when we see encoder packet

* encoderd on small core uses 37%

* remove encoder logic from loggerd

* delete unit test that doesn't really make sense anymore

Co-authored-by: Comma Device <device@comma.ai>
2022-05-13 17:56:02 -07:00
Joost Wooning
489fbb74b0 camerad: combine debayering and rgb_to_yuv opencl kernels (#24452)
* camerad: combine debayering and rgb_to_yuv opencl kernels

* fix border

* fix snapshot

* rename function

* update camerad cpu usage

* update camerad power draw

* vignetting equal to previously

* test other local worksize

* use less floats

* reduce amount of code

* move barrier back

* make faster

* fix corners

* cleanup

* cleanup

* allow more jitter on driverState timing

Co-authored-by: Comma Device <device@comma.ai>
2022-05-13 16:49:31 +02:00
Willem Melching
9ef17a877f sanity check on debayer time in CI (#24453)
* check debayer time

* set actual threshold

* also print mean and max
2022-05-06 17:27:54 +02:00
Willem Melching
77a6f3d034 delay bz2 compression from logging to uploading (#24392)
* remove log_name

* log without compression

* fix tests

* remove extension for bootlog

* another test fix

* uploader compresses

* also compress in athena

* only compress qlog

* more generic check in do_upload

* fix bootlog compression

* lower loggerd cpu usage

* dont link against bz2

* set core affinity to little cluster

* handle old files
2022-05-03 14:09:17 +02:00
Willem Melching
a3cfa444d3 ui: combine OnroadHud into NvgWindow (#24369)
* ui: combine OnroadHUD and NVGWindow

* draw hud first

* cleanup

* removed commented line

* fix text rendering

* increase cpu usage
2022-04-29 10:55:44 -07:00