* Add support for TinyGrad model runner processing
Introduced a new function `is_tinygrad_model` to detect TinyGrad as an active model runner. Updated the `is_stock_model` logic to account for TinyGrad models and added a new process entry for TinyGrad in the model manager. This enables handling TinyGrad models alongside existing configurations.
adding modeld back
Add support for `modeld_v2` and update paths for consistency
Updated `SConscript` files to integrate `modeld_v2` alongside `modeld` and adjusted script paths for correct metadata handling. Adjusted various configurations and scripts, such as `labeler.yaml` and `build_release.sh`, to include `modeld_v2` and ensure cohesive project structure.
Refactor imports to use updated `modeld_v2` paths.
Replaced outdated `modeld` references with their `modeld_v2` counterparts for consistency and clarity across the codebase. Also updated `.gitignore` to accommodate new directory structure. This change ensures better maintainability and alignment with the new directory schema.
Refactor and reorganize modeld to sunnypilot/modeld_v2 structure.
Moved and renamed `modeld` components to the new `sunnypilot/modeld_v2` directory for better organization and modularity. Updated imports and file references to align with the new structure, ensuring compatibility and functionality. Streamlined project structure to improve maintainability and future development.
* typo
* Use `stock` model runner and refactor model checks.
Replaces outdated model detection logic with unified `stock` runner integration, simplifying the decision flow for model selection. Includes `stock` as a new enum in the `Runner` type and updates affected references accordingly.
* Handle missing 'sim_pose' in model outputs gracefully.
Added conditional checks to ensure the code handles cases where 'sim_pose' is absent in the model outputs. Fallback behaviors use 'plan' data when 'sim_pose' is unavailable, preventing potential errors and enhancing robustness.
* modeld: Retain pre-20hz drive model support
* Method not available anymore on OP
* some fixes
* Revert "Long planner get accel: new function args (#34288)"
* Revert "Fix low-speed allow_throttle behavior in long planner (#33894)"
* Revert "long planner: allow throttle reflects usage (#33792)"
* Revert "Gate acceleration on model gas press predictions (#33643)"
* Reapply "Gate acceleration on model gas press predictions (#33643)"
This reverts commit 76b08e37cb8eb94266ad9f6fed80db227e7c3428.
* Reapply "long planner: allow throttle reflects usage (#33792)"
This reverts commit c75244ca4e9c48084b0205b7c871e1a4e0f4e693.
* Reapply "Fix low-speed allow_throttle behavior in long planner (#33894)"
This reverts commit b2b7d21b7b685a2785d1beede3d223f0bb954807.
* Reapply "Long planner get accel: new function args (#34288)"
This reverts commit 74dca2fccf4da59cc8ac62ba9c0ad10ba3fc264b.
* don't need
* retain snpe
* wrong
* they're symlinks
* remove
* put back into VCS
* add back
* don't include built
* Refactor model runner retrieval with caching support
Added caching for active model runner type via `ModelRunnerTypeCache` to enhance performance and avoid redundant checks. Introduced a `force_check` flag to bypass the cache when necessary. Updated related code to handle cache clearing during onroad transitions.
* Update model runner determination logic with caching fix
Enhances `get_active_model_runner` to utilize caching more effectively by ensuring type consistency and updating cache only when necessary. Also updates `is_snpe_model` to pass the `started` state to the runner determination function, improving behavior for dynamic checks.
* default to none
* enable in next PR
* more
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* modeld: Retain pre-20hz drive model support
* Method not available anymore on OP
* some fixes
* Revert "Long planner get accel: new function args (#34288)"
* Revert "Fix low-speed allow_throttle behavior in long planner (#33894)"
* Revert "long planner: allow throttle reflects usage (#33792)"
* Revert "Gate acceleration on model gas press predictions (#33643)"
* Reapply "Gate acceleration on model gas press predictions (#33643)"
This reverts commit 76b08e37cb8eb94266ad9f6fed80db227e7c3428.
* Reapply "long planner: allow throttle reflects usage (#33792)"
This reverts commit c75244ca4e9c48084b0205b7c871e1a4e0f4e693.
* Reapply "Fix low-speed allow_throttle behavior in long planner (#33894)"
This reverts commit b2b7d21b7b685a2785d1beede3d223f0bb954807.
* Reapply "Long planner get accel: new function args (#34288)"
This reverts commit 74dca2fccf4da59cc8ac62ba9c0ad10ba3fc264b.
* don't need
* retain snpe
* wrong
* they're symlinks
* remove
* put back into VCS
* add back
* don't include built
* Refactor model runner retrieval with caching support
Added caching for active model runner type via `ModelRunnerTypeCache` to enhance performance and avoid redundant checks. Introduced a `force_check` flag to bypass the cache when necessary. Updated related code to handle cache clearing during onroad transitions.
* Update model runner determination logic with caching fix
Enhances `get_active_model_runner` to utilize caching more effectively by ensuring type consistency and updating cache only when necessary. Also updates `is_snpe_model` to pass the `started` state to the runner determination function, improving behavior for dynamic checks.
* default to none
* enable in next PR
* more
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* tinygrad with snpe
* force with snpe to validate
* fix path
* fix more paths
* Adjust modeld execution logic based on active model runner
Introduced a check to conditionally execute `modeld` based on the active model runner. Added support for distinguishing between SNPE and TinyGrad runners using new helper functions and updated `custom.capnp` definitions. This change optimizes process management by ensuring compatibility with the selected model runner.
* Refactor modeld process function checks.
Introduce `is_stock_model` to clarify logic and replace direct uses of `is_snpe_model` where the stock model condition is needed. Additionally, rename the duplicate "modeld" process in sunnyPilot to "modeld_snpe" for clarity and consistency.
* ignore tg
* fix process name
* ruff
* fix thneed paths
* mypy
* remove our own
* use upstream compile3
* fix thneed
* try this
* Revert "remove our own"
This reverts commit 1cf4f57502565c274628e185c66f1eb04c4d9bbe.
* try using compile2.py again
* add back symlink
* fix path
* more fix
* wrong path again
* Revert "wrong path again"
This reverts commit f5301c19d594defb23cda2604168bcb02c830f3e.
* update
* hardcode path to our submodule
* force path
* try this
* fix file name
* try this
* again
* Revert "again"
This reverts commit 17c8cd73768a2de5aaf2a34d202aa6f03d59d72d.
* Revert "try this"
This reverts commit 767f78bbcf17b08edbc20f283d10a1990bf4264f.
* Revert "fix file name"
This reverts commit 485eef68da981da571fe9a9ebf3aecdb95e5588c.
* Revert "try this"
This reverts commit 41fef87680cdda1ba8cbd7e5c59256e6c57010a0.
* Revert "force path"
This reverts commit 5c3b408937bff0f61b150971b328d127501c5bf0.
* Revert "hardcode path to our submodule"
This reverts commit 5ee1950b6f4fce73e7e73b6971b996a9989d0a93.
* Revert "update"
This reverts commit fb313bd7fbeb50111f3c4a11137b4cfd9cabc3fa.
* Reapply "wrong path again"
This reverts commit 309639aeb3575e20b215bbbcc27e48923ee95c87.
* Revert "wrong path again"
This reverts commit f5301c19d594defb23cda2604168bcb02c830f3e.
* Revert "more fix"
This reverts commit 23dd423e78e60bd6a0bd73e921bfba9a5aad88bd.
* Revert "fix path"
This reverts commit 75d338f2bda2dfa77044e33f4c6553390621b13b.
* Revert "add back symlink"
This reverts commit 9f71ad0b8ae2068e431c455af9d4f954d024eec7.
* Revert "try using compile2.py again"
This reverts commit 914117d2e1c6c4270f7bef1a5305847a1d7bab17.
* Reapply "remove our own"
This reverts commit b1996377b346658f2094cba9032a66230784cb3e.
* don't even compile anymore
* need it for default snpe model
* add to lfs
* bring onnx back for sim
* must add this back
* need this
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* Add CLion run configs and external tools setup
Introduced CLion configuration files for "Build Debug" and "Build Release," along with external tool definitions for Poetry SCons commands. Additionally, commented out `.idea` in `.gitignore` to track necessary project-specific settings.
* rename
* only exclude specific files from gitignore
* wildcard
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700
* noop ciao
* here too
* mapsd too
* update translations
* disable mapsd test from test onroad
* disable mapRenderState test from timings
* lint
* fix exp mode toggle panel
* update tr
* french done
* dont build mapd
* only no nav
* just comment
* deprecate nav fields
* rm not comment
* dont deprecate too much
* remove from services
* merge cereal
old-commit-hash: 754dd45ffa82bf3d7f2d3413c4132eb65551ebd5
* WIP try modeld all in python
* fix plan
* add lane lines stds
* fix lane lines prob
* add lead prob
* add meta
* simplify plan parsing
* add hard brake pred
* add confidence
* fix desire state and desire pred
* check this file for now
* rm prints
* rm debug
* add todos
* add plan_t_idxs
* same as cpp
* removed cython
* add wfd width - rm cpp code
* add new files rm old files
* get metadata at compile time
* forgot this file
* now uses more CPU
* not used
* update readme
* lint
* copy this too
* simplify disengage probs
* update model replay ref commit
* update again
* confidence: remove if statemens
* use publish_state.enqueue
* Revert "use publish_state.enqueue"
This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.
* confidence: better shape defs
* use ModelConstants class
* fix confidence
* Parser
* slightly more power too
* no inline ifs :(
* confidence: just use if statements
old-commit-hash: cad17b125595c4654bfd8299b041b94ccb3faf73
* comma dir
* mkdir
* fix issues
* test
* fix that
* fix
* do the other ones too
* missed that
* fix
* fix pr comments by moving into two different directories
* fix location
* fix that
* only change current
* fix
old-commit-hash: c0b9458a45f208c9773f859169a7de56d19b1bec
* Revert "CI: prevent moc from running in cache population step (#29401)"
This reverts commit 34634b95aa15dc608315016c40857f3e16ca4ff9.
* Revert "SCons: respect cache read only (#29437)"
This reverts commit 77cb4da6381fdf94ea98c55d6fcc30db4d24dcf6.
* don't change moc path
old-commit-hash: 91dc8457ae8e9b188c8fe613be5b3aa2e86be276
* Update languages.json
French added
* Create main_fr.ts
French lang file
* git ignore
* update french lang
old-commit-hash: 518ced49ce3e6a0dc0ceea1108dac8056166b724
* Added navmodeld
* New nav model: 7c306685-5476-4bd4-ab65-105b01b6bca8/300, feats only
* little cleanup
* Remove NAV flag
* Moved to_kj_array_ptr to commonmodel.h
* Switch from decimation to last_frame_id check
* add to release files
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: bb8a38a0508c764c8340e7b16968b06a8367ab7a
* Try poetry
* Remove casadi for now
* Update docker
* Copy pipfiles
* add casadi back
* Too many slashes
* New poetry api
* Install system
* Try again
* No more pipenv
* new dependencies
* updates
* poetry 1.2.1, install dev dependencies
* keep install pipenv for xx for now?
* add pre-commit checks for poetry
* poetry lock is too slow
* update pip
* migrate to poetry groups
* update lockfile
* don't need to specify dev group unless it is made optional
* always install poetry
* set POETRY_VIRTUALENVS_CREATE instead, and use pipenv for xx
* use env for docs docker image
* alphabetical
* poetry 1.2.2
* add dev dependencies for typing
added in aacf6ae3
* remove constraint
* fix PIPENV_SYSTEM
* remove constraint
* don't need this here
* bump
* bump pipenv
adds support for installing local pyprojects (can add openpilot as dependency of xx)
* README improvements
* probably not necessary
* bump pip
* maybe not necessary?
* revert
* don't install openpilot itself into the virtual env
* remove PySide2 and shiboken2
reverts 3e41c775cbf670740ac648a8614d2d6b433312fe
* remove Pipenv, add xx dependencies, sync system python
* add pipenv as xx dep
* semver package constraints, use old lockfile versions
* fix casadi
* remove whitespace
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* disable poetry cache
* cleanup
* prefer config file
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: a98d105cb95a445f5ec69e783585c56604b09449
* compiling, won't work yet
* running with inputs and outputs
* there's some magic chance this works
* no more dlc, include onnx
* yolo tests plz
* bump tinygrad
* files_common + delete dlc
* tinygrad_repo -> tinygrad
* pre commit config
* llops needed
* extra in files_common
* bump tinygrad
* fix indent
* tinygrad/nn/__init__
* tinygrad_repo
* bump tinygrad repo
* bump tinygrad
* bump with native_exp, match maybe
* native_explog is argument
* pyopencl no cache
* 5% chance this matches
* work in float32?
* bump tinygrad
* fix build
* no __init__
* fix recip
* dumb hack
* adding thneed PC support
* fix pc segfault
* pc thneed is working
* to_image
* prints stuff with debug=2
* it sort of works
* copy host ptr is simpler
* bug fix
* build on c3
* this correct?
* reenable float16
* fix private, fixup copy_inputs internal
* bump tinygrad and update ref commit
* fix OPTWG on PC
* maybe fix non determinism
* revert model replay ref commit
* comments, init zeroed out buffers
* upd ref commit
* bump tinygrad to fix initial image
* try this ref
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 40d6f4b65c3776ffd78b3c3285dc5532a802c423
* All in scons
* delete all this
* delete the qm files
* No need to check QM files in test_translations.py anymore
* readme
* add lupdate to third party
* fix
* one line
* update files_common
* readme imp
* add j flag
* add to path
* duplicate scons!
* update readme
* fix path
fix path
fix path
* no path
old-commit-hash: c528decd17a71bb8f9eb0be2f0d78ccc2e74f70a