Commit Graph

524 Commits

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

* Updated model_replay_ref_commit
old-commit-hash: 40fb90a8a2da60d05ef8762d55caedd1d4bde008
2024-08-29 14:25:33 -07:00
Dean Lee 965aea8eab scons: remove duplicate linker flags for -ljson11, -lzmq (#33361)
fix duplicate link
old-commit-hash: 908aa525ec49c0541d88a7f2596d71d98df63ba3
2024-08-23 10:42:57 -07:00
Shane Smiskol 4f019b5f60 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
old-commit-hash: e735a7f3796e208cdc1ecc651ace09e1daf6009a
2024-08-17 00:54:51 -07:00
Shane Smiskol 95224db413 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
old-commit-hash: 6a15c42143a4764e79df851d797f950a6212f464
2024-08-16 15:13:00 -07:00
Maxime Desroches c551f1d239 fix bash + python3 shebangs (#33287)
fix shebangs
old-commit-hash: 1dcd66081531f4568a8de69637fc7a3f4ef3214f
2024-08-13 21:22:13 -07:00
Shane Smiskol 9e4a7484be remove unnecessary debugging function from car_helpers.py (#33199)
* format

* better better

* huh
old-commit-hash: 5c1e111d8a8476a2bddaeee29fcaca1c2c38f609
2024-08-05 21:27:43 -07:00
Adeeb Shihadeh fc469e5f80 Revert "Remove setproctitle (#32716)" (#33195)
* Revert "Remove `setproctitle` (#32716)"

This reverts commit 9020d1931f4cd72f8162e4402278bdf76e3746f2.

* uv lock

* old name
old-commit-hash: 29b58d4f2fcc982d5c06ed8391e368b1b293a96c
2024-08-05 16:42:22 -07:00
Dean Lee 74a9e64c2c modeld: remove redundant pred_mu assignment (#33152)
remove redundant pred_mu assignment
old-commit-hash: 2cd9975e4fe31bf89cdbf41d3d5db02f519a2718
2024-08-02 13:40:33 -07:00
Dean Lee 29dda3b232 Fix FutureWarning "Cython directive 'language_level' not set" (#33046)
fix FutureWarning
old-commit-hash: fb3336614484553456bee6c2116b729177ecbc46
2024-07-23 09:27:10 -07:00
Dean Lee 45c3992e43 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>
old-commit-hash: 12d729a0a0c3c1d9bbf988c09ea3a5b68433e83f
2024-07-08 13:50:31 -07:00
Mitchell Goff e0c89a36da Notre Dame model (#32884)
* New model: 6f23a03f-486b-4d3e-a314-19d149644c7c/700

* Bump refs
old-commit-hash: 01c2174d5968266b87f1d1fecefce5affaeaa624
2024-07-01 13:59:44 -07:00
Kacper Rączy 02a35949dc drivingModelData: frameDropPerc (#32871)
* Smokes! lets go!

* Ignore it in model replay
old-commit-hash: 417f1e2139ba6037c9fd6494f68194e36e243540
2024-06-29 02:31:55 -07:00
Kacper Rączy 102188c245 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>
old-commit-hash: 2059f986dff46254419c889eadcc82ecea1bce94
2024-06-28 19:27:58 -07:00
Adeeb Shihadeh 9cfdd6200d 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>
old-commit-hash: 83ac80c6c899dbf4b5b2d422947b02b57d83bccd
2024-06-11 21:57:32 -07:00
Adeeb Shihadeh e920e57530 Revert "Custom setproctitle (#32667)"
This reverts commit 1f45e163559baa2a6127d5a5e8deb7067e32f813.

old-commit-hash: 5b51f039675edbbdfbeac72cd9c518450a85bc04
2024-06-10 19:55:41 -07:00
schlimeszn afea57ae2a 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>
old-commit-hash: 3365ed5effa48d34ffe0e2e9bbe9f6941336bed5
2024-06-10 18:59:01 -07:00
Harald Schäfer f870a968e9 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
old-commit-hash: e71ec4e8d7e39a56235f590227e7cb361cd8b79d
2024-06-06 14:31:56 -07:00
Dean Lee 6e4c3ddb40 modeld: cleanup commonmodel (#32618)
cleanup
old-commit-hash: 2482ed085ebfd2c09394ce59900348334772d58f
2024-06-04 11:20:17 -07:00
Adeeb Shihadeh 86b6103657 test_*.py files are no longer executable (#32610)
* test_*.py files are no longer executable

* cleanup empty lines

* update precommit

* fixme

* enable

* build
old-commit-hash: c59887c8109dd8d33ea2e7169995184fbe38cc3a
2024-06-03 15:48:56 -07:00
Adeeb Shihadeh 6dc8eecee7 Make release files a blacklist (#32540)
* blacklist

* little nicer

* whitelist

* cleanup

* igore body

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

* one more
old-commit-hash: accdade4cfe73cdca41f5afa73cf4ad085802930
2024-05-25 12:41:17 -07:00
Yassine 3ad7205042 Revert "wip /500"
This reverts commit 3baaa27c2defbdd4ec29805c2641b9e8a82a35ce.

old-commit-hash: 8bd4540636cf36eb59efcc0ee3a0f0ad81fbb680
2024-05-24 19:45:00 -07:00
Yassine c40976bb5f wip /500
old-commit-hash: 8183715beb961658755b2f19dbba6b07582830cd
2024-05-24 19:44:14 -07:00
19igari 5218ec9e60 fix(modeld): Fix for unpredictable behavior in commonmodel_pyx.pyx (#32482)
Avoid undefined behavior

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

* pass ref

* pg

* update model reply
old-commit-hash: b8171a1e9cb1696377e33657052ee75655f771f9
2024-05-16 13:55:40 -07:00
Harald Schäfer 375978d40b North Dakota Model (#32309)
* ND model

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

* Model ref replay commit

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

* cleanup some constants

* update model replay ref
old-commit-hash: 6c3a33a6d847c946e11f5a6414e270ae3ee5c03d
2024-04-09 11:19:43 -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
YassineYousfi 5f3960a3a7 duck amigo model (#31883)
* 026c8008-1728-4549-baf4-ab0436f2927d/700

* update model replay ref

* update again
old-commit-hash: 2aaaa3f1674d5aa2f0d9c685f8257d2466141d5c
2024-03-18 16:37:15 -07:00
Adeeb Shihadeh da31ce154a refactor camera transformations (#31818)
* refactor camera transormations

* update users

* more stuff

* more fix

* swap

* tici

* lil shorter
old-commit-hash: e3589e4b5cc783001c95b52cce066647b4ae0c6c
2024-03-10 16:56:50 -07:00
Adeeb Shihadeh f60cbbb04b modeld: prep for camera transform refactor (#31820)
* modeld: prep for camera transform refactor

* update refs

* add pub

* do setup
old-commit-hash: 7436aa8b053aeccfc9bacb06bfaf4a42b3ec5f78
2024-03-10 16:39:40 -07:00
YassineYousfi 063623602c Recertified Herbalist Model (#31616)
* dfa8bce2-a445-45ea-a4b8-e63989b8df08/700

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

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

* Update ref
old-commit-hash: 26481d082fb0db02697691ba6b074e794322c652
2024-02-19 17:26:10 -08:00
Harald Schäfer 48bd8c2aaa Modeld: cleanup unused variables (#31516)
Modeld: cleanup used variables
old-commit-hash: d371fb042c7a7c22f90ba99340ca1dd705f7e22d
2024-02-19 17:07:15 -08:00
Milan Medić 284450400e 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
old-commit-hash: 69fb3c2ed5b41858545461466004339325e413a1
2024-02-19 12:11:56 -08:00
Adeeb Shihadeh 1afe1fed8a more modeld logging (#31510)
old-commit-hash: 86184b76d5cf557e0b76efe64913e3dea85f4f4c
2024-02-19 10:46:04 -08:00
Adeeb Shihadeh 79209662d6 thneed: printf -> cloudlog (#31506)
* thneed: printf -> cloudlog

* LOGI

* Revert "LOGI"

This reverts commit e6ab7e45fb7f3678727595f67c1f6c8e2cda734b.
old-commit-hash: 4ded4c53af55eed17cd18fece71a4fcd72ec8237
2024-02-18 23:04:24 -08:00
Harald Schäfer 8656ef12c5 Calibration Transform: border pad (#31495)
old-commit-hash: 900300a928bf2029c74a2949e0778c037b355ca5
2024-02-16 15:18:26 -08:00
Adeeb Shihadeh 9ca2d61313 modeld: fix and cleanup getting carParams (#31488)
old-commit-hash: 5a441ec0c4bf39a5e066e307ee6c9a8b55f8d8b5
2024-02-15 22:20:00 -08:00
YassineYousfi 9a6ab74f07 Revert "Certified Herbalist Model" (#31382)
Revert "Certified Herbalist Model (#31294)"

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

* pg

This reverts commit 71409ec84a3e04e5e7ec960271d4e278a2472462.

* ee new

* 60ab

* update replay
old-commit-hash: ba7f840a06dbc8ae3c45b3b4976c88a21895aed0
2024-01-29 16:52:30 -08:00
Harald Schäfer f9d5fc7dd9 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
old-commit-hash: f55e6a3b81bf08bce9cb9d2357db5bbf529d1d39
2024-01-24 15:26:22 -08:00
Adeeb Shihadeh 12d2d861f2 Revert "Switch from json11 to nlohmann/json (#31093)"
This reverts commit 8fa1e8aa53defca264272a66531d639b3d569418.

old-commit-hash: 88757c12b3371a1ba5b3ebabc9e85faad0a19d56
2024-01-22 22:41:59 -08:00