Commit Graph

229 Commits

Author SHA1 Message Date
Shane Smiskol ee03d13529 card: process that abstracts car interface and CAN (#32380)
* format card

* standalone process

* no class member CS, there's no point

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

* rename CoS

* Update selfdrive/controls/controlsd.py

* never works first time :D

* canRcvTimeout is bool

* hack

* add cpu

* see what testing closet comes up with

* first

* some clean up

* support passable CI, fix test models

* fix startup alert

* process replay changes

* test_fuzzy

* gate carOutput valid on carControl valid

* we should publish after we update carOutput

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

* check all checks for carControl in case controlsd dies

* log more timestamps

* more generic latency logger; needs some clean up

latency_logger.py was difficult to understand and modify

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

* temp try to send earlier

* add log

* remove latencylogger

* no mpld3!

* old loop

* detect first event

* normal send

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

how it was is best

* sheesh! update should be first

* first timestamp

* temp comment ( timestamp is slow :( )

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

* Received can

* new plot timestamps

* clean up

* no poll

* add controllers (draft)

* Revert "add controllers (draft)"

This reverts commit e2c3f01b2fadcff74347bac90c8a5cc1ef4e27b3.

* fix that

* conventions

* just use CS

* consider controlsd state machine in card: not fully done

* hmm it's just becoming controlsd

* rm debugging

* Revert "hmm it's just becoming controlsd"

This reverts commit 534a357ee95bec4ed070667186af55d59421bbc7.

* Revert "just use CS"

This reverts commit 9fa7406f30c86200f20457f7b9ff95e731201bf9.

* add vCruise

* migrate car state

* Revert "migrate car state"

This reverts commit 4ae86ca163c6920070f410f608f7644ab632850b.

* Revert "add vCruise"

This reverts commit af247a8da41c3626ada4231b98042da1a1ae4633.

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

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

This reverts commit b4af8a9b0a2e17fdfc89d344c64678ef51305c24.

* poll carState without conflate

* bump

* remove state transition

* fix

* update refs

* ignore cumLagMs and don't ignore valid

* fix controls mismatch; controlsd used to set alt exp

* controlsd_config_callback not needed for card

* revert ref temp

* update refs

* no poll

* not builder!

* test fix

* need to migrate initialized

* CC will be a reader

* more as_reader!

* fix None

* init after publish like before - no real difference

* controlsd clean up

* remove redundant check and check passive for init

* stash

* flip

* migrate missing carOutput for controlsd

* Update ref_commit

* bump cereal

* comment

* no class params

* no class

* Revert "no class"

This reverts commit 5499b83c2dcb5462070626f8523e3aec6f4c209d.

* add todo

* regen and update refs

* fix

* update refs

* and fix that

* should be controlsstate

* remove controlsState migration

CoS.initialized isn't needed yet

* fix

* flip!

* bump

* fix that

* update refs

* fix

* if canValid goes false, controlsd would still send

* bump

* rm diff

* need to be very careful with initializing

* update refs
old-commit-hash: 71f5c441fe32184d94a9f26565a36c661e2ccf28
2024-05-21 01:18:10 -07:00
Adeeb Shihadeh 14e7c7d260 thermald: move to system/ (#32494)
* thermald: move to system/

* fix path

* revert
old-commit-hash: b2cf9b35f68061587fd6ab7a94a58f7b433b2da2
2024-05-20 22:51:29 -07:00
Adeeb Shihadeh 7a3e454d27 move sentry/stats to system/ (#32490)
* move sentry/stats to system/

* fix
old-commit-hash: da6fd751257bcd3aa087ac4114e9f1529f7d3d12
2024-05-20 22:39:25 -07:00
Adeeb Shihadeh 18970afb0e athena: move to system/ (#32488)
* athena: move to system/

* slash
old-commit-hash: 3279dbeff7d4f696804c94de1573be2b5f3f2f9d
2024-05-20 14:59:43 -07:00
cl0cks4fe 639a634f7c Unittest to pytest (#32366)
* add pytest-asyncio

* switch common

* switch selfdrive

* switch system

* switch tools

* small fixes

* fix setUp and valgrind pytest

* switch to setup

* fix random

* switch mock

* switch test_lateral_limits

* revert test_ui

* fix poetry.lock

* add unittest to banned-api

* add inline ignores to remaining unittest imports

* revert test_models

* revert check_can_parser_performance

* one more skip

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: dd9d5d4528ff0a61c7699abc1b63ba8fd282632f
2024-05-17 11:01:44 -07:00
YassineYousfi 75a69e12b3 disable navigate on openpilot (#32106)
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700

* noop ciao

* here too

* mapsd too

* update translations

* disable mapsd test from test onroad

* disable mapRenderState test from timings

* lint

* fix exp mode toggle panel

* update tr

* french done

* dont build mapd

* only no nav

* just comment

* deprecate nav fields

* rm not comment

* dont deprecate too much

* remove from services

* merge cereal
old-commit-hash: 754dd45ffa82bf3d7f2d3413c4132eb65551ebd5
2024-04-09 10:40:38 -07:00
Justin Newberry 1548b673e0 use build_metadata everywhere we used to use get_version, get_commit, etc (#31941)
* use build_metadata

* fix normailzed

* also normalized

* and here

* fix diff

* and that one

* cleanup
old-commit-hash: effee900c4e9f3950b88a43b08da40bdbc47aed0
2024-03-21 10:15:29 -07:00
Justin Newberry a5bc36ea9d move git commands to common/git.py (#31921)
move git into common/git.py
old-commit-hash: 4fbc8a389662f82018eeabd03294cc761b87ce75
2024-03-19 12:39:09 -07:00
Adeeb Shihadeh bdc5477a75 unicore gps (#31852)
* ugpsd

* oops

* cleanup

* disable

* more docs

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 4af932b74b95c99abc9d49c31dc0a023702a77d0
2024-03-12 22:33:45 -07:00
Adeeb Shihadeh 5733c516c3 move pigeond to system/ubloxd/ (#31848)
* move pigeond to system/ubloxd/

* update release

* more

* mv test
old-commit-hash: 147ccc7a582518e565755262e36799b540b5ddf7
2024-03-12 17:13:13 -07:00
Justin Newberry 2cdb550d12 updated -> move to selfdrive/updated/updated (#31696)
* move updated

* for release
old-commit-hash: be2b48183f81c09f7bc5d1e77d880ce40abacb20
2024-03-04 14:33:52 -08:00
Cameron Clough a09300385b mypy: use implicit-optional (#31590)
* mypy: set implicit-optional = true

* find and replace '| None = None' -> '= None' in function args
old-commit-hash: 80da3aee147867e46f566b63a96f4fe199e0628d
2024-02-25 13:29:18 -08:00
Cameron Clough 9bd90112d0 use pyupgrade to update to new typing syntax (#31580)
* add pyupgrade hook

* run pyupgrade (pre-commit run -a)

* ruff --fix

* Revert "add pyupgrade hook"

This reverts commit 56ec18bb6b8602a0b612f3803d96cdad14b52066.

* revert changes to third_party/

* manual type fixes

* explicit Optional wrapping capnp objects
old-commit-hash: 995250ae4967943ee33a3699a1d89a7a770d95e9
2024-02-24 16:41:23 -08:00
Adeeb Shihadeh 01945d439f More startup checks (#31511)
* no lag!

* kill first

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 1145122b3fea1ddb8aa49a97688f6b52155bd202
2024-02-19 13:58:36 -08:00
Adeeb Shihadeh df6154b591 log git commit date (#31490)
* log git commit date

* unix ts

* fix

* bump cereal

* cleanup
old-commit-hash: 0723c2bc5f22a079685c1643fa2d72f70eeff087
2024-02-16 13:19:10 -08:00
Adeeb Shihadeh adcac1f207 SubMaster: improve service aliveness checks (#31391)
* bump cereal

* fix

* fixes

* single poll

* bump

* bump

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 279d2c3b2319bab73bbc9ed103911b6df3b0dc02
2024-02-12 10:11:37 -08:00
Justin Newberry 6165e12181 fix bootlog params copying from other prefix (#31381)
* fix

* also in prefix

* no d

* get it from the path
old-commit-hash: 1a1f30c4b6a4576e66badd3b7d69a501f3f0d461
2024-02-08 16:45:55 -08:00
Justin Newberry a1d331cb3c test_navd: parameterize random test (#31376)
* parameterized

* import

* dumb
old-commit-hash: 1c201295c75e3f2d37bf0a5061cddd0acc6faf1a
2024-02-08 11:41:56 -08:00
Justin Newberry 9ed9e5394f test_manager: ensure test independence (#31364)
* ensure independent

* still run 10- times

* need index

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: c79d1e0192d13fe261a2b06893ff58211d78f5d4
2024-02-07 20:52:21 -08:00
Adeeb Shihadeh 35c9578c5e fix bootlog count (#31319)
old-commit-hash: cbd46802b05b8883d6fa3f64fa069a5d5aaabd17
2024-02-05 23:00:45 -08:00
Greg Hogan 94b3f2d22a logging: make swaglog context match in python and c (#31288)
* logging: make swaglog context match in python and c

* add git context to athenad
old-commit-hash: d0a1fa636a9bf2f6137c4a61b27fa29f690864f6
2024-02-02 23:10:04 -08:00
Greg Hogan 14e12980f5 simplify git remote is comma check (#31284)
* simplify git remote is comma check

* cast to str

* eliminate default and always return string

* add type annotation for cache decorator

* fix up default handling
old-commit-hash: 7affba06d89b366d98f42c4ea3a2f904e6ef3357
2024-02-02 21:23:32 -08:00
Adeeb Shihadeh d7aa7440e5 manager: remove RTC time pull (#31270)
old-commit-hash: 98564961cd5244b36d3371efaaab421a50716129
2024-02-01 14:00:18 -08:00
Adeeb Shihadeh e03ba031b6 disable TestManager.test_clean_exit for now
old-commit-hash: 7f35d0a909d65d647008e74df56c51e603971012
2024-01-24 11:53:03 -08:00
Adeeb Shihadeh b8fbf60097 timed: always pull time and timezone from GPS (#31112)
* timed

* rm timezoned

* just gps

* ok

* little more

* fix

* datetime

* sleep a little

---------

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 827aa2e4fad3334e594f8a259444f9461579fa2d
2024-01-22 18:35:11 -08:00
Adeeb Shihadeh 972650f0eb remove dashcam branch (#31081)
* remove dashcam branch

* fix

* more cleanup

* remove param

* one more
old-commit-hash: 7cd9568423a2e78187d16018b70a78f56c02027d
2024-01-19 14:05:03 -08:00
Adeeb Shihadeh d0e1d548da remove old ref to manager_prepare
old-commit-hash: f3689ef56108e4eafd00f17086e1f462451edefd
2024-01-19 10:44:46 -08:00
Adeeb Shihadeh e3cb318151 cleanup startup params (#31068)
old-commit-hash: b4ebba384b0d5e884f99a56caa8de92675cbd60f
2024-01-18 22:09:55 -08:00
Adeeb Shihadeh 04c0c9410f speedup prebuilt check (#31065)
* speedup prebuilt check

* one place
old-commit-hash: e3b17d10f35d6b2107d501c4e5d6b748f23b8900
2024-01-18 21:02:18 -08:00
Adeeb Shihadeh 238da88a33 manager: merge prepare and init
old-commit-hash: ce947ffe9a1f31190b89b83e2266bf2a78f2d798
2024-01-18 20:45:41 -08:00
Adeeb Shihadeh 8a84e369a0 bootlog doesn't block startup (#31061)
* bootlog doesn't block startup

* keep params

* fix

* cleanup
old-commit-hash: c4362bd958d1473b97ae336fd0e9bd7b50fe4fb9
2024-01-18 20:04:08 -08:00
Adeeb Shihadeh f5bf1a3389 manager: clean exit on ctrl-c
old-commit-hash: 3918039e293c1784cecc49cca41bc1907f23f146
2024-01-10 19:37:10 -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: 35f819c8239b8ac3a000087a0f791b91ccea5e5e
2023-12-06 17:27:51 -08:00
Justin Newberry 817161f3ac Soundd: move to python (#30567)
soundd python
old-commit-hash: abe39e50766c418818bf72d2567db78978dbd466
2023-12-05 18:10:01 -08:00
Adeeb Shihadeh f3dec8658c Revert "Simplify passive mode handling (#30593)"
old-commit-hash: 99d51bf02c5a13f3064b012da55634f8a319091e
2023-12-04 15:05:05 -08:00
Adeeb Shihadeh 4be789d40a Simplify passive mode handling (#30593)
* simplify passive handling

* makes more sense
old-commit-hash: 5ccff25d885365e4247665fdf8380c6b67c36b28
2023-12-03 13:59:59 -08:00
Adeeb Shihadeh 1cc4f1a634 new msgs default to invalid (#30587)
* new msgs default to invalid

* fix lm

* set more valid

* update rest

* update refs

* fix logMessage

* more valids

* cleanup

* fix llk test

* pigeond is also valid

* more valids
old-commit-hash: a1d36961cf9fa0c6a9c41fe92d6504de5d36cbaa
2023-12-03 10:50:17 -08:00
Adeeb Shihadeh 4394116e5b clear non-release params on startup (#30583)
old-commit-hash: 531e62fc033b06b54f11c702dcbde5982bfe41e6
2023-12-01 23:57:54 -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: f058b5d64eed31878533a85f25eb53386ff9e330
2023-12-01 21:13:37 -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: 4cae08e6369c0f63229222c0b3815da983928787
2023-11-18 23:23:16 -08:00
Adeeb Shihadeh 8d3a5970d4 jenkins: use build.py to manage cache size (#30440)
* jenkins: use build.py to manage cache size

* label

* set pp

* double

* cleanup

* non mimimal build on PC

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
old-commit-hash: 5f7143df02b857201e2615240ccd1be06daa32fe
2023-11-10 16:55:25 -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: aec7cea30d48dc8915eea38c86de7d4effa0548d
2023-11-07 17:35:44 -08:00
Adeeb Shihadeh 331f95a2e2 remove mapsd exit code exception (#30398)
old-commit-hash: af86e305669b477d76a14485bd750f843aa0175d
2023-11-06 21:26:52 -08:00
Harald Schäfer 7c4d29c3d1 Rm laikad (#30299)
* rm laika

* Rm laika

* Needed this

* More rm

* More rm
old-commit-hash: 56dea7b0b42e7624a39fef0986cd0db151bb9512
2023-10-23 00:15:39 -07:00
Adeeb Shihadeh 3d602a86dc delete clocksd (#30252)
old-commit-hash: 67f2321060321a87082e297151692ed9b36de2c0
2023-10-22 14:47:38 -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: 503fa121ee83469763e9386b9e5df7a733693e2c
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: 0c0af682a13753a3db971b12c2852cfddf1e5b49
2023-09-07 14:39:37 -07:00
Justin Newberry c4f322ce2d Linter: remove pylint (#29611)
remove pylint
old-commit-hash: 1ee6ed4b16e2ade0dd887c0687243aee769043e5
2023-08-24 16:30:54 -07:00
Adeeb Shihadeh 61cf541322 Minimal build (#29600)
* add build flag for minimum build

* add minimal build

* update

* fix pj

* bump opendbc

* update subaru
old-commit-hash: 4917e22615adbfcc9b3c3ec89b00d240e0b48883
2023-08-24 14:58:30 -07:00
Adeeb Shihadeh 5bc6566e7c manager: refactor process starting logic (#29574)
* refactor into sane api

* always set

* cleanup

* cleanup

* and there too

* fix order

* fail

* and ensure we test

* pass test

pass test

* order

* only diff not related

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
old-commit-hash: d013f2174adf8ffbf2ba86e2656cf438930850a6
2023-08-24 06:00:55 -07:00