Commit Graph

398 Commits

Author SHA1 Message Date
Mitchell Goff
5732002296 Rewrite dmonitoringmodeld in python (#29740)
* Added dmonitoringmodeld.py

* Removed dmonitoringmodeld.cc

* Use ModelRunner helpers from runners/__init__.py

* Fixed DriverStateResult field ordering

* Some bug fixes

* Set calib input

* Look ma, no loop!

* Bump dmonitoringmodeld cpu usage in test_onroad

* Fixed memory leak caused by np.ctypes.data_as

* Formatting fixes

* chmod +x

* remove USE_ONNX_MODEL

* Realtime priority 1, formatting fixes
old-commit-hash: 503fa121ee
2023-09-07 19:46:43 -07:00
Mitchell Goff
f9daa1d1cc Rewrite navmodeld in python (#29579)
* Added navmodeld.py

* Deleted navmodeld.cc

* Write SConscript config flags to config.py

* Remove deleted files from release/files_common

* Some more bug fixes

* Added config.py to gitignore

* Get rid of config.py

* Use set_realtime_priority

* A tiny bit more cleanup

* set realtime priority 1

* Use ModelRunner helper class from runners/__init__.py

* Formatting fixes

* mama mia that's a SPICY memory leak
old-commit-hash: 0c0af682a1
2023-09-07 14:39:37 -07:00
Justin Newberry
c7029ea15a System: cleanup paths to use a common class (#29816)
* use OP prefix for logmessage

* cleanup paths too

* cleanup the paths too

* add hw.py to release

* fix those issues

* fix unittests

* fix unittests

* fix unittests

* do swaglog_ipc properly across all the files

* fix that

* fix swaglog in c++

* review suggestions
old-commit-hash: bfe990b112
2023-09-07 11:32:47 -07:00
Dean Lee
875b160fc6 ui/network: move to selfdrive/ui/qt/network/ (#29656)
* move to ui/qt/network

* wifimanager->wifi_manager
old-commit-hash: 125bd2cd9e
2023-08-27 15:23:19 -07:00
Mitchell Goff
a3fbbb26ac 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
old-commit-hash: 72a3c987c0
2023-08-25 14:36:26 -07:00
Adeeb Shihadeh
da423fd36d include all model runners in release
old-commit-hash: 6b5a0b3498
2023-08-25 12:02:22 -07:00
Mitchell Goff
5033da5e27 Added cython bindings for model runners and commonmodel (#29607)
* Added cython bindings for model runners and commonmodel

* Removed cython language_level=3

* loop to set CXXFLAGS for both envs
old-commit-hash: e2e39d100b
2023-08-24 17:00:26 -07:00
Adeeb Shihadeh
56facfcc5a Subaru: Crosstrek Hybrid dashcam mode (#25378)
* Subaru: Crosstrek Hybrid support

* hybrid cars in dashcam only

* revert that

* just dashcam

* tah should be abs

* remove unused import

* use the old dbc for now

* hybrid car exceptions in carstate

* need dashstatus until we get a proper cruiseactivated bit

* missing CP

* merge conflicts

* lets be consistent about extend

* cleanup

* fix and comments

* preglobal fix

* and the rest

* and this

* added hybrid to release

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: 973d90be77
2023-08-23 18:50:55 -07:00
Adeeb Shihadeh
b38403f2ca Revert Qt MOC hacks (#29528)
* Revert "CI: prevent moc from running in cache population step (#29401)"

This reverts commit 34634b95aa15dc608315016c40857f3e16ca4ff9.

* Revert "SCons: respect cache read only (#29437)"

This reverts commit 77cb4da6381fdf94ea98c55d6fcc30db4d24dcf6.

* don't change moc path
old-commit-hash: 91dc8457ae
2023-08-22 11:16:58 -07:00
Kacper Rączy
0c17a4f4d0 CI: prevent moc from running in cache population step (#29401)
* Do not remove moc_files from cache

* Add cache cleanup script

* Use cache cleanup script

* Dry-run in cache population command

* Add newline

* Temporarly disable master only constraint for cache cleanup step

* Add test lines

* one more

* Fix shebang

* Remove debug lines

* Bring back master branch constraints
old-commit-hash: d1aedccfbe
2023-08-22 10:47:56 -07:00
Dean Lee
97631ec362 common: C++ RateKeeper (#29374)
* c++ RateKeeper

* add to files_common

* use util::random_int

* improve monotor_time

* remove ~ratekeeper
old-commit-hash: 3eef63af9b
2023-08-20 21:27:02 -07:00
Adeeb Shihadeh
16ec56398c 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
old-commit-hash: a9626f95b6
2023-08-20 20:49:55 -07:00
Adeeb Shihadeh
51634f52dc replace custom clock helpers with time module (#29499)
* replace custom clock stuff wtih time module

* fix double

* fix release

* bump cereal

* update type

* fix one more
old-commit-hash: d61f86d339
2023-08-20 18:50:58 -07:00
Adeeb Shihadeh
cf1d402531 remove fastcluster (#29352)
* remove fastcluster

* lock

* rm there

* and from release files
old-commit-hash: 00a11a1a2b
2023-08-11 21:08:49 -07:00
Vivek Aithal
c1bcb53d4e [commabody] Add new body teleop ui (#29282)
* Revert "Revert "[commabody] Add new body teleop ui (#29119)" (#29249)"

This reverts commit 5dcfddbbfbddf00d16cb1f28c51f3dffc75d7cf6.

* add to release files

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: e7d307ca1b
2023-08-08 14:12:51 -07:00
Adeeb Shihadeh
5fb047c963 jenkins: rm tools copy in release tests (#29273)
* jenkins: rm tools copy in release tests

* rm that too
old-commit-hash: 7f02cb9faf
2023-08-07 19:14:45 -07:00
Adeeb Shihadeh
a7ec9933c8 build_release: simplify panda building (#29252)
* build_release: simplify panda building

* cleanup
old-commit-hash: 1e3bb5be7e
2023-08-05 16:56:30 -07:00
Kacper Rączy
edc31db6df aarch64: ubuntu build support (#29171)
* Add support for aarch64 pc linux

* Add new libyuv path to release files

* Add libyuv's x86_64 lib dir

* Move left-over platform specific dirs from files_common

* Remove libyuv/lib directory (duplicate)

* Fix mpc Sconscripts

* Remove acados lib path from mpc sources

* Fix typo

* Add watch3 exec on aarch64
old-commit-hash: c640429406
2023-08-01 16:18:46 -07:00
Adeeb Shihadeh
42d8a5ffc6 build_release: rm panda obj dir
old-commit-hash: 73e3d69b8d
2023-07-27 13:14:21 -07:00
Adeeb Shihadeh
68aba7cef4 add panda bootstubs to release files (#29163)
* add panda bootstubs to release files

* Update release/build_release.sh
old-commit-hash: fa310d9e25
2023-07-27 07:12:24 -07:00
Harald Schäfer
8a48732784 radard: no clustering (#29010)
* First commit

* cleanup

* Update ref

* Doesnt deserve two files

* cleanup radard
old-commit-hash: ca699e3989
2023-07-19 20:31:40 -07:00
Kacper Rączy
b1eb066965 macOS: fix build issues & re-enable CI (#28258)
* Uncomment build_mac job

* Add PYCURL_CURL_CONFIG

* Acados universal binary

* Remove x86 macos references from sconscript

* Add missing include in cabana

* Update cereal

* Update workflow

* Remove unnecessary libpaths for darwin

* Add missing path to cached dirs

* Fix path in cache preparation step

* Add poetry caches to CI cache

* Compile acados with lower deployment target for CI

* Update cereal

* Pass -rpath in linker flags as scons doed not support RPATH on macos

* Use scons api instead of os

* @rpath in install name of acados dylibs

* SConstruct cleanup

* fix liblocationd tests by adding lib suffix based on platform

* Update cereal

* Update opendbc

* Update opendbc

* Add acados gitignore to release files

* Update cereal

* Update cereal

* Add scons_cache to build cache

* Add Caskroom to cache

* Fix typo

* Link all packages at once, instead of one by one

* Run cleanup stage using poetry

* Remove casks from cache

* Move scons cache to separate cache step

* Save scons cache only on master

* Remove restore-keys from save-scons-cache step

* Uncomment if conditions for scons save

* Add gcc-arm-embedded cask cache to cache

* Custom handling of gcc-arm-embedded toolchain cache

* Rename dep cache key

* Exclude .fseventsd from cache

* Fix glob pattern

* Remove .feventsd before caching

* Run mac_setup only if dependency cache-hit != true

* Update cereal to master

* Add overwrite flag to brew link

* Remove manual casadi build from mac_setup

* Remove restore-keys from dependency cache

* Remove linux requirement for casadi

* Restore restore-keys to dependency cache
old-commit-hash: 45a6834a74
2023-06-21 13:14:20 -07:00
Maxime Desroches
6355215f81 test: car interface fuzzy testing + generating capnp structs (#28530)
* random car control

* format

* struct generation

* math

* staying real

* really staying real

* move

* split this

* format

* Revert "format"

This reverts commit a70a73952ee3833c4ae839d7b2729ee2a1e1a85b.

* Revert "split this"

This reverts commit ae96be63cbfbee230101e69a0f84c874f321fafa.

* space
old-commit-hash: 3fc104fb6d
2023-06-15 17:01:13 -07:00
Adeeb Shihadeh
4ab84b5dc1 thermald: common min date (#28457)
* thermald: common min date

* add to release files
old-commit-hash: d96361970b
2023-06-12 13:50:38 -07:00
Harald Schäfer
bb8eeb7873 Remove INDI controller (#28366)
old-commit-hash: dba437bc8d
2023-06-01 21:05:49 -07:00
vanillagorillaa
ef2fd2c311 Nissan: use generated DBCs (#28307)
* nissan dbc update

* bump

* for release build

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 90e0c61664
2023-05-29 23:01:30 -07:00
Kacper Rączy
a48b67f720 process_replay: universal replay mechanism using cereal fake sockets (#28115)
* replay_process_with_fake_sockets implementation

* add missing polled_pubs to configs

* drained_pubs field

* updated cereal

* Remove python/native variations of process replay. Replace with universal one using cereal fake sockets

* Replace old py FakeSocket with DummySocket

* Invalidate and deregister fake sockets after replay is done

* Remove unused import

* Set up new prefix for each replay

* Fixes for radard

* Refactor ReplayContext and ProcessConfig

* Minor fixes

* Reimplement controlsd fingerprinting callback

* time.sleep for sockets to safely reconnect

* Fix fingerprinting for controlsd

* Fixes for regen to work

* Fix replay loop to respect submaster frames

* Fix profiler to use new ProcessConfig fields

* Remove tqdm

* Refactor tests to use new ProcessConfig

* Add FrequencyBasedRcvCallback

* Make tolerance None by default

* Update cereal

* Add get_process_config utility func

* Update cereal. Simplify sync procedure

* Chain context managers

* New sub-socket reconnection procedure

* Fix linter issues

* Revert chaining of context managers

* Init controlsState only when replaying controlsd. Update cereal

* Update cereal

* Update process_replay to use new cereal API

* Update cereal

* Update cereal

* Update cereal

* Simplify radard recv callback

* Update release/files_common
old-commit-hash: e6ac6320ac
2023-05-23 17:24:16 -07:00
Adeeb Shihadeh
a3dcc5cd97 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>
old-commit-hash: 39c5d492bf
2023-05-20 17:59:41 -07:00
Adeeb Shihadeh
33af4f9cde scons: set warnings as error (#28004)
* navd: fix scons build warnings

* fix release

* sim fix

* fix docs

* build cabana
old-commit-hash: d5ab1e33c2
2023-04-22 15:24:45 -07:00
Adeeb Shihadeh
cdbf69f724 UI: cleanup old training guide assets (#27973)
* UI: cleanup old training guide assets

* rm that
old-commit-hash: 38b99b5461
2023-04-19 11:10:50 -07:00
Adeeb Shihadeh
de9a100719 ubloxd: move to system/ (#27536)
* ubloxd: move to system/

* more fixes

* add missing sconscript

* fix valgrind tests

* uncomment
old-commit-hash: c97911dbad
2023-03-08 16:11:18 -08:00
Adeeb Shihadeh
3a968c67e1 loggerd: move to system/ (#27534)
old-commit-hash: 94eb215980
2023-03-08 11:20:49 -08:00
Adeeb Shihadeh
47d30174d3 sensord: move to system/ (#27531)
* sensord: move to system/

* add gitignore to releaes files
old-commit-hash: 6f40f0d442
2023-03-08 10:56:54 -08:00
George Hotz
2fe836f158 tinygrad: bump to 0.5 (#27505)
* bump tinygrad to 0.5

* update release files

* ref commit + bump tinygrad

* save 220 mW

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 3892c60980
2023-03-06 15:50:28 -08:00
Adeeb Shihadeh
a7fb5afa4e Update check-submodules.sh
old-commit-hash: 28a9f41d56
2023-02-27 13:49:06 -08:00
Adeeb Shihadeh
6228c8d30b increase fetch depth for release submodule check
old-commit-hash: 927289cda8
2023-02-20 13:26:02 -08:00
Adeeb Shihadeh
858a5654b1 setup pre-built master-ci (#27205)
* try this

* add as release branch

* set the name

* build on master-ci
old-commit-hash: 0374d4817d
2023-02-05 15:45:01 -08:00
Kurt Nistelberger
0135d85a6d Ubloxd: glonass parsing tests (#27125)
* add glonass kaitai parsing

* add kaita generated files

* remove glonass from build

* add string non immediate type

* fix kaitai bug

* cleanUp

* add patch file

* fix scons order

* make lookup const

* remove comments

* rename

* add to release files

* remove printf

* add signs

* add glonass parsing test

* finish up glonass kaitai tests

* move cereal back to master

* ignore test_runner

* sign is not two complement

* address comments
---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: e2f5b164bd
2023-01-30 16:34:07 -08:00
George Hotz
94fc9ef358 tinygrad: update to new version (#27067)
* tinygrad: bump and retain OPENCL behavior

* add graph.py to release, bump tiny

* update files_common and read from it in scons

* bump with typo fix

* switch tinygrad backend to GPU

* update ref commit

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 64ed44e3b5
2023-01-24 14:06:56 -08:00
Adeeb Shihadeh
5c9299c6a2 CI: increase submodule fetch depth
old-commit-hash: 690999a2a6
2023-01-24 11:42:32 -08:00
Adeeb Shihadeh
4e3c449967 UI: update translations during scons build (#27009)
* UI: update translation during scons build

* all in scons

* debug

* precious

* debug

* add missing

* Update release/check-dirty.sh

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: da621245b2
2023-01-20 10:46:45 -08:00
Dean Lee
fa47048e44 cabana: use bootstrap icons (#26981)
* use bootstrap icons

* typo

* build into asset_obj

* add to files_common
old-commit-hash: c21d9408a1
2023-01-18 13:19:23 -08:00
Adeeb Shihadeh
400c294670 remove dead libdiag.h (#26951)
old-commit-hash: c91679c2d4
2023-01-13 15:23:58 -08:00
Adeeb Shihadeh
b3e47c691b move all third party stuff into third_party/ (#26853)
* mv fastcluster

* move msm_kgsl.h

* camerad include

* update path

* mv pyextra

* fix tici build

* add acados_template to release build

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: cd8e03d53e
2022-12-31 21:00:50 -08:00
Kurt Nistelberger
c469ee2f6c Laikad preperation (#26800)
* laikad update, renaming

* update locationd

* address PR comments

* draft to fix replay

* fix process relay to allow no response for messages

* bump cereal

* update process replay ref commit

* move laikad helpers to laika

* fix ublox test

* update refs

* add proper qcom replay support

* fix gnss support if both is available

* update refs

* move laika back to master

* move cereal back to master

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
old-commit-hash: 981532f0c3
2022-12-29 16:56:35 -08:00
Dean Lee
725e0665df common: add new class OpenPilotPrefix (#26753)
* new class OpenPilotPrefix

* move random_string to util

* rename file

* style

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 0d8254e959
2022-12-12 14:47:27 -08:00
Mitchell Goff
46f70592ae navmodeld (#26665)
* Added navmodeld

* New nav model: 7c306685-5476-4bd4-ab65-105b01b6bca8/300, feats only

* little cleanup

* Remove NAV flag

* Moved to_kj_array_ptr to commonmodel.h

* Switch from decimation to last_frame_id check

* add to release files

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: bb8a38a050
2022-12-02 13:14:30 -08:00
Adeeb Shihadeh
bec9751d00 add new panda SConscript to release files
old-commit-hash: 92ddd3c57e
2022-12-01 00:28:40 -08:00
Cameron Clough
9bcf83f493 micd: scale sound volume with ambient noise level (#26399)
* test changing sound volume

* test changing sound volume

* create system/hardware/pc/hardware.h

* implement Hardware::set_volume using pactl

* soundd: use Hardware::set_volume

* add sounddevice dependency

* sounddevice example

* simple micd

* cleanup

* remove this

* fix process config

* add to release files

* hardware: get sound input device

* no more offroad

* debug

* calculate volume from all measurements since last update

* use microphone noise level to update sound volume

* fix scale

* mute microphone during alerts

* log raw noise level

* hardware: reduce tici min volume

* improve scale

* add package

* clear measurements on muted

* change default to min volume and respond quicker

* fixes

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

* logarithmic scaling

* fix

* respond quicker

* fixes

* tweak scaling

* specify default device

* Revert "hardware: get sound input device"

This reverts commit 50f594f7a3bab005023482bc793147a8c8dae5d7.

* tuning

* forgot to update submaster

* tuning

* don't mute microphone, and clip measurement

* remove submaster

* fixes

* tuning

* implement Hardware::set_volume using pactl

* Revert "test changing sound volume"

This reverts commit 4bbd870746ec86d1c9871a6175def96cf7f751a6.

* draft

* draft

* calculate sound pressure level in dB

* fix setting

* faster filter

* start at initial value

* don't run command in background

* pactl: use default sink

* use sound pressure db

* tuning

* bump up max volume threshold

* update filter slower

* fix divide by zero

* bump cereal

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: 108ff15f5d
2022-11-30 21:56:03 -08:00
Cameron Clough
303b5532ad soundd: change system sound mixer volume (#26633)
* test changing sound volume

* create system/hardware/pc/hardware.h

* soundd: use Hardware::set_volume

* implement Hardware::set_volume using pactl

* Revert "test changing sound volume"

This reverts commit 4bbd870746ec86d1c9871a6175def96cf7f751a6.

* don't run command in background

* pactl: use default sink
old-commit-hash: 02b5b6fe1f
2022-11-30 15:36:25 -08:00