Commit Graph

385 Commits

Author SHA1 Message Date
Adeeb Shihadeh
a7ed190df4 controlsd: remove last mention of CAN (#32646) 2024-06-06 16:46:27 -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
Adeeb Shihadeh
34e329649d boardd is pandad (#32628)
* boardd is pandad

* rename tests
2024-06-04 19:16:55 -07:00
ZwX1616
fa2d5bca57 controlsd: explicitly ignore camera states in process replay (#32515)
* explicitly ignore

* Update selfdrive/controls/controlsd.py

Co-authored-by: Shane Smiskol <shane@smiskol.com>

---------

Co-authored-by: Shane Smiskol <shane@smiskol.com>
2024-05-22 15:18:06 -07:00
Shane Smiskol
9fa92c2225 card: only exit ELM once done with ECU knock outs (#32505)
* only exit elm once done with knock outs

* comments!
2024-05-21 21:23:14 -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
Shane Smiskol
220fcc1675 process replay: regen routes (#32464)
* regen

* regen

* update

* undo

* update refs

* fix

* real fix

* test

* test2

* test3

* stash

* Revert "stash"

This reverts commit bf6765f526b48426f49a4b29c4042097f57fc4b0.

* rk.lagging can not be trusted. BODY segment has radarFault while modelV2 is not valid, causing radarState to not be valid

* order

* update refs again

* we never logged carOutput!

* bump

* add back checks
2024-05-19 01:07:12 -07:00
Shane Smiskol
407791113d Revert "card: move all car events (#32427)" (#32439)
* Revert "card: move all car events (#32427)"

This reverts commit 8f46028bd4.

* keep the event here

* oops

* Revert "oops"

This reverts commit ea99a2768fbeb7a6123dd755585157b530e7a2a1.

* Revert "keep the event here"

This reverts commit ec089b4e1afdf09b2e6b184de8f23584ef931601.
2024-05-15 14:32:52 -07:00
Shane Smiskol
8f46028bd4 card: move all car events (#32427)
* move last event over

* fix
2024-05-14 15:20:03 -07:00
Shane Smiskol
6f3cd143ef controlsd: use already initialized params (#32429) 2024-05-14 14:01:38 -07:00
Shane Smiskol
d0d44a51a0 card: create pedal pressed event (#32417)
* card: create pedal pressed event (#32393)

* move pedalPressed to card

* rm

* needs to be a builder

* move these

* clean up

* reader later

* Update ref_commit

* moved to card
2024-05-13 16:18:55 -07:00
Shane Smiskol
9287a69624 Revert "card: create pedal pressed event" (#32414)
Revert "card: create pedal pressed event (#32393)"

This reverts commit d18da895d3.
2024-05-13 14:25:22 -07:00
Shane Smiskol
d18da895d3 card: create pedal pressed event (#32393)
* move pedalPressed to card

* rm

* needs to be a builder

* move these

* clean up

* reader later

* Update ref_commit
2024-05-13 14:15:26 -07:00
Shane Smiskol
3dfb6d7931 CarInterface: move stateless, common car events to car interface (#32394)
* move stateless, common car events to car interface

* try to reduce process replay diff a bit

* Revert "try to reduce process replay diff a bit"

This reverts commit b12798deabea67c5a636d6e70e80a3c21c7225ff.

* update refs
2024-05-13 12:50:42 -07:00
Shane Smiskol
d28624fe5b card: more final structure 2024-05-10 23:18:48 -07:00
Shane Smiskol
ef1693433f controlsd: use latest actuatorsOutput (#32390)
use current actuatorsOutput
2024-05-10 21:00:01 -07:00
Shane Smiskol
2e6b2ef3c9 card: preparation (#32382)
* card prep

* also format
2024-05-08 23:54:20 -07:00
Adeeb Shihadeh
6ef95f7a91 adjust gps alert 2024-05-01 11:35:20 -07:00
Armand du Parc Locmaria
adabd108e2 commabody: ignore fcw alerts (#32301)
* ignore modelV2 and longitudinalPlan on the body to avoid fcw alerts

* move joystick_mode up because ignore depends on it

* revert and ignore fcw itself instead
2024-04-26 20:04:10 -07:00
Justin Newberry
4ecbaa41fa controlsd: fix steer saturation premature warning (#31909)
fix last actuators
2024-03-21 18:31:22 -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
Justin Newberry
1ecbbef46b controlsd: fix saturation warning (#31869)
fix saturation
2024-03-14 18:03:39 -07:00
Shane Smiskol
3d63c7093a longitudinal personality: change via steering wheel distance button (#31792)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* not all cars yet

* works but at what cost

* clean up

* inside settings

* write param so we save the distance button changes

* setChecked activates buttonToggled and already writes param!

* don't need this, we update from longitudinalPlan on changes

* some clean up

* more

* ui

* allow some time for ui to receive and write param

* plannerd: only track changes in case no ui

* Revert "plannerd: only track changes in case no ui"

This reverts commit 2b081aa6ceb92c67a621b74592b2292756d29871.

* write in plannerd as well, I assume this is atomic?

* don't write when setting checked (only user clicks)

* better nane

* more

* Update selfdrive/controls/lib/longitudinal_planner.py

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* doesn't write param now

* ParamWatcher is nice

* no debug

* Update translations

* fix

* odd drain sock proc replay behavior

* vanish

* Revert "odd drain sock proc replay behavior"

This reverts commit 29b70b39413e1852bb512155af6b6a94a5bd9454.

* add GM

* only if OP long

* move personality to controlsState, since eventually it won't be exclusive to long planner

more

bump

* diff without translations

* fix

* put nonblocking

* CS should start at up to date personality always (no ui flicker)

* update toggle on cereal message change

* fix

* fix that

* ubmp

* mypy doesn't know this is an int :(

* update translations

* fix the tests

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2024-03-13 01:05:02 -07:00
Shane Smiskol
29e55f99a5 Move personality to controlsState (#31855)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* not all cars yet

* works but at what cost

* clean up

* inside settings

* write param so we save the distance button changes

* setChecked activates buttonToggled and already writes param!

* don't need this, we update from longitudinalPlan on changes

* some clean up

* more

* ui

* allow some time for ui to receive and write param

* plannerd: only track changes in case no ui

* Revert "plannerd: only track changes in case no ui"

This reverts commit 2b081aa6ceb92c67a621b74592b2292756d29871.

* write in plannerd as well, I assume this is atomic?

* don't write when setting checked (only user clicks)

* better nane

* more

* Update selfdrive/controls/lib/longitudinal_planner.py

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

* doesn't write param now

* ParamWatcher is nice

* no debug

* Update translations

* fix

* odd drain sock proc replay behavior

* vanish

* Revert "odd drain sock proc replay behavior"

This reverts commit 29b70b39413e1852bb512155af6b6a94a5bd9454.

* add GM

* only if OP long

* move personality to controlsState, since eventually it won't be exclusive to long planner

more

bump

* diff without translations

* fix

* put nonblocking

* CS should start at up to date personality always (no ui flicker)

* update toggle on cereal message change

* fix

* fix that

* ubmp

* mypy doesn't know this is an int :(

* update translations

* fix the tests

* revert ui

* not here

* migrate controlsState

* Revert "migrate controlsState" - i see no reason we need to test with
any specific personality

This reverts commit 6063508f2df1a5623f113cda34dcd59a1f4b2ac9.

* Update ref_commit

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2024-03-13 00:57:57 -07:00
Shane Smiskol
2c353a25a4 longitudinal personality: display in Toyota instrument cluster (#31760)
* start at param

* start by sending personality

* change to personality

* POC: button changes personality

* what's wrong with this?

* fix

* not really possible but fuzzy test catches this

* there's always a typo

* dang, we're dropping messages

* clean up

* no comment

* bump

* rename

* revert longplan

* revert this

* Fix check

* more appropriate up here

* consistenet

* Update selfdrive/car/toyota/carstate.py

* Update ref_commit
2024-03-08 23:26:01 -08:00
Justin Newberry
bc2407abeb move card to selfdrive/car/card (#31693)
* more obivous dif

* release
2024-03-04 10:45:32 -08:00
Justin Newberry
8ec0d87de0 card: prepare for separate process (#31660)
* Card

* update ref

* bump cpu

* sub to caroutput

* update ref
2024-03-04 09:53:42 -08:00
Adeeb Shihadeh
d8ce15a869 controlsd: increase initializing timeout (#31535) 2024-02-21 16:23:43 -08:00
Justin Newberry
00315325a3 controlsd: move carParams management to card (#31534)
* card-manage

* fix

* init params

* reversed that

* can be in the init
2024-02-21 16:11:00 -08:00
Justin Newberry
837b811f9c Split out can control into new "card" class (#31529)
* card v1

* fix car events

* fix proc replay

* lets keep that the same

* no extra space here

* move can recv timeouts to card

* organize imports

* organize imports

* slightly bump cpu

* not a card!
2024-02-21 13:18:43 -08:00
Justin Newberry
0eba392cf2 controlsd: sort imports (#31531)
sort imports
2024-02-21 11:58:04 -08:00
Adeeb Shihadeh
b28daef34a controlsd: allow mismatch while boardd reads back mode (#31505)
* controlsd: allow mismatch while boardd reads back mode

* self
2024-02-18 14:43:42 -08:00
Adeeb Shihadeh
b218abcaa3 controlsd: increase initializing timeout 2024-02-16 13:35:45 -08:00
Adeeb Shihadeh
d31269f663 fix no GPS alert when driving slowly in a tunnel (#31483) 2024-02-15 11:52:57 -08:00
Adeeb Shihadeh
194bd85905 log all startups 2024-02-14 11:44:19 -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
Adeeb Shihadeh
daceb171bd bump cereal (#31392)
* bump cereal

* update those

* update refs

* bump cereal

* bump

* bump cereal

* bump

* fix

* bump

* typo:
2024-02-09 21:44:23 -08:00
Adeeb Shihadeh
013d4bd4ce controlsd: log initializing timeouts 2024-02-08 21:26:07 -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
Harald Schäfer
e6c97c3846 Delete lat planner (#31089)
* Initial commit

* Fixup

* typo

* ignore lateral plan

* Update cereal

* Remove lateralPlan

* Fix release build

* Fix release build

* give car params

* Add carParams to include_all_types

* Write car param in powerdraw test

* add demo mode

* Update model regf

* proc replay ref commit

* Try

* Move enum definition

* Update cereal

* typo

* Write car param for modeld test

* Update ref

* Update model ref again

---------

Co-authored-by: Kacper Rączy <gfw.kra@gmail.com>
2024-01-21 12:09:48 -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
Harald Schäfer
d36103791c No curv rate for lateral control (#31042)
* No more Curvature rate for lat control

* Update cereal

* Update

* Fix lat control test
2024-01-17 16:00:50 -08:00
Adeeb Shihadeh
f0ccb84ae3 remove common.profiler (#30927)
* remove common.profiler

* cleanup
2024-01-06 16:20:28 -08:00
Dean Lee
3c4c4d1f7f common/params: support nonblocking write (#29808)
* Safe and efficient asynchronous writing parameters

* call putNonBlocking in locationd

* remove space

* ->AsyncWriter

* remove semicolon

* use member function

* asyc write multiple times

* add test case for AsyncWriter

* merge master

* add missing include

* public

* cleanup

* create once

* cleanup

* update that

* explicit waiting

* improve test case

* pass prefix to asywriter

* move to params

* assert(queue.empty())

* add comment

* add todo

* test_power_monitoring: remove patch

* rm laikad.py

* fix import

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2023-12-13 20:36:01 -08:00
Adeeb Shihadeh
fe24bdc689 read params in a thread 2023-12-13 19:00:22 -08:00
Kacper Rączy
e62756596b controlsd: require joystick mode param for the body (#30680)
* Update joystick mode in step

* Stop putting the body in joystick mode by default

* Toggle JoystickDebugMode by default for notCars in process_replay

* Remove subsection about web joystick

* Update param only in non-cars

* Make joystickDebug non-static event, and add it in a loop

* Add comment
2023-12-12 14:14:51 -08:00
Kacper Rączy
7f07f47302 locationd: disable locationd temporary error alert on the body (#30608)
* Disable locationd temporary error alert on the body

* Disable locationd/paramsd/planner alerts on body with joystick mode

* joystick_enabled param not joystick_mode
2023-12-07 10:53:33 -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
Shane Smiskol
09a9ba6de1 joystick: bump max angle (#30602) 2023-12-04 21:16:33 -08:00
Adeeb Shihadeh
ce4bac8218 remove unused last_actuators arg from lateral controllers (#30595) 2023-12-03 15:54:18 -08:00