Commit Graph

526 Commits

Author SHA1 Message Date
Adeeb Shihadeh
ab31860658 remove PyYAML package (#30770)
* remove PyYAML package

* remove those

* add comments back

* fix lock

* fix those
old-commit-hash: bc54ed794b
2023-12-16 20:48:57 -08:00
Adeeb Shihadeh
2526dcf30c remove Qt wrapper scripts (#30454)
* remove Qt wrapper scripts

* revert those
old-commit-hash: 3831bf19e4
2023-12-10 11:45:35 -08:00
Dean Lee
27284c4049 camerad: move sensor related code to /sensors (#30647)
old-commit-hash: ef262ff9eb
2023-12-08 11:19:10 -08:00
Dean Lee
164644e6b4 camerad: split sensor_ic2.h (#30641)
* split sensor_ic2.h

* move start_reg,stop_reg
old-commit-hash: bdf868ddc2
2023-12-07 15:45:49 -08:00
Dean Lee
3c4d6de5d1 camerad: move AR0231 functions to camera_ar0231.cc (#30635)
* move AR0231 functions to camera_ar0231.cc

* move to sensors/aro231.cc
old-commit-hash: ecfe201a57
2023-12-07 11:48:17 -08:00
Adeeb Shihadeh
59eb2988de swaglog.py goes in common/ (#30631)
* swaglog.py goes in common/

* all of these go in release

* we'll even include the pyx
old-commit-hash: 35f819c823
2023-12-06 17:27:51 -08:00
Justin Newberry
12da944f1c jenkins: retry build_devel (#30628)
* will it work

* retry build devel

* correct p[ath

* try a failure

* Revert "try a failure"

This reverts commit ba4e6a0a2096b94887fcfbf7d011e34aa2a16c41.
old-commit-hash: 36bebb1aa0
2023-12-06 17:22:32 -08:00
Justin Newberry
f945b8ebaa jenkins: remove pytest tici conf (#30621)
* remove pytest conf

* remove that too
old-commit-hash: 31ab43ce41
2023-12-06 11:13:22 -08:00
Justin Newberry
817161f3ac Soundd: move to python (#30567)
soundd python
old-commit-hash: abe39e5076
2023-12-05 18:10:01 -08:00
Kacper Rączy
d331250b7e webrtcd: endpoint for message schema retrieval vol. 2 (#30607)
* webrtcd: endpoint for message schema retrieval (#30578)

* Capnp json schema conversion

* Schema get endpoint

* Type annotation for generate_field

* Filter empty services

* Add schema.py to release
old-commit-hash: f46f00b373
2023-12-04 23:51:52 -08:00
Kacper Rączy
d062a97a26 webrtcd: webrtc streaming server (audio/video/cereal) (#30186)
* WebRTCClient and WebRTCServer abstractions

* webrtc client implementation

* Interactive test scripts

* Send localDescriptions as offer/asnwer, as they are different

* Tracks need to be added after setting remote description for multi-cam streaming to work

* Remove WebRTCStreamingMetadata

* Wait for tracks

* Move stuff to separate files, rename some things

* Refactor everything, create WebRTCStreamBuilder for both offer and answers

* ta flight done time to grind

* wait for incoming tracks and channels

* Dummy track and frame reader track. Fix timing.

* dt based on camera type

* first trial of the new api

* Fix audio track

* methods for checking for incoming tracks

* Web migration part 2

* Fixes for stream api

* use rtc description for web.py

* experimental cereal proxy

* remove old code from bodyav

* fix is_started

* serialize session description

* fix audio

* messaging channel wrapper

* fix audiotrack

* h264 codec preference

* Add codec preference to tracks

* override sdp codecs

* add logging

* Move cli stuff to separate file

* slight cleanup

* Fix audio track

* create codec_mime inside force_codec function

* fix incoming media estimation

* move builders to __init__

* stream updates following builders

* Update example script

* web.py support for new builder

* web speaker fixes

* StreamingMediaInfo API

* Move things around

* should_add_data_channel rename

* is_connected_and_ready

* fix linter errors

* make cli executable

* remove dumb comments

* logging support

* fix parse_info_from_offer

* improve type annotations

* satisfy linters

* Support for waiting for disconnection

* Split device tracks into video/audio files. Move audio speaker to audio.py

* default dt for dummy video track

* Fix cli

* new speaker fixes

* Remove almost all functionality from web.py

* webrtcd

* continue refactoring web.py

* after handling joystick reset in controlsd with #30409, controls are not necessary anymore

* ping endpoint

* Update js files to at least support what worked previously

* Fixes after some tests on the body

* Streaming fixes

* Remove the use of WebRTCStreamBuilder. Subclass use is now required

* Add todo

* delete all streams on shutdown

* Replace lastPing with lastChannelMessageTime

* Update ping text only if rtc is still on

* That should affect the chart too

* Fix paths in web

* use protocol in SSLContext

* remove warnings since aiortc is not used directly anymore

* check if task is done in stop

* remove channel handler wrapper, since theres only one channel

* Move things around

* Moved webrtc abstractions to separate repository

* Moved webrtcd to tools/webrtc

* Update imports

* Add bodyrtc as dependency

* Add webrtcd to process_config

* Remove usage of DummyVideoStreamTrack

* Add main to webrtcd

* Move webrtcd to system

* Fix imports

* Move cereal proxy logic outside of runner

* Incoming proxy abstractions

* Add some tests

* Make it executable

* Fix process config

* Fix imports

* Additional tests. Add tests to pyproject.toml

* Update poetry lock

* New line

* Bump aiortc to 1.6.0

* Added teleoprtc_repo as submodule, and linked its source dir

* Add init file to webrtc module

* Handle aiortc warnings

* Ignore deprecation warnings

* Ignore resource warning too

* Ignore the warnings

* find free port for test_webrtcd

* Start process inside the test case

* random sleep test

* test 2

* Test endpoint function instead

* Update comment

* Add system/webrtc to release

* default arguments for body fields

* Add teleoprtc to release

* Bump teleoprtc

* Exclude teleoprtc from static analysis

* Use separate event loop for stream session tests
old-commit-hash: f058b5d64e
2023-12-01 21:13:37 -08:00
Adeeb Shihadeh
5acd765c1e camerad cleanup (#30573)
* misc cleanup

* rm those

* rm utils

* fix build

* rm pool

* little more

* goodbye imgproc
old-commit-hash: e34ee43eea
2023-12-01 20:10:07 -08:00
Kacper Rączy
9cd71f897a locationd: remove models unused in openpilot (#30481)
* Remove filters used exclusively by xx

* Update SConstruct

* Remove from release

* Accomodate rednose build changes

* Update rednose ref

* rednose/helpers in rpath

* Add rednose_filters to files_common

* Change rednose_root

* Copy rednose site_scons to docker images

* Remove rednose from rpath

* Bump rednose

* Bump rednose

* Bump rednose
old-commit-hash: f65e6bc30e
2023-11-22 13:25:29 -08:00
Adeeb Shihadeh
ca85e5b82a rename rawgpsd to qcomgpsd (#30493)
* rename rawgpsd to qcomgpsd

* fix more paths

* that moved

* forgot the d
old-commit-hash: 4cae08e636
2023-11-18 23:23:16 -08:00
Dean Lee
54346eccee modeld: remove modeldata.h (#30423)
* remove modeldata.h

* remove TRAJECTORY_SIZE
old-commit-hash: 335237aea0
2023-11-18 22:45:26 -08:00
Adeeb Shihadeh
2b9c56bd72 esim is metered (#30486)
* esim is metered

* it's an enum

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: d3aad9ca46
2023-11-17 15:29:52 -08:00
Kacper Rączy
7cac430ecc Remove laika submodule (#30453)
* Remove laika submodule

* Remove laika check for minimal builds

* Fix minimal build check

* Bring back exclude for opendbc in codespell

* Fix typo

* Copy GNSS indices from laika

* Delete laika dependencies
old-commit-hash: 2de13bea91
2023-11-15 10:06:37 +01:00
Justin Newberry
efaa3ea500 Pytest: default settings on PC improvements (#30441)
* always multithreaded

* multithreaded

* pkill correct process

* escape more

* load for interfaces
old-commit-hash: 2ad82cbfb0
2023-11-13 10:45:24 -08:00
Justin Newberry
3027a428cb Pytest: tici mark for skipping on-device tests (#30412)
* mark tici

* not those ones

* missed that one

* add those

* add pypoetry

* oops
old-commit-hash: aec7cea30d
2023-11-07 17:35:44 -08:00
Harald Schäfer
422a9289b6 Tinygrad: use compile2 (#30400)
* Tinygrad: use compile2

* unused

* compile2 file

* slightly different

* Revert "slightly different"

This reverts commit 8a470ecab40c295f3b8c777b82cb7a22890d116e.

* slightly different ref

* add release file

* rm default args
old-commit-hash: c9fae805bc
2023-11-07 09:54:48 -08:00
Harald Schäfer
7c4d29c3d1 Rm laikad (#30299)
* rm laika

* Rm laika

* Needed this

* More rm

* More rm
old-commit-hash: 56dea7b0b4
2023-10-23 00:15:39 -07:00
Adeeb Shihadeh
3d602a86dc delete clocksd (#30252)
old-commit-hash: 67f2321060
2023-10-22 14:47:38 -07:00
YassineYousfi
d18f185115 modeld: parsing and publishing in python (#30273)
* WIP try modeld all in python

* fix plan

* add lane lines stds

* fix lane lines prob

* add lead prob

* add meta

* simplify plan parsing

* add hard brake pred

* add confidence

* fix desire state and desire pred

* check this file for now

* rm prints

* rm debug

* add todos

* add plan_t_idxs

* same as cpp

* removed cython

* add wfd width - rm cpp code

* add new files rm old files

* get metadata at compile time

* forgot this file

* now uses more CPU

* not used

* update readme

* lint

* copy this too

* simplify disengage probs

* update model replay ref commit

* update again

* confidence: remove if statemens

* use publish_state.enqueue

* Revert "use publish_state.enqueue"

This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.

* confidence: better shape defs

* use ModelConstants class

* fix confidence

* Parser

* slightly more power too

* no inline ifs :(

* confidence: just use if statements
old-commit-hash: cad17b1255
2023-10-19 14:23:51 -07:00
George Hotz
2b5ad3fe86 Bump tinygrad to master (0.7) (#30254)
* bump tinygrad to master

* ops_cpu is required now

* and that one too

* tinygrad is getting out of hand with all the files

* bump tinygrad

* update ref commit

* tinygrad master

* Revert "update ref commit"

This reverts commit e7284152899d6dd8a986d9570e6021addfbc6b0f.

* bump tinygrad repo

* bump master

* update ref commit
old-commit-hash: 50d720fc2e
2023-10-17 10:05:28 -07:00
Adeeb Shihadeh
c3aa58b492 cleanup up old lib64 references (#30246)
* cleanup sensord

* rm rest

* fix that

* update that
old-commit-hash: f0aa631818
2023-10-14 20:39:15 -07:00
Vivek Aithal
db2344cdd2 torqued: Refactor to share code with magd (#30238)
* refactor to extract common functions and classes out

* Add helpers.py to release files

* refactor
old-commit-hash: 9e24a11f17
2023-10-13 17:24:04 -07:00
Adeeb Shihadeh
61eb6f4f66 finish hardware move to system/ (#30140)
* finish hardware move to system/

* fix release

* couple more
old-commit-hash: c347096c3e
2023-10-02 16:49:07 -07:00
Adeeb Shihadeh
733c2b329c remove rtshield
old-commit-hash: f58969cb60
2023-10-02 15:40:35 -07:00
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