* 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
* 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
* 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: 424b657376
* more stuff
* even more
* all parts func
* start to use it
* include self in parts
* use car_parts_new
* not used
* more usages
* remove get_parts
* remove more commented stuff
* remove iter
* clean up some more stuff
* more
more
* ford
* optional
optional
* nissan
* use new classes
* fix tests
* fix
* order
* no more required
* connector
* CARS.md
---------
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
old-commit-hash: 024abe6455
* require fingerprint and FW versions
* add get_non_essential_params()
* comment
* all required
* classmethod, need to allow subclasses to override _get_params
* fix that
* fix
old-commit-hash: b68dabb689
* add a hook function for makes to implement custom docs logic
* don't need this
* use the pre-defined list for honda's harnesses
* one line 😎
* Update selfdrive/car/docs_definitions.py
* i didn't know you didn't need a pass!
* don't change docs order
old-commit-hash: 1367f84425
* note for dsu cars
* don't hardcode dsu footnote (1/2)
* test
* revert the experimental long toggle
* another day:(
* DSU doesn't have to be toyota specific, it's a generic carParam!
* this is safe, just make sure it's unknown
* these cars do not have OP long for some reason
* UNSUPPORTED_DSU_CAR
* forgot this
* fix autoResume
* fix autoResume 2
old-commit-hash: 3e69973819
* single longitudinal toggle for e2e and disable radar
* write disable radar param
* rename
* better param name
* clean that up
* update refs
* update translations
* not live for experimental
* write it out
* vanish
old-commit-hash: 655a64b603
* Hyundai: Car Port for Tucson Hybrid 2022
* Update RELEASES.md
* Init gear_msg at the top
* FW versions from script
* Button send attempt
* start with some cleanup
* Send button fixed bits
* Define all bytes and only send PAUSE/RESUME
* Use CRUISE_INFO to cancel cruise and resume
* 8-bit counter
* Cleanup ish
* 8 bit counter
* Send at 20ms
* Disengage bits
* Revert bump submodules
* Allow tx on 0x1a0
* Fix byte counts
* Send LFA and HDA icons based on engageability
* Send cruise buttons only on HDA2 cars for now
* Add comments
* Add FLAG_HYUNDAI_CANFD_HDA2 flag
* Update interface.py
* Update carstate.py
* Update carstate.py
* Update carstate.py
* Bump submodules
* Bump panda
* Bump opendbc
* Allow tx with CRUISE_INACTIVE
* GEAR has 24 bytes only
* Generate car docs
* Fix CRUISE_INFO copy
* Remove unused class
* Add CAN-FD busses to unit test
* Bump opendbc
* Revert "Add CAN-FD busses to unit test"
This reverts commit 2f751640408a7f73a9100947cbd95ea13fbb8a48.
* Remove duplicate
* New tune based on data
* Panda safety cleanup
* Include bus 0 in rx checks
* Missed one
* bus 6 check
* Remove redundant check
* Add comments
* Bump opendbc
* Sync with DBC
* Hide LFA icon when disengaged
* Little endian
* fix comment
* more conditions in carcontroller
* update pedal signal
* update tuning
* cleanup carcontroller
* bump panda
* fix mismatch
* alt buttons
* little more cleanup
* update refs for EV6 new safety param
* bump panda
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: bd5e28909f
* back to actual information
* remove some star code
* round speeds
* Try out showing lateral acceleration
* remove that
* Fix speed units
* Add harness and try rounding to nearest half before scapping it
fix
^2
^2
* Add back steering torque star
* Fix static analysis
* auto-generate header
* fix static analysis. set to Harness.none by default
* rm
old-commit-hash: 747bcb013d
* add well maintained footnote
* stash
* some updates for the website
* one extensible sort function, pass sort function into template, continue to use "openpilot ACC"
* use items
same
* return a final dict
* Fix descriptions
* Required
* Add detail sentence
* Make string packages into namedtuple
* add temp year parsing
* revert this
* one unified class like harness
* fix static analysis
* Fix body
Fix body
* Make specifics strong
* remove years
* Make Camry footnote more clear
* Revert this too
* Add notCar text, fix steer speed > enable speed (remove comma, no speed mention)
* fix missing years
* group_by_make
* Use full package text
* Only use full package text
* Check car name if notCar, fix imports
* add_years no longer needed, remove 'with Stop and Go'
* fix that
fix that
fix that
* Exception for Nissan and Subaru
* Adjust DSU footnote text
* Fix speed overrides in sentence, CR-V package imp
* init() was being called multiple times, only need to run once to set row
old-commit-hash: c8a90ef586
* add function
* split model and years
* typing and clean uop
* one function to split into make, model, years
* add test for bad years
* simpler re
* don't match only numbers
* clean up
* we can just use name
* clean up
old-commit-hash: b30871daad
* Auto-generate star descriptions
* Need this for the website
* And this
* required changes to make the website generation work
* better names
* Revert "better names"
This reverts commit be7dbbb5d846d7d55a1ad69533945e6a6c8a0b7c.
* simpler
old-commit-hash: 88a100435f
* add mypy check for return-any
* remove unused import
* typing
* remove unnecessary variable typing
* cleanup
* cleanup
* bump submodules
* small fixes
* only a problem on mac
Co-authored-by: Willem Melching <willem.melching@gmail.com>
old-commit-hash: d2eef1955c
* Add harness information
* test harness enum
* add harness info for tucson
* update Tucson harness
* get rid of development
* make global enum
* fix
* add harness info
* add harness info to CARS.md (since we need multiple lines per HKG platform)
* revert this
* Actively Maintained means something! (aka, to bronze with select VW)
* fix caravelle
* add harness tooltip on maintained column
fix
* lol tubaru
* always assume harness
* update honda harnesses
* add Ioniq hybrid 2017-19 harness, todo: not sure
* unused import
* hmm, did they really switch to the C for 1 year??
* add comment
* add comments
* adding tooltips should be fine
* fix santa fe harness
* welcome back, vw
* no need for two harness strings
* seems fine
* fix 19-20 Niro EV harness
* these were taking from old database, so assume correct
* could be d
* pass all car info into template
* no more tool tips
* these use j533 harnesses
* accidentally got removed in merge
* also merge issue
* don't need these
* make harness non-optional
old-commit-hash: 433fcc0c71
* add vehicles.vue template
* add original vue file
* stash
* stash
* clean up a bit
* add template for now
* implement footnotes and tier copy
* no more generator
* convert to 2 spaces
* should work, now onto vue
* does GH handle this html well?
* fix
* auto-generate descriptions and make tiers' maps non-str
* remove old files
* move template specific variable into templates, should be a bit simpler
* js template is simplier too now
js template is simplier too now
js template is simplier too now
* add video links from the nice car_info
* make rows attributes
* clean up
* fix
* remove template
* experiment with video links in GH
add image
how does this look?
fix
* Revert "experiment with video links in GH"
This reverts commit 8375e717b563f7b4ecf009ffae00174de1a0b8e9.
* sort tier_car_info in place
* unused Tuple
* no type check
* fix script
old-commit-hash: 85d8997a8a
* 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