Commit Graph

230 Commits

Author SHA1 Message Date
Shane Smiskol e836845f02 update TOTAL_SCONS_NODES 2024-05-21 01:19:55 -07:00
Shane Smiskol 71f5c441fe 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
2024-05-21 01:18:10 -07:00
Adeeb Shihadeh b2cf9b35f6 thermald: move to system/ (#32494)
* thermald: move to system/

* fix path

* revert
2024-05-20 22:51:29 -07:00
Adeeb Shihadeh da6fd75125 move sentry/stats to system/ (#32490)
* move sentry/stats to system/

* fix
2024-05-20 22:39:25 -07:00
Adeeb Shihadeh 3279dbeff7 athena: move to system/ (#32488)
* athena: move to system/

* slash
2024-05-20 14:59:43 -07:00
cl0cks4fe dd9d5d4528 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>
2024-05-17 11:01:44 -07:00
YassineYousfi 754dd45ffa 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
2024-04-09 10:40:38 -07:00
Justin Newberry effee900c4 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
2024-03-21 10:15:29 -07:00
Justin Newberry 4fbc8a3896 move git commands to common/git.py (#31921)
move git into common/git.py
2024-03-19 12:39:09 -07:00
Adeeb Shihadeh 4af932b74b unicore gps (#31852)
* ugpsd

* oops

* cleanup

* disable

* more docs

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-12 22:33:45 -07:00
Adeeb Shihadeh 147ccc7a58 move pigeond to system/ubloxd/ (#31848)
* move pigeond to system/ubloxd/

* update release

* more

* mv test
2024-03-12 17:13:13 -07:00
Justin Newberry be2b48183f updated -> move to selfdrive/updated/updated (#31696)
* move updated

* for release
2024-03-04 14:33:52 -08:00
Cameron Clough 80da3aee14 mypy: use implicit-optional (#31590)
* mypy: set implicit-optional = true

* find and replace '| None = None' -> '= None' in function args
2024-02-25 13:29:18 -08:00
Cameron Clough 995250ae49 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
2024-02-24 16:41:23 -08:00
Adeeb Shihadeh 1145122b3f More startup checks (#31511)
* no lag!

* kill first

---------

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

* unix ts

* fix

* bump cereal

* cleanup
2024-02-16 13:19:10 -08:00
Adeeb Shihadeh 279d2c3b23 SubMaster: improve service aliveness checks (#31391)
* bump cereal

* fix

* fixes

* single poll

* bump

* bump

---------

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

* also in prefix

* no d

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

* import

* dumb
2024-02-08 11:41:56 -08:00
Justin Newberry c79d1e0192 test_manager: ensure test independence (#31364)
* ensure independent

* still run 10- times

* need index

---------

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

* add git context to athenad
2024-02-02 23:10:04 -08:00
Greg Hogan 7affba06d8 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
2024-02-02 21:23:32 -08:00
Adeeb Shihadeh 98564961cd manager: remove RTC time pull (#31270) 2024-02-01 14:00:18 -08:00
Adeeb Shihadeh 7f35d0a909 disable TestManager.test_clean_exit for now 2024-01-24 11:53:03 -08:00
Adeeb Shihadeh 827aa2e4fa 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>
2024-01-22 18:35:11 -08:00
Adeeb Shihadeh 7cd9568423 remove dashcam branch (#31081)
* remove dashcam branch

* fix

* more cleanup

* remove param

* one more
2024-01-19 14:05:03 -08:00
Adeeb Shihadeh f3689ef561 remove old ref to manager_prepare 2024-01-19 10:44:46 -08:00
Adeeb Shihadeh b4ebba384b cleanup startup params (#31068) 2024-01-18 22:09:55 -08:00
Adeeb Shihadeh e3b17d10f3 speedup prebuilt check (#31065)
* speedup prebuilt check

* one place
2024-01-18 21:02:18 -08:00
Adeeb Shihadeh ce947ffe9a manager: merge prepare and init 2024-01-18 20:45:41 -08:00
Adeeb Shihadeh c4362bd958 bootlog doesn't block startup (#31061)
* bootlog doesn't block startup

* keep params

* fix

* cleanup
2024-01-18 20:04:08 -08:00
Adeeb Shihadeh 3918039e29 manager: clean exit on ctrl-c 2024-01-10 19:37:10 -08:00
Adeeb Shihadeh 35f819c823 swaglog.py goes in common/ (#30631)
* swaglog.py goes in common/

* all of these go in release

* we'll even include the pyx
2023-12-06 17:27:51 -08:00
Justin Newberry abe39e5076 Soundd: move to python (#30567)
soundd python
2023-12-05 18:10:01 -08:00
Adeeb Shihadeh 99d51bf02c Revert "Simplify passive mode handling (#30593)" 2023-12-04 15:05:05 -08:00
Adeeb Shihadeh 5ccff25d88 Simplify passive mode handling (#30593)
* simplify passive handling

* makes more sense
2023-12-03 13:59:59 -08:00
Adeeb Shihadeh a1d36961cf 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
2023-12-03 10:50:17 -08:00
Adeeb Shihadeh 531e62fc03 clear non-release params on startup (#30583) 2023-12-01 23:57:54 -08:00
Kacper Rączy f058b5d64e 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
2023-12-01 21:13:37 -08:00
Adeeb Shihadeh 4cae08e636 rename rawgpsd to qcomgpsd (#30493)
* rename rawgpsd to qcomgpsd

* fix more paths

* that moved

* forgot the d
2023-11-18 23:23:16 -08:00
Adeeb Shihadeh 5f7143df02 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>
2023-11-10 16:55:25 -08:00
Justin Newberry aec7cea30d Pytest: tici mark for skipping on-device tests (#30412)
* mark tici

* not those ones

* missed that one

* add those

* add pypoetry

* oops
2023-11-07 17:35:44 -08:00
Adeeb Shihadeh af86e30566 remove mapsd exit code exception (#30398) 2023-11-06 21:26:52 -08:00
Harald Schäfer 56dea7b0b4 Rm laikad (#30299)
* rm laika

* Rm laika

* Needed this

* More rm

* More rm
2023-10-23 00:15:39 -07:00
Adeeb Shihadeh 67f2321060 delete clocksd (#30252) 2023-10-22 14:47:38 -07:00
Mitchell Goff 503fa121ee 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
2023-09-07 19:46:43 -07:00
Mitchell Goff 0c0af682a1 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
2023-09-07 14:39:37 -07:00
Justin Newberry 1ee6ed4b16 Linter: remove pylint (#29611)
remove pylint
2023-08-24 16:30:54 -07:00
Adeeb Shihadeh 4917e22615 Minimal build (#29600)
* add build flag for minimum build

* add minimal build

* update

* fix pj

* bump opendbc

* update subaru
2023-08-24 14:58:30 -07:00