Commit Graph

14043 Commits

Author SHA1 Message Date
Shane Smiskol 8d4770a65a move test_lateral_limits.py to opendbc
old-commit-hash: fe51a2fc6272dfe81f5e8669fcd09b536ca7406d
2024-08-20 15:42:25 -07:00
commaci-public 10d31dcd8c [bot] Update Python packages (#33347)
Update Python packages

Co-authored-by: Vehicle Researcher <user@comma.ai>
old-commit-hash: c013d8aa942b0480f266a74d272e9e757f0f8159
2024-08-20 15:28:41 -07:00
Shane Smiskol a2b6fc200b update car docs in weekly repo maintenance (#33345)
* does this work?

* fix

* fix

* what
old-commit-hash: be8485ca890d63b5fdc3daa405e2009a91a265f4
2024-08-20 15:28:28 -07:00
Dean Lee a0f8148ae6 SubMaster: add self.services attribute for consistent service management (#33268)
simplify service handing
old-commit-hash: b644555a1d9ef16115df99c442d173f3f8119a33
2024-08-19 16:56:57 -07:00
Dean Lee 2119f7774e cereal/SubMaster: encapsulate frequency management in FrequencyTracker (#33252)
* encapsulate frequency management

* apply reviews

* early return, avoiding unnecessary calculations

* simplify avg freq calc
old-commit-hash: b14fca78e07af4e334af1097fe7e328103226e21
2024-08-19 16:53:13 -07:00
Adeeb Shihadeh 3869d2cdf9 research -> autonomy
old-commit-hash: 7b5f76ecf93731ff5b2ab9fc11bde17fbc23e279
2024-08-19 16:11:20 -07:00
commaci-public 155934bd49 [bot] Update Python packages (#33327)
* Update Python packages

* fix opendbc

---------

Co-authored-by: Vehicle Researcher <user@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 9b2cafe597c0ab871b06ec30e28444773ba1c3a6
2024-08-19 15:25:05 -07:00
Shane Smiskol 0fc63a4cc5 fix labeler syntax
old-commit-hash: 2a7c6bc8bd290c41db200965b394bbc82459e7ef
2024-08-19 14:45:55 -07:00
Shane Smiskol 2f423769da Remove car labeler (#33329)
* can?

* car still makes sense

* bump

* opendbc

* ?

* bump

* revert
old-commit-hash: 799539320d7d7b991bc2c54871f0e0088f2c8d64
2024-08-19 14:45:02 -07:00
Alexandre Nobuharu Sato 94621d2fee Update what-is-a-car-port.md (#33323)
old-commit-hash: 7a40c970688f63bb0a891381a86b7ca892b639f8
2024-08-19 14:28:13 -07:00
Shane Smiskol 89725e7ac2 card: fix memory leak from nested function scoping (#33328)
* stash

* no other leaks! pm.send grows memory usage by ~20mb but that's it

* undo

* clean up
old-commit-hash: ee9977df2f13099d9823bd242cee8f2c52718f85
2024-08-19 14:27:50 -07:00
Adeeb Shihadeh ce9bea56ea update test
old-commit-hash: 08f64ae30ae263710697cf712958f40751fec15c
2024-08-19 14:19:12 -07:00
Andrei Radulescu 24c18d2c4b agnos updater: set decompress max_length (#33320)
* agnos: decompress max_length

* flash last chunk after eof

* don't decompress more than length

* cleanup

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: ba098f509b7d2d21114208f700f2de8b9e45a39a
2024-08-17 16:31:22 -07:00
Sameh Mohamed 725a6fa998 Cleaning up README for tools directory (#33322)
cleaning up readme

Co-authored-by: Sameh <Sameh Mohamed>
old-commit-hash: 542f3d1b441d6373943289cd9505c4d59e050cb1
2024-08-17 15:37:06 -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 69e30a5a40 remove import linter (#33319)
* rm import linter, we're done!

* revert

* uv lock

* Revert "uv lock"

This reverts commit 5e46f48e8a5738ea5121da6f2d1c7210dcefe053.
old-commit-hash: bf68eeb596f873f3e6ab497ea42a079c98835f97
2024-08-16 23:57:42 -07:00
Shane Smiskol 93b11c816e car: move conversions.py into common/
old-commit-hash: 1eda5f47362892d5294bd3955dcfd959b2569af6
2024-08-16 15:53:37 -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
Kacper Rączy 8315623257 paramsd: remove usages of llk nested structures (#33317)
* Remove usages of llk nested structures

* Rename to debugFitlerState

* Semicolon

* Initial parameters debugFilterState
old-commit-hash: 51fae363e4f794ced50c3dd00e712aefb5d68a23
2024-08-16 14:25:42 -07:00
Adeeb Shihadeh 11986ddc7f rerun: update to 0.18 (#33316)
old-commit-hash: 4baf6c1be9b4e53ea0a6373d2ddfca4ba853f9f1
2024-08-16 10:46:26 -07:00
Shane Smiskol 6fc97576d6 test_fw_fingerprint.py: fix RAM HD test
old-commit-hash: e6b29964785d836361636cee5c6e70af59d5fda0
2024-08-16 01:00:26 -07:00
Shane Smiskol e19db6a5eb ecu_addrs.py: fix function argument typing
old-commit-hash: a255b8043aa26c569e947e5e44e8f1dab29d45a5
2024-08-16 00:58:53 -07:00
Shane Smiskol 8dbf878f76 card: fix return signature for update_events
old-commit-hash: c9f9eba61430269371f7d4be430a4bd64b2f2a9d
2024-08-16 00:56:31 -07:00
Shane Smiskol 7931926366 fw_versions.py: mark raw in f-string
old-commit-hash: 6a5bbb261eb8ea8154220e18f47f3e78a65bd664
2024-08-16 00:38:28 -07:00
Shane Smiskol 853a41ddaf radard: remove redundant NoneType check
old-commit-hash: c2ab62c2b2e43f0930564bb27c76554fa8b9810c
2024-08-16 00:37:31 -07:00
Shane Smiskol b700f3db77 hyundai: test some feature detection (#33315)
test some feature detection
old-commit-hash: 207c77ea93d53b3b5c916f7232503d01492c70c1
2024-08-16 00:30:11 -07:00
Shane Smiskol b65b1bf908 hyundai: declare type override of cruise_buttons
old-commit-hash: bce11e393fe0298e6b759781b6d4182c70966261
2024-08-16 00:26:40 -07:00
Shane Smiskol 5cea99cb2d toyota: pycapnp enum which should be called
old-commit-hash: f6780fca2fdd4998ed45a6295d64399e9fd23d41
2024-08-16 00:18:37 -07:00
Shane Smiskol 1f04a80d38 run_process_on_route.py: use zstd
old-commit-hash: b41f9f2dfe89cdb94b60dfa8c619829725dc8226
2024-08-16 00:08:17 -07:00
Adeeb Shihadeh 61c1bb5fb2 jenkins: remove unused pcStage
old-commit-hash: 72b5c6f61abe1d83540bbd1d0d4e5709500eb200
2024-08-15 22:23:37 -07:00
Shane Smiskol 4490156cb1 GM: remove basedir import (#33312)
* remove these exceptions

* whoop

* ahhh
old-commit-hash: d43bf899786bb752fc13818c6a4f8d4a7669ab37
2024-08-14 22:55:17 -07:00
Maxime Desroches d2f4135521 setup.sh: fix macOS path specification (#33311)
realpath and mac
old-commit-hash: 3e9b91a2acea31f025b3025720068bc9d7a0bb41
2024-08-14 21:49:32 -07:00
Shane Smiskol 9b0adebec8 docs: remove common import (#33310)
* add opcar

* fix references

* actually better to split this so opendbc will test docs conventions, and openpilot will test diffing

* not exe

* clean up
old-commit-hash: 424b657376d91d27fdc73d95862c1bbbe4de2b74
2024-08-14 20:29:14 -07:00
Shane Smiskol 9e5fe1e5c0 body: remove controls import (#33309)
* body uses car's PIDController

* use a simple version
old-commit-hash: 9d0180ca9740db0a164c15cf65995e65b670d734
2024-08-14 20:27:53 -07:00
Shane Smiskol 51ea9f5799 move live fingerprint debugging code to debug/car (#33308)
* remove cereal from fw_versions

* fix it

* do ecu_addrs and vin

* do last one

* move executable-ness

* notexe

* nice test
old-commit-hash: 2ed567b0f576179cd8d03727f46ee4e579c2c989
2024-08-14 19:24:24 -07:00
Shane Smiskol 915524d408 Copy kalman filter to selfdrive/car (#33307)
move to car/common/ and give proper names
old-commit-hash: bcfb50d98cfb554bab352517793987027ad0a586
2024-08-14 18:10:11 -07:00
Maxime Desroches f3cb2a3b66 op.sh: categorize commands (#33305)
names
old-commit-hash: f118d17659cfd57727a7bb48510b0a60c71b1237
2024-08-14 16:51:14 -07:00
Kacper Rączy e66855c54d ui: remove GPS status from the sidebar (#33304)
* Remove usage of llk in ui

* Remove GPS from sidebar

* Remove it from test
old-commit-hash: c61d504516158d1e9926cf09625bbfc87aba9664
2024-08-14 15:52:47 -07:00
Maxime Desroches 8c8a4b4961 replace python with python3 (#33303)
3
old-commit-hash: 406939b9c09c9f29526c18fe2f106c2059decf1e
2024-08-14 15:14:31 -07:00
Shane Smiskol f8ef09fcb2 rm tesla (#33300)
* rm tesla

* more rm

* ugh we should remove dynamic imports soon
old-commit-hash: b9dec5e3b51cf60f5544e93ca208b15d47b99ef0
2024-08-14 15:06:00 -07:00
Maxime Desroches 4ece8b6bb1 retry uv with cache (#33297)
try uv with cache
old-commit-hash: 2bc5d2b6351d82e3cb44379c7592e65bdd56c209
2024-08-14 12:11:39 -07:00
Maxime Desroches dc396b6301 lint.sh: better shebang lint (#33296)
-e
old-commit-hash: 585f362738908bb4c98e87fac0cd7cb64a78d6b4
2024-08-14 11:34:52 -07:00
Shane Smiskol 35a99d7fc6 Common CI._update function (#33289)
* use CP

* no car control, consistent _update function signatures

* eh it's fine to name it whatever

* clean up

* oops

* !!

* now we can delete this!

* nobody does anymore
old-commit-hash: 7248b00086f9b8d5d95c80a2eb7fe89c387f44ea
2024-08-13 22:59:25 -07:00
Shane Smiskol fae517416e card: set mock carState fields (#33294)
* mock carstate inside card

* not used
old-commit-hash: cb61d0045cb38f7fed362a848dcf3646b130d951
2024-08-13 22:48:55 -07:00
Shane Smiskol 9cf575657e Move buttonEvents to CarState (#33292)
* move mazda button events to carstate

* do  more

* remove

* some more

* clean up
old-commit-hash: 9f14c447db234d90a8fafe55d3e7b6439198f19f
2024-08-13 22:30:46 -07:00
Shane Smiskol d26b49a409 Consistent spacing in car interfaces (#33293)
* formatting

* fix these

* not these
old-commit-hash: 29882b4519b00dbcd10f950dcf7c2986aae2fc1c
2024-08-13 22:08:48 -07:00
Maxime Desroches 786820953b lint.sh: check shebang format for bash + python3 (#33286)
lint shebang
old-commit-hash: 63a38dcd4d463bdee788baa10c15e25cdf726ef4
2024-08-13 21:47:20 -07:00
Shane Smiskol 6ab415bc59 fix static analysis
old-commit-hash: d65e1d9500be32f45ebd19ff939ecbc458fcc5ed
2024-08-13 21:28:06 -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 b97ed10ea1 Car interface clean up (#33290)
* remove some defs

* now carstate

* remove carControl from CI update function

* almost merged that

* and that
old-commit-hash: 65fccbf7563ceca5ec84bb75ceb39556371a74de
2024-08-13 21:16:39 -07:00