Commit Graph

521 Commits

Author SHA1 Message Date
Mitchell Goff 40fb90a8a2 Add gas/brake press probs to ModelDataV2 (#33382)
* Add gas/brake press probs to ModelDataV2

* Updated model_replay_ref_commit
2024-08-29 14:25:33 -07:00
Dean Lee 908aa525ec scons: remove duplicate linker flags for -ljson11, -lzmq (#33361)
fix duplicate link
2024-08-23 10:42:57 -07:00
Shane Smiskol e735a7f379 move selfdrive/car to opendbc (#32630)
* move most of /car

* move some car tests

move some car tests

* fix selfdrive/car/tests

* fix selfdrive/controls tests

* fix the rest of the selfdrive tests

* bump opendbc

* fix all tests

* few more non-test references

* remove opcar and move docs to car

fix these debugging scripts

fix docs

* bump opendbc and panda

forgot panda
2024-08-17 00:54:51 -07:00
Shane Smiskol 6a15c42143 selfdrive/car: ban cereal and capnp (#33208)
* ban cereal and msgq

* common too

* do toyota/values.py

* do all fingerprints

* example without builder

* this still works, but no type checking anymore

* stash

* wtf, how does this work

* okay actually not bad

* safe

* epic!

* stash data_structures.py

* some clean up

* hell yeah

* clean up old file

* add to delete

* delete

This reverts commit 90239b7797ace31ee647a2fdbd67e0c3faa98dcf.

* switch more CarParams stuff over

remove unused

* fix car tests by removing cereal! mypy forgets about dataclass if we wrap it :(

* fix this too

* fix this too

* remove more cereal and add some good hyundai tests

* bunch more typing

* override default with 20hz radar

* temp capnp converter helper

* more lateralTuning

* small union replicator is better than what i was trying, and fixes mypy dynamic typing issues

* can keep all this the same now!

* type ret: CarParams, add more missing structs, revert lateralTuning changes (smaller diff!)

* revert more

* get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :(

would have been `CarParams.NetworkLocation()`

* Revert "get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :("

This reverts commit bb28b228becba932052d2fc5a4389784027435b1.

* remove cereal from car_helpers (TODO: caching)

* remove a bunch of temp lines

* use dataclass_transform!

* remove some car.CarParams from the interfaces

* remove rest of car.CarParams from the interfaces

* same which() API

* sort

* from cereal/cache from fingerprinting!

* more typing

* dataclass to capnp helper for CarParams, cached it since it's kinda slow

* (partial) fix process replay fingerprintig for new API

* latcontrollers take capnp

* forgot this

* fix test_models

* fix unit tests

* not here

* VehicleModel and controller still takes capnp CP since they get it from Params()

* fix modeld test

* more fix

* need to namespace to structs, since CarState is both class and struct

* this was never in the base class?!

* clean that up again

* fix import error

fix import error

* cmts and more structs

* remove some more cereal from toyota + convert CarState to capnp

* bruh this was wrong

* replace more cereal

* EventName is one of the last things...

* replace a bunch more cereal.car

* missing imports

* more

* can fix this typing now

* proper toyota+others CS typing!

* mypy can detect return type of CS.update() now

* fix redeclaration of cruise_buttons type

* mypy is only complaining about events now

* temp fix

* add carControl struct

* replace CarControl

i hope there's no circular imports in hyundai's CC

* fine now

* lol this was wrong too

* fix crash

* include my failed attempts at recursively converting to dataclass (doesn't implicitly convert types/recursively :( )

but attrs does, maybe will switch in the future

* clean up

* try out attr.s for its converter (doesn't work recursively yet, but interesting!)

* Revert "try out attr.s for its converter (doesn't work recursively yet, but interesting!)"

This reverts commit ff2434f7bbd45a4d4bfb21f7d6712d1f1c3bcde9.

* test processes doesn't fail anymore (on toyota)!

* fix honda crash

* stash

* Revert "stash"

This reverts commit c1762af4e776790e4ad1322ad4ce0610157346e0.

* remove a bunch more cereal!

* LET'S GOOO

* fix these tests

* and these

* and that

* stash, something is wrong with hyundai enable

* Revert "stash, something is wrong with hyundai enable"

This reverts commit 39cf327def258e2959fe23cd7a550a858f6d8f03.

* forgot these

* remove cereal from fw_versions

* Revert "remove cereal from fw_versions"

This reverts commit 232b37cd409b55d04b1afc90d4a80c49e710eb56.

* remove rest of the cereal exceptions!

* fix that

* add typing to radard since I didn't realize RI.update() switched from cereal to structs

* and here too!

* add TODO for slots

* needed CS to be capnp, fix comparisons, and type hint car_specific so it's easier to catch type issues (capnp isn't detected by mypy :( )

* remove the struct converter

* save ~4-5% CPU at 100hz, we don't modify after so no need to deepcopy

btw pickle.loads(pickle.dumps()) is faster by ~1% CPU

* deepcopy -> copy: we can technically make a reference, but copy is almost free and less error-prone

saves ~1% CPU

* add non-copying asdict function

* should save ~3% CPU (still 4% above baseline)

* fix that, no dict support

* ~27% decrease in time for 20k iterations on 3X (3.37857 -> 2.4821s)

* give a better name

* fix

* dont support none, capitalize

* sheesh, this called type() on every field

* remove CS.events, clean up

* bump card %

* this was a bug on master!

* add a which enum

* default to pid

* revert

* update refs

* not needed, but consistent

* just Ecu

* don't need to do this in this pr

* clean up

* no cast

* consistent typing

* rm

* fix

* can do this if we're desperate for the last few %

* Revert "can do this if we're desperate for the last few %"

This reverts commit 18e11ac7883a0a56583750b1cc5a2b13011e7299.

* type this

* don't need to convert carControl

* i guess don't support set either

* fix CP type hint

* simplify that
2024-08-16 15:13:00 -07:00
Maxime Desroches 1dcd660815 fix bash + python3 shebangs (#33287)
fix shebangs
2024-08-13 21:22:13 -07:00
Shane Smiskol 5c1e111d8a remove unnecessary debugging function from car_helpers.py (#33199)
* format

* better better

* huh
2024-08-05 21:27:43 -07:00
Adeeb Shihadeh 29b58d4f2f Revert "Remove setproctitle (#32716)" (#33195)
* Revert "Remove `setproctitle` (#32716)"

This reverts commit 83ac80c6c8.

* uv lock

* old name
2024-08-05 16:42:22 -07:00
Dean Lee 2cd9975e4f modeld: remove redundant pred_mu assignment (#33152)
remove redundant pred_mu assignment
2024-08-02 13:40:33 -07:00
Dean Lee fb33366144 Fix FutureWarning "Cython directive 'language_level' not set" (#33046)
fix FutureWarning
2024-07-23 09:27:10 -07:00
Dean Lee 12d729a0a0 CarParams: set no traversal limit (#32929)
* Increase traversal_limit_in_words to Fix Traversal Limit Errors

* just use log_from_bytes

* come on pycharm

* no free lunch

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-07-08 13:50:31 -07:00
Mitchell Goff 01c2174d59 Notre Dame model (#32884)
* New model: 6f23a03f-486b-4d3e-a314-19d149644c7c/700

* Bump refs
2024-07-01 13:59:44 -07:00
Kacper Rączy 417f1e2139 drivingModelData: frameDropPerc (#32871)
* Smokes! lets go!

* Ignore it in model replay
2024-06-29 02:31:55 -07:00
Kacper Rączy 2059f986df drivingModelData: new model packet for qlogs (#32821)
* Mini model v2 prototype

* Apply suggestions

* Add meta

* Support for new packet in model

* Support in process replay

* Meta

* Add it to services

* Update model replay

* Add drivingModelData in model_replay

* Update ref

* MAX_FRAMES*3

* No modelv2, but drivingModelData at 2hz

* Polypath

* Dont use keyword

* Update model ref commit

* xyz coeff

* Fix field name

* Update ref commit

* Min qlog size 0.6

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-06-28 19:27:58 -07:00
Adeeb Shihadeh 83ac80c6c8 Remove setproctitle (#32716)
* Custom setproctitle (#32667)

* add custom setproctitle

* add test

* Update poetry.lock

* fix lint

* support only Linux

* test only Linux

* final lint

* Update test_setproctitle.py

* Update setproctitle.py

* convert to threadnames

* delete proctitles

* Check str len and use PR_GET_NAME

* fix poetry.lock

* lint fix

* Update common/threadname.py

---------

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

* revert that for now

* use last 15

* fix

* use name

* update those

* and modeld

* rm

---------

Co-authored-by: schlimeszn <138847413+schlimeszn@users.noreply.github.com>
Co-authored-by: reddyn12 <nikhilr.ssm@gmail.com>
Co-authored-by: Comma Device <device@comma.ai>
2024-06-11 21:57:32 -07:00
Adeeb Shihadeh 5b51f03967 Revert "Custom setproctitle (#32667)"
This reverts commit 3365ed5eff.
2024-06-10 19:55:41 -07:00
schlimeszn 3365ed5eff Custom setproctitle (#32667)
* add custom setproctitle

* add test

* Update poetry.lock

* fix lint

* support only Linux

* test only Linux

* final lint

* Update test_setproctitle.py

* Update setproctitle.py

* convert to threadnames

* delete proctitles

* Check str len and use PR_GET_NAME

* fix poetry.lock

* lint fix

* Update common/threadname.py

---------

Co-authored-by: reddyn12 <nikhilr.ssm@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-06-10 18:59:01 -07:00
Harald Schäfer e71ec4e8d7 Split cereal into cereal/msgq (#32631)
* squash

* fix doc

* compile device

* compile device

* Update ref

* add msgq to precommit exclusions

* No service ports

* fix compile

* address comments

* More comments

* Delete logger

* Update opendbc

* Linting

* bump msgq
2024-06-06 14:31:56 -07:00
Dean Lee 2482ed085e modeld: cleanup commonmodel (#32618)
cleanup
2024-06-04 11:20:17 -07:00
Adeeb Shihadeh c59887c810 test_*.py files are no longer executable (#32610)
* test_*.py files are no longer executable

* cleanup empty lines

* update precommit

* fixme

* enable

* build
2024-06-03 15:48:56 -07:00
Adeeb Shihadeh fe7d3429ab Make release files a blacklist (#32540)
* blacklist

* little nicer

* whitelist

* cleanup

* igore body

* more skip
2024-05-25 18:47:16 -07:00
Adeeb Shihadeh accdade4cf manager: move to system/ (#32538)
* manager: move to system/

* one more
2024-05-25 12:41:17 -07:00
Yassine 8bd4540636 Revert "wip /500"
This reverts commit 8183715beb.
2024-05-24 19:45:00 -07:00
Yassine 8183715beb wip /500 2024-05-24 19:44:14 -07:00
19igari 25cc8a96ef fix(modeld): Fix for unpredictable behavior in commonmodel_pyx.pyx (#32482)
Avoid undefined behavior

Co-authored-by: 19igari <koki.igari@turing-motors.com>
2024-05-21 18:41:04 -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 b2e4c64cf8 ruff: enable UP 2024-05-20 17:43:54 -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
ZwX1616 b8171a1e9c DM: improve e2e predictions (#32431)
* good but need to freeze quant weights

* pass ref

* pg

* update model reply
2024-05-16 13:55:40 -07:00
Harald Schäfer b9994c7c95 North Dakota Model (#32309)
* ND model

* 86d23b15-5c26-464d-9fb5-e857f025462c/700

* Model ref replay commit

* update ref again
2024-04-29 17:42:49 -07:00
Adeeb Shihadeh 34912b29c1 modeld: less spammy with no cams 2024-04-09 13:45:45 -07:00
YassineYousfi 6c3a33a6d8 WD40 model (#32141)
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700

* cleanup some constants

* update model replay ref
2024-04-09 11:19:43 -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
YassineYousfi 2aaaa3f167 duck amigo model (#31883)
* 026c8008-1728-4549-baf4-ab0436f2927d/700

* update model replay ref

* update again
2024-03-18 16:37:15 -07:00
Adeeb Shihadeh e3589e4b5c refactor camera transformations (#31818)
* refactor camera transormations

* update users

* more stuff

* more fix

* swap

* tici

* lil shorter
2024-03-10 16:56:50 -07:00
Adeeb Shihadeh 7436aa8b05 modeld: prep for camera transform refactor (#31820)
* modeld: prep for camera transform refactor

* update refs

* add pub

* do setup
2024-03-10 16:39:40 -07:00
YassineYousfi f1cd16e367 Recertified Herbalist Model (#31616)
* dfa8bce2-a445-45ea-a4b8-e63989b8df08/700

* update model replay ref
2024-03-01 16:56:33 -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 675eeb9d16 modeld: add extra log for startup time debugging 2024-02-19 22:33:30 -08:00
Harald Schäfer 26481d082f Certified Herbalist Model (#31425)
* ab9921cb-6e0a-4816-bec5-ebb55d37a7f1/700

* 93532291-a562-4ab8-82d2-34d6e9fdcfbb/700

* Update ref
2024-02-19 17:26:10 -08:00
Harald Schäfer d371fb042c Modeld: cleanup unused variables (#31516)
Modeld: cleanup used variables
2024-02-19 17:07:15 -08:00
Milan Medić 69fb3c2ed5 add Cython static analysis (#31491)
* Adding pre-commit hook for cython static analysis

* Adding changes to cython files to pass static analysis

* Revert "Adding changes to cython files to pass static analysis"

This reverts commit 9a0eb733199abd9eef1eac3d024ef2760348d67c.

* Adding ignore rule for indentation of 4 spaces (E111)

* Fixes for cython-lint static analysis

* Revert "Fixes for cython-lint static analysis"

This reverts commit 972741735b2bdc73460d65a4d7ea167dfc0f4644.

* Adding two new rules into ignore list (2 new lines after difinition of class)

* Adding fixes for cython static analysis
2024-02-19 12:11:56 -08:00
Adeeb Shihadeh 86184b76d5 more modeld logging (#31510) 2024-02-19 10:46:04 -08:00
Adeeb Shihadeh 4ded4c53af thneed: printf -> cloudlog (#31506)
* thneed: printf -> cloudlog

* LOGI

* Revert "LOGI"

This reverts commit e6ab7e45fb7f3678727595f67c1f6c8e2cda734b.
2024-02-18 23:04:24 -08:00
Harald Schäfer 900300a928 Calibration Transform: border pad (#31495) 2024-02-16 15:18:26 -08:00
Adeeb Shihadeh 5a441ec0c4 modeld: fix and cleanup getting carParams (#31488) 2024-02-15 22:20:00 -08:00
YassineYousfi c84e5e2402 Revert "Certified Herbalist Model" (#31382)
Revert "Certified Herbalist Model (#31294)"

This reverts commit 06bdc69a02.
2024-02-08 15:31:21 -08:00
Harald Schäfer 06bdc69a02 Certified Herbalist Model (#31294)
ab9921cb-6e0a-4816-bec5-ebb55d37a7f1/700
2024-02-06 08:39:44 +08:00
ZwX1616 ba7f840a06 DM: Quarter Pounder Deluxe model (#31170)
* 1

* pg

This reverts commit 71409ec84a3e04e5e7ec960271d4e278a2472462.

* ee new

* 60ab

* update replay
2024-01-29 16:52:30 -08:00
Harald Schäfer f55e6a3b81 Los Angeles Model 2 (#31135)
* 7045fb53-6739-4338-8426-20cbd4ad7832/600

* Update constants

* Update parse

* Typos

* Update ref

* 26057144-130f-48e1-8a98-00fae53ae7db/700

* Update ref
2024-01-24 15:26:22 -08:00
Adeeb Shihadeh 88757c12b3 Revert "Switch from json11 to nlohmann/json (#31093)"
This reverts commit ee036482b8.
2024-01-22 22:41:59 -08:00