Commit Graph

76 Commits

Author SHA1 Message Date
Shane Smiskol 0d83812f86 Clean up CarControllers (#25008)
* do VW

* Do the rest

* unused

* ford cc formatting

* final clean ups

* also just return update output
old-commit-hash: d2c2154a32
2022-06-30 17:23:12 -07:00
HaraldSchafer b0b1aff5cc Rocket league model (#24869)
* dd9a502d-c8e2-4831-b365-804b0ae0739d/600 80041070-d276-4fed-bdb9-0075e5442908/420

* no elementwise op

* 9dabf0fe-2e60-44bf-8d3a-d20a74aca072/600 ae746590-0bb5-4a16-80db-15f02d314f03/300 c4663a12-b499-4c9b-90dd-b169e3948cb1/60

* explicit slice

* some copies are useful

* 1456d261-d232-4654-8885-4d9fde883894/440 c06eba55-1931-4e00-9d63-acad00161be0/700 af2eb6ba-1935-4318-aaf8-868db81a4932/425

* 154f663e-d3e9-4020-ad49-0e640588ebbe/399 badb5e69-504f-4544-a99e-ba75ed204b74/800 08330327-7663-4874-af7a-dcbd2c994ba7/800

* set steer rate cost to 1.0

* smaller temporal size

* Update model reg

* update model ref again

* This did upload somehow

* Update steer rate cost

Co-authored-by: Yassine Yousfi <yyousfi1@binghamton.edu>
old-commit-hash: 9283040d84
2022-06-15 15:29:42 -07:00
Cameron Clough 3c5d9689fc Ford: disable radar for now (#24832)
The newer Ford vehicles require a different radar parser.
old-commit-hash: 3f60088f43
2022-06-12 09:27:46 -07:00
Shane Smiskol 0f85c8a19c CarInfo: Add test for missing platform info (#24607)
* Add test for missing car info

* Make optional
old-commit-hash: b73d7cf3a5
2022-05-23 14:22:10 -07:00
Cameron Clough d0db2698ff Ford: detect reverse gear for manual transmision (#24234)
old-commit-hash: b828131994
2022-04-18 11:48:37 -07:00
Cameron Clough 0830dc0277 Ford: Support for LCA vehicles (#23331)
* Ford: add Focus Mk4

Also removes support for the Ford Fusion.

* Ford: LKAS/LCA steering and UI CAN commands

* Ford: implement CarController w/ steering and lanes ui

* Ford: FPv2 firmware request

* Ford: Add FW for 2018 Ford Focus

* Ford: add Escape Mk4

* bump panda

* cleanup

* add that back

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: acd455ed3a
2022-04-14 14:32:03 -07:00
Adeeb Shihadeh 3789587df1 add alert for CAN bus timeout (#24162)
* add alert for CAN bus timeout

* add alert

* set in interface

* cleanup

* cleanup

* add event

* fix mock

* bump

* bump opendbc

* update refs

* return reader
old-commit-hash: 49c2164814
2022-04-12 22:58:34 -07:00
Shane Smiskol bf8262394f Docs: auto-generate supported cars documentation (#23762)
* make CAR class enum, and values.py formatting

* Revert "make CAR class enum, and values.py formatting"

This reverts commit 04d9817e9d5d6ab5c027754018fc445f2cd3067a.

* stash

* add supported packages and model years

* don't change model years in fps

* move Lexus to info dict and make int enum

* remove sometimes wrong model years from name string

* use enum names

* convert Honda's values

* nice names

* use name

* GM

* Mazda, Ford

* Hyundai: WIP

* finish Hyundai

* fix

* Nissan

* Subaru

* Tesla

* formatting is for another PR

* Chrysler: todo: unify the Pacificas?

* do volkswagen

* this isn't a zoo

* skip enums for now

* Update selfdrive/car/volkswagen/values.py

Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>

* set All

* temp cars

* auto-generate CARS.md

* update type hinting

* add generated file

* add longitudinal star to cars that support disabling radar

* add TODO

* add notes

* add min_steer_speed exception for hatchback

* add minimum steering speeds

* Add exceptions and run generator

* Missing Telluride

* fix Prius v

* missing Prius Prime

generate

* start to convert years to strings

* Fixup Hyundai

* convert year sets to strings

* handle this

* missing S3

* Fix and add all missing cars (verified with script

* Supported Package fixes

* add get_tiered_cars

* Check radarOffCan for removing most Honda from op long

* Update for Avalon stop and go update on master

* Fix missing car params

* add my temporary script i'm using to verify new generated DBC

add my temporary script i'm using to verify new generated DBC

* generate with jinja template

* add header and footer

* clean up

* rename

rename

* add exceptions. jinja is nice, but why are its loop indexes starting at 1?

* add list of known car videos

* See how these look

* Add nice table formatting for column description

Add nice table formatting for column description

* generate

* consisten br tag

* small clean up

* temp

* Move car videos into CarInfo

* add new copy and rename to footnotes

* Revert "temp"

This reverts commit 93c3fce1d3ab406f80cbfb9c00c2237d109c7846.

clean up

* generate

* replace with svg

* simplify a bit

* add footnotes to CarInfo

* move some variables to docs.py

* Add video link for Acadia

* Make Footnote an enum so we don't use random ints

* static analysis fixes

* move to CARS.md

* fix last missing footnote

* add to release files

* rm test file

* use svg

generate

* fix sorting

* not needed

* not sure how this got here

* remove Sedan/Couple and add Diesel footnote

* finish todos

* move make specific footnotes to selfdrive/car/*/values.py

rename

* change to zeros

* align bottom to center

* Apply some suggestions

* Update selfdrive/car/mock/values.py

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

* Update copy

* Try headers + bullet points

* somehow better

somehow better

* finish updating copy

* move template and add links to sups

* stars shouldn't be clickable

that didn't work

try this

try this

this is better

* add type hints to CarInfo

add more type hinting

* optional needs a type and any covers all (?)

* move good steering torque to */values.py

* dataclasses are much nicer than attr

* use tuple

* Update docs/cars.py

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

* suggestions

* suggestions

* suggestions

remove

* clean up a bit

* add more type hints

* center stars and remove hardcoding from template

* update copy

* Add test

* Fix types

Fix types

* add supported cars documentation test

* clean up

* replace with docs_definitions

* Add back Footnote enums

* Ah so these are like fstrings!

* Update selfdrive/car/CARS_template.md

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

* Update selfdrive/car/docs.py

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

* Update year from master merge

* Fix longitudinal star from merge

* sort properly stars by Column enum

* clean up

* HKG: Sorry guys

* Prius V gets FSR star, like others

* Update selfdrive/car/docs.py

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

* update comment

* No Prius docs change for now

Co-authored-by: Jason Young <46612682+jyoung8607@users.noreply.github.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 31a6b141d6
2022-03-16 21:27:05 -07:00
Adeeb Shihadeh 3327348aeb don't read params in car interfaces (#23978)
old-commit-hash: bae78dd46b
2022-03-16 15:17:47 -07:00
Adeeb Shihadeh ec47e0fef0 break up selfdrive.config (#23959)
* break up selfdrive.config

* add to release files

* fix import order
old-commit-hash: 5c3f3e44bc
2022-03-13 21:42:39 -07:00
Shane Smiskol 3e61c7e6ae carControl: add long and lat active fields (#23859)
* proof of concept

* actuators packet describes which actuators are active

* bump cereal

* fixes

* not needed for this PR

* Do Toyota

* add back controlsState.active

* bump cereal

* rest of cars

* in actuators

* add active back

* which

* use controlsState.active for now

* will make an issue

* Update selfdrive/controls/controlsd.py

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

* move local lat_active checks into CC.latActive

* remove redundant checks

* move comment

move comment

* fix joystick mode

* get enabled from carcontrol

* do standstill check in controlsd

* make sure we consider the gas press case for GM

* use CC.actuators

* fix

* capitalization

* Bump cereal

Bump cereal

* make intermediate actuators

* similar convention to before

* clean that up

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 629399a449
2022-03-13 20:58:44 -07:00
Shane Smiskol a8a811fe3d Ford: add minEnableSpeed (#23940)
old-commit-hash: 4f4f18a648
2022-03-09 12:40:20 -08:00
Adeeb Shihadeh 63bbcd7279 better steer fault names (#23890)
* better steer fault names

* bump cereal
old-commit-hash: 87849f93b1
2022-03-01 22:53:55 -08:00
Shane Smiskol fadba4b34d CANParser: remove default values (#23642)
* draft

* remove rest

* bump

* update radar interfaces

* do rest and formatting

* bump

* fix mising check

* try this

* Revert "try this"

This reverts commit 0d26d9a072f87dbc897ed525b70fb1db9cb04a06.

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 3645186d7c
2022-01-27 17:06:18 -08:00
Shane Smiskol beeb0442ce base LatControl class (#21967)
* base LatControl class, move sat check out of pid.py

clean up

clean up

* fix

* global variable for min control speed

* nicer name

* unify latcontrol class init arguments

* add to release files

* saturated if close to limit

* move angle mode saturation checks into class

* check_saturation function takes in current saturated status

undo

* apply latcontrol_angle's active checking to all controllers

* clean up

* move those back

* make abstract baseclass

* add test for saturation

* keep clip

* update ref

* fix static analysis

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 9de8f8cd8c
2022-01-26 17:10:41 +01:00
Adeeb Shihadeh 597535c014 linter: don't allow implicitly concatenated strings (#23513)
* linter: don't allow implicitly concatenated strings

* fix hyundai
old-commit-hash: 2c94f15584
2022-01-13 14:19:38 -08:00
Dean Lee 98de810849 check in tuple instead of list (#23477)
* check in tuple instead of list

* Update selfdrive/car/toyota/carcontroller.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

* Update selfdrive/car/mazda/interface.py

Co-authored-by: Willem Melching <willem.melching@gmail.com>

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: a653461dec
2022-01-10 16:36:51 +01:00
HaraldSchafer f64c2974b4 Road Roll Compensation Rebased (#23251)
* first commit

* update refs
old-commit-hash: cf466222f6
2021-12-16 17:34:12 -08:00
Willem Melching 7b3e330def Log actuators after applying rate limits in CarController (#23230)
* return actuators from carcontroller

* log it

* pass to latcontrol

* chrysler

* gm

* honda

* more brands

* rest of the brands

* gm cleanup

* hyundai cleanup

* update ref

* rename field

* fix subaru

* add types

* more subaru fixes #23240

* consistent whitespace

* bump cereal
old-commit-hash: 4f1eb4278a
2021-12-16 13:08:20 +01:00
Adeeb Shihadeh ef6f48ba4c remove ford fingerprints (#23136)
old-commit-hash: 795bdf4c61
2021-12-05 14:43:57 -08:00
Willem Melching b8ab21bd64 add CarParams.wheelSpeedFactor (#23079)
* add CarParams.wheelSpeedFactor

* Fudge speed for Lexus RX

* should have been the TSS2 model

* bump cereal

* refactor into function

* update refs
old-commit-hash: e6180738fd
2021-12-03 14:57:53 +01:00
Robbe Derks 58c99158a1 Make pandaState and safetyMode a list (#22454)
* wip: move to pandaStates

* bump cereal

* wip: SafetyMode struct

* move to safetyMode

* fix typo

* this can be None

* fix potential empty pandaStates list

* fix thermald

* fix controlsd

* rename safetyModes to safetyConfigs

* update process_replay

* fix test_models

* bump cereal
old-commit-hash: 91987f38d4
2021-10-08 17:54:34 +02:00
HaraldSchafer a73a820338 Change car controller interface from gas/brake to acceleration (#21911)
* retune civic

* seems smooth

* back to normal

* new ref

* fix conflict

* runs

* rm

* accel scale is 4

* toyota should be good

* more cleanup

* fixup

* better naming

* update ref

* deprecated

* sending brake when not enable causes a fault

* rm gas and brake

* unused

* update ref

* acura logic is no more

* wrong before

* revert tuning cleanup

* adress comments

* update ref

* already on master

Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: 1ac89f14aa
2021-08-30 09:32:52 -07:00
Adeeb Shihadeh 691ea8553f deprecate CP.enableCamera (#21509)
* deprecate CP.enableCamera

* more removal

* one more

* update refs
old-commit-hash: c72d163e14
2021-07-07 14:59:18 -07:00
CrispinFlowerday 4f02e178db Subaru: show LDW on dash for correct lane (#20934)
* Emit correct alerts for LDW Left & Right on Subarus

This change switches the ldw event to use VisualAlert.ldw and
alters all cars to use the prior behaviour for that alert, except
global subarus - they emit the correct warning to the dash

* Remove whitespace, and add comment about not overwriting stock alerts

Co-authored-by: Crispin Flowerday <crispin@theflowerdays.com>
old-commit-hash: 7458e143e3
2021-06-07 15:06:28 -07:00
Jason Young 51db9216f2 Cleanup carstate quoting styles (#21109)
* carstate quoting style: VW

* carstate quoting style: Chrysler

* carstate quoting style: Ford

* carstate quoting style: GM

* carstate quoting style: Honda

* carstate quoting style: Hyundai

* carstate quoting style: Mazda

* carstate quoting style: Nissan

* carstate quoting style: Subaru

* carstate quoting style: Soulless Appliances

* Sorry Honda!
old-commit-hash: 83ca5a0d29
2021-06-02 15:51:54 +02:00
ShaneSmiskol 0d45e6885a Deprecate brakeLights field (#20954)
* remove all references to CS.brakeLights

* unused red

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 551091bcfa
2021-05-18 17:48:02 -07:00
Adeeb Shihadeh 7546f7d084 enforce message checks in can parser (#20742)
* enforce message checks in can parser

* nissan

* vw

* hkg

* subaru

* toyota

* honda bosch

* gm

* honda nidec

* bump opendbc

* not all tss2 have bsm

* toyota fixes

* honda fixes

* vw fix

* fix subaru

* fix long tests

* update refs

* crv bsm
old-commit-hash: 6c7ed8f2e4
2021-04-25 12:52:16 -07:00
Adeeb Shihadeh 99b2c0d024 Alerts update (#20567)
* steer temp unavailable should be a soft disable

* no mute

* these should be no entries

* sound

* better name

* deprecated

* make vehicleModelInvalid a soft disable

* update refs

* bump cereal

* bump cereal

* update refs
old-commit-hash: 2fa1b2572d
2021-04-07 12:18:58 -07:00
wolterhv 56f48a03bc Replace hardcoded values for Pi (#20235)
* Avoid redefining pi, use instead math.pi or M_PI from math.h

* Revert overwriting of the gpsPi variable, which is part the GPS standard.

* Move standard library imports to top, remove standard library import comments.
old-commit-hash: 93911a7dbe
2021-03-03 14:22:06 -08:00
Adeeb Shihadeh 05eb44115e cereal cleanup part 2 (#20092)
* car stuff

* thermal

* Revert "car stuff"

This reverts commit 77fd1c65ebd01abfa8493ae12c9e6b14f7ada976.

* panda state

* camera stuff

* start deg

* most is building

* builds

* planner + controls run

* fix up paramsd

* cleanup

* process replay passes

* fix webcam build

* camerad

* no more frame

* thermald

* ui

* paramsd

* camera replay

* fix long tests

* fix camerad tests

* maxSteeringAngle

* bump cereal

* more frame

* cereal master
old-commit-hash: 312b681a46
2021-02-16 21:39:32 -08:00
Adeeb Shihadeh f25cec394e grey panda is unsupported (#2458)
old-commit-hash: 47c21f10f5
2020-11-03 19:56:25 -08:00
Adeeb Shihadeh 39d98d3d2d Car cleanup (#1924)
* cleanup car code

* more pruning

* little more

* less pylint disables

* radar stuff

* fix

* udpate refs

* fix honda bosch

* fix test
old-commit-hash: 892e1162c0
2020-07-25 15:07:27 -07:00
Adeeb 9027018368 Update Flake8 config (#1624)
* update flake8 checks

* add E502

* no whitespace warnings

* fix violations

* no W391

Co-authored-by: Jason Young <jason@comma.ai>
old-commit-hash: 367155168a
2020-06-03 16:13:34 -07:00
Willem Melching a56e2b01f8 Make pylint more strict (#1626)
* make pylint more strict

* cleanup in progress

* done cleaning up

* no opendbc
old-commit-hash: 843a64c72f
2020-06-02 16:29:32 -07:00
Adeeb Shihadeh 9823f1164c enable flake8 E303: too many blank lines
old-commit-hash: f3dcf861c7
2020-05-31 17:21:11 -07:00
Adeeb Shihadeh be0b43f339 enable flake8 E231: missing whitespace after comma
old-commit-hash: efd5dffb1e
2020-05-31 12:49:11 -07:00
Adeeb 7965569766 Flake8 E22X (#1607)
* e221

* e225

* bump opendbc
old-commit-hash: 6051061ff8
2020-05-31 00:48:47 -07:00
Adeeb 5e857427ba Enable more flake8 checks (#1602)
* enable some more flake8 checks

* some more quick ones

* bump opendbc

* e401

* e711 e712

* e115 e116

* e222

* e301

* remove that

* e129

* e701 e702

* e125 e131

* e227

* e306

* e262

* W503

* e713

* e704

* e731

* bump opendbc

* fix some e722
old-commit-hash: d9bf9f0a40
2020-05-30 20:14:58 -07:00
Adeeb 48340cc8cb Alerts + Events refactor (#1466)
old-commit-hash: d976233f69
2020-05-14 15:21:21 -07:00
George Hotz 6fbcde48e5 Using lgtm.com and fixing found alerts (#1452)
* lgtm in readme, and mac nui fixes

* call super inits in radars

* unused imports, dup lines

* more radars, more unused imports

* pass CP into RadarInterfaceBase

* more fixups

* unused imports

* delete unused lines

* ugh, new unused import

Co-authored-by: George Hotz <geohot@gmail.com>
old-commit-hash: 1295cfe06c
2020-05-02 12:07:34 -07:00
Adeeb 614adb569e Add steerWarning and steerError to carState (#1444)
* Add steerWarning and steerError to carState

* fix gm and hyundai

* update refs
old-commit-hash: 337529d5cb
2020-05-01 13:13:12 -07:00
Adeeb 15916d03f4 Abstract pcmEnable and pcmDisable events (#1350)
* don't need individual prev state vars since whole CS is copied

* don't need a whole function since toyota alerts were simplified

* better here

* abstract pcmEnable/pcmDisable events

* the flippening came to NEOS

* delete

* unused

* Revert "the flippening came to NEOS"

This reverts commit 91cfb73b2914f637863335f4e5f5952620b3e977.
old-commit-hash: 8d791d78dd
2020-04-10 16:12:58 -07:00
rbiasini 5849f719ef abstract pedalPressed event (#1218)
* abstract pedalPressed event

* Fix bug

* update refs
old-commit-hash: fe911bcca8
2020-03-08 23:35:00 -07:00
rbiasini 8fc38619c0 Abstract gasPressed for all cars (#1151)
* min_steer_speed alert (with adjusted hysteresis) for all cars, abstracted gas pre_enable event

* move lines a bit

* more GM cleanup

* typo

* move espDisabled to carState packet

* brought back min steer speed alert only in hyundai. It's a bit tricky and behavior should be changed

* ops, wrong change

* bug

* update cereal

* update ref
old-commit-hash: 9685a5a743
2020-02-21 18:24:37 -08:00
Adeeb 65a2c62114 Abstract common events + event cleanup (#1129)
* too many if

* unused

* whitespace

* key

* sefldrive/car/*

* no more gctx

* lower

* start abstracting common events

* all cars

* start small

* all cars

* reverse gear

* wrongCarMode

* wrongGear

* espDisabled

* steerUnvailable

* make linter happy

* c isn't used

* fix esp_disabled in VW

* update ref

* more red

* more cleanup

* fix subaru

* update ref

old-commit-hash: e8cb6ea06a
2020-02-20 16:22:25 -08:00
rbiasini b495a36507 Abstract std params (#1138)
* get_can_parser and get_cam_can_parser are now standard static methods
old-commit-hash: af39d74a5b
2020-02-20 14:06:02 -08:00
rbiasini 5375a08920 get_can_parser and get_cam_can_parser are now standard static methods (#1136)
old-commit-hash: dc3ea9b08d
2020-02-20 13:08:43 -08:00
Adeeb 0468c42f22 Abstract CarInterface init (#1131)
* abstract CarInterface init

* unused

* subaru

* gm cleanup

* vw

* typo

* carcontroller

* more cleanup

* fix vw

old-commit-hash: 13f60eae91
2020-02-19 20:37:07 -08:00
rbiasini f80b147fac Ford: have carstate update returning capnp struct directly (#1113)
* Before abstraction, adding speed init from VW as well

* strting to abstract carstate class

* fix bug and update lock?

* revert pipfile change

* another bug

* fix linter

* bug fix

* remove a bunch of diplicated kf code

* better to not have class vars. will abstract __init__ anyway later

* abstract common instance vars in carstate init and a generic gear parser static method

* abstract gear parser for chrysler

* abstract gm gear parser too

* remove unnecessary random vars

* Chrysler: carstate returns capnp struct directly

* revert ref commit

* test ref

* WIP

* more WIP

* ops, missed this conflict

* ford as well

* not sure why this got deleted

* no need to copy

* remove copy

* remove copy import

* remove unnecessary intermediate variable

* remove obsolete comments

Co-authored-by: Willem Melching <willem.melching@gmail.com>

old-commit-hash: bfa79153b4
2020-02-17 14:42:41 -08:00