Commit Graph

560 Commits

Author SHA1 Message Date
Dean Lee
0bdad1fee0 loggerd: direct Initialize params instead of copy (#33622)
Direct Initialize Instead of Copy
2024-09-22 14:12:07 -07:00
Dean Lee
2b37624dee encoderd: use const reference for VisionBuf access (#33621)
use const reference for VisionBuf access
2024-09-22 14:11:59 -07:00
Comma Device
6fff91d91e new tici updater build 2024-09-21 00:55:42 +00:00
Dean Lee
07f3f93bd9 camerad: remove SpectraCamera inheritance from CameraState and simplify initialization (#33611)
remove inherit

Co-authored-by: Comma Device <device@comma.ai>
2024-09-20 11:15:49 -07:00
Adeeb Shihadeh
20c983897b camerad: set patch_offset 2024-09-19 20:57:42 -07:00
ZwX1616
ffb6e11f96 Revert "exec DM model with gpu" (#33604)
Revert "exec DM model with gpu (#33397)"

This reverts commit f79aca8e1e.
2024-09-19 20:55:11 -07:00
ZwX1616
f79aca8e1e exec DM model with gpu (#33397)
* half

old-commit-hash: 9f72eca003d4637ca7fe847ebaf925c694fc2e84

* optimed

old-commit-hash: 6e36e2a12e09275ec21d1590012a92b05ca52ff5

* thneed

old-commit-hash: 419a06c09c0c767d828bcd1e118bc575898c343a

* exec

old-commit-hash: 0059c27ec11b076a37f65d604ed135ea6541b1a6

* runner

old-commit-hash: 34232ada94450ce541eaef546197fa219810a891

* runs but

old-commit-hash: 3db37c00b6a64908293b4de8d8b56e80308cd8f2

* it is 01

old-commit-hash: a160d81eb1a7e77abbef959b44f602610f68f665

* np

old-commit-hash: c1caff6ba648cc2c0094c71b2ea074f01c3c2dc8

* module url

old-commit-hash: 6f4902c4d384263a53e2c1d14d93b5ff864b6a5f

* new

old-commit-hash: 779ae79b1bc3df6374fb6663ac8592e107a6e504

* ds fast

* is this work

* corcention

* real timing

* no reg

* interim gather

* 0e4a9c7b

* fa69be01, and halve

* list

* cleanup

* slighly faster

* setprotlt

* expected

* replay ref

* more powar

* reluctantly

* bump tg

* 8

* less

* less

* bump tg

* better than exp

* closer

* cc

* see diff

* commits

* was right

* to 32 cast

* remove dlc file

* support both

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-09-19 17:42:44 -07:00
Adeeb Shihadeh
bdb4b87fa5 rm debug print 2024-09-19 16:39:30 -07:00
Adeeb Shihadeh
df9b8f0222 camerad: final debayer prep (#33598)
* prep part 4?

* cleanup

* little less magic

* reorg

* final touches

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-09-19 16:14:29 -07:00
Dean Lee
eaebea0968 camerad: cleanup includes (#33600)
cleanup includes

Co-authored-by: Comma Device <device@comma.ai>
2024-09-19 14:16:48 -07:00
Dean Lee
34f5ba46b3 camerad: move handle_camera_event to SpectraCamera class (#33595)
move handle event

Co-authored-by: Comma Device <device@comma.ai>
2024-09-19 11:34:37 -07:00
Adeeb Shihadeh
eea06b4c3e camerad: camera_util is spectra (#33597)
* camerad: camera_util is spectra

* lil more

* mv that

* fix build

* runs on device

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-09-19 11:22:46 -07:00
Dean Lee
943aa616b3 camerad: add helper function get_gain_factor (#33594) 2024-09-19 10:58:49 -07:00
Dean Lee
b852aba670 camerad: fix POLLPRI event check in poll loop (#33591)
fix event check in poll loop to validate POLLPRI
2024-09-19 10:58:06 -07:00
Dean Lee
c95f0f039f camerad: move debugging parameters from camera_common.h to camera_qcom2.cc (#33589)
move debugging parameters

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-09-19 10:45:57 -07:00
Dean Lee
78db136914 camerad: remove libyuv dependency (#33593)
remove libyuv
2024-09-19 10:41:51 -07:00
Dean Lee
467bd74944 camerad: remove CameraType enum from camera_common.h (#33588)
remove CameraType from camera_common.h
2024-09-19 10:33:24 -07:00
Adeeb Shihadeh
80013219fe camerad: abstract out ISP handling (#33583)
* spectra and tici

* master

* move the rest

* rm stupid indirection

* start move

* multi cam state is dead

* rest is moved

* lil more

* mv that

* lil more

* fix pc build

* we haven't done rgb for a while

* bring this stuff back

* fix mac?

* no camera in ui!

* i remember why we always cut mac

* fix mac build

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-09-18 22:24:53 -07:00
Adeeb Shihadeh
102f1b0d85 loggerd: fix mac build 2024-09-18 22:16:25 -07:00
Adeeb Shihadeh
718835a825 camerad: prep part 2 (#33584)
* no camerastate in sensors

* bring this over

* and encoder
2024-09-18 21:10:45 -07:00
Adeeb Shihadeh
5378e63812 it's not really rgb 2024-09-18 21:01:38 -07:00
Adeeb Shihadeh
b733b875f8 camerad: ci -> sensor rename (#33582)
* camerad: ci -> sensor rename

* no behavior change for now
2024-09-18 15:51:03 -07:00
Shane Smiskol
82f8db87f4 add longitudinal maneuvers (#33527)
* add longitudinal profiles

* stash

* unfortunately even longitudinalPlan causes circle

* add to process config

* reach target speed smoothly

* stash

* works

* clean up

* debug alert

* rename

* fix

* better text

* toggle via exp button

* try coming to a stop better, smoother target reaching

* closer to target

* revert controlsd migration

* add description to alert

* generate report from local logs

* hide bad maneuvers

* pdflike

* Revert "pdflike"

This reverts commit 6d4af1bf9be2e9e0798eaecf026a53d860da7613.

* try this

* use alert manager

* fix that check

* wat

* Revert "wat"

This reverts commit 93d0d27ab838d3f580d06ff212f380e0b912d599.

* some clean up

* rm

* cleanup

* move

* fix test

* more fix

* clean up

* fix that
2024-09-12 14:10:18 -07:00
Shane Smiskol
b9dbefc491 Deprecate testJoystick (#33539)
* Deprecate testJoystick

* fix
2024-09-11 13:20:07 -07:00
Shane Smiskol
d6644c457a test manager again in CI (#33523)
* test manager again

* fix

* whitelist joystickd
2024-09-09 12:04:04 -07:00
Shane Smiskol
606943010e Reapply "joystickd is a real process (#33490)" (#33514)
* Reapply "joystickd is a real process (#33490)"

This reverts commit c8465e3a21.

* catch this

* reset to 0 when unplugged

* catch this too

* pytest capturing breaks stdin (pytest -s) fixes
2024-09-07 17:03:22 -07:00
Adeeb Shihadeh
c8465e3a21 Revert "joystickd is a real process (#33490)"
This reverts commit 374246845c.
2024-09-07 09:28:16 -07:00
Shane Smiskol
374246845c joystickd is a real process (#33490)
* true joystickd

* temp params hack, manager clears all on start

* implement main, assume js

* works

* fix enable

* clean up

* like a real controlsd

* clean up

* fix mypy

* clean up

* update refs

* clean up
2024-09-06 21:58:45 -07:00
Adeeb Shihadeh
e04455cbaa selfdrived: controlsd only does controls (#33485)
* selfdrived

* process replay

* lil more

* set the valids

* rename that
2024-09-06 17:16:32 -07:00
Kacper Rączy
236dffe400 locationd no GPS (#33029)
* Pose kf draft

old-commit-hash: 17dd4d576e597792f0e18826498c00076739f92b

* Fix it

old-commit-hash: 13ac120affe58fd22e871586ea5f4d335b3e9d2b

* Add translation noise

old-commit-hash: 166529cb612858c4ce80649367ac35b2b6007e1d

* Add gravity to acc

old-commit-hash: 8fcfed544b8e090ccc86b189c13bc03c6c190613

* Use pyx

old-commit-hash: 8e69e0baa0a4c43b4d0c22535711f296f05420aa

* Indent

old-commit-hash: 25b19a73644cdcb571ccf1a1d8acb88a0d066c67

* Reset function

old-commit-hash: ca5d2736da15e4fd6539f7268133320735b7c9cc

* Add device_from_ned and ned_from_device transformations

old-commit-hash: a60d25da0edc311e583549dc015fa595749fd4ae

* Fix rotations

old-commit-hash: d6d582f7f6d19a2bc2308dbcb0c9f81363e325b6

* kms

old-commit-hash: 681bc4e50374795ccc61422c3ce4ffb51389fce2

* Centripetal acceleration

old-commit-hash: 6e574506d27e5b76a04b2097d94efa4ca91ead71

* Rewrite draft

old-commit-hash: 4a2aad0146267460e5d30036c8cdb2bef94d1d7c

* Remove old locationd stuff

old-commit-hash: c2be9f7dbf22fb5cd29e437cd7891a7d52266fba

* Python process now

old-commit-hash: 83fac85f28c0b546b6965aafe1dd8a089e67f5b3

* Process replay fix

old-commit-hash: c44f9de98583c49dad0b22497869b3bb0266fcd9

* Add checks for timing and validity

old-commit-hash: aed4fbe2d00ca620e01a0e0ee99a4871c939de36

* Fixes

old-commit-hash: 3f052c658c16984a34915f38afdfbfd0fb19a267

* Process replay config fixes

old-commit-hash: 1c56690ee7ceb3c23c9ec2b2713352191212716e

* static analysis fixes

old-commit-hash: 6145e2c140ea9aa97e75069c3ddd82172cadc866

* lp in latcontrol

old-commit-hash: 9abf7359d68e794c69052724f3aca14b04dd3cca

* Fix SensorEvent name for acceleration

old-commit-hash: 91a1ad6c604727c9c898ba4aefe9478022b167fd

* Ignore sensor readings from segments with multiple imus

old-commit-hash: 1f05af63d6cc605ea98d7da0d727a5bd8d7819b0

* Update shebang

old-commit-hash: e3f2f5c10df3a4ba698421335bfeffc63d1a8797

* Replace llk with lp

old-commit-hash: 99b6c7ba08de6b703708fef0b8fd2d8cb24b92c0

* Refactor locationd scenario test

old-commit-hash: 7f5f788f071b7647e36f854df927cc5b6f819a84

* Add more debugging tools

old-commit-hash: 8d4e364867e143ea35f4bfd00d8212aaf170a1d1

* Param name update

old-commit-hash: 5151e8f5520f067e7808e3f0baa628fbf8fb7337

* Fix expected observations

old-commit-hash: d6a0d4c1a96c438fb6893e8b6ff43becf6061b75

* Handle invalid measurements

old-commit-hash: 549362571e74ad1e7ec9368f6026378c54a29adf

* Fix spelling

old-commit-hash: eefd7c4c92fb486452e9b83c7121d2599811852b

* Include observations in debug info too

old-commit-hash: 625806d1110b3bffe249cd1d03416f2a3f2c1868

* Store error instead of expected observation

old-commit-hash: 1cb7a799b67e56af4eddc6608d5b0e295f2d888c

* Renames

old-commit-hash: a7eec74640fc5cc7a5e86172d2087b66cb93d17d

* Zero the yaw

old-commit-hash: 96150779590fcb8ac50e8ffe8f8df03105983179

* New state_dot for orientation

old-commit-hash: c1456bf3a0c5af2f888aa6ff0b5ffc2e5516ddf7

* Fix the state transformations

old-commit-hash: 7cb9b91e2f99caa4ac3fb748c7f23bb8bf9f65db

* Update process in test_onroad

old-commit-hash: 854afab7c39ca7dec2b42974cecbb5310b82b617

* Test polling on cameraOdometry

old-commit-hash: a78e8b7d61618177f15c9892e2fa1e51620deca8

* Keep the copy of x and P returned from predict

old-commit-hash: 3c4159a6a7d7383265a99f3f78f8805d2fcfc8cd

* Remove polling again

old-commit-hash: f7228675c5fd2de5f879c4786859f1abcec27d68

* Remove locationd.cc

old-commit-hash: d7005599b2b178e688c3bd1959d6b69357d3a663

* Optim in _finite_check

old-commit-hash: 58ad6a06b9380960e9f69eb98663ddb97461e8d5

* Access .t once

old-commit-hash: d03252e75ed4cbdb49291a60c904568e6a3d3399

* Move the timing check to cam odo code path

old-commit-hash: 6a1c26f8c201e1feb601753f0cb7299cf981b47e

* Call all_checks only once

old-commit-hash: 373809cebf8d9db89d1ab00f4c8c933f33038e78

* Do not sort

old-commit-hash: 2984cd02c0ab76827b8c7e32f7e637b261425025

* Check sm.updated

old-commit-hash: 11c48de3f0802eb4783899f6a37737078dbf2da4

* Remove test_params_gps

old-commit-hash: 82db4fd1a876cc2402702edc74eba0a8ac5da858

* Increase tolerance

old-commit-hash: 927d6f05249d2c8ec40b32e2a0dcde8e1a469fb3

* Fix static

old-commit-hash: 2d86d62c74d5ac0ad56ec3855a126e00a26cd490

* Try separate sockets for sensors

old-commit-hash: 5dade63947ab237f0b4555f45d941a8851449ab1

* sensor_all_checks

old-commit-hash: e25f40dd6b37ee76cd9cc2b19be552baf1355ec3

* Fix static

old-commit-hash: 328cf1ad86079746b4f3fde55539e4acb92d285e

* Set the cpu limit to 25

old-commit-hash: 7ba696ff54c5d3bfa42e42624d124f2a1914a96d

* Make it prettier

old-commit-hash: cd6270dec80d8b9dac784ddd4767a1a46bcff4b7

* Prettier

old-commit-hash: 1b17931d23d37f299dad54139eaf283a89592bf5

* Increase the cpu budget to 260

old-commit-hash: 20173afb937a2609c8a9905aee0b2b093cb8bba4

* Change trans std mult. 2 works better

* Update ref commit

* Update ref commit
2024-09-04 11:54:57 +02:00
Adeeb Shihadeh
bd2b09c7b6 Deprecate controlsState state fields (#33437)
* Deprecate controlsState state fields

* sim works

* update refs

* one more

* these too

* update sim
old-commit-hash: 3924ac587b735d1e735af4cb77faf6ccf053f656
2024-09-03 14:40:23 -07:00
Adeeb Shihadeh
333c666a80 athena: use dongle ID on /persist/ when available (#33259)
* athena: use dongle ID on /persist/ when available

* comment

* test

* cleanup
old-commit-hash: 91db49b9bfb5ca27068bd13378feb602e8c63f4b
2024-09-01 10:39:49 -07:00
Adeeb Shihadeh
fecf6134ef move PID controller to common/ (#33419)
old-commit-hash: f59a1bf003
2024-08-31 16:49:29 -07:00
Adeeb Shihadeh
484aaf4307 no PC anymore
old-commit-hash: 4e2624783f
2024-08-27 12:05:05 -07:00
Adeeb Shihadeh
854d03a819 manager: remove LastUpdateTime default
old-commit-hash: 39c64d44a1
2024-08-27 12:03:55 -07:00
Dean Lee
965aea8eab scons: remove duplicate linker flags for -ljson11, -lzmq (#33361)
fix duplicate link
old-commit-hash: 908aa525ec
2024-08-23 10:42:57 -07:00
Kacper Rączy
e154f03a12 timed: use gps location packet for time (#33306)
* GPS helpers

* Use GPS socket in timed

* Use helper in controlsd

* Use updated and logMonoTime

* Helper type annot

* Not updated

* Increase time threashold
old-commit-hash: cf355ecf20
2024-08-22 23:30:29 -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: ba098f509b
2024-08-17 16:31:22 -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: e735a7f379
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: 6a15c42143
2024-08-16 15:13:00 -07:00
Maxime Desroches
c551f1d239 fix bash + python3 shebangs (#33287)
fix shebangs
old-commit-hash: 1dcd660815
2024-08-13 21:22:13 -07:00
Kacper Rączy
80bc61dc6c controlsd: use livePose (#33283)
* Pose calibrator

* Fix static analysis

* Fix static

* Fix test_latcontrol

* Fix test_latcontrol

* Update services in process replay

* Fix static

* Matmul not mul

* Add assertion

* Move pose calibration to data_sample

* Update ref commit

* Remove llk from cycle alerts

* Deprecated nogps event

* Switch power_draw to lp

* Bring back noGps alert

* Add handling code back

* get_bool

* Bring inputsok back
old-commit-hash: 9734015bbb
2024-08-13 21:11:16 -07:00
Adeeb Shihadeh
ac6956a651 tici: new updater build (#33246)
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 1b554b488e
2024-08-09 14:30:28 -07:00
Adeeb Shihadeh
7b5d3dbbca sensord: error -> warning for expected failures
old-commit-hash: 16c36b0d8b
2024-08-06 17:25:03 -07:00
Shane Smiskol
9e4a7484be remove unnecessary debugging function from car_helpers.py (#33199)
* format

* better better

* huh
old-commit-hash: 5c1e111d8a
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: 29b58d4f2f
2024-08-05 16:42:22 -07:00
Maxime Desroches
df13b36638 fix all codespell issues (#33194)
* bring back

* remove 2020 dictionary
old-commit-hash: 44c7144e1c
2024-08-05 15:25:02 -07:00
Dean Lee
ad42551437 camerad: encapsulate cl_command_queue in ImgProc (#33178)
move cl queue to imgproc
old-commit-hash: 8f9b165de8
2024-08-03 14:57:26 -07:00
Adeeb Shihadeh
139f4034a8 Revert "uploader.py: simplify clear_locks by using rglob (#32974)"
This reverts commit 870f5cbeb39fa63829e6f3a64fa8df57e82d52c3.

old-commit-hash: 9474523add
2024-08-03 12:12:42 -07:00
Dean Lee
7fcba71725 uploader.py: simplify clear_locks by using rglob (#32974)
simplify clear_locks
old-commit-hash: cafca4f891
2024-08-02 13:40:57 -07:00