diff --git a/.clang-tidy b/.clang-tidy old mode 100644 new mode 100755 diff --git a/.dockerignore b/.dockerignore old mode 100644 new mode 100755 diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md old mode 100644 new mode 100755 diff --git a/.github/ISSUE_TEMPLATE/pc_bug_report.yml b/.github/ISSUE_TEMPLATE/pc_bug_report.yml old mode 100644 new mode 100755 diff --git a/.github/labeler.yaml b/.github/labeler.yaml old mode 100644 new mode 100755 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md old mode 100644 new mode 100755 diff --git a/.github/workflows/auto-cache/action.yaml b/.github/workflows/auto-cache/action.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/auto_pr_review.yaml b/.github/workflows/auto_pr_review.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/badges.yaml b/.github/workflows/badges.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/ci_weekly_report.yaml b/.github/workflows/ci_weekly_report.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/ci_weekly_run.yaml b/.github/workflows/ci_weekly_run.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/compile-openpilot/action.yaml b/.github/workflows/compile-openpilot/action.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/jenkins-pr-trigger.yaml b/.github/workflows/jenkins-pr-trigger.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/prebuilt.yaml b/.github/workflows/prebuilt.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/repo-maintenance.yaml b/.github/workflows/repo-maintenance.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/selfdrive_tests.yaml b/.github/workflows/selfdrive_tests.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/setup-with-retry/action.yaml b/.github/workflows/setup-with-retry/action.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/setup/action.yaml b/.github/workflows/setup/action.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml old mode 100644 new mode 100755 diff --git a/.github/workflows/ui_preview.yaml b/.github/workflows/ui_preview.yaml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.vscode/extensions.json b/.vscode/extensions.json old mode 100644 new mode 100755 diff --git a/.vscode/launch.json b/.vscode/launch.json old mode 100644 new mode 100755 diff --git a/.vscode/settings.json b/.vscode/settings.json old mode 100644 new mode 100755 diff --git a/Dockerfile.openpilot b/Dockerfile.openpilot old mode 100644 new mode 100755 diff --git a/Dockerfile.openpilot_base b/Dockerfile.openpilot_base old mode 100644 new mode 100755 diff --git a/Jenkinsfile b/Jenkinsfile old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/RELEASES.md b/RELEASES.md old mode 100644 new mode 100755 diff --git a/SConstruct b/SConstruct old mode 100644 new mode 100755 diff --git a/SECURITY.md b/SECURITY.md old mode 100644 new mode 100755 diff --git a/apps/carrotman.txt b/apps/carrotman.txt old mode 100644 new mode 100755 diff --git "a/apps/\354\231\270\353\266\200\353\204\244\353\271\204\354\202\254\354\232\251\354\213\234.txt" "b/apps/\354\231\270\353\266\200\353\204\244\353\271\204\354\202\254\354\232\251\354\213\234.txt" old mode 100644 new mode 100755 diff --git a/cereal/README.md b/cereal/README.md old mode 100644 new mode 100755 diff --git a/cereal/SConscript b/cereal/SConscript old mode 100644 new mode 100755 diff --git a/cereal/__init__.py b/cereal/__init__.py old mode 100644 new mode 100755 diff --git a/cereal/custom.capnp b/cereal/custom.capnp old mode 100644 new mode 100755 diff --git a/cereal/include/c++.capnp b/cereal/include/c++.capnp old mode 100644 new mode 100755 diff --git a/cereal/legacy.capnp b/cereal/legacy.capnp old mode 100644 new mode 100755 diff --git a/cereal/log.capnp b/cereal/log.capnp old mode 100644 new mode 100755 diff --git a/cereal/messaging/__init__.py b/cereal/messaging/__init__.py old mode 100644 new mode 100755 diff --git a/cereal/messaging/bridge.cc b/cereal/messaging/bridge.cc old mode 100644 new mode 100755 diff --git a/cereal/messaging/messaging.h b/cereal/messaging/messaging.h old mode 100644 new mode 100755 diff --git a/cereal/messaging/msgq_to_zmq.cc b/cereal/messaging/msgq_to_zmq.cc old mode 100644 new mode 100755 diff --git a/cereal/messaging/msgq_to_zmq.h b/cereal/messaging/msgq_to_zmq.h old mode 100644 new mode 100755 diff --git a/cereal/messaging/socketmaster.cc b/cereal/messaging/socketmaster.cc old mode 100644 new mode 100755 diff --git a/cereal/messaging/tests/__init__.py b/cereal/messaging/tests/__init__.py old mode 100644 new mode 100755 diff --git a/cereal/messaging/tests/test_messaging.py b/cereal/messaging/tests/test_messaging.py old mode 100644 new mode 100755 diff --git a/cereal/messaging/tests/test_pub_sub_master.py b/cereal/messaging/tests/test_pub_sub_master.py old mode 100644 new mode 100755 diff --git a/cereal/messaging/tests/test_services.py b/cereal/messaging/tests/test_services.py old mode 100644 new mode 100755 diff --git a/cereal/services.py b/cereal/services.py old mode 100644 new mode 100755 diff --git a/codecov.yml b/codecov.yml old mode 100644 new mode 100755 diff --git a/common/.gitignore b/common/.gitignore old mode 100644 new mode 100755 diff --git a/common/SConscript b/common/SConscript old mode 100644 new mode 100755 diff --git a/common/__init__.py b/common/__init__.py old mode 100644 new mode 100755 diff --git a/common/api.py b/common/api.py old mode 100644 new mode 100755 diff --git a/common/basedir.py b/common/basedir.py old mode 100644 new mode 100755 diff --git a/common/clutil.cc b/common/clutil.cc old mode 100644 new mode 100755 diff --git a/common/clutil.h b/common/clutil.h old mode 100644 new mode 100755 diff --git a/common/constants.py b/common/constants.py old mode 100644 new mode 100755 diff --git a/common/conversions.py b/common/conversions.py old mode 100644 new mode 100755 diff --git a/common/dict_helpers.py b/common/dict_helpers.py old mode 100644 new mode 100755 diff --git a/common/ffi_wrapper.py b/common/ffi_wrapper.py old mode 100644 new mode 100755 diff --git a/common/file_helpers.py b/common/file_helpers.py old mode 100644 new mode 100755 diff --git a/common/filter_simple.py b/common/filter_simple.py old mode 100644 new mode 100755 diff --git a/common/git.py b/common/git.py old mode 100644 new mode 100755 diff --git a/common/gpio.py b/common/gpio.py old mode 100644 new mode 100755 diff --git a/common/gps.py b/common/gps.py old mode 100644 new mode 100755 diff --git a/common/logging_extra.py b/common/logging_extra.py old mode 100644 new mode 100755 diff --git a/common/markdown.py b/common/markdown.py old mode 100644 new mode 100755 diff --git a/common/mat.h b/common/mat.h old mode 100644 new mode 100755 diff --git a/common/mock/__init__.py b/common/mock/__init__.py old mode 100644 new mode 100755 diff --git a/common/mock/generators.py b/common/mock/generators.py old mode 100644 new mode 100755 diff --git a/common/params.cc b/common/params.cc old mode 100644 new mode 100755 diff --git a/common/params.h b/common/params.h old mode 100644 new mode 100755 diff --git a/common/params.py b/common/params.py old mode 100644 new mode 100755 diff --git a/common/params_keys.h b/common/params_keys.h old mode 100644 new mode 100755 diff --git a/common/params_pyx.pyx b/common/params_pyx.pyx old mode 100644 new mode 100755 diff --git a/common/pid.py b/common/pid.py old mode 100644 new mode 100755 diff --git a/common/prefix.h b/common/prefix.h old mode 100644 new mode 100755 diff --git a/common/prefix.py b/common/prefix.py old mode 100644 new mode 100755 diff --git a/common/queue.h b/common/queue.h old mode 100644 new mode 100755 diff --git a/common/ratekeeper.cc b/common/ratekeeper.cc old mode 100644 new mode 100755 diff --git a/common/ratekeeper.h b/common/ratekeeper.h old mode 100644 new mode 100755 diff --git a/common/realtime.py b/common/realtime.py old mode 100644 new mode 100755 diff --git a/common/retry.py b/common/retry.py old mode 100644 new mode 100755 diff --git a/common/run.py b/common/run.py old mode 100644 new mode 100755 diff --git a/common/simple_kalman.py b/common/simple_kalman.py old mode 100644 new mode 100755 diff --git a/common/spinner.py b/common/spinner.py old mode 100644 new mode 100755 diff --git a/common/stat_live.py b/common/stat_live.py old mode 100644 new mode 100755 diff --git a/common/swaglog.cc b/common/swaglog.cc old mode 100644 new mode 100755 diff --git a/common/swaglog.h b/common/swaglog.h old mode 100644 new mode 100755 diff --git a/common/swaglog.py b/common/swaglog.py old mode 100644 new mode 100755 diff --git a/common/tests/.gitignore b/common/tests/.gitignore old mode 100644 new mode 100755 diff --git a/common/tests/__init__.py b/common/tests/__init__.py old mode 100644 new mode 100755 diff --git a/common/tests/test_file_helpers.py b/common/tests/test_file_helpers.py old mode 100644 new mode 100755 diff --git a/common/tests/test_markdown.py b/common/tests/test_markdown.py old mode 100644 new mode 100755 diff --git a/common/tests/test_params.cc b/common/tests/test_params.cc old mode 100644 new mode 100755 diff --git a/common/tests/test_params.py b/common/tests/test_params.py old mode 100644 new mode 100755 diff --git a/common/tests/test_runner.cc b/common/tests/test_runner.cc old mode 100644 new mode 100755 diff --git a/common/tests/test_simple_kalman.py b/common/tests/test_simple_kalman.py old mode 100644 new mode 100755 diff --git a/common/tests/test_swaglog.cc b/common/tests/test_swaglog.cc old mode 100644 new mode 100755 diff --git a/common/tests/test_util.cc b/common/tests/test_util.cc old mode 100644 new mode 100755 diff --git a/common/time_helpers.py b/common/time_helpers.py old mode 100644 new mode 100755 diff --git a/common/timeout.py b/common/timeout.py old mode 100644 new mode 100755 diff --git a/common/timing.h b/common/timing.h old mode 100644 new mode 100755 diff --git a/common/transformations/.gitignore b/common/transformations/.gitignore old mode 100644 new mode 100755 diff --git a/common/transformations/README.md b/common/transformations/README.md old mode 100644 new mode 100755 diff --git a/common/transformations/SConscript b/common/transformations/SConscript old mode 100644 new mode 100755 diff --git a/common/transformations/__init__.py b/common/transformations/__init__.py old mode 100644 new mode 100755 diff --git a/common/transformations/camera.py b/common/transformations/camera.py old mode 100644 new mode 100755 index 2e68b5e37c..84f00ada3e --- a/common/transformations/camera.py +++ b/common/transformations/camera.py @@ -46,9 +46,9 @@ def all_cams(self): if not isinstance(getattr(self, cam), _NoneCameraConfig): yield cam, getattr(self, cam) -_ar_ox_fisheye = CameraConfig(1928, 1208, 567.0) # focal length probably wrong? magnification is not consistent across frame +_ar_ox_fisheye = CameraConfig(1920, 1080, 746.0) # focal length probably wrong? magnification is not consistent across frame _os_fisheye = CameraConfig(2688 // 2, 1520 // 2, 567.0 / 4 * 3) -_ar_ox_config = DeviceCameraConfig(CameraConfig(1928, 1208, 2648.0), _ar_ox_fisheye, _ar_ox_fisheye) +_ar_ox_config = DeviceCameraConfig(CameraConfig(1920, 1080, 2702.0), _ar_ox_fisheye, _ar_ox_fisheye) _os_config = DeviceCameraConfig(CameraConfig(2688 // 2, 1520 // 2, 1522.0 * 3 / 4), _os_fisheye, _os_fisheye) _neo_config = DeviceCameraConfig(CameraConfig(1164, 874, 910.0), CameraConfig(816, 612, 650.0), _NoneCameraConfig()) diff --git a/common/transformations/coordinates.cc b/common/transformations/coordinates.cc old mode 100644 new mode 100755 diff --git a/common/transformations/coordinates.hpp b/common/transformations/coordinates.hpp old mode 100644 new mode 100755 diff --git a/common/transformations/coordinates.py b/common/transformations/coordinates.py old mode 100644 new mode 100755 diff --git a/common/transformations/model.py b/common/transformations/model.py old mode 100644 new mode 100755 diff --git a/common/transformations/orientation.cc b/common/transformations/orientation.cc old mode 100644 new mode 100755 diff --git a/common/transformations/orientation.hpp b/common/transformations/orientation.hpp old mode 100644 new mode 100755 diff --git a/common/transformations/orientation.py b/common/transformations/orientation.py old mode 100644 new mode 100755 diff --git a/common/transformations/tests/__init__.py b/common/transformations/tests/__init__.py old mode 100644 new mode 100755 diff --git a/common/transformations/tests/test_coordinates.py b/common/transformations/tests/test_coordinates.py old mode 100644 new mode 100755 diff --git a/common/transformations/tests/test_orientation.py b/common/transformations/tests/test_orientation.py old mode 100644 new mode 100755 diff --git a/common/transformations/transformations.pxd b/common/transformations/transformations.pxd old mode 100644 new mode 100755 diff --git a/common/transformations/transformations.pyx b/common/transformations/transformations.pyx old mode 100644 new mode 100755 diff --git a/common/util.cc b/common/util.cc old mode 100644 new mode 100755 diff --git a/common/util.h b/common/util.h old mode 100644 new mode 100755 diff --git a/common/util.py b/common/util.py old mode 100644 new mode 100755 diff --git a/common/utils.py b/common/utils.py old mode 100644 new mode 100755 diff --git a/common/version.h b/common/version.h old mode 100644 new mode 100755 diff --git a/common/watchdog.cc b/common/watchdog.cc old mode 100644 new mode 100755 diff --git a/common/watchdog.h b/common/watchdog.h old mode 100644 new mode 100755 diff --git a/conftest.py b/conftest.py old mode 100644 new mode 100755 diff --git a/docs/CARS.md b/docs/CARS.md old mode 100644 new mode 100755 diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md old mode 100644 new mode 100755 diff --git a/docs/INTEGRATION.md b/docs/INTEGRATION.md old mode 100644 new mode 100755 diff --git a/docs/LIMITATIONS.md b/docs/LIMITATIONS.md old mode 100644 new mode 100755 diff --git a/docs/README.md b/docs/README.md old mode 100644 new mode 100755 diff --git a/docs/SAFETY.md b/docs/SAFETY.md old mode 100644 new mode 100755 diff --git a/docs/WORKFLOW.md b/docs/WORKFLOW.md old mode 100644 new mode 100755 diff --git a/docs/assets/icon-star-empty.svg b/docs/assets/icon-star-empty.svg old mode 100644 new mode 100755 diff --git a/docs/assets/icon-star-full.svg b/docs/assets/icon-star-full.svg old mode 100644 new mode 100755 diff --git a/docs/assets/icon-star-half.svg b/docs/assets/icon-star-half.svg old mode 100644 new mode 100755 diff --git a/docs/assets/icon-youtube.svg b/docs/assets/icon-youtube.svg old mode 100644 new mode 100755 diff --git a/docs/car-porting/brand-port.md b/docs/car-porting/brand-port.md old mode 100644 new mode 100755 diff --git a/docs/car-porting/model-port.md b/docs/car-porting/model-port.md old mode 100644 new mode 100755 diff --git a/docs/car-porting/what-is-a-car-port.md b/docs/car-porting/what-is-a-car-port.md old mode 100644 new mode 100755 diff --git a/docs/concepts/glossary.md b/docs/concepts/glossary.md old mode 100644 new mode 100755 diff --git a/docs/concepts/logs.md b/docs/concepts/logs.md old mode 100644 new mode 100755 diff --git a/docs/contributing/architecture.md b/docs/contributing/architecture.md old mode 100644 new mode 100755 diff --git a/docs/contributing/roadmap.md b/docs/contributing/roadmap.md old mode 100644 new mode 100755 diff --git a/docs/css/tooltip.css b/docs/css/tooltip.css old mode 100644 new mode 100755 diff --git a/docs/getting-started/what-is-openpilot.md b/docs/getting-started/what-is-openpilot.md old mode 100644 new mode 100755 diff --git a/docs/glossary.toml b/docs/glossary.toml old mode 100644 new mode 100755 diff --git a/docs/hooks/glossary.py b/docs/hooks/glossary.py old mode 100644 new mode 100755 diff --git a/docs/how-to/connect-to-comma.md b/docs/how-to/connect-to-comma.md old mode 100644 new mode 100755 diff --git a/docs/how-to/replay-a-drive.md b/docs/how-to/replay-a-drive.md old mode 100644 new mode 100755 diff --git a/docs/how-to/turn-the-speed-blue.md b/docs/how-to/turn-the-speed-blue.md old mode 100644 new mode 100755 diff --git a/git_src_commit b/git_src_commit old mode 100644 new mode 100755 diff --git a/git_src_commit_date b/git_src_commit_date old mode 100644 new mode 100755 diff --git a/mkdocs.yml b/mkdocs.yml old mode 100644 new mode 100755 diff --git a/msgq_repo/.dockerignore b/msgq_repo/.dockerignore old mode 100644 new mode 100755 diff --git a/msgq_repo/.github/workflows/repo.yml b/msgq_repo/.github/workflows/repo.yml old mode 100644 new mode 100755 diff --git a/msgq_repo/.github/workflows/tests.yml b/msgq_repo/.github/workflows/tests.yml old mode 100644 new mode 100755 diff --git a/msgq_repo/.gitignore b/msgq_repo/.gitignore old mode 100644 new mode 100755 diff --git a/msgq_repo/.pre-commit-config.yaml b/msgq_repo/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/msgq_repo/Dockerfile b/msgq_repo/Dockerfile old mode 100644 new mode 100755 diff --git a/msgq_repo/README.md b/msgq_repo/README.md old mode 100644 new mode 100755 diff --git a/msgq_repo/SConscript b/msgq_repo/SConscript old mode 100644 new mode 100755 diff --git a/msgq_repo/SConstruct b/msgq_repo/SConstruct old mode 100644 new mode 100755 diff --git a/msgq_repo/codecov.yml b/msgq_repo/codecov.yml old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/.gitignore b/msgq_repo/msgq/.gitignore old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/__init__.py b/msgq_repo/msgq/__init__.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/event.cc b/msgq_repo/msgq/event.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/event.h b/msgq_repo/msgq/event.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_fake.cc b/msgq_repo/msgq/impl_fake.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_fake.h b/msgq_repo/msgq/impl_fake.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_msgq.cc b/msgq_repo/msgq/impl_msgq.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_msgq.h b/msgq_repo/msgq/impl_msgq.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_zmq.cc b/msgq_repo/msgq/impl_zmq.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/impl_zmq.h b/msgq_repo/msgq/impl_zmq.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/ipc.cc b/msgq_repo/msgq/ipc.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/ipc.h b/msgq_repo/msgq/ipc.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/ipc.pxd b/msgq_repo/msgq/ipc.pxd old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/ipc_pyx.pyx b/msgq_repo/msgq/ipc_pyx.pyx old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/logger/logger.h b/msgq_repo/msgq/logger/logger.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/msgq.cc b/msgq_repo/msgq/msgq.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/msgq.h b/msgq_repo/msgq/msgq.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/msgq_tests.cc b/msgq_repo/msgq/msgq_tests.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/test_runner.cc b/msgq_repo/msgq/test_runner.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/tests/__init__.py b/msgq_repo/msgq/tests/__init__.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/tests/test_fake.py b/msgq_repo/msgq/tests/test_fake.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/tests/test_messaging.py b/msgq_repo/msgq/tests/test_messaging.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/tests/test_poller.py b/msgq_repo/msgq/tests/test_poller.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/.gitignore b/msgq_repo/msgq/visionipc/.gitignore old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/__init__.py b/msgq_repo/msgq/visionipc/__init__.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/test_runner.cc b/msgq_repo/msgq/visionipc/test_runner.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/tests/__init__.py b/msgq_repo/msgq/visionipc/tests/__init__.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/tests/test_visionipc.py b/msgq_repo/msgq/visionipc/tests/test_visionipc.py old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionbuf.cc b/msgq_repo/msgq/visionipc/visionbuf.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionbuf.h b/msgq_repo/msgq/visionipc/visionbuf.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionbuf_cl.cc b/msgq_repo/msgq/visionipc/visionbuf_cl.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionbuf_ion.cc b/msgq_repo/msgq/visionipc/visionbuf_ion.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc.cc b/msgq_repo/msgq/visionipc/visionipc.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc.h b/msgq_repo/msgq/visionipc/visionipc.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc.pxd b/msgq_repo/msgq/visionipc/visionipc.pxd old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_client.cc b/msgq_repo/msgq/visionipc/visionipc_client.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_client.h b/msgq_repo/msgq/visionipc/visionipc_client.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_pyx.pxd b/msgq_repo/msgq/visionipc/visionipc_pyx.pxd old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_pyx.pyx b/msgq_repo/msgq/visionipc/visionipc_pyx.pyx old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_server.cc b/msgq_repo/msgq/visionipc/visionipc_server.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_server.h b/msgq_repo/msgq/visionipc/visionipc_server.h old mode 100644 new mode 100755 diff --git a/msgq_repo/msgq/visionipc/visionipc_tests.cc b/msgq_repo/msgq/visionipc/visionipc_tests.cc old mode 100644 new mode 100755 diff --git a/msgq_repo/pyproject.toml b/msgq_repo/pyproject.toml old mode 100644 new mode 100755 diff --git a/msgq_repo/site_scons/site_tools/cython.py b/msgq_repo/site_scons/site_tools/cython.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/labeler.yaml b/opendbc_repo/.github/labeler.yaml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/auto_pr_review.yaml b/opendbc_repo/.github/workflows/auto_pr_review.yaml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/release.yml b/opendbc_repo/.github/workflows/release.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/repo.yml b/opendbc_repo/.github/workflows/repo.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/stale.yml b/opendbc_repo/.github/workflows/stale.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/test_models_trigger.yaml b/opendbc_repo/.github/workflows/test_models_trigger.yaml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/tests.yml b/opendbc_repo/.github/workflows/tests.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.github/workflows/update-cars-docs.yml b/opendbc_repo/.github/workflows/update-cars-docs.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/.gitignore b/opendbc_repo/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/LICENSE b/opendbc_repo/LICENSE old mode 100644 new mode 100755 diff --git a/opendbc_repo/MANIFEST.in b/opendbc_repo/MANIFEST.in old mode 100644 new mode 100755 diff --git a/opendbc_repo/README.md b/opendbc_repo/README.md old mode 100644 new mode 100755 diff --git a/opendbc_repo/RELEASES.md b/opendbc_repo/RELEASES.md old mode 100644 new mode 100755 diff --git a/opendbc_repo/SConscript b/opendbc_repo/SConscript old mode 100644 new mode 100755 diff --git a/opendbc_repo/SConstruct b/opendbc_repo/SConstruct old mode 100644 new mode 100755 diff --git a/opendbc_repo/conftest.py b/opendbc_repo/conftest.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/docs/CARS.md b/opendbc_repo/docs/CARS.md old mode 100644 new mode 100755 diff --git a/opendbc_repo/lefthook.yml b/opendbc_repo/lefthook.yml old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/__init__.py b/opendbc_repo/opendbc/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/__init__.py b/opendbc_repo/opendbc/can/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/dbc.py b/opendbc_repo/opendbc/can/dbc.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/packer.py b/opendbc_repo/opendbc/can/packer.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/parser.py b/opendbc_repo/opendbc/can/parser.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/.gitignore b/opendbc_repo/opendbc/can/tests/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/__init__.py b/opendbc_repo/opendbc/can/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/benchmark.py b/opendbc_repo/opendbc/can/tests/benchmark.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test.dbc b/opendbc_repo/opendbc/can/tests/test.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test_checksums.py b/opendbc_repo/opendbc/can/tests/test_checksums.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test_dbc_exceptions.py b/opendbc_repo/opendbc/can/tests/test_dbc_exceptions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test_dbc_parser.py b/opendbc_repo/opendbc/can/tests/test_dbc_parser.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test_define.py b/opendbc_repo/opendbc/can/tests/test_define.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/can/tests/test_packer_parser.py b/opendbc_repo/opendbc/can/tests/test_packer_parser.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/CARS_template.md b/opendbc_repo/opendbc/car/CARS_template.md old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/__init__.py b/opendbc_repo/opendbc/car/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/__init__.py b/opendbc_repo/opendbc/car/body/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/bodycan.py b/opendbc_repo/opendbc/car/body/bodycan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/carcontroller.py b/opendbc_repo/opendbc/car/body/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/carstate.py b/opendbc_repo/opendbc/car/body/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/fingerprints.py b/opendbc_repo/opendbc/car/body/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/interface.py b/opendbc_repo/opendbc/car/body/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/body/values.py b/opendbc_repo/opendbc/car/body/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/can_definitions.py b/opendbc_repo/opendbc/car/can_definitions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/car.capnp b/opendbc_repo/opendbc/car/car.capnp old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/car_helpers.py b/opendbc_repo/opendbc/car/car_helpers.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/carlog.py b/opendbc_repo/opendbc/car/carlog.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ccp.py b/opendbc_repo/opendbc/car/ccp.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/__init__.py b/opendbc_repo/opendbc/car/chrysler/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/carcontroller.py b/opendbc_repo/opendbc/car/chrysler/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/carstate.py b/opendbc_repo/opendbc/car/chrysler/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/chryslercan.py b/opendbc_repo/opendbc/car/chrysler/chryslercan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/fingerprints.py b/opendbc_repo/opendbc/car/chrysler/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/chrysler/values.py b/opendbc_repo/opendbc/car/chrysler/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/__init__.py b/opendbc_repo/opendbc/car/common/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/basedir.py b/opendbc_repo/opendbc/car/common/basedir.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/conversions.py b/opendbc_repo/opendbc/car/common/conversions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/filter_simple.py b/opendbc_repo/opendbc/car/common/filter_simple.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/pid.py b/opendbc_repo/opendbc/car/common/pid.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/common/simple_kalman.py b/opendbc_repo/opendbc/car/common/simple_kalman.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/crc.py b/opendbc_repo/opendbc/car/crc.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/debug/format_fingerprints.py b/opendbc_repo/opendbc/car/debug/format_fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/disable_ecu.py b/opendbc_repo/opendbc/car/disable_ecu.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/docs_definitions.py b/opendbc_repo/opendbc/car/docs_definitions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ecu_addrs.py b/opendbc_repo/opendbc/car/ecu_addrs.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/extra_cars.py b/opendbc_repo/opendbc/car/extra_cars.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/fingerprints.py b/opendbc_repo/opendbc/car/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/__init__.py b/opendbc_repo/opendbc/car/ford/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/carcontroller.py b/opendbc_repo/opendbc/car/ford/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/carstate.py b/opendbc_repo/opendbc/car/ford/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/fingerprints.py b/opendbc_repo/opendbc/car/ford/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/fordcan.py b/opendbc_repo/opendbc/car/ford/fordcan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/interface.py b/opendbc_repo/opendbc/car/ford/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/radar_interface.py b/opendbc_repo/opendbc/car/ford/radar_interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/tests/__init__.py b/opendbc_repo/opendbc/car/ford/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/tests/test_ford.py b/opendbc_repo/opendbc/car/ford/tests/test_ford.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/ford/values.py b/opendbc_repo/opendbc/car/ford/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/fw_query_definitions.py b/opendbc_repo/opendbc/car/fw_query_definitions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/fw_versions.py b/opendbc_repo/opendbc/car/fw_versions.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/__init__.py b/opendbc_repo/opendbc/car/gm/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/carcontroller.py b/opendbc_repo/opendbc/car/gm/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/carstate.py b/opendbc_repo/opendbc/car/gm/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/fingerprints.py b/opendbc_repo/opendbc/car/gm/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/gmcan.py b/opendbc_repo/opendbc/car/gm/gmcan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/interface.py b/opendbc_repo/opendbc/car/gm/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/tests/__init__.py b/opendbc_repo/opendbc/car/gm/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/tests/test_gm.py b/opendbc_repo/opendbc/car/gm/tests/test_gm.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/gm/values.py b/opendbc_repo/opendbc/car/gm/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/__init__.py b/opendbc_repo/opendbc/car/honda/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/carcontroller.py b/opendbc_repo/opendbc/car/honda/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/carstate.py b/opendbc_repo/opendbc/car/honda/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/fingerprints.py b/opendbc_repo/opendbc/car/honda/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/hondacan.py b/opendbc_repo/opendbc/car/honda/hondacan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/tests/__init__.py b/opendbc_repo/opendbc/car/honda/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/tests/test_honda.py b/opendbc_repo/opendbc/car/honda/tests/test_honda.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/honda/values.py b/opendbc_repo/opendbc/car/honda/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/__init__.py b/opendbc_repo/opendbc/car/hyundai/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/carcontroller.py b/opendbc_repo/opendbc/car/hyundai/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/carstate.py b/opendbc_repo/opendbc/car/hyundai/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/fingerprints.py b/opendbc_repo/opendbc/car/hyundai/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/hyundaican.py b/opendbc_repo/opendbc/car/hyundai/hyundaican.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/hyundaicanfd.py b/opendbc_repo/opendbc/car/hyundai/hyundaicanfd.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/interface.py b/opendbc_repo/opendbc/car/hyundai/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/radar_interface.py b/opendbc_repo/opendbc/car/hyundai/radar_interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/tests/__init__.py b/opendbc_repo/opendbc/car/hyundai/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/tests/test_hyundai.py b/opendbc_repo/opendbc/car/hyundai/tests/test_hyundai.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/hyundai/values.py b/opendbc_repo/opendbc/car/hyundai/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/include/c++.capnp b/opendbc_repo/opendbc/car/include/c++.capnp old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/interfaces.py b/opendbc_repo/opendbc/car/interfaces.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/isotp.py b/opendbc_repo/opendbc/car/isotp.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/isotp_parallel_query.py b/opendbc_repo/opendbc/car/isotp_parallel_query.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/__init__.py b/opendbc_repo/opendbc/car/mazda/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/carcontroller.py b/opendbc_repo/opendbc/car/mazda/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/carstate.py b/opendbc_repo/opendbc/car/mazda/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/fingerprints.py b/opendbc_repo/opendbc/car/mazda/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/mazdacan.py b/opendbc_repo/opendbc/car/mazda/mazdacan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mazda/values.py b/opendbc_repo/opendbc/car/mazda/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mock/__init__.py b/opendbc_repo/opendbc/car/mock/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mock/carcontroller.py b/opendbc_repo/opendbc/car/mock/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mock/carstate.py b/opendbc_repo/opendbc/car/mock/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/mock/values.py b/opendbc_repo/opendbc/car/mock/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/__init__.py b/opendbc_repo/opendbc/car/nissan/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/carcontroller.py b/opendbc_repo/opendbc/car/nissan/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/carstate.py b/opendbc_repo/opendbc/car/nissan/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/fingerprints.py b/opendbc_repo/opendbc/car/nissan/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/interface.py b/opendbc_repo/opendbc/car/nissan/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/nissancan.py b/opendbc_repo/opendbc/car/nissan/nissancan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/nissan/values.py b/opendbc_repo/opendbc/car/nissan/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/panda_runner.py b/opendbc_repo/opendbc/car/panda_runner.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/radar_interface.py b/opendbc_repo/opendbc/car/radar_interface.py new file mode 100644 index 0000000000..754552d151 --- /dev/null +++ b/opendbc_repo/opendbc/car/radar_interface.py @@ -0,0 +1,175 @@ +""" +Copyright (c) 2025, Rick Lan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, and/or sublicense, +for non-commercial purposes only, subject to the following conditions: + +- The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. +- Commercial use (e.g. use in a product, service, or activity intended to + generate revenue) is prohibited without explicit written permission from + the copyright holder. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from opendbc.car.interfaces import RadarInterfaceBase +from opendbc.can.parser import CANParser +from opendbc.car.structs import RadarData +from typing import List, Tuple + +# car head to radar +DREL_OFFSET = -0.1 + +# max object amount will process +MAX_OBJECTS = 100 + +# lat distance, typically max lane width is 3.7m +MAX_LAT_DIST = 3.6 + +# objects to ignore thats really close to the vehicle (after DREL_OFFSET applied) +MIN_DIST = 0.5 + +# when a object has really large negative v_rel means its stationary / standstill +# so with the values below (v_rel = -10, lat_dist = 2.), we are trying to ignore: +# when the ego vehicle is driving above 36 km/h (22.37 mph), we will ignore objects that lateral distance is above 2m on left or right. +STATIONARY_OBJ_VREL = -10. +STATIONARY_OBJ_LAT_DIST = 2. + +# when we detect an object that's really closed to the ego vehicle +# we ignore the objects that's away from left or right +CLOSED_OBJ_DREL = 10 +CLOSED_OBJ_YREL = 2. + +# ignore objects that has small radar cross sections (-64 ~ 63.5) +MIN_RCS = -5. + +# ignore oncoming objects +IGNORE_OBJ_STATE = 3 + +# ignore objects that we haven't seen for 5 secs +NOT_SEEN_INIT = 33*5 + +def _create_radar_parser(): + messages = [("Status", float('nan')), ("ObjectData", float('nan'))] + messages += [(f"ObjectData_{i}", float('nan')) for i in range(MAX_OBJECTS)] + return CANParser('u_radar', messages, 1) + +class RadarInterface(RadarInterfaceBase): + def __init__(self, CP): + super().__init__(CP) + + self.updated_messages = set() + + self.rcp = _create_radar_parser() + + self._pts_cache = dict() + self._pts_not_seen = {key: 0 for key in range(255)} + self._should_clear_cache = False + + def _create_parsable_object_can_strings(self, can_strings: List[Tuple]) -> Tuple[List[Tuple], int]: + """Optimized object string parsing with minimal allocations.""" + if not can_strings or not isinstance(can_strings[0], tuple) or len(can_strings[0]) < 2: + return [], 0 + + # Pre-allocate list with known maximum size + new_list = [] + new_list_append = new_list.append # Local reference for faster access + + records = can_strings[0][1] + id_num = 1 + + for record in records: + if id_num > MAX_OBJECTS: + break + + if record[0] == 0x60B: + new_list_append((id_num + 383, record[1], record[2])) + id_num += 1 + + return [(can_strings[0][0], new_list)], len(new_list) + + # called by card.py, 100hz + def update(self, can_strings): + vls = self.rcp.update(can_strings) + self.updated_messages.update(vls) + + if 1546 in self.updated_messages: + self._should_clear_cache = True + + if 1547 in self.updated_messages: + parsable_can_string, size = self._create_parsable_object_can_strings(can_strings) + self.rcp.update(parsable_can_string) + + # clean cache when we see a 0x60a then a 0x60b + if self._should_clear_cache: + self._pts_cache.clear() + self._should_clear_cache = False + + for i in range(size): + cpt = self.rcp.vl[f'ObjectData_{i}'] + track_id = int(cpt['ID']) + + d_rel = float(cpt['DistLong']) + DREL_OFFSET + y_rel = -float(cpt['DistLat']) + obj_class = int(cpt['Class']) + + # ignore oncoming objects + if int(cpt['DynProp']) == IGNORE_OBJ_STATE: + continue + + # only apply filters below when object is a point (0) not a vehicle (1) + if obj_class == 0: + #continue + # ignore really closed objects + if d_rel < MIN_DIST: + continue + + # ignore objects with really small radar cross sections + if float(cpt['RCS']) < MIN_RCS: + continue + + # ignore far left/right objects + if abs(y_rel) > MAX_LAT_DIST: + continue + + # ignore closed left/right objects when closed + if d_rel < CLOSED_OBJ_DREL and abs(y_rel) > CLOSED_OBJ_YREL: + continue + + # add to cache + if track_id not in self._pts_cache: + self._pts_cache[track_id] = RadarData.RadarPoint() + self._pts_cache[track_id].trackId = track_id + + self._pts_not_seen[track_id] = NOT_SEEN_INIT + self._pts_cache[track_id].yvRel = float(cpt['VRelLat']) + self._pts_cache[track_id].dRel = d_rel + self._pts_cache[track_id].yRel = y_rel + self._pts_cache[track_id].vRel = float(cpt['VRelLong']) + self._pts_cache[track_id].vLead = self._pts_cache[track_id].vRel + self.v_ego + self._pts_cache[track_id].aRel = float('nan') + self._pts_cache[track_id].measured = True + + self.updated_messages.clear() + + if self.frame % 2 == 0: + keys_to_remove = [key for key in self.pts if key not in self._pts_cache] + for key in keys_to_remove: + self._pts_not_seen[key] -= 1 + if self._pts_not_seen[key] <= 0: + del self.pts[key] + + self.pts.update(self._pts_cache) + + ret = RadarData() + if not self.rcp.can_valid: + ret.errors.canError = True + + ret.points = list(self.pts.values()) + return ret + + return None diff --git a/opendbc_repo/opendbc/car/rivian/__init__.py b/opendbc_repo/opendbc/car/rivian/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/carcontroller.py b/opendbc_repo/opendbc/car/rivian/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/carstate.py b/opendbc_repo/opendbc/car/rivian/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/fingerprints.py b/opendbc_repo/opendbc/car/rivian/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/interface.py b/opendbc_repo/opendbc/car/rivian/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/radar_interface.py b/opendbc_repo/opendbc/car/rivian/radar_interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/riviancan.py b/opendbc_repo/opendbc/car/rivian/riviancan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/tests/__init__.py b/opendbc_repo/opendbc/car/rivian/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/tests/test_rivian.py b/opendbc_repo/opendbc/car/rivian/tests/test_rivian.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/rivian/values.py b/opendbc_repo/opendbc/car/rivian/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/secoc.py b/opendbc_repo/opendbc/car/secoc.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/structs.py b/opendbc_repo/opendbc/car/structs.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/__init__.py b/opendbc_repo/opendbc/car/subaru/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/carcontroller.py b/opendbc_repo/opendbc/car/subaru/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/carstate.py b/opendbc_repo/opendbc/car/subaru/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/fingerprints.py b/opendbc_repo/opendbc/car/subaru/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/interface.py b/opendbc_repo/opendbc/car/subaru/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/subarucan.py b/opendbc_repo/opendbc/car/subaru/subarucan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/tests/__init__.py b/opendbc_repo/opendbc/car/subaru/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/tests/test_subaru.py b/opendbc_repo/opendbc/car/subaru/tests/test_subaru.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/subaru/values.py b/opendbc_repo/opendbc/car/subaru/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/__init__.py b/opendbc_repo/opendbc/car/tesla/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/carcontroller.py b/opendbc_repo/opendbc/car/tesla/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/carstate.py b/opendbc_repo/opendbc/car/tesla/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/fingerprints.py b/opendbc_repo/opendbc/car/tesla/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/interface.py b/opendbc_repo/opendbc/car/tesla/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/teslacan.py b/opendbc_repo/opendbc/car/tesla/teslacan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tesla/values.py b/opendbc_repo/opendbc/car/tesla/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/__init__.py b/opendbc_repo/opendbc/car/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/routes.py b/opendbc_repo/opendbc/car/tests/routes.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_can_fingerprint.py b/opendbc_repo/opendbc/car/tests/test_can_fingerprint.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_car_interfaces.py b/opendbc_repo/opendbc/car/tests/test_car_interfaces.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_docs.py b/opendbc_repo/opendbc/car/tests/test_docs.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_fw_fingerprint.py b/opendbc_repo/opendbc/car/tests/test_fw_fingerprint.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_platform_configs.py b/opendbc_repo/opendbc/car/tests/test_platform_configs.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_routes.py b/opendbc_repo/opendbc/car/tests/test_routes.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/tests/test_vehicle_model.py b/opendbc_repo/opendbc/car/tests/test_vehicle_model.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/ACURA_RDX_3G.json b/opendbc_repo/opendbc/car/torque_data/lat_models/ACURA_RDX_3G.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/AUDI_A3_MK3.json b/opendbc_repo/opendbc/car/torque_data/lat_models/AUDI_A3_MK3.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/AUDI_Q3_MK2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/AUDI_Q3_MK2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/BUICK_LACROSSE.json b/opendbc_repo/opendbc/car/torque_data/lat_models/BUICK_LACROSSE.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_EQUINOX.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_EQUINOX.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_EQUINOX_CC.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_EQUINOX_CC.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SILVERADO.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SILVERADO.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SUBURBAN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SUBURBAN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SUBURBAN_CC.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_SUBURBAN_CC.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_TRAILBLAZER.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_TRAILBLAZER.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_VOLT.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHEVROLET_VOLT.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2017_HYBRID.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2017_HYBRID.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2018_HYBRID.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2018_HYBRID.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2019_HYBRID.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2019_HYBRID.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2020.json b/opendbc_repo/opendbc/car/torque_data/lat_models/CHRYSLER_PACIFICA_2020.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_G70.json b/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_G70.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_GV60_EV_1ST_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_GV60_EV_1ST_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_GV70_1ST_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/GENESIS_GV70_1ST_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/GMC_ACADIA.json b/opendbc_repo/opendbc/car/torque_data/lat_models/GMC_ACADIA.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_ACCORD.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_ACCORD.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC_BOSCH.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CIVIC_BOSCH.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CLARITY.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CLARITY.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CRV_5G.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CRV_5G.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CRV_HYBRID.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_CRV_HYBRID.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_HRV.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_HRV.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_INSIGHT.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_INSIGHT.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_ODYSSEY.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_ODYSSEY.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_PILOT.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_PILOT.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_RIDGELINE.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HONDA_RIDGELINE.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_ELANTRA_2021.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_ELANTRA_2021.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_ELANTRA_HEV_2021.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_ELANTRA_HEV_2021.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_GENESIS.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_GENESIS.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_5.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_5.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_EV_LTD.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_EV_LTD.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_PHEV.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_IONIQ_PHEV.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_EV.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_EV.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_EV_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_EV_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_HEV.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_KONA_HEV.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_PALISADE.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_PALISADE.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_HEV_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_HEV_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_PHEV_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SANTA_FE_PHEV_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA_HYBRID.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA_HYBRID.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA_LF.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_SONATA_LF.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_TUCSON_4TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/HYUNDAI_TUCSON_4TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/JEEP_GRAND_CHEROKEE.json b/opendbc_repo/opendbc/car/torque_data/lat_models/JEEP_GRAND_CHEROKEE.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/JEEP_GRAND_CHEROKEE_2019.json b/opendbc_repo/opendbc/car/torque_data/lat_models/JEEP_GRAND_CHEROKEE_2019.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_CEED.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_CEED.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_EV6.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_EV6.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_K5_2021.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_K5_2021.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_EV.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_EV.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_HEV_2021.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_HEV_2021.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_HEV_2ND_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_NIRO_HEV_2ND_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_OPTIMA_G4_FL.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_OPTIMA_G4_FL.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SELTOS.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SELTOS.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO_4TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO_4TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO_HEV_4TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SORENTO_HEV_4TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SPORTAGE_5TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_SPORTAGE_5TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_STINGER.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_STINGER.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_STINGER_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/KIA_STINGER_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_ES_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_ES_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_IS.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_IS.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_NX.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_NX.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_NX_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_NX_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_RX.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_RX.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_RX_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/LEXUS_RX_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_3.json b/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_3.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX5_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX5_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX9 2021.json b/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX9 2021.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX9.json b/opendbc_repo/opendbc/car/torque_data/lat_models/MAZDA_CX9.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/RAM_1500_5TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/RAM_1500_5TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/RAM_HD_5TH_GEN.json b/opendbc_repo/opendbc/car/torque_data/lat_models/RAM_HD_5TH_GEN.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_KAROQ_MK1.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_KAROQ_MK1.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_KODIAQ_MK1.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_KODIAQ_MK1.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_OCTAVIA_MK3.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_OCTAVIA_MK3.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_SUPERB_MK3.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SKODA_SUPERB_MK3.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_ASCENT.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_ASCENT.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_FORESTER.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_FORESTER.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_IMPREZA.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_IMPREZA.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_IMPREZA_2020.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_IMPREZA_2020.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_LEGACY.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_LEGACY.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_LEGACY_PREGLOBAL.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_LEGACY_PREGLOBAL.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_OUTBACK.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_OUTBACK.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_OUTBACK_PREGLOBAL.json b/opendbc_repo/opendbc/car/torque_data/lat_models/SUBARU_OUTBACK_PREGLOBAL.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON_2019.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON_2019.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_AVALON_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CAMRY.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CAMRY.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CAMRY_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CAMRY_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CHR.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CHR.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CHR_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_CHR_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_COROLLA.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_COROLLA.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_COROLLA_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_COROLLA_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_HIGHLANDER.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_HIGHLANDER.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_HIGHLANDER_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_HIGHLANDER_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_MIRAI.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_MIRAI.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_2017_b'8965B47070x00x00x00x00x00x00'.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_2017_b'8965B47070x00x00x00x00x00x00'.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_V.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_PRIUS_V.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4H.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4H.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4_TSS2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4_TSS2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4_TSS2_2022.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_RAV4_TSS2_2022.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_SIENNA.json b/opendbc_repo/opendbc/car/torque_data/lat_models/TOYOTA_SIENNA.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_ARTEON_MK1.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_ARTEON_MK1.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_ATLAS_MK1.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_ATLAS_MK1.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_GOLF_MK7.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_GOLF_MK7.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_JETTA_MK7.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_JETTA_MK7.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_PASSAT_MK8.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_PASSAT_MK8.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_PASSAT_NMS.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_PASSAT_NMS.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_TIGUAN_MK2.json b/opendbc_repo/opendbc/car/torque_data/lat_models/VOLKSWAGEN_TIGUAN_MK2.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/neural_ff_weights.json b/opendbc_repo/opendbc/car/torque_data/neural_ff_weights.json old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/override.toml b/opendbc_repo/opendbc/car/torque_data/override.toml old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/params.toml b/opendbc_repo/opendbc/car/torque_data/params.toml old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/torque_data/substitute.toml b/opendbc_repo/opendbc/car/torque_data/substitute.toml old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/__init__.py b/opendbc_repo/opendbc/car/toyota/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/carcontroller.py b/opendbc_repo/opendbc/car/toyota/carcontroller.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/carstate.py b/opendbc_repo/opendbc/car/toyota/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/fingerprints.py b/opendbc_repo/opendbc/car/toyota/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/interface.py b/opendbc_repo/opendbc/car/toyota/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/tests/__init__.py b/opendbc_repo/opendbc/car/toyota/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/tests/test_toyota.py b/opendbc_repo/opendbc/car/toyota/tests/test_toyota.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/toyotacan.py b/opendbc_repo/opendbc/car/toyota/toyotacan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/toyota/values.py b/opendbc_repo/opendbc/car/toyota/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/uds.py b/opendbc_repo/opendbc/car/uds.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/values.py b/opendbc_repo/opendbc/car/values.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/vin.py b/opendbc_repo/opendbc/car/vin.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/__init__.py b/opendbc_repo/opendbc/car/volkswagen/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/carcontroller.py b/opendbc_repo/opendbc/car/volkswagen/carcontroller.py old mode 100644 new mode 100755 index f4ba62c814..1946e48705 --- a/opendbc_repo/opendbc/car/volkswagen/carcontroller.py +++ b/opendbc_repo/opendbc/car/volkswagen/carcontroller.py @@ -48,8 +48,23 @@ def update(self, CC, CS, now_nanos): self.hca_frame_timer_running += self.CCP.STEER_STEP if self.apply_torque_last == apply_torque: self.hca_frame_same_torque += self.CCP.STEER_STEP - if self.hca_frame_same_torque > self.CCP.STEER_TIME_STUCK_TORQUE / DT_CTRL: - apply_torque -= (1, -1)[apply_torque < 0] + # Different timeout based on torque level for optimal cornering performance + # At max torque: use long timeout (300s) to avoid torque reduction during sustained turns + # Below max torque: use short timeout (1.9s) to actively boost torque in corners + if abs(apply_torque) >= self.CCP.STEER_MAX: + stuck_timeout = 300.0 / DT_CTRL # 300 seconds (5 minutes) - avoid reduction + else: + stuck_timeout = self.CCP.STEER_TIME_STUCK_TORQUE / DT_CTRL # 1.9 seconds - boost torque + if self.hca_frame_same_torque > stuck_timeout: + # Reset EPS timer by modifying torque + # Only reduce torque if at maximum (300), otherwise increase for better response + if abs(apply_torque) >= self.CCP.STEER_MAX: + # At max torque: reduce slightly to reset timer + reduction = 1 if abs(apply_torque) > 100 else 0 + apply_torque -= reduction if apply_torque > 0 else -reduction + else: + # Below max torque: increase slightly to improve steering response + apply_torque += 1 if apply_torque > 0 else -1 self.hca_frame_same_torque = 0 else: self.hca_frame_same_torque = 0 diff --git a/opendbc_repo/opendbc/car/volkswagen/carstate.py b/opendbc_repo/opendbc/car/volkswagen/carstate.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/fingerprints.py b/opendbc_repo/opendbc/car/volkswagen/fingerprints.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/interface.py b/opendbc_repo/opendbc/car/volkswagen/interface.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/mqbcan.py b/opendbc_repo/opendbc/car/volkswagen/mqbcan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/pqcan.py b/opendbc_repo/opendbc/car/volkswagen/pqcan.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/tests/__init__.py b/opendbc_repo/opendbc/car/volkswagen/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/tests/test_volkswagen.py b/opendbc_repo/opendbc/car/volkswagen/tests/test_volkswagen.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/car/volkswagen/values.py b/opendbc_repo/opendbc/car/volkswagen/values.py old mode 100644 new mode 100755 index 5711a228da..ca9db0ad8b --- a/opendbc_repo/opendbc/car/volkswagen/values.py +++ b/opendbc_repo/opendbc/car/volkswagen/values.py @@ -76,8 +76,8 @@ def __init__(self, CP): self.LDW_STEP = 10 # LDW_02 message frequency 10Hz self.ACC_HUD_STEP = 6 # ACC_02 message frequency 16Hz self.STEER_DRIVER_ALLOWANCE = 80 # Driver intervention threshold 0.8 Nm - self.STEER_DELTA_UP = 4 # Max HCA reached in 1.50s (STEER_MAX / (50Hz * 1.50)) - self.STEER_DELTA_DOWN = 10 # Min HCA reached in 0.60s (STEER_MAX / (50Hz * 0.60)) + self.STEER_DELTA_UP = 50 # Max HCA reached in 1.50s (STEER_MAX / (50Hz * 1.50)) + self.STEER_DELTA_DOWN = 50 # Min HCA reached in 0.60s (STEER_MAX / (50Hz * 0.60)) if CP.transmissionType == TransmissionType.automatic: self.shifter_values = can_define.dv["Gateway_73"]["GE_Fahrstufe"] @@ -91,7 +91,7 @@ def __init__(self, CP): Button(structs.CarState.ButtonEvent.Type.accelCruise, "GRA_ACC_01", "GRA_Tip_Hoch", [1]), Button(structs.CarState.ButtonEvent.Type.decelCruise, "GRA_ACC_01", "GRA_Tip_Runter", [1]), Button(structs.CarState.ButtonEvent.Type.cancel, "GRA_ACC_01", "GRA_Abbrechen", [1]), - Button(structs.CarState.ButtonEvent.Type.gapAdjustCruise, "GRA_ACC_01", "GRA_Verstellung_Zeitluecke", [1]), + Button(structs.CarState.ButtonEvent.Type.gapAdjustCruise, "GRA_ACC_01", "GRA_Verstellung_Zeitluecke", [3]), ] self.LDW_MESSAGES = { diff --git a/opendbc_repo/opendbc/car/xcp.py b/opendbc_repo/opendbc/car/xcp.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ESR.dbc b/opendbc_repo/opendbc/dbc/ESR.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/FORD_CADS.dbc b/opendbc_repo/opendbc/dbc/FORD_CADS.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/FORD_CADS_64.dbc b/opendbc_repo/opendbc/dbc/FORD_CADS_64.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/README.md b/opendbc_repo/opendbc/dbc/README.md old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/SConscript b/opendbc_repo/opendbc/dbc/SConscript old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/__init__.py b/opendbc_repo/opendbc/dbc/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/acura_ilx_2016_nidec.dbc b/opendbc_repo/opendbc/dbc/acura_ilx_2016_nidec.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/bmw_e9x_e8x.dbc b/opendbc_repo/opendbc/dbc/bmw_e9x_e8x.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/cadillac_ct6_chassis.dbc b/opendbc_repo/opendbc/dbc/cadillac_ct6_chassis.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/cadillac_ct6_object.dbc b/opendbc_repo/opendbc/dbc/cadillac_ct6_object.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/cadillac_ct6_powertrain.dbc b/opendbc_repo/opendbc/dbc/cadillac_ct6_powertrain.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/chrysler_cusw.dbc b/opendbc_repo/opendbc/dbc/chrysler_cusw.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/chrysler_pacifica_2017_hybrid_private_fusion.dbc b/opendbc_repo/opendbc/dbc/chrysler_pacifica_2017_hybrid_private_fusion.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/comma_body.dbc b/opendbc_repo/opendbc/dbc/comma_body.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/fca_giorgio.dbc b/opendbc_repo/opendbc/dbc/fca_giorgio.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ford_cgea1_2_bodycan_2011.dbc b/opendbc_repo/opendbc/dbc/ford_cgea1_2_bodycan_2011.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ford_cgea1_2_ptcan_2011.dbc b/opendbc_repo/opendbc/dbc/ford_cgea1_2_ptcan_2011.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ford_fusion_2018_adas.dbc b/opendbc_repo/opendbc/dbc/ford_fusion_2018_adas.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ford_fusion_2018_pt.dbc b/opendbc_repo/opendbc/dbc/ford_fusion_2018_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/ford_lincoln_base_pt.dbc b/opendbc_repo/opendbc/dbc/ford_lincoln_base_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/chrysler/.gitignore b/opendbc_repo/opendbc/dbc/generator/chrysler/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/chrysler/_stellantis_common.dbc b/opendbc_repo/opendbc/dbc/generator/chrysler/_stellantis_common.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_pacifica_2017_hybrid.dbc b/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_pacifica_2017_hybrid.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_ram_dt.dbc b/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_ram_dt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_ram_hd.dbc b/opendbc_repo/opendbc/dbc/generator/chrysler/chrysler_ram_hd.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/gm/_community.dbc b/opendbc_repo/opendbc/dbc/generator/gm/_community.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/gm/gm_global_a_powertrain.dbc b/opendbc_repo/opendbc/dbc/generator/gm/gm_global_a_powertrain.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_bosch_2018.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_bosch_2018.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_bosch_adas_2018.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_bosch_adas_2018.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_community.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_community.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_honda_common.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_honda_common.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_nidec_common.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_nidec_common.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_steering_sensors_a.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_steering_sensors_a.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/_steering_sensors_b.dbc b/opendbc_repo/opendbc/dbc/generator/honda/_steering_sensors_b.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/acura_ilx_2016_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/acura_ilx_2016_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/acura_rdx_2018_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/acura_rdx_2018_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/acura_rdx_2020_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/acura_rdx_2020_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_accord_2018_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_accord_2018_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_ex_2022_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_ex_2022_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_hatchback_ex_2017_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_hatchback_ex_2017_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_touring_2016_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_civic_touring_2016_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_clarity_hybrid_2018_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_clarity_hybrid_2018_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_ex_2017_body.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_ex_2017_body.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_ex_2017_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_ex_2017_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_executive_2016_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_executive_2016_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_touring_2016_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_crv_touring_2016_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_fit_ex_2018_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_fit_ex_2018_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_fit_hybrid_2018_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_fit_hybrid_2018_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_insight_ex_2019_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_insight_ex_2019_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_odyssey_exl_2018.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_odyssey_exl_2018.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_odyssey_extreme_edition_2018_china_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_odyssey_extreme_edition_2018_china_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/honda/honda_pilot_2023_can.dbc b/opendbc_repo/opendbc/dbc/generator/honda/honda_pilot_2023_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/hyundai/.gitignore b/opendbc_repo/opendbc/dbc/generator/hyundai/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/hyundai/_hyundai_common.dbc b/opendbc_repo/opendbc/dbc/generator/hyundai/_hyundai_common.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_canfd.dbc b/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_canfd.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_canfd_radar.dbc b/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_canfd_radar.dbc new file mode 100644 index 0000000000..a6d7fd331a --- /dev/null +++ b/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_canfd_radar.dbc @@ -0,0 +1,998 @@ + +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: XXX + +BO_ 528 RADAR_TRACK_210: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 529 RADAR_TRACK_211: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 530 RADAR_TRACK_212: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 531 RADAR_TRACK_213: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 532 RADAR_TRACK_214: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 533 RADAR_TRACK_215: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 534 RADAR_TRACK_216: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 535 RADAR_TRACK_217: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 536 RADAR_TRACK_218: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 537 RADAR_TRACK_219: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 538 RADAR_TRACK_21a: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 539 RADAR_TRACK_21b: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 540 RADAR_TRACK_21c: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 541 RADAR_TRACK_21d: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 542 RADAR_TRACK_21e: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 543 RADAR_TRACK_21f: 32 RADAR + SG_ NEW_SIGNAL_25 : 26|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_24 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_21 : 36|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_20 : 39|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT1 : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_15 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_14 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_5 : 63|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST1 : 64|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST1 : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED1 : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_16 : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED1 : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL1 : 118|10@1- (0.05,0) [0|1023] "" XXX + SG_ NEW_SIGNAL_27 : 154|3@0+ (1,0) [0|7] "" XXX + SG_ NEW_SIGNAL_26 : 156|2@0+ (1,0) [0|3] "" XXX + SG_ NEW_SIGNAL_23 : 164|5@0+ (1,0) [0|31] "" XXX + SG_ NEW_SIGNAL_22 : 167|3@0+ (1,0) [0|7] "" XXX + SG_ VALID_CNT2 : 175|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_13 : 179|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_12 : 183|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_11 : 191|8@0- (1,0) [0|255] "" XXX + SG_ LONG_DIST2 : 192|12@1+ (0.05,0) [0|4095] "" XXX + SG_ LAT_DIST2 : 204|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED2 : 216|14@1- (0.01,0) [0|16383] "" XXX + SG_ NEW_SIGNAL_17 : 231|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED2 : 232|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL2 : 246|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 933 RADAR_TRACK_3a5: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 934 RADAR_TRACK_3a6: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 935 RADAR_TRACK_3a7: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 936 RADAR_TRACK_3a8: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 937 RADAR_TRACK_3a9: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 938 RADAR_TRACK_3aa: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 939 RADAR_TRACK_3ab: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 940 RADAR_TRACK_3ac: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 941 RADAR_TRACK_3ad: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 942 RADAR_TRACK_3ae: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 943 RADAR_TRACK_3af: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 944 RADAR_TRACK_3b0: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 945 RADAR_TRACK_3b1: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 946 RADAR_TRACK_3b2: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 947 RADAR_TRACK_3b3: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 948 RADAR_TRACK_3b4: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 949 RADAR_TRACK_3b5: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 950 RADAR_TRACK_3b6: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 951 RADAR_TRACK_3b7: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 952 RADAR_TRACK_3b8: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 953 RADAR_TRACK_3b9: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 954 RADAR_TRACK_3ba: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 955 RADAR_TRACK_3bb: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 956 RADAR_TRACK_3bc: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 957 RADAR_TRACK_3bd: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 958 RADAR_TRACK_3be: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 959 RADAR_TRACK_3bf: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 960 RADAR_TRACK_3c0: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 961 RADAR_TRACK_3c1: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 962 RADAR_TRACK_3c2: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 963 RADAR_TRACK_3c3: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + +BO_ 964 RADAR_TRACK_3c4: 24 RADAR + SG_ VALID : 25|2@0+ (1,0) [0|3] "" XXX + SG_ VALID2 : 28|2@0+ (1,0) [0|3] "" XXX + SG_ PROB : 30|10@1+ (1,0) [0|1023] "" XXX + SG_ VALID_CNT : 47|8@0+ (1,0) [0|255] "" XXX + SG_ NEW_SIGNAL_7 : 51|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_6 : 55|4@0+ (1,0) [0|15] "" XXX + SG_ NEW_SIGNAL_2 : 62|7@0- (1,0) [0|127] "" XXX + SG_ LONG_DIST : 63|13@1+ (0.05,0) [0|8191] "" XXX + SG_ LAT_DIST : 76|12@1- (0.05,0) [0|4095] "" XXX + SG_ REL_SPEED : 88|14@1- (0.01,0) [0|16383] "" XXX + SG_ IN_MYLANE : 103|2@0+ (1,0) [0|3] "" XXX + SG_ LAT_SPEED : 104|13@1- (0.01,0) [0|8191] "" XXX + SG_ REL_ACCEL : 118|10@1- (0.05,0) [0|1023] "" XXX + \ No newline at end of file diff --git a/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_palisade_2023.dbc b/opendbc_repo/opendbc/dbc/generator/hyundai/hyundai_palisade_2023.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/nissan/_nissan_common.dbc b/opendbc_repo/opendbc/dbc/generator/nissan/_nissan_common.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/nissan/nissan_leaf_2018.dbc b/opendbc_repo/opendbc/dbc/generator/nissan/nissan_leaf_2018.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/nissan/nissan_x_trail_2017.dbc b/opendbc_repo/opendbc/dbc/generator/nissan/nissan_x_trail_2017.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/rivian/.gitignore b/opendbc_repo/opendbc/dbc/generator/rivian/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/_subaru_global.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/_subaru_global.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/_subaru_preglobal_2015.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/_subaru_preglobal_2015.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/subaru_forester_2017.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/subaru_forester_2017.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/subaru_global_2017.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/subaru_global_2017.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/subaru_global_2020_hybrid.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/subaru_global_2020_hybrid.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/subaru_outback_2015.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/subaru_outback_2015.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/subaru/subaru_outback_2019.dbc b/opendbc_repo/opendbc/dbc/generator/subaru/subaru_outback_2019.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/tesla/.gitignore b/opendbc_repo/opendbc/dbc/generator/tesla/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/_community.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/_community.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/_toyota_2017.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/_toyota_2017.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/_toyota_adas_standard.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/_toyota_adas_standard.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/toyota_new_mc_pt.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/toyota_new_mc_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/toyota_nodsu_pt.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/toyota_nodsu_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/toyota_secoc_pt.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/toyota_secoc_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/generator/toyota/toyota_tnga_k_pt.dbc b/opendbc_repo/opendbc/dbc/generator/toyota/toyota_tnga_k_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_chassis.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_chassis.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_high_voltage_management.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_high_voltage_management.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_lowspeed.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_lowspeed.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_lowspeed_1818125.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_lowspeed_1818125.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_object.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_object.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_powertrain_expansion.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_powertrain_expansion.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/gm_global_a_powertrain_volt.dbc b/opendbc_repo/opendbc/dbc/gm_global_a_powertrain_volt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hongqi_hs5.dbc b/opendbc_repo/opendbc/dbc/hongqi_hs5.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hyundai_2015_ccan.dbc b/opendbc_repo/opendbc/dbc/hyundai_2015_ccan.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hyundai_2015_mcan.dbc b/opendbc_repo/opendbc/dbc/hyundai_2015_mcan.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hyundai_i30_2014.dbc b/opendbc_repo/opendbc/dbc/hyundai_i30_2014.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hyundai_kia_generic.dbc b/opendbc_repo/opendbc/dbc/hyundai_kia_generic.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/hyundai_santafe_2007.dbc b/opendbc_repo/opendbc/dbc/hyundai_santafe_2007.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/luxgen_s5_2015.dbc b/opendbc_repo/opendbc/dbc/luxgen_s5_2015.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/mazda_2017.dbc b/opendbc_repo/opendbc/dbc/mazda_2017.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/mazda_3_2019.dbc b/opendbc_repo/opendbc/dbc/mazda_3_2019.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/mazda_radar.dbc b/opendbc_repo/opendbc/dbc/mazda_radar.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/mazda_rx8.dbc b/opendbc_repo/opendbc/dbc/mazda_rx8.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/mercedes_benz_e350_2010.dbc b/opendbc_repo/opendbc/dbc/mercedes_benz_e350_2010.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/nissan_xterra_2011.dbc b/opendbc_repo/opendbc/dbc/nissan_xterra_2011.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/opel_omega_2001.dbc b/opendbc_repo/opendbc/dbc/opel_omega_2001.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/rivian_primary_actuator.dbc b/opendbc_repo/opendbc/dbc/rivian_primary_actuator.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/tesla_can.dbc b/opendbc_repo/opendbc/dbc/tesla_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/tesla_model3_party.dbc b/opendbc_repo/opendbc/dbc/tesla_model3_party.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/tesla_model3_vehicle.dbc b/opendbc_repo/opendbc/dbc/tesla_model3_vehicle.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/tesla_powertrain.dbc b/opendbc_repo/opendbc/dbc/tesla_powertrain.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_2017_ref_pt.dbc b/opendbc_repo/opendbc/dbc/toyota_2017_ref_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_adas.dbc b/opendbc_repo/opendbc/dbc/toyota_adas.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_iQ_2009_can.dbc b/opendbc_repo/opendbc/dbc/toyota_iQ_2009_can.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_prius_2010_pt.dbc b/opendbc_repo/opendbc/dbc/toyota_prius_2010_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_radar_dsu_tssp.dbc b/opendbc_repo/opendbc/dbc/toyota_radar_dsu_tssp.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/toyota_tss2_adas.dbc b/opendbc_repo/opendbc/dbc/toyota_tss2_adas.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/u_radar.dbc b/opendbc_repo/opendbc/dbc/u_radar.dbc new file mode 100644 index 0000000000..df602bd1d0 --- /dev/null +++ b/opendbc_repo/opendbc/dbc/u_radar.dbc @@ -0,0 +1,1486 @@ + + +VERSION "" + + +NS_ : + NS_DESC_ + CM_ + BA_DEF_ + BA_ + VAL_ + CAT_DEF_ + CAT_ + FILTER + BA_DEF_DEF_ + EV_DATA_ + ENVVAR_DATA_ + SGTYPE_ + SGTYPE_VAL_ + BA_DEF_SGTYPE_ + BA_SGTYPE_ + SIG_TYPE_REF_ + VAL_TABLE_ + SIG_GROUP_ + SIG_VALTYPE_ + SIGTYPE_VALTYPE_ + BO_TX_BU_ + BA_DEF_REL_ + BA_REL_ + BA_DEF_DEF_REL_ + BU_SG_REL_ + BU_EV_REL_ + BU_BO_REL_ + SG_MUL_VAL_ + +BS_: + +BU_: RADAR + +BO_ 513 RadarState: 8 XXX + SG_ NVMReadStatus : 6|1@0+ (1,0) [0|1] "" XXX + SG_ NVMWriteStatus : 7|1@0+ (1,0) [0|1] "" XXX + SG_ MaxDistanceCfg : 15|10@0+ (2,0) [0|2046] "m" XXX + SG_ RadarPowerCfg : 25|3@0+ (1,0) [0|7] "" XXX + SG_ SensorID : 34|3@0+ (1,0) [0|7] "" XXX + SG_ SortIndex : 38|3@0+ (1,0) [0|7] "" XXX + SG_ CtrlRelayCfg : 41|1@0+ (1,0) [0|1] "" XXX + SG_ OutputTypeCfg : 43|2@0+ (1,0) [0|3] "" XXX + SG_ QualityInfoCfg : 44|1@0+ (1,0) [0|1] "" XXX + SG_ ExtInfoCfg : 45|1@0+ (1,0) [0|1] "" XXX + SG_ CANBaudRate : 55|3@0+ (1,0) [0|7] "" XXX + SG_ InterfaceType : 57|2@0+ (1,0) [0|3] "" XXX + SG_ RCSThreshold : 58|3@1+ (1,0) [0|7] "" XXX + SG_ CalibrationEnabled : 63|2@0+ (1,0) [0|3] "" XXX + +VAL_ 513 NVMReadStatus 0 "Failed" 1 "Successful"; +VAL_ 513 NVMWriteStatus 0 "Failed" 1 "Successful"; +VAL_ 513 RadarPowerCfg 0 "Standard" 1 "-3dB Gain" 2 "-6dB Gain" 3 "-9dB Gain"; +VAL_ 513 SortIndex 0 "No Sorting" 1 "Sort By Range" 2 "Sort By RCS"; +VAL_ 513 CtrlRelayCfg 0 "Off" 1 "On"; +VAL_ 513 OutputTypeCfg 0 "None" 1 "Objects" 2 "Clusters"; +VAL_ 513 QualityInfoCfg 0 "Off" 1 "On"; +VAL_ 513 ExtInfoCfg 0 "Off" 1 "On"; +VAL_ 513 CANBaudRate 0 "500K" 1 "250K" 2 "1M"; +VAL_ 513 RCSThreshold 0 "Standard" 1 "High Sensitivity"; +VAL_ 513 CalibrationEnabled 1 "Enabled" 2 "Initial Recovery"; + +BO_ 1546 Status: 8 RADAR + SG_ NoOfObjects : 7|8@0+ (1,0) [0|255] "" XXX + SG_ MeasCount : 15|16@0+ (1,0) [0|65535] "" XXX + SG_ InterfaceVersion : 31|4@0+ (1,0) [0|15] "" XXX + +BO_ 1547 ObjectData: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 1547 "Object detection and tracking information"; +VAL_ 1547 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 1547 Class 0 "point" 1 "vehicle"; + +BO_ 383 ObjectData_0: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 383 "Object detection and tracking information"; +VAL_ 383 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 383 Class 0 "point" 1 "vehicle"; + +BO_ 384 ObjectData_1: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 384 "Object detection and tracking information"; +VAL_ 384 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 384 Class 0 "point" 1 "vehicle"; + +BO_ 385 ObjectData_2: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 385 "Object detection and tracking information"; +VAL_ 385 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 385 Class 0 "point" 1 "vehicle"; + +BO_ 386 ObjectData_3: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 386 "Object detection and tracking information"; +VAL_ 386 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 386 Class 0 "point" 1 "vehicle"; + +BO_ 387 ObjectData_4: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 387 "Object detection and tracking information"; +VAL_ 387 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 387 Class 0 "point" 1 "vehicle"; + +BO_ 388 ObjectData_5: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 388 "Object detection and tracking information"; +VAL_ 388 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 388 Class 0 "point" 1 "vehicle"; + +BO_ 389 ObjectData_6: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 389 "Object detection and tracking information"; +VAL_ 389 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 389 Class 0 "point" 1 "vehicle"; + +BO_ 390 ObjectData_7: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 390 "Object detection and tracking information"; +VAL_ 390 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 390 Class 0 "point" 1 "vehicle"; + +BO_ 391 ObjectData_8: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 391 "Object detection and tracking information"; +VAL_ 391 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 391 Class 0 "point" 1 "vehicle"; + +BO_ 392 ObjectData_9: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 392 "Object detection and tracking information"; +VAL_ 392 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 392 Class 0 "point" 1 "vehicle"; + +BO_ 393 ObjectData_10: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 393 "Object detection and tracking information"; +VAL_ 393 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 393 Class 0 "point" 1 "vehicle"; + +BO_ 394 ObjectData_11: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 394 "Object detection and tracking information"; +VAL_ 394 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 394 Class 0 "point" 1 "vehicle"; + +BO_ 395 ObjectData_12: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 395 "Object detection and tracking information"; +VAL_ 395 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 395 Class 0 "point" 1 "vehicle"; + +BO_ 396 ObjectData_13: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 396 "Object detection and tracking information"; +VAL_ 396 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 396 Class 0 "point" 1 "vehicle"; + +BO_ 397 ObjectData_14: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 397 "Object detection and tracking information"; +VAL_ 397 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 397 Class 0 "point" 1 "vehicle"; + +BO_ 398 ObjectData_15: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 398 "Object detection and tracking information"; +VAL_ 398 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 398 Class 0 "point" 1 "vehicle"; + +BO_ 399 ObjectData_16: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 399 "Object detection and tracking information"; +VAL_ 399 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 399 Class 0 "point" 1 "vehicle"; + +BO_ 400 ObjectData_17: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 400 "Object detection and tracking information"; +VAL_ 400 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 400 Class 0 "point" 1 "vehicle"; + +BO_ 401 ObjectData_18: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 401 "Object detection and tracking information"; +VAL_ 401 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 401 Class 0 "point" 1 "vehicle"; + +BO_ 402 ObjectData_19: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 402 "Object detection and tracking information"; +VAL_ 402 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 402 Class 0 "point" 1 "vehicle"; + +BO_ 403 ObjectData_20: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 403 "Object detection and tracking information"; +VAL_ 403 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 403 Class 0 "point" 1 "vehicle"; + +BO_ 404 ObjectData_21: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 404 "Object detection and tracking information"; +VAL_ 404 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 404 Class 0 "point" 1 "vehicle"; + +BO_ 405 ObjectData_22: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 405 "Object detection and tracking information"; +VAL_ 405 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 405 Class 0 "point" 1 "vehicle"; + +BO_ 406 ObjectData_23: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 406 "Object detection and tracking information"; +VAL_ 406 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 406 Class 0 "point" 1 "vehicle"; + +BO_ 407 ObjectData_24: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 407 "Object detection and tracking information"; +VAL_ 407 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 407 Class 0 "point" 1 "vehicle"; + +BO_ 408 ObjectData_25: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 408 "Object detection and tracking information"; +VAL_ 408 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 408 Class 0 "point" 1 "vehicle"; + +BO_ 409 ObjectData_26: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 409 "Object detection and tracking information"; +VAL_ 409 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 409 Class 0 "point" 1 "vehicle"; + +BO_ 410 ObjectData_27: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 410 "Object detection and tracking information"; +VAL_ 410 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 410 Class 0 "point" 1 "vehicle"; + +BO_ 411 ObjectData_28: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 411 "Object detection and tracking information"; +VAL_ 411 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 411 Class 0 "point" 1 "vehicle"; + +BO_ 412 ObjectData_29: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 412 "Object detection and tracking information"; +VAL_ 412 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 412 Class 0 "point" 1 "vehicle"; + +BO_ 413 ObjectData_30: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 413 "Object detection and tracking information"; +VAL_ 413 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 413 Class 0 "point" 1 "vehicle"; + +BO_ 414 ObjectData_31: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 414 "Object detection and tracking information"; +VAL_ 414 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 414 Class 0 "point" 1 "vehicle"; + +BO_ 415 ObjectData_32: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 415 "Object detection and tracking information"; +VAL_ 415 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 415 Class 0 "point" 1 "vehicle"; + +BO_ 416 ObjectData_33: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 416 "Object detection and tracking information"; +VAL_ 416 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 416 Class 0 "point" 1 "vehicle"; + +BO_ 417 ObjectData_34: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 417 "Object detection and tracking information"; +VAL_ 417 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 417 Class 0 "point" 1 "vehicle"; + +BO_ 418 ObjectData_35: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 418 "Object detection and tracking information"; +VAL_ 418 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 418 Class 0 "point" 1 "vehicle"; + +BO_ 419 ObjectData_36: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 419 "Object detection and tracking information"; +VAL_ 419 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 419 Class 0 "point" 1 "vehicle"; + +BO_ 420 ObjectData_37: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 420 "Object detection and tracking information"; +VAL_ 420 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 420 Class 0 "point" 1 "vehicle"; + +BO_ 421 ObjectData_38: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 421 "Object detection and tracking information"; +VAL_ 421 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 421 Class 0 "point" 1 "vehicle"; + +BO_ 422 ObjectData_39: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 422 "Object detection and tracking information"; +VAL_ 422 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 422 Class 0 "point" 1 "vehicle"; + +BO_ 423 ObjectData_40: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 423 "Object detection and tracking information"; +VAL_ 423 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 423 Class 0 "point" 1 "vehicle"; + +BO_ 424 ObjectData_41: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 424 "Object detection and tracking information"; +VAL_ 424 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 424 Class 0 "point" 1 "vehicle"; + +BO_ 425 ObjectData_42: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 425 "Object detection and tracking information"; +VAL_ 425 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 425 Class 0 "point" 1 "vehicle"; + +BO_ 426 ObjectData_43: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 426 "Object detection and tracking information"; +VAL_ 426 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 426 Class 0 "point" 1 "vehicle"; + +BO_ 427 ObjectData_44: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 427 "Object detection and tracking information"; +VAL_ 427 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 427 Class 0 "point" 1 "vehicle"; + +BO_ 428 ObjectData_45: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 428 "Object detection and tracking information"; +VAL_ 428 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 428 Class 0 "point" 1 "vehicle"; + +BO_ 429 ObjectData_46: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 429 "Object detection and tracking information"; +VAL_ 429 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 429 Class 0 "point" 1 "vehicle"; + +BO_ 430 ObjectData_47: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 430 "Object detection and tracking information"; +VAL_ 430 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 430 Class 0 "point" 1 "vehicle"; + +BO_ 431 ObjectData_48: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 431 "Object detection and tracking information"; +VAL_ 431 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 431 Class 0 "point" 1 "vehicle"; + +BO_ 432 ObjectData_49: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 432 "Object detection and tracking information"; +VAL_ 432 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 432 Class 0 "point" 1 "vehicle"; + +BO_ 433 ObjectData_50: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 433 "Object detection and tracking information"; +VAL_ 433 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 433 Class 0 "point" 1 "vehicle"; + +BO_ 434 ObjectData_51: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 434 "Object detection and tracking information"; +VAL_ 434 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 434 Class 0 "point" 1 "vehicle"; + +BO_ 435 ObjectData_52: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 435 "Object detection and tracking information"; +VAL_ 435 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 435 Class 0 "point" 1 "vehicle"; + +BO_ 436 ObjectData_53: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 436 "Object detection and tracking information"; +VAL_ 436 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 436 Class 0 "point" 1 "vehicle"; + +BO_ 437 ObjectData_54: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 437 "Object detection and tracking information"; +VAL_ 437 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 437 Class 0 "point" 1 "vehicle"; + +BO_ 438 ObjectData_55: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 438 "Object detection and tracking information"; +VAL_ 438 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 438 Class 0 "point" 1 "vehicle"; + +BO_ 439 ObjectData_56: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 439 "Object detection and tracking information"; +VAL_ 439 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 439 Class 0 "point" 1 "vehicle"; + +BO_ 440 ObjectData_57: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 440 "Object detection and tracking information"; +VAL_ 440 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 440 Class 0 "point" 1 "vehicle"; + +BO_ 441 ObjectData_58: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 441 "Object detection and tracking information"; +VAL_ 441 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 441 Class 0 "point" 1 "vehicle"; + +BO_ 442 ObjectData_59: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 442 "Object detection and tracking information"; +VAL_ 442 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 442 Class 0 "point" 1 "vehicle"; + +BO_ 443 ObjectData_60: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 443 "Object detection and tracking information"; +VAL_ 443 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 443 Class 0 "point" 1 "vehicle"; + +BO_ 444 ObjectData_61: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 444 "Object detection and tracking information"; +VAL_ 444 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 444 Class 0 "point" 1 "vehicle"; + +BO_ 445 ObjectData_62: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 445 "Object detection and tracking information"; +VAL_ 445 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 445 Class 0 "point" 1 "vehicle"; + +BO_ 446 ObjectData_63: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 446 "Object detection and tracking information"; +VAL_ 446 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 446 Class 0 "point" 1 "vehicle"; + +BO_ 447 ObjectData_64: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 447 "Object detection and tracking information"; +VAL_ 447 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 447 Class 0 "point" 1 "vehicle"; + +BO_ 448 ObjectData_65: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 448 "Object detection and tracking information"; +VAL_ 448 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 448 Class 0 "point" 1 "vehicle"; + +BO_ 449 ObjectData_66: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 449 "Object detection and tracking information"; +VAL_ 449 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 449 Class 0 "point" 1 "vehicle"; + +BO_ 450 ObjectData_67: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 450 "Object detection and tracking information"; +VAL_ 450 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 450 Class 0 "point" 1 "vehicle"; + +BO_ 451 ObjectData_68: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 451 "Object detection and tracking information"; +VAL_ 451 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 451 Class 0 "point" 1 "vehicle"; + +BO_ 452 ObjectData_69: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 452 "Object detection and tracking information"; +VAL_ 452 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 452 Class 0 "point" 1 "vehicle"; + +BO_ 453 ObjectData_70: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 453 "Object detection and tracking information"; +VAL_ 453 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 453 Class 0 "point" 1 "vehicle"; + +BO_ 454 ObjectData_71: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 454 "Object detection and tracking information"; +VAL_ 454 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 454 Class 0 "point" 1 "vehicle"; + +BO_ 455 ObjectData_72: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 455 "Object detection and tracking information"; +VAL_ 455 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 455 Class 0 "point" 1 "vehicle"; + +BO_ 456 ObjectData_73: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 456 "Object detection and tracking information"; +VAL_ 456 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 456 Class 0 "point" 1 "vehicle"; + +BO_ 457 ObjectData_74: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 457 "Object detection and tracking information"; +VAL_ 457 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 457 Class 0 "point" 1 "vehicle"; + +BO_ 458 ObjectData_75: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 458 "Object detection and tracking information"; +VAL_ 458 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 458 Class 0 "point" 1 "vehicle"; + +BO_ 459 ObjectData_76: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 459 "Object detection and tracking information"; +VAL_ 459 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 459 Class 0 "point" 1 "vehicle"; + +BO_ 460 ObjectData_77: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 460 "Object detection and tracking information"; +VAL_ 460 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 460 Class 0 "point" 1 "vehicle"; + +BO_ 461 ObjectData_78: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 461 "Object detection and tracking information"; +VAL_ 461 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 461 Class 0 "point" 1 "vehicle"; + +BO_ 462 ObjectData_79: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 462 "Object detection and tracking information"; +VAL_ 462 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 462 Class 0 "point" 1 "vehicle"; + +BO_ 463 ObjectData_80: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 463 "Object detection and tracking information"; +VAL_ 463 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 463 Class 0 "point" 1 "vehicle"; + +BO_ 464 ObjectData_81: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 464 "Object detection and tracking information"; +VAL_ 464 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 464 Class 0 "point" 1 "vehicle"; + +BO_ 465 ObjectData_82: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 465 "Object detection and tracking information"; +VAL_ 465 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 465 Class 0 "point" 1 "vehicle"; + +BO_ 466 ObjectData_83: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 466 "Object detection and tracking information"; +VAL_ 466 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 466 Class 0 "point" 1 "vehicle"; + +BO_ 467 ObjectData_84: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 467 "Object detection and tracking information"; +VAL_ 467 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 467 Class 0 "point" 1 "vehicle"; + +BO_ 468 ObjectData_85: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 468 "Object detection and tracking information"; +VAL_ 468 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 468 Class 0 "point" 1 "vehicle"; + +BO_ 469 ObjectData_86: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 469 "Object detection and tracking information"; +VAL_ 469 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 469 Class 0 "point" 1 "vehicle"; + +BO_ 470 ObjectData_87: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 470 "Object detection and tracking information"; +VAL_ 470 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 470 Class 0 "point" 1 "vehicle"; + +BO_ 471 ObjectData_88: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 471 "Object detection and tracking information"; +VAL_ 471 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 471 Class 0 "point" 1 "vehicle"; + +BO_ 472 ObjectData_89: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 472 "Object detection and tracking information"; +VAL_ 472 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 472 Class 0 "point" 1 "vehicle"; + +BO_ 473 ObjectData_90: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 473 "Object detection and tracking information"; +VAL_ 473 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 473 Class 0 "point" 1 "vehicle"; + +BO_ 474 ObjectData_91: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 474 "Object detection and tracking information"; +VAL_ 474 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 474 Class 0 "point" 1 "vehicle"; + +BO_ 475 ObjectData_92: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 475 "Object detection and tracking information"; +VAL_ 475 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 475 Class 0 "point" 1 "vehicle"; + +BO_ 476 ObjectData_93: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 476 "Object detection and tracking information"; +VAL_ 476 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 476 Class 0 "point" 1 "vehicle"; + +BO_ 477 ObjectData_94: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 477 "Object detection and tracking information"; +VAL_ 477 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 477 Class 0 "point" 1 "vehicle"; + +BO_ 478 ObjectData_95: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 478 "Object detection and tracking information"; +VAL_ 478 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 478 Class 0 "point" 1 "vehicle"; + +BO_ 479 ObjectData_96: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 479 "Object detection and tracking information"; +VAL_ 479 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 479 Class 0 "point" 1 "vehicle"; + +BO_ 480 ObjectData_97: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 480 "Object detection and tracking information"; +VAL_ 480 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 480 Class 0 "point" 1 "vehicle"; + +BO_ 481 ObjectData_98: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 481 "Object detection and tracking information"; +VAL_ 481 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 481 Class 0 "point" 1 "vehicle"; + +BO_ 482 ObjectData_99: 8 RADAR + SG_ ID : 7|8@0+ (1,0) [0|255] "" XXX + SG_ DistLong : 15|13@0+ (0.2,-500) [-500|1138.2] "m" XXX + SG_ DistLat : 18|11@0+ (0.2,-204.6) [-204.6|204.8] "m" XXX + SG_ VRelLong : 39|10@0+ (0.25,-128) [-128|127.75] "m/s" XXX + SG_ VRelLat : 45|9@0+ (0.25,-64) [-64|63.75] "m/s" XXX + SG_ DynProp : 50|3@0+ (1,0) [0|7] "" XXX + SG_ Class : 52|2@0+ (1,0) [0|3] "" XXX + SG_ RCS : 63|8@0+ (0.5,-64) [-64|63.75] "dBm2" XXX + +CM_ BO_ 482 "Object detection and tracking information"; +VAL_ 482 DynProp 0 "moving" 1 "stationary" 2 "oncoming" 3 "crossing_left" 4 "crossing_right" 5 "unknown" 6 "stopped"; +VAL_ 482 Class 0 "point" 1 "vehicle"; + diff --git a/opendbc_repo/opendbc/dbc/volvo_v40_2017_pt.dbc b/opendbc_repo/opendbc/dbc/volvo_v40_2017_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/volvo_v60_2015_pt.dbc b/opendbc_repo/opendbc/dbc/volvo_v60_2015_pt.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_golf_mk4.dbc b/opendbc_repo/opendbc/dbc/vw_golf_mk4.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_meb.dbc b/opendbc_repo/opendbc/dbc/vw_meb.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_mqb.dbc b/opendbc_repo/opendbc/dbc/vw_mqb.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_mqb_2010.dbc b/opendbc_repo/opendbc/dbc/vw_mqb_2010.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_mqbevo.dbc b/opendbc_repo/opendbc/dbc/vw_mqbevo.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/dbc/vw_pq.dbc b/opendbc_repo/opendbc/dbc/vw_pq.dbc old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/__init__.py b/opendbc_repo/opendbc/safety/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/can.h b/opendbc_repo/opendbc/safety/board/can.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/can_declarations.h b/opendbc_repo/opendbc/safety/board/can_declarations.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/drivers/can_common.h b/opendbc_repo/opendbc/safety/board/drivers/can_common.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/drivers/can_common_declarations.h b/opendbc_repo/opendbc/safety/board/drivers/can_common_declarations.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/fake_stm.h b/opendbc_repo/opendbc/safety/board/fake_stm.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/faults.h b/opendbc_repo/opendbc/safety/board/faults.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/faults_declarations.h b/opendbc_repo/opendbc/safety/board/faults_declarations.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/board/utils.h b/opendbc_repo/opendbc/safety/board/utils.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/main.c b/opendbc_repo/opendbc/safety/main.c old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety.h b/opendbc_repo/opendbc/safety/safety.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_body.h b/opendbc_repo/opendbc/safety/safety/safety_body.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_chrysler.h b/opendbc_repo/opendbc/safety/safety/safety_chrysler.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_defaults.h b/opendbc_repo/opendbc/safety/safety/safety_defaults.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_elm327.h b/opendbc_repo/opendbc/safety/safety/safety_elm327.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_ford.h b/opendbc_repo/opendbc/safety/safety/safety_ford.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_gm.h b/opendbc_repo/opendbc/safety/safety/safety_gm.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_honda.h b/opendbc_repo/opendbc/safety/safety/safety_honda.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_hyundai.h b/opendbc_repo/opendbc/safety/safety/safety_hyundai.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_hyundai_canfd.h b/opendbc_repo/opendbc/safety/safety/safety_hyundai_canfd.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_hyundai_common.h b/opendbc_repo/opendbc/safety/safety/safety_hyundai_common.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_mazda.h b/opendbc_repo/opendbc/safety/safety/safety_mazda.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_nissan.h b/opendbc_repo/opendbc/safety/safety/safety_nissan.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_rivian.h b/opendbc_repo/opendbc/safety/safety/safety_rivian.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_subaru.h b/opendbc_repo/opendbc/safety/safety/safety_subaru.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_subaru_preglobal.h b/opendbc_repo/opendbc/safety/safety/safety_subaru_preglobal.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_tesla.h b/opendbc_repo/opendbc/safety/safety/safety_tesla.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_toyota.h b/opendbc_repo/opendbc/safety/safety/safety_toyota.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_volkswagen_common.h b/opendbc_repo/opendbc/safety/safety/safety_volkswagen_common.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety/safety_volkswagen_mqb.h b/opendbc_repo/opendbc/safety/safety/safety_volkswagen_mqb.h old mode 100644 new mode 100755 index be13c6fd9c..5742ddda0a --- a/opendbc_repo/opendbc/safety/safety/safety_volkswagen_mqb.h +++ b/opendbc_repo/opendbc/safety/safety/safety_volkswagen_mqb.h @@ -130,10 +130,10 @@ static bool volkswagen_mqb_tx_hook(const CANPacket_t *to_send) { // lateral limits const TorqueSteeringLimits VOLKSWAGEN_MQB_STEERING_LIMITS = { .max_steer = 300, // 3.0 Nm (EPS side max of 3.0Nm with fault if violated) - .max_rt_delta = 75, // 4 max rate up * 50Hz send rate * 250000 RT interval / 1000000 = 50 ; 50 * 1.5 for safety pad = 75 + .max_rt_delta = 1250, // 4 max rate up * 50Hz send rate * 250000 RT interval / 1000000 = 50 ; 50 * 1.5 for safety pad = 75 .max_rt_interval = 250000, // 250ms between real time checks - .max_rate_up = 4, // 2.0 Nm/s RoC limit (EPS rack has own soft-limit of 5.0 Nm/s) - .max_rate_down = 10, // 5.0 Nm/s RoC limit (EPS rack has own soft-limit of 5.0 Nm/s) + .max_rate_up = 50, // 2.0 Nm/s RoC limit (EPS rack has own soft-limit of 5.0 Nm/s) + .max_rate_down = 50, // 5.0 Nm/s RoC limit (EPS rack has own soft-limit of 5.0 Nm/s) .driver_torque_allowance = 80, .driver_torque_multiplier = 3, .type = TorqueDriverLimited, diff --git a/opendbc_repo/opendbc/safety/safety/safety_volkswagen_pq.h b/opendbc_repo/opendbc/safety/safety/safety_volkswagen_pq.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/safety_declarations.h b/opendbc_repo/opendbc/safety/safety_declarations.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/__init__.py b/opendbc_repo/opendbc/safety/tests/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/common.py b/opendbc_repo/opendbc/safety/tests/common.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/hyundai_common.py b/opendbc_repo/opendbc/safety/tests/hyundai_common.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/SConscript b/opendbc_repo/opendbc/safety/tests/libsafety/SConscript old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/__init__.py b/opendbc_repo/opendbc/safety/tests/libsafety/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/libsafety_py.py b/opendbc_repo/opendbc/safety/tests/libsafety/libsafety_py.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/safety.c b/opendbc_repo/opendbc/safety/tests/libsafety/safety.c old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/safety_helpers.h b/opendbc_repo/opendbc/safety/tests/libsafety/safety_helpers.h old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/libsafety/safety_helpers.py b/opendbc_repo/opendbc/safety/tests/libsafety/safety_helpers.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/misra/.gitignore b/opendbc_repo/opendbc/safety/tests/misra/.gitignore old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/misra/checkers.txt b/opendbc_repo/opendbc/safety/tests/misra/checkers.txt old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/misra/coverage_table b/opendbc_repo/opendbc/safety/tests/misra/coverage_table old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/misra/suppressions.txt b/opendbc_repo/opendbc/safety/tests/misra/suppressions.txt old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/safety_replay/__init__.py b/opendbc_repo/opendbc/safety/tests/safety_replay/__init__.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/opendbc/safety/tests/safety_replay/helpers.py b/opendbc_repo/opendbc/safety/tests/safety_replay/helpers.py old mode 100644 new mode 100755 diff --git a/opendbc_repo/pyproject.toml b/opendbc_repo/pyproject.toml old mode 100644 new mode 100755 diff --git a/opendbc_repo/site_scons/site_tools/cython.py b/opendbc_repo/site_scons/site_tools/cython.py old mode 100644 new mode 100755 diff --git a/openpilot/__init__.py b/openpilot/__init__.py old mode 100644 new mode 100755 diff --git a/panda/.github/workflows/drivers.yaml b/panda/.github/workflows/drivers.yaml old mode 100644 new mode 100755 diff --git a/panda/.github/workflows/jenkins-pr-trigger.yaml b/panda/.github/workflows/jenkins-pr-trigger.yaml old mode 100644 new mode 100755 diff --git a/panda/.github/workflows/repo.yml b/panda/.github/workflows/repo.yml old mode 100644 new mode 100755 diff --git a/panda/.github/workflows/test.yaml b/panda/.github/workflows/test.yaml old mode 100644 new mode 100755 diff --git a/panda/.gitignore b/panda/.gitignore old mode 100644 new mode 100755 diff --git a/panda/.pre-commit-config.yaml b/panda/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/panda/Dockerfile b/panda/Dockerfile old mode 100644 new mode 100755 diff --git a/panda/Jenkinsfile b/panda/Jenkinsfile old mode 100644 new mode 100755 diff --git a/panda/LICENSE b/panda/LICENSE old mode 100644 new mode 100755 diff --git a/panda/README.md b/panda/README.md old mode 100644 new mode 100755 diff --git a/panda/SConscript b/panda/SConscript old mode 100644 new mode 100755 diff --git a/panda/SConstruct b/panda/SConstruct old mode 100644 new mode 100755 diff --git a/panda/__init__.py b/panda/__init__.py old mode 100644 new mode 100755 diff --git a/panda/board/README.md b/panda/board/README.md old mode 100644 new mode 100755 diff --git a/panda/board/SConscript b/panda/board/SConscript old mode 100644 new mode 100755 diff --git a/panda/board/__init__.py b/panda/board/__init__.py old mode 100644 new mode 100755 diff --git a/panda/board/boards/black.h b/panda/board/boards/black.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/board_declarations.h b/panda/board/boards/board_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/cuatro.h b/panda/board/boards/cuatro.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/dos.h b/panda/board/boards/dos.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/grey.h b/panda/board/boards/grey.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/red.h b/panda/board/boards/red.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/tres.h b/panda/board/boards/tres.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/uno.h b/panda/board/boards/uno.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/unused_funcs.h b/panda/board/boards/unused_funcs.h old mode 100644 new mode 100755 diff --git a/panda/board/boards/white.h b/panda/board/boards/white.h old mode 100644 new mode 100755 diff --git a/panda/board/bootstub.c b/panda/board/bootstub.c old mode 100644 new mode 100755 diff --git a/panda/board/bootstub_declarations.h b/panda/board/bootstub_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/can.h b/panda/board/can.h old mode 100644 new mode 100755 diff --git a/panda/board/can_comms.h b/panda/board/can_comms.h old mode 100644 new mode 100755 diff --git a/panda/board/can_declarations.h b/panda/board/can_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/comms_definitions.h b/panda/board/comms_definitions.h old mode 100644 new mode 100755 diff --git a/panda/board/config.h b/panda/board/config.h old mode 100644 new mode 100755 diff --git a/panda/board/crc.h b/panda/board/crc.h old mode 100644 new mode 100755 diff --git a/panda/board/critical.h b/panda/board/critical.h old mode 100644 new mode 100755 diff --git a/panda/board/critical_declarations.h b/panda/board/critical_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/debug/README.md b/panda/board/debug/README.md old mode 100644 new mode 100755 diff --git a/panda/board/drivers/bootkick.h b/panda/board/drivers/bootkick.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/bootkick_declarations.h b/panda/board/drivers/bootkick_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/bxcan.h b/panda/board/drivers/bxcan.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/bxcan_declarations.h b/panda/board/drivers/bxcan_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/can_common.h b/panda/board/drivers/can_common.h old mode 100644 new mode 100755 index fa69c69818..e8645aba1e --- a/panda/board/drivers/can_common.h +++ b/panda/board/drivers/can_common.h @@ -132,8 +132,8 @@ void can_clear(can_ring *q) { // Panda: Bus 0=CAN1 Bus 1=CAN2 Bus 2=CAN3 bus_config_t bus_config[BUS_CONFIG_ARRAY_SIZE] = { { .bus_lookup = 0U, .can_num_lookup = 0U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, - { .bus_lookup = 1U, .can_num_lookup = 1U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, { .bus_lookup = 2U, .can_num_lookup = 2U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, + { .bus_lookup = 1U, .can_num_lookup = 1U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, { .bus_lookup = 0xFFU, .can_num_lookup = 0xFFU, .forwarding_bus = -1, .can_speed = 333U, .can_data_speed = 333U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, }; @@ -148,10 +148,10 @@ void can_init_all(void) { } void can_set_orientation(bool flipped) { - bus_config[0].bus_lookup = flipped ? 2U : 0U; - bus_config[0].can_num_lookup = flipped ? 2U : 0U; - bus_config[2].bus_lookup = flipped ? 0U : 2U; - bus_config[2].can_num_lookup = flipped ? 0U : 2U; + bus_config[0].bus_lookup = flipped ? 1U : 0U; + bus_config[0].can_num_lookup = flipped ? 1U : 0U; + bus_config[2].bus_lookup = flipped ? 0U : 1U; + bus_config[2].can_num_lookup = flipped ? 0U : 1U; } #ifdef PANDA_JUNGLE diff --git a/panda/board/drivers/can_common.h.bak b/panda/board/drivers/can_common.h.bak new file mode 100755 index 0000000000..fa69c69818 --- /dev/null +++ b/panda/board/drivers/can_common.h.bak @@ -0,0 +1,264 @@ +#include "can_common_declarations.h" + +uint32_t safety_tx_blocked = 0; +uint32_t safety_rx_invalid = 0; +uint32_t tx_buffer_overflow = 0; +uint32_t rx_buffer_overflow = 0; + +can_health_t can_health[CAN_HEALTH_ARRAY_SIZE] = {{0}, {0}, {0}}; + +// Ignition detected from CAN meessages +bool ignition_can = false; +uint32_t ignition_can_cnt = 0U; + +int can_live = 0; +int pending_can_live = 0; +int can_silent = ALL_CAN_SILENT; +bool can_loopback = false; + +// ********************* instantiate queues ********************* +#define can_buffer(x, size) \ + static CANPacket_t elems_##x[size]; \ + extern can_ring can_##x; \ + can_ring can_##x = { .w_ptr = 0, .r_ptr = 0, .fifo_size = (size), .elems = (CANPacket_t *)&(elems_##x) }; + +#define CAN_RX_BUFFER_SIZE 4096U +#define CAN_TX_BUFFER_SIZE 416U + +#ifdef STM32H7 +// ITCM RAM and DTCM RAM are the fastest for Cortex-M7 core access +__attribute__((section(".axisram"))) can_buffer(rx_q, CAN_RX_BUFFER_SIZE) +__attribute__((section(".itcmram"))) can_buffer(tx1_q, CAN_TX_BUFFER_SIZE) +__attribute__((section(".itcmram"))) can_buffer(tx2_q, CAN_TX_BUFFER_SIZE) +#else +can_buffer(rx_q, CAN_RX_BUFFER_SIZE) +can_buffer(tx1_q, CAN_TX_BUFFER_SIZE) +can_buffer(tx2_q, CAN_TX_BUFFER_SIZE) +#endif +can_buffer(tx3_q, CAN_TX_BUFFER_SIZE) + +// FIXME: +// cppcheck-suppress misra-c2012-9.3 +can_ring *can_queues[CAN_QUEUES_ARRAY_SIZE] = {&can_tx1_q, &can_tx2_q, &can_tx3_q}; + +// ********************* interrupt safe queue ********************* +bool can_pop(can_ring *q, CANPacket_t *elem) { + bool ret = 0; + + ENTER_CRITICAL(); + if (q->w_ptr != q->r_ptr) { + *elem = q->elems[q->r_ptr]; + if ((q->r_ptr + 1U) == q->fifo_size) { + q->r_ptr = 0; + } else { + q->r_ptr += 1U; + } + ret = 1; + } + EXIT_CRITICAL(); + + return ret; +} + +bool can_push(can_ring *q, const CANPacket_t *elem) { + bool ret = false; + uint32_t next_w_ptr; + + ENTER_CRITICAL(); + if ((q->w_ptr + 1U) == q->fifo_size) { + next_w_ptr = 0; + } else { + next_w_ptr = q->w_ptr + 1U; + } + if (next_w_ptr != q->r_ptr) { + q->elems[q->w_ptr] = *elem; + q->w_ptr = next_w_ptr; + ret = true; + } + EXIT_CRITICAL(); + if (!ret) { + #ifdef DEBUG + print("can_push to "); + if (q == &can_rx_q) { + print("can_rx_q"); + } else if (q == &can_tx1_q) { + print("can_tx1_q"); + } else if (q == &can_tx2_q) { + print("can_tx2_q"); + } else if (q == &can_tx3_q) { + print("can_tx3_q"); + } else { + print("unknown"); + } + print(" failed!\n"); + #endif + } + return ret; +} + +uint32_t can_slots_empty(const can_ring *q) { + uint32_t ret = 0; + + ENTER_CRITICAL(); + if (q->w_ptr >= q->r_ptr) { + ret = q->fifo_size - 1U - q->w_ptr + q->r_ptr; + } else { + ret = q->r_ptr - q->w_ptr - 1U; + } + EXIT_CRITICAL(); + + return ret; +} + +void can_clear(can_ring *q) { + ENTER_CRITICAL(); + q->w_ptr = 0; + q->r_ptr = 0; + EXIT_CRITICAL(); + // handle TX buffer full with zero ECUs awake on the bus + refresh_can_tx_slots_available(); +} + +// assign CAN numbering +// bus num: CAN Bus numbers in panda, sent to/from USB +// Min: 0; Max: 127; Bit 7 marks message as receipt (bus 129 is receipt for but 1) +// cans: Look up MCU can interface from bus number +// can number: numeric lookup for MCU CAN interfaces (0 = CAN1, 1 = CAN2, etc); +// bus_lookup: Translates from 'can number' to 'bus number'. +// can_num_lookup: Translates from 'bus number' to 'can number'. +// forwarding bus: If >= 0, forward all messages from this bus to the specified bus. + +// Helpers +// Panda: Bus 0=CAN1 Bus 1=CAN2 Bus 2=CAN3 +bus_config_t bus_config[BUS_CONFIG_ARRAY_SIZE] = { + { .bus_lookup = 0U, .can_num_lookup = 0U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, + { .bus_lookup = 1U, .can_num_lookup = 1U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, + { .bus_lookup = 2U, .can_num_lookup = 2U, .forwarding_bus = -1, .can_speed = 5000U, .can_data_speed = 20000U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, + { .bus_lookup = 0xFFU, .can_num_lookup = 0xFFU, .forwarding_bus = -1, .can_speed = 333U, .can_data_speed = 333U, .canfd_auto = false, .canfd_enabled = false, .brs_enabled = false, .canfd_non_iso = false }, +}; + +void can_init_all(void) { + for (uint8_t i=0U; i < PANDA_CAN_CNT; i++) { + if (!current_board->has_canfd) { + bus_config[i].can_data_speed = 0U; + } + can_clear(can_queues[i]); + (void)can_init(i); + } +} + +void can_set_orientation(bool flipped) { + bus_config[0].bus_lookup = flipped ? 2U : 0U; + bus_config[0].can_num_lookup = flipped ? 2U : 0U; + bus_config[2].bus_lookup = flipped ? 0U : 2U; + bus_config[2].can_num_lookup = flipped ? 0U : 2U; +} + +#ifdef PANDA_JUNGLE +void can_set_forwarding(uint8_t from, uint8_t to) { + bus_config[from].forwarding_bus = to; +} +#endif + +void ignition_can_hook(CANPacket_t *to_push) { + int bus = GET_BUS(to_push); + if (bus == 0) { + int addr = GET_ADDR(to_push); + int len = GET_LEN(to_push); + + // GM exception + if ((addr == 0x1F1) && (len == 8)) { + // SystemPowerMode (2=Run, 3=Crank Request) + ignition_can = (GET_BYTE(to_push, 0) & 0x2U) != 0U; + ignition_can_cnt = 0U; + } + + // Rivian R1S/T GEN1 exception + if ((addr == 0x152) && (len == 8)) { + // 0x152 overlaps with Subaru pre-global which has this bit as the high beam + int counter = GET_BYTE(to_push, 1) & 0xFU; // max is only 14 + + static int prev_counter = -1; + if ((counter == ((prev_counter + 1) % 15)) && (prev_counter != -1)) { + // VDM_OutputSignals->VDM_EpasPowerMode + ignition_can = ((GET_BYTE(to_push, 7) >> 4U) & 0x3U) == 1U; // VDM_EpasPowerMode_Drive_On=1 + ignition_can_cnt = 0U; + } + prev_counter = counter; + } + + // Tesla Model 3/Y exception + if ((addr == 0x221) && (len == 8)) { + // 0x221 overlaps with Rivian which has random data on byte 0 + int counter = GET_BYTE(to_push, 6) >> 4; + + static int prev_counter = -1; + if ((counter == ((prev_counter + 1) % 16)) && (prev_counter != -1)) { + // VCFRONT_LVPowerState->VCFRONT_vehiclePowerState + int power_state = (GET_BYTE(to_push, 0) >> 5U) & 0x3U; + ignition_can = power_state == 0x3; // VEHICLE_POWER_STATE_DRIVE=3 + ignition_can_cnt = 0U; + } + prev_counter = counter; + } + + // Mazda exception + if ((addr == 0x9E) && (len == 8)) { + ignition_can = (GET_BYTE(to_push, 0) >> 5) == 0x6U; + ignition_can_cnt = 0U; + } + + } +} + +bool can_tx_check_min_slots_free(uint32_t min) { + return + (can_slots_empty(&can_tx1_q) >= min) && + (can_slots_empty(&can_tx2_q) >= min) && + (can_slots_empty(&can_tx3_q) >= min); +} + +uint8_t calculate_checksum(const uint8_t *dat, uint32_t len) { + uint8_t checksum = 0U; + for (uint32_t i = 0U; i < len; i++) { + checksum ^= dat[i]; + } + return checksum; +} + +void can_set_checksum(CANPacket_t *packet) { + packet->checksum = 0U; + packet->checksum = calculate_checksum((uint8_t *) packet, CANPACKET_HEAD_SIZE + GET_LEN(packet)); +} + +bool can_check_checksum(CANPacket_t *packet) { + return (calculate_checksum((uint8_t *) packet, CANPACKET_HEAD_SIZE + GET_LEN(packet)) == 0U); +} + +void can_send(CANPacket_t *to_push, uint8_t bus_number, bool skip_tx_hook) { + if (skip_tx_hook || safety_tx_hook(to_push) != 0) { + if (bus_number < PANDA_BUS_CNT) { + // add CAN packet to send queue + tx_buffer_overflow += can_push(can_queues[bus_number], to_push) ? 0U : 1U; + process_can(CAN_NUM_FROM_BUS_NUM(bus_number)); + } + } else { + safety_tx_blocked += 1U; + to_push->returned = 0U; + to_push->rejected = 1U; + + // data changed + can_set_checksum(to_push); + rx_buffer_overflow += can_push(&can_rx_q, to_push) ? 0U : 1U; + } +} + +bool is_speed_valid(uint32_t speed, const uint32_t *all_speeds, uint8_t len) { + bool ret = false; + for (uint8_t i = 0U; i < len; i++) { + if (all_speeds[i] == speed) { + ret = true; + } + } + return ret; +} diff --git a/panda/board/drivers/can_common_declarations.h b/panda/board/drivers/can_common_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/clock_source.h b/panda/board/drivers/clock_source.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/clock_source_declarations.h b/panda/board/drivers/clock_source_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/fake_siren.h b/panda/board/drivers/fake_siren.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/fan.h b/panda/board/drivers/fan.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/fan_declarations.h b/panda/board/drivers/fan_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/fdcan.h b/panda/board/drivers/fdcan.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/fdcan_declarations.h b/panda/board/drivers/fdcan_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/gpio.h b/panda/board/drivers/gpio.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/harness.h b/panda/board/drivers/harness.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/harness_declarations.h b/panda/board/drivers/harness_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/interrupts.h b/panda/board/drivers/interrupts.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/interrupts_declarations.h b/panda/board/drivers/interrupts_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/led.h b/panda/board/drivers/led.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/pwm.h b/panda/board/drivers/pwm.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/registers.h b/panda/board/drivers/registers.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/registers_declarations.h b/panda/board/drivers/registers_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/simple_watchdog.h b/panda/board/drivers/simple_watchdog.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/simple_watchdog_declarations.h b/panda/board/drivers/simple_watchdog_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/spi.h b/panda/board/drivers/spi.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/spi_declarations.h b/panda/board/drivers/spi_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/timers.h b/panda/board/drivers/timers.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/uart.h b/panda/board/drivers/uart.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/uart_declarations.h b/panda/board/drivers/uart_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/usb.h b/panda/board/drivers/usb.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/usb_declarations.h b/panda/board/drivers/usb_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/drivers/watchdog.h b/panda/board/drivers/watchdog.h old mode 100644 new mode 100755 diff --git a/panda/board/early_init.h b/panda/board/early_init.h old mode 100644 new mode 100755 diff --git a/panda/board/fake_stm.h b/panda/board/fake_stm.h old mode 100644 new mode 100755 diff --git a/panda/board/faults.h b/panda/board/faults.h old mode 100644 new mode 100755 diff --git a/panda/board/faults_declarations.h b/panda/board/faults_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/flasher.h b/panda/board/flasher.h old mode 100644 new mode 100755 diff --git a/panda/board/health.h b/panda/board/health.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/README.md b/panda/board/jungle/README.md old mode 100644 new mode 100755 diff --git a/panda/board/jungle/SConscript b/panda/board/jungle/SConscript old mode 100644 new mode 100755 diff --git a/panda/board/jungle/__init__.py b/panda/board/jungle/__init__.py old mode 100644 new mode 100755 diff --git a/panda/board/jungle/boards/board_declarations.h b/panda/board/jungle/boards/board_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/boards/board_v1.h b/panda/board/jungle/boards/board_v1.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/boards/board_v2.h b/panda/board/jungle/boards/board_v2.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/jungle_health.h b/panda/board/jungle/jungle_health.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/main.c b/panda/board/jungle/main.c old mode 100644 new mode 100755 diff --git a/panda/board/jungle/main_comms.h b/panda/board/jungle/main_comms.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/stm32f4/board.h b/panda/board/jungle/stm32f4/board.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/stm32h7/board.h b/panda/board/jungle/stm32h7/board.h old mode 100644 new mode 100755 diff --git a/panda/board/jungle/stm32h7/lladc.h b/panda/board/jungle/stm32h7/lladc.h old mode 100644 new mode 100755 diff --git a/panda/board/libc.h b/panda/board/libc.h old mode 100644 new mode 100755 diff --git a/panda/board/main.c b/panda/board/main.c old mode 100644 new mode 100755 diff --git a/panda/board/main_comms.h b/panda/board/main_comms.h old mode 100644 new mode 100755 diff --git a/panda/board/main_declarations.h b/panda/board/main_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/main_definitions.h b/panda/board/main_definitions.h old mode 100644 new mode 100755 diff --git a/panda/board/obj/.placeholder b/panda/board/obj/.placeholder old mode 100644 new mode 100755 diff --git a/panda/board/power_saving.h b/panda/board/power_saving.h old mode 100644 new mode 100755 diff --git a/panda/board/power_saving_declarations.h b/panda/board/power_saving_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/provision.h b/panda/board/provision.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/board.h b/panda/board/stm32f4/board.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/clock.h b/panda/board/stm32f4/clock.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/cmsis_compiler.h b/panda/board/stm32f4/inc/cmsis_compiler.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/cmsis_gcc.h b/panda/board/stm32f4/inc/cmsis_gcc.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/cmsis_version.h b/panda/board/stm32f4/inc/cmsis_version.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/core_cm4.h b/panda/board/stm32f4/inc/core_cm4.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/mpu_armv7.h b/panda/board/stm32f4/inc/mpu_armv7.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/stm32f413xx.h b/panda/board/stm32f4/inc/stm32f413xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/stm32f4xx.h b/panda/board/stm32f4/inc/stm32f4xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/stm32f4xx_hal_def.h b/panda/board/stm32f4/inc/stm32f4xx_hal_def.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/stm32f4xx_hal_gpio_ex.h b/panda/board/stm32f4/inc/stm32f4xx_hal_gpio_ex.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/inc/system_stm32f4xx.h b/panda/board/stm32f4/inc/system_stm32f4xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/interrupt_handlers.h b/panda/board/stm32f4/interrupt_handlers.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/lladc.h b/panda/board/stm32f4/lladc.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llbxcan.h b/panda/board/stm32f4/llbxcan.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llbxcan_declarations.h b/panda/board/stm32f4/llbxcan_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llfan.h b/panda/board/stm32f4/llfan.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llflash.h b/panda/board/stm32f4/llflash.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llspi.h b/panda/board/stm32f4/llspi.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/lluart.h b/panda/board/stm32f4/lluart.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llusb.h b/panda/board/stm32f4/llusb.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/llusb_declarations.h b/panda/board/stm32f4/llusb_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/peripherals.h b/panda/board/stm32f4/peripherals.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/startup_stm32f413xx.s b/panda/board/stm32f4/startup_stm32f413xx.s old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/stm32f4_config.h b/panda/board/stm32f4/stm32f4_config.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32f4/stm32f4_flash.ld b/panda/board/stm32f4/stm32f4_flash.ld old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/board.h b/panda/board/stm32h7/board.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/clock.h b/panda/board/stm32h7/clock.h old mode 100644 new mode 100755 index 40ad06043e..2317501cf9 --- a/panda/board/stm32h7/clock.h +++ b/panda/board/stm32h7/clock.h @@ -37,6 +37,7 @@ static PackageSMPSType get_package_smps_type(void) { case 0b0101U: // LQFP144 Legacy case 0b0111U: // LQFP144 Industrial case 0b1000U: // UFBGA169 + case 0b1001U: ret = PACKAGE_WITH_SMPS; break; default: diff --git a/panda/board/stm32h7/clock.h.bak b/panda/board/stm32h7/clock.h.bak new file mode 100755 index 0000000000..40ad06043e --- /dev/null +++ b/panda/board/stm32h7/clock.h.bak @@ -0,0 +1,120 @@ +/* +HSE: 25MHz +PLL1Q: 80MHz (for FDCAN) +HSI48 enabled (for USB) +CPU: 240MHz +CPU Systick: 240MHz +AXI: 120MHz +HCLK3: 60MHz +APB3 per: 60MHz +AHB1,2 per: 120MHz +APB1 per: 60MHz +APB1 tim: 120MHz +APB2 per: 60MHz +APB2 tim: 120MHz +AHB4 per: 120MHz +APB4 per: 60MHz +PCLK1: 60MHz (for USART2,3,4,5,7,8) +*/ + +typedef enum { + PACKAGE_UNKNOWN = 0, + PACKAGE_WITH_SMPS = 1, + PACKAGE_WITHOUT_SMPS = 2, +} PackageSMPSType; + +// TODO: find a better way to distinguish between H725 (using SMPS) and H723 (lacking SMPS) +// The package will do for now, since we have only used TFBGA100 for H723 +static PackageSMPSType get_package_smps_type(void) { + PackageSMPSType ret; + RCC->APB4ENR |= RCC_APB4ENR_SYSCFGEN; // make sure SYSCFG clock is enabled. does seem to read fine without too though + + switch(SYSCFG->PKGR & 0xFU) { + case 0b0001U: // TFBGA100 Legacy + case 0b0011U: // TFBGA100 + ret = PACKAGE_WITHOUT_SMPS; + break; + case 0b0101U: // LQFP144 Legacy + case 0b0111U: // LQFP144 Industrial + case 0b1000U: // UFBGA169 + ret = PACKAGE_WITH_SMPS; + break; + default: + ret = PACKAGE_UNKNOWN; + } + return ret; +} + +void clock_init(void) { + /* + WARNING: PWR->CR3's lower byte can only be written once + * subsequent writes will silently fail + * only cleared with a full power-on-reset, not soft reset or reset pin + * some H7 have a bootrom with a DFU routine that writes (and locks) CR3 + * if the CR3 config doesn't match the HW, the core will deadlock and require immediately going into DFU from a cold boot + + In a normal bootup, the bootstub will be the first to write this. The app section calls clock_init again, but the CR3 write will silently fail. This is fine for most cases, but caution should be taken that the bootstub and app always write the same config. + */ + + // Set power mode to direct SMPS power supply (depends on the board layout) + PackageSMPSType package_smps = get_package_smps_type(); + if (package_smps == PACKAGE_WITHOUT_SMPS) { + register_set(&(PWR->CR3), PWR_CR3_LDOEN, 0xFU); // no SMPS, so powered by LDO + } else if (package_smps == PACKAGE_WITH_SMPS) { + register_set(&(PWR->CR3), PWR_CR3_SMPSEN, 0xFU); // powered only by SMPS + } else { + while(true); // unknown package, let's hang here + } + + // Set VOS level (VOS3 to 170Mhz, VOS2 to 300Mhz, VOS1 to 400Mhz, VOS0 to 550Mhz) + register_set(&(PWR->D3CR), PWR_D3CR_VOS_1 | PWR_D3CR_VOS_0, 0xC000U); //VOS1, needed for 80Mhz CAN FD + while ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == 0U); + while ((PWR->CSR1 & PWR_CSR1_ACTVOS) != (PWR->D3CR & PWR_D3CR_VOS)); // check that VOS level was actually set + + // Configure Flash ACR register LATENCY and WRHIGHFREQ (VOS0 range!) + register_set(&(FLASH->ACR), FLASH_ACR_LATENCY_2WS | 0x20U, 0x3FU); // VOS2, AXI 100MHz-150MHz + // enable external oscillator HSE + register_set_bits(&(RCC->CR), RCC_CR_HSEON); + while ((RCC->CR & RCC_CR_HSERDY) == 0U); + // enable internal HSI48 for USB FS kernel + register_set_bits(&(RCC->CR), RCC_CR_HSI48ON); + while ((RCC->CR & RCC_CR_HSI48RDY) == 0U); + // Specify the frequency source for PLL1, divider for DIVM1, DIVM2, DIVM3 : HSE, 5, 5, 5 + register_set(&(RCC->PLLCKSELR), RCC_PLLCKSELR_PLLSRC_HSE | RCC_PLLCKSELR_DIVM1_0 | RCC_PLLCKSELR_DIVM1_2 | RCC_PLLCKSELR_DIVM2_0 | RCC_PLLCKSELR_DIVM2_2 | RCC_PLLCKSELR_DIVM3_0 | RCC_PLLCKSELR_DIVM3_2, 0x3F3F3F3U); + + // *** PLL1 start *** + // Specify multiplier N and dividers P, Q, R for PLL1 : 48, 1, 3, 2 (clock 240Mhz, PLL1Q 80Mhz for CAN FD) + register_set(&(RCC->PLL1DIVR), 0x102002FU, 0x7F7FFFFFU); + // Specify the input and output frequency ranges, enable dividers for PLL1 + register_set(&(RCC->PLLCFGR), RCC_PLLCFGR_PLL1RGE_2 | RCC_PLLCFGR_DIVP1EN | RCC_PLLCFGR_DIVQ1EN | RCC_PLLCFGR_DIVR1EN, 0x7000CU); + // Enable PLL1 + register_set_bits(&(RCC->CR), RCC_CR_PLL1ON); + while((RCC->CR & RCC_CR_PLL1RDY) == 0U); + // *** PLL1 end *** + + //////////////OTHER CLOCKS//////////////////// + // RCC HCLK Clock Source / RCC APB3 Clock Source / RCC SYS Clock Source + register_set(&(RCC->D1CFGR), RCC_D1CFGR_HPRE_DIV2 | RCC_D1CFGR_D1PPRE_DIV2 | RCC_D1CFGR_D1CPRE_DIV1, 0xF7FU); + // RCC APB1 Clock Source / RCC APB2 Clock Source + register_set(&(RCC->D2CFGR), RCC_D2CFGR_D2PPRE1_DIV2 | RCC_D2CFGR_D2PPRE2_DIV2, 0x770U); + // RCC APB4 Clock Source + register_set(&(RCC->D3CFGR), RCC_D3CFGR_D3PPRE_DIV2, 0x70U); + + // Set SysClock source to PLL + register_set(&(RCC->CFGR), RCC_CFGR_SW_PLL1, 0x7U); + while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL1); + //////////////END OTHER CLOCKS//////////////////// + + // Configure clock source for USB (HSI48) + register_set(&(RCC->D2CCIP2R), RCC_D2CCIP2R_USBSEL_1 | RCC_D2CCIP2R_USBSEL_0, RCC_D2CCIP2R_USBSEL); + // Configure clock source for FDCAN (PLL1Q at 80Mhz) + register_set(&(RCC->D2CCIP1R), RCC_D2CCIP1R_FDCANSEL_0, RCC_D2CCIP1R_FDCANSEL); + // Configure clock source for DFSDM1 + register_set_bits(&(RCC->D2CCIP1R), RCC_D2CCIP1R_DFSDM1SEL); + // Configure clock source for ADC1,2,3 (per_ck(currently HSE)) + register_set(&(RCC->D3CCIPR), RCC_D3CCIPR_ADCSEL_1, RCC_D3CCIPR_ADCSEL); + //Enable the Clock Security System + register_set_bits(&(RCC->CR), RCC_CR_CSSHSEON); + //Enable Vdd33usb supply level detector + register_set_bits(&(PWR->CR3), PWR_CR3_USB33DEN); +} diff --git a/panda/board/stm32h7/inc/cmsis_compiler.h b/panda/board/stm32h7/inc/cmsis_compiler.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/cmsis_gcc.h b/panda/board/stm32h7/inc/cmsis_gcc.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/cmsis_version.h b/panda/board/stm32h7/inc/cmsis_version.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/core_cm7.h b/panda/board/stm32h7/inc/core_cm7.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/mpu_armv7.h b/panda/board/stm32h7/inc/mpu_armv7.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/stm32h725xx.h b/panda/board/stm32h7/inc/stm32h725xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/stm32h735xx.h b/panda/board/stm32h7/inc/stm32h735xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/stm32h7xx.h b/panda/board/stm32h7/inc/stm32h7xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/stm32h7xx_hal_def.h b/panda/board/stm32h7/inc/stm32h7xx_hal_def.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/stm32h7xx_hal_gpio_ex.h b/panda/board/stm32h7/inc/stm32h7xx_hal_gpio_ex.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/inc/system_stm32h7xx.h b/panda/board/stm32h7/inc/system_stm32h7xx.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/interrupt_handlers.h b/panda/board/stm32h7/interrupt_handlers.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/lladc.h b/panda/board/stm32h7/lladc.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/lldac.h b/panda/board/stm32h7/lldac.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llfan.h b/panda/board/stm32h7/llfan.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llfdcan.h b/panda/board/stm32h7/llfdcan.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llfdcan_declarations.h b/panda/board/stm32h7/llfdcan_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llflash.h b/panda/board/stm32h7/llflash.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/lli2c.h b/panda/board/stm32h7/lli2c.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llspi.h b/panda/board/stm32h7/llspi.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/lluart.h b/panda/board/stm32h7/lluart.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llusb.h b/panda/board/stm32h7/llusb.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/llusb_declarations.h b/panda/board/stm32h7/llusb_declarations.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/peripherals.h b/panda/board/stm32h7/peripherals.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/sound.h b/panda/board/stm32h7/sound.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/startup_stm32h7x5xx.s b/panda/board/stm32h7/startup_stm32h7x5xx.s old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/stm32h7_config.h b/panda/board/stm32h7/stm32h7_config.h old mode 100644 new mode 100755 diff --git a/panda/board/stm32h7/stm32h7x5_flash.ld b/panda/board/stm32h7/stm32h7x5_flash.ld old mode 100644 new mode 100755 diff --git a/panda/board/utils.h b/panda/board/utils.h old mode 100644 new mode 100755 diff --git a/panda/certs/debug b/panda/certs/debug old mode 100644 new mode 100755 diff --git a/panda/certs/debug.pub b/panda/certs/debug.pub old mode 100644 new mode 100755 diff --git a/panda/certs/release.pub b/panda/certs/release.pub old mode 100644 new mode 100755 diff --git a/panda/crypto/hash-internal.h b/panda/crypto/hash-internal.h old mode 100644 new mode 100755 diff --git a/panda/crypto/rsa.c b/panda/crypto/rsa.c old mode 100644 new mode 100755 diff --git a/panda/crypto/rsa.h b/panda/crypto/rsa.h old mode 100644 new mode 100755 diff --git a/panda/crypto/sha.c b/panda/crypto/sha.c old mode 100644 new mode 100755 diff --git a/panda/crypto/sha.h b/panda/crypto/sha.h old mode 100644 new mode 100755 diff --git a/panda/docs/CANPacket_structure.png b/panda/docs/CANPacket_structure.png old mode 100644 new mode 100755 diff --git a/panda/docs/USB_packet_structure.png b/panda/docs/USB_packet_structure.png old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/.gitignore b/panda/drivers/linux/.gitignore old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/Makefile b/panda/drivers/linux/Makefile old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/README.md b/panda/drivers/linux/README.md old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/dkms.conf b/panda/drivers/linux/dkms.conf old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/panda.c b/panda/drivers/linux/panda.c old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/test/Makefile b/panda/drivers/linux/test/Makefile old mode 100644 new mode 100755 diff --git a/panda/drivers/linux/test/main.c b/panda/drivers/linux/test/main.c old mode 100644 new mode 100755 diff --git a/panda/drivers/spi/.gitignore b/panda/drivers/spi/.gitignore old mode 100644 new mode 100755 diff --git a/panda/drivers/spi/Makefile b/panda/drivers/spi/Makefile old mode 100644 new mode 100755 diff --git a/panda/drivers/spi/patch b/panda/drivers/spi/patch old mode 100644 new mode 100755 diff --git a/panda/drivers/spi/spi_panda.h b/panda/drivers/spi/spi_panda.h old mode 100644 new mode 100755 diff --git a/panda/drivers/spi/spidev_panda.c b/panda/drivers/spi/spidev_panda.c old mode 100644 new mode 100755 diff --git a/panda/examples/__init__.py b/panda/examples/__init__.py old mode 100644 new mode 100755 diff --git a/panda/examples/can_bit_transition.md b/panda/examples/can_bit_transition.md old mode 100644 new mode 100755 diff --git a/panda/examples/can_unique.md b/panda/examples/can_unique.md old mode 100644 new mode 100755 diff --git a/panda/mypy.ini b/panda/mypy.ini old mode 100644 new mode 100755 diff --git a/panda/panda.png b/panda/panda.png old mode 100644 new mode 100755 diff --git a/panda/pyproject.toml b/panda/pyproject.toml old mode 100644 new mode 100755 diff --git a/panda/python/__init__.py b/panda/python/__init__.py old mode 100644 new mode 100755 diff --git a/panda/python/base.py b/panda/python/base.py old mode 100644 new mode 100755 diff --git a/panda/python/constants.py b/panda/python/constants.py old mode 100644 new mode 100755 diff --git a/panda/python/dfu.py b/panda/python/dfu.py old mode 100644 new mode 100755 diff --git a/panda/python/serial.py b/panda/python/serial.py old mode 100644 new mode 100755 diff --git a/panda/python/socketpanda.py b/panda/python/socketpanda.py old mode 100644 new mode 100755 diff --git a/panda/python/spi.py b/panda/python/spi.py old mode 100644 new mode 100755 diff --git a/panda/python/usb.py b/panda/python/usb.py old mode 100644 new mode 100755 diff --git a/panda/python/utils.py b/panda/python/utils.py old mode 100644 new mode 100755 diff --git a/panda/release/.gitignore b/panda/release/.gitignore old mode 100644 new mode 100755 diff --git a/panda/setup.cfg b/panda/setup.cfg old mode 100644 new mode 100755 diff --git a/panda/setup.py b/panda/setup.py old mode 100644 new mode 100755 diff --git a/panda/tests/__init__.py b/panda/tests/__init__.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/1_program.py b/panda/tests/hitl/1_program.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/2_health.py b/panda/tests/hitl/2_health.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/3_usb_to_can.py b/panda/tests/hitl/3_usb_to_can.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/4_can_loopback.py b/panda/tests/hitl/4_can_loopback.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/5_spi.py b/panda/tests/hitl/5_spi.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/6_safety.py b/panda/tests/hitl/6_safety.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/7_internal.py b/panda/tests/hitl/7_internal.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/8_misc.py b/panda/tests/hitl/8_misc.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/9_harness.py b/panda/tests/hitl/9_harness.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/__init__.py b/panda/tests/hitl/__init__.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/conftest.py b/panda/tests/hitl/conftest.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/helpers.py b/panda/tests/hitl/helpers.py old mode 100644 new mode 100755 diff --git a/panda/tests/hitl/known_bootstub/bootstub_f4_first_dos_production.panda.bin b/panda/tests/hitl/known_bootstub/bootstub_f4_first_dos_production.panda.bin old mode 100644 new mode 100755 diff --git a/panda/tests/libpanda/SConscript b/panda/tests/libpanda/SConscript old mode 100644 new mode 100755 diff --git a/panda/tests/libpanda/libpanda_py.py b/panda/tests/libpanda/libpanda_py.py old mode 100644 new mode 100755 diff --git a/panda/tests/libpanda/panda.c b/panda/tests/libpanda/panda.c old mode 100644 new mode 100755 diff --git a/panda/tests/libs/resetter.py b/panda/tests/libs/resetter.py old mode 100644 new mode 100755 diff --git a/panda/tests/misra/.gitignore b/panda/tests/misra/.gitignore old mode 100644 new mode 100755 diff --git a/panda/tests/misra/checkers.txt b/panda/tests/misra/checkers.txt old mode 100644 new mode 100755 diff --git a/panda/tests/misra/coverage_table b/panda/tests/misra/coverage_table old mode 100644 new mode 100755 diff --git a/panda/tests/misra/suppressions.txt b/panda/tests/misra/suppressions.txt old mode 100644 new mode 100755 diff --git a/panda/tests/som/test_bootkick.py b/panda/tests/som/test_bootkick.py old mode 100644 new mode 100755 diff --git a/panda/tests/test_rsa.c b/panda/tests/test_rsa.c old mode 100644 new mode 100755 diff --git a/pyproject.toml b/pyproject.toml old mode 100644 new mode 100755 diff --git a/rednose_repo/.dockerignore b/rednose_repo/.dockerignore old mode 100644 new mode 100755 diff --git a/rednose_repo/.editorconfig b/rednose_repo/.editorconfig old mode 100644 new mode 100755 diff --git a/rednose_repo/.github/workflows/tests.yml b/rednose_repo/.github/workflows/tests.yml old mode 100644 new mode 100755 diff --git a/rednose_repo/.gitignore b/rednose_repo/.gitignore old mode 100644 new mode 100755 diff --git a/rednose_repo/.pre-commit-config.yaml b/rednose_repo/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/rednose_repo/Dockerfile b/rednose_repo/Dockerfile old mode 100644 new mode 100755 diff --git a/rednose_repo/LICENSE b/rednose_repo/LICENSE old mode 100644 new mode 100755 diff --git a/rednose_repo/README.md b/rednose_repo/README.md old mode 100644 new mode 100755 diff --git a/rednose_repo/SConstruct b/rednose_repo/SConstruct old mode 100644 new mode 100755 diff --git a/rednose_repo/examples/SConscript b/rednose_repo/examples/SConscript old mode 100644 new mode 100755 diff --git a/rednose_repo/examples/__init__.py b/rednose_repo/examples/__init__.py old mode 100644 new mode 100755 diff --git a/rednose_repo/examples/kinematic_kf.png b/rednose_repo/examples/kinematic_kf.png old mode 100644 new mode 100755 diff --git a/rednose_repo/examples/test_kinematic_kf.py b/rednose_repo/examples/test_kinematic_kf.py old mode 100644 new mode 100755 diff --git a/rednose_repo/pyproject.toml b/rednose_repo/pyproject.toml old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/.gitignore b/rednose_repo/rednose/.gitignore old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/SConscript b/rednose_repo/rednose/SConscript old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/__init__.py b/rednose_repo/rednose/__init__.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/__init__.py b/rednose_repo/rednose/helpers/__init__.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/chi2_lookup.py b/rednose_repo/rednose/helpers/chi2_lookup.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/chi2_lookup_table.npy b/rednose_repo/rednose/helpers/chi2_lookup_table.npy old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf.h b/rednose_repo/rednose/helpers/ekf.h old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_load.cc b/rednose_repo/rednose/helpers/ekf_load.cc old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_load.h b/rednose_repo/rednose/helpers/ekf_load.h old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_sym.cc b/rednose_repo/rednose/helpers/ekf_sym.cc old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_sym.h b/rednose_repo/rednose/helpers/ekf_sym.h old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_sym.py b/rednose_repo/rednose/helpers/ekf_sym.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/ekf_sym_pyx.pyx b/rednose_repo/rednose/helpers/ekf_sym_pyx.pyx old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/kalmanfilter.py b/rednose_repo/rednose/helpers/kalmanfilter.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/helpers/sympy_helpers.py b/rednose_repo/rednose/helpers/sympy_helpers.py old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/logger/logger.h b/rednose_repo/rednose/logger/logger.h old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/templates/compute_pos.c b/rednose_repo/rednose/templates/compute_pos.c old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/templates/ekf_c.c b/rednose_repo/rednose/templates/ekf_c.c old mode 100644 new mode 100755 diff --git a/rednose_repo/rednose/templates/feature_handler.c b/rednose_repo/rednose/templates/feature_handler.c old mode 100644 new mode 100755 diff --git a/rednose_repo/requirements.txt b/rednose_repo/requirements.txt old mode 100644 new mode 100755 diff --git a/rednose_repo/setup.py b/rednose_repo/setup.py old mode 100644 new mode 100755 diff --git a/rednose_repo/site_scons/site_tools/cython.py b/rednose_repo/site_scons/site_tools/cython.py old mode 100644 new mode 100755 diff --git a/rednose_repo/site_scons/site_tools/rednose_filter.py b/rednose_repo/site_scons/site_tools/rednose_filter.py old mode 100644 new mode 100755 diff --git a/release/README.md b/release/README.md old mode 100644 new mode 100755 diff --git a/release/identity.sh b/release/identity.sh old mode 100644 new mode 100755 diff --git a/scripts/__init__.py b/scripts/__init__.py old mode 100644 new mode 100755 diff --git a/scripts/add/amplifier_c3xl.py b/scripts/add/amplifier_c3xl.py old mode 100644 new mode 100755 diff --git a/scripts/add/events_ko.py b/scripts/add/events_ko.py old mode 100644 new mode 100755 diff --git a/scripts/add/events_zh.py b/scripts/add/events_zh.py old mode 100644 new mode 100755 diff --git a/scripts/waste.c b/scripts/waste.c old mode 100644 new mode 100755 diff --git a/selfdrive/SConscript b/selfdrive/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/__init__.py b/selfdrive/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/assets/.gitignore b/selfdrive/assets/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/assets/addon/font/KaiGenGothicKR-Bold.ttf b/selfdrive/assets/addon/font/KaiGenGothicKR-Bold.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/assets.qrc b/selfdrive/assets/assets.qrc old mode 100644 new mode 100755 diff --git a/selfdrive/assets/body/awake.gif b/selfdrive/assets/body/awake.gif old mode 100644 new mode 100755 diff --git a/selfdrive/assets/body/sleep.gif b/selfdrive/assets/body/sleep.gif old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Black.ttf b/selfdrive/assets/fonts/Inter-Black.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Bold.ttf b/selfdrive/assets/fonts/Inter-Bold.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-ExtraBold.ttf b/selfdrive/assets/fonts/Inter-ExtraBold.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-ExtraLight.ttf b/selfdrive/assets/fonts/Inter-ExtraLight.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Light.ttf b/selfdrive/assets/fonts/Inter-Light.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Medium.ttf b/selfdrive/assets/fonts/Inter-Medium.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Regular.ttf b/selfdrive/assets/fonts/Inter-Regular.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-SemiBold.ttf b/selfdrive/assets/fonts/Inter-SemiBold.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/Inter-Thin.ttf b/selfdrive/assets/fonts/Inter-Thin.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf b/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf old mode 100644 new mode 100755 diff --git a/selfdrive/assets/icons/close.svg b/selfdrive/assets/icons/close.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/blink_l.png b/selfdrive/assets/images/blink_l.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/blink_r.png b/selfdrive/assets/images/blink_r.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/bsd_l.png b/selfdrive/assets/images/bsd_l.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/bsd_r.png b/selfdrive/assets/images/bsd_r.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/button_flag.png b/selfdrive/assets/images/button_flag.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/button_home.png b/selfdrive/assets/images/button_home.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/button_settings.png b/selfdrive/assets/images/button_settings.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_apm.png b/selfdrive/assets/images/img_apm.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_apn.png b/selfdrive/assets/images/img_apn.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_apn.psd b/selfdrive/assets/images/img_apn.psd old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_hda.png b/selfdrive/assets/images/img_hda.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_navi.png b/selfdrive/assets/images/img_navi.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_nda.png b/selfdrive/assets/images/img_nda.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_radartracks.png b/selfdrive/assets/images/img_radartracks.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_scc2.png b/selfdrive/assets/images/img_scc2.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/img_tire.png b/selfdrive/assets/images/img_tire.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/lane_change_inhibit.png b/selfdrive/assets/images/lane_change_inhibit.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/lane_change_l.png b/selfdrive/assets/images/lane_change_l.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/lane_change_r.png b/selfdrive/assets/images/lane_change_r.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/lane_change_steer.png b/selfdrive/assets/images/lane_change_steer.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/navi_point.png b/selfdrive/assets/images/navi_point.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/road_speed.png b/selfdrive/assets/images/road_speed.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/speed_bg.png b/selfdrive/assets/images/speed_bg.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/speed_bump.png b/selfdrive/assets/images/speed_bump.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/traffic_green.png b/selfdrive/assets/images/traffic_green.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/traffic_red.png b/selfdrive/assets/images/traffic_red.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/triangle.svg b/selfdrive/assets/images/triangle.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/turn_l.png b/selfdrive/assets/images/turn_l.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/turn_r.png b/selfdrive/assets/images/turn_r.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/images/turn_u.png b/selfdrive/assets/images/turn_u.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_c3x.png b/selfdrive/assets/img_c3x.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_chffr_wheel.png b/selfdrive/assets/img_chffr_wheel.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_circled_check.svg b/selfdrive/assets/img_circled_check.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_circled_slash.svg b/selfdrive/assets/img_circled_slash.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_continue_triangle.svg b/selfdrive/assets/img_continue_triangle.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_couch.svg b/selfdrive/assets/img_couch.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_driver_face.png b/selfdrive/assets/img_driver_face.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_driver_face_static_x.png b/selfdrive/assets/img_driver_face_static_x.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_experimental.svg b/selfdrive/assets/img_experimental.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_experimental_grey.svg b/selfdrive/assets/img_experimental_grey.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_experimental_white.svg b/selfdrive/assets/img_experimental_white.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_eye_closed.svg b/selfdrive/assets/img_eye_closed.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_eye_open.svg b/selfdrive/assets/img_eye_open.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_map.png b/selfdrive/assets/img_map.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_spinner_comma.png b/selfdrive/assets/img_spinner_comma.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/img_spinner_track.png b/selfdrive/assets/img_spinner_track.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/default_marker.svg b/selfdrive/assets/navigation/default_marker.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_arrive.png b/selfdrive/assets/navigation/direction_arrive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_arrive_left.png b/selfdrive/assets/navigation/direction_arrive_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_arrive_right.png b/selfdrive/assets/navigation/direction_arrive_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_arrive_straight.png b/selfdrive/assets/navigation/direction_arrive_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_close.png b/selfdrive/assets/navigation/direction_close.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue.png b/selfdrive/assets/navigation/direction_continue.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_left.png b/selfdrive/assets/navigation/direction_continue_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_right.png b/selfdrive/assets/navigation/direction_continue_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_slight_left.png b/selfdrive/assets/navigation/direction_continue_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_slight_right.png b/selfdrive/assets/navigation/direction_continue_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_straight.png b/selfdrive/assets/navigation/direction_continue_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_continue_uturn.png b/selfdrive/assets/navigation/direction_continue_uturn.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_depart.png b/selfdrive/assets/navigation/direction_depart.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_depart_left.png b/selfdrive/assets/navigation/direction_depart_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_depart_right.png b/selfdrive/assets/navigation/direction_depart_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_depart_straight.png b/selfdrive/assets/navigation/direction_depart_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_end_of_road_left.png b/selfdrive/assets/navigation/direction_end_of_road_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_end_of_road_right.png b/selfdrive/assets/navigation/direction_end_of_road_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_flag.png b/selfdrive/assets/navigation/direction_flag.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork.png b/selfdrive/assets/navigation/direction_fork.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork_left.png b/selfdrive/assets/navigation/direction_fork_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork_right.png b/selfdrive/assets/navigation/direction_fork_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork_slight_left.png b/selfdrive/assets/navigation/direction_fork_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork_slight_right.png b/selfdrive/assets/navigation/direction_fork_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_fork_straight.png b/selfdrive/assets/navigation/direction_fork_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid.png b/selfdrive/assets/navigation/direction_invalid.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_left.png b/selfdrive/assets/navigation/direction_invalid_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_right.png b/selfdrive/assets/navigation/direction_invalid_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_slight_left.png b/selfdrive/assets/navigation/direction_invalid_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_slight_right.png b/selfdrive/assets/navigation/direction_invalid_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_straight.png b/selfdrive/assets/navigation/direction_invalid_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_invalid_uturn.png b/selfdrive/assets/navigation/direction_invalid_uturn.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_merge_left.png b/selfdrive/assets/navigation/direction_merge_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_merge_right.png b/selfdrive/assets/navigation/direction_merge_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_merge_slight_left.png b/selfdrive/assets/navigation/direction_merge_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_merge_slight_right.png b/selfdrive/assets/navigation/direction_merge_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_merge_straight.png b/selfdrive/assets/navigation/direction_merge_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_left.png b/selfdrive/assets/navigation/direction_new_name_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_right.png b/selfdrive/assets/navigation/direction_new_name_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_sharp_left.png b/selfdrive/assets/navigation/direction_new_name_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_sharp_right.png b/selfdrive/assets/navigation/direction_new_name_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_slight_left.png b/selfdrive/assets/navigation/direction_new_name_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_slight_right.png b/selfdrive/assets/navigation/direction_new_name_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_new_name_straight.png b/selfdrive/assets/navigation/direction_new_name_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_left.png b/selfdrive/assets/navigation/direction_notification_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_right.png b/selfdrive/assets/navigation/direction_notification_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_sharp_left.png b/selfdrive/assets/navigation/direction_notification_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_sharp_right.png b/selfdrive/assets/navigation/direction_notification_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_slight_left.png b/selfdrive/assets/navigation/direction_notification_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_slight_right.png b/selfdrive/assets/navigation/direction_notification_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_notification_straight.png b/selfdrive/assets/navigation/direction_notification_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_off_ramp_left.png b/selfdrive/assets/navigation/direction_off_ramp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_off_ramp_right.png b/selfdrive/assets/navigation/direction_off_ramp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_off_ramp_slight_left.png b/selfdrive/assets/navigation/direction_off_ramp_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_off_ramp_slight_right.png b/selfdrive/assets/navigation/direction_off_ramp_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_left.png b/selfdrive/assets/navigation/direction_on_ramp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_right.png b/selfdrive/assets/navigation/direction_on_ramp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_sharp_left.png b/selfdrive/assets/navigation/direction_on_ramp_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_sharp_right.png b/selfdrive/assets/navigation/direction_on_ramp_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_slight_left.png b/selfdrive/assets/navigation/direction_on_ramp_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_slight_right.png b/selfdrive/assets/navigation/direction_on_ramp_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_on_ramp_straight.png b/selfdrive/assets/navigation/direction_on_ramp_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary.png b/selfdrive/assets/navigation/direction_rotary.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_left.png b/selfdrive/assets/navigation/direction_rotary_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_right.png b/selfdrive/assets/navigation/direction_rotary_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_sharp_left.png b/selfdrive/assets/navigation/direction_rotary_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_sharp_right.png b/selfdrive/assets/navigation/direction_rotary_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_slight_left.png b/selfdrive/assets/navigation/direction_rotary_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_slight_right.png b/selfdrive/assets/navigation/direction_rotary_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_rotary_straight.png b/selfdrive/assets/navigation/direction_rotary_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout.png b/selfdrive/assets/navigation/direction_roundabout.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_left.png b/selfdrive/assets/navigation/direction_roundabout_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_right.png b/selfdrive/assets/navigation/direction_roundabout_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_sharp_left.png b/selfdrive/assets/navigation/direction_roundabout_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_sharp_right.png b/selfdrive/assets/navigation/direction_roundabout_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_slight_left.png b/selfdrive/assets/navigation/direction_roundabout_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_slight_right.png b/selfdrive/assets/navigation/direction_roundabout_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_roundabout_straight.png b/selfdrive/assets/navigation/direction_roundabout_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_left.png b/selfdrive/assets/navigation/direction_turn_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_left_inactive.png b/selfdrive/assets/navigation/direction_turn_left_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_right.png b/selfdrive/assets/navigation/direction_turn_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_right_inactive.png b/selfdrive/assets/navigation/direction_turn_right_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_sharp_left.png b/selfdrive/assets/navigation/direction_turn_sharp_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_sharp_right.png b/selfdrive/assets/navigation/direction_turn_sharp_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_slight_left.png b/selfdrive/assets/navigation/direction_turn_slight_left.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_slight_left_inactive.png b/selfdrive/assets/navigation/direction_turn_slight_left_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_slight_right.png b/selfdrive/assets/navigation/direction_turn_slight_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_slight_right_inactive.png b/selfdrive/assets/navigation/direction_turn_slight_right_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_straight.png b/selfdrive/assets/navigation/direction_turn_straight.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_straight_inactive.png b/selfdrive/assets/navigation/direction_turn_straight_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_turn_uturn.png b/selfdrive/assets/navigation/direction_turn_uturn.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/direction_updown.png b/selfdrive/assets/navigation/direction_updown.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/home.png b/selfdrive/assets/navigation/home.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/home.svg b/selfdrive/assets/navigation/home.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/home_inactive.png b/selfdrive/assets/navigation/home_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_directions.svg b/selfdrive/assets/navigation/icon_directions.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_directions_outlined.svg b/selfdrive/assets/navigation/icon_directions_outlined.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_favorite.svg b/selfdrive/assets/navigation/icon_favorite.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_home.svg b/selfdrive/assets/navigation/icon_home.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_recent.svg b/selfdrive/assets/navigation/icon_recent.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_settings.svg b/selfdrive/assets/navigation/icon_settings.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/icon_work.svg b/selfdrive/assets/navigation/icon_work.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/work.png b/selfdrive/assets/navigation/work.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/work.svg b/selfdrive/assets/navigation/work.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/navigation/work_inactive.png b/selfdrive/assets/navigation/work_inactive.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/fcc.html b/selfdrive/assets/offroad/fcc.html old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_brightness.png b/selfdrive/assets/offroad/icon_brightness.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_calendar.png b/selfdrive/assets/offroad/icon_calendar.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_calibration.png b/selfdrive/assets/offroad/icon_calibration.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_checkmark.svg b/selfdrive/assets/offroad/icon_checkmark.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_chevron_right.png b/selfdrive/assets/offroad/icon_chevron_right.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_close.svg b/selfdrive/assets/offroad/icon_close.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_disengage_on_accelerator.svg b/selfdrive/assets/offroad/icon_disengage_on_accelerator.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_lock_closed.svg b/selfdrive/assets/offroad/icon_lock_closed.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_logic.png b/selfdrive/assets/offroad/icon_logic.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_map.png b/selfdrive/assets/offroad/icon_map.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_menu.png b/selfdrive/assets/offroad/icon_menu.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_metric.png b/selfdrive/assets/offroad/icon_metric.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_minus.png b/selfdrive/assets/offroad/icon_minus.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_monitoring.png b/selfdrive/assets/offroad/icon_monitoring.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_mute.png b/selfdrive/assets/offroad/icon_mute.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_network.png b/selfdrive/assets/offroad/icon_network.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_plus.png b/selfdrive/assets/offroad/icon_plus.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_road.png b/selfdrive/assets/offroad/icon_road.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_sandtimer.png b/selfdrive/assets/offroad/icon_sandtimer.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_settings.png b/selfdrive/assets/offroad/icon_settings.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_shell.png b/selfdrive/assets/offroad/icon_shell.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_sound.png b/selfdrive/assets/offroad/icon_sound.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_speed_limit.png b/selfdrive/assets/offroad/icon_speed_limit.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_warning.png b/selfdrive/assets/offroad/icon_warning.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_wifi_strength_full.svg b/selfdrive/assets/offroad/icon_wifi_strength_full.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_wifi_strength_high.svg b/selfdrive/assets/offroad/icon_wifi_strength_high.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_wifi_strength_low.svg b/selfdrive/assets/offroad/icon_wifi_strength_low.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_wifi_strength_medium.svg b/selfdrive/assets/offroad/icon_wifi_strength_medium.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/icon_wifi_uploading.svg b/selfdrive/assets/offroad/icon_wifi_uploading.svg old mode 100644 new mode 100755 diff --git a/selfdrive/assets/offroad/microphone.png b/selfdrive/assets/offroad/microphone.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_1.wav b/selfdrive/assets/sounds/audio_1.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_10.wav b/selfdrive/assets/sounds/audio_10.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_2.wav b/selfdrive/assets/sounds/audio_2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_3.wav b/selfdrive/assets/sounds/audio_3.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_4.wav b/selfdrive/assets/sounds/audio_4.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_5.wav b/selfdrive/assets/sounds/audio_5.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_6.wav b/selfdrive/assets/sounds/audio_6.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_7.wav b/selfdrive/assets/sounds/audio_7.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_8.wav b/selfdrive/assets/sounds/audio_8.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_9.wav b/selfdrive/assets/sounds/audio_9.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_auto_hold.wav b/selfdrive/assets/sounds/audio_auto_hold.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_car_watchout.wav b/selfdrive/assets/sounds/audio_car_watchout.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_disengage.wav b/selfdrive/assets/sounds/audio_disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_engage.wav b/selfdrive/assets/sounds/audio_engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_lane_change.wav b/selfdrive/assets/sounds/audio_lane_change.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_lanechange.wav b/selfdrive/assets/sounds/audio_lanechange.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_speed_down.wav b/selfdrive/assets/sounds/audio_speed_down.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_stopping.wav b/selfdrive/assets/sounds/audio_stopping.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_stopstop.wav b/selfdrive/assets/sounds/audio_stopstop.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_traffic_error.wav b/selfdrive/assets/sounds/audio_traffic_error.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_turn.wav b/selfdrive/assets/sounds/audio_turn.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/audio_turn2.wav b/selfdrive/assets/sounds/audio_turn2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/disengage.wav b/selfdrive/assets/sounds/disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/engage.wav b/selfdrive/assets/sounds/engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/nnff.wav b/selfdrive/assets/sounds/nnff.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/prompt.wav b/selfdrive/assets/sounds/prompt.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/prompt_distracted.wav b/selfdrive/assets/sounds/prompt_distracted.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/refuse.wav b/selfdrive/assets/sounds/refuse.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/reverse_gear.wav b/selfdrive/assets/sounds/reverse_gear.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/tici_disengaged.wav b/selfdrive/assets/sounds/tici_disengaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/tici_engaged.wav b/selfdrive/assets/sounds/tici_engaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/traffic_sign_changed.wav b/selfdrive/assets/sounds/traffic_sign_changed.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/traffic_sign_green.wav b/selfdrive/assets/sounds/traffic_sign_green.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/warning_immediate.wav b/selfdrive/assets/sounds/warning_immediate.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds/warning_soft.wav b/selfdrive/assets/sounds/warning_soft.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_1.wav b/selfdrive/assets/sounds_chs/audio_1.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_10.wav b/selfdrive/assets/sounds_chs/audio_10.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_2.wav b/selfdrive/assets/sounds_chs/audio_2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_3.wav b/selfdrive/assets/sounds_chs/audio_3.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_4.wav b/selfdrive/assets/sounds_chs/audio_4.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_5.wav b/selfdrive/assets/sounds_chs/audio_5.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_6.wav b/selfdrive/assets/sounds_chs/audio_6.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_7.wav b/selfdrive/assets/sounds_chs/audio_7.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_8.wav b/selfdrive/assets/sounds_chs/audio_8.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_9.wav b/selfdrive/assets/sounds_chs/audio_9.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_auto_hold.wav b/selfdrive/assets/sounds_chs/audio_auto_hold.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_car_watchout.wav b/selfdrive/assets/sounds_chs/audio_car_watchout.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_disengage.wav b/selfdrive/assets/sounds_chs/audio_disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_engage.wav b/selfdrive/assets/sounds_chs/audio_engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_lane_change.wav b/selfdrive/assets/sounds_chs/audio_lane_change.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_lanechange.wav b/selfdrive/assets/sounds_chs/audio_lanechange.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_speed_down.wav b/selfdrive/assets/sounds_chs/audio_speed_down.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_stopping.wav b/selfdrive/assets/sounds_chs/audio_stopping.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_stopstop.wav b/selfdrive/assets/sounds_chs/audio_stopstop.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_traffic_error.wav b/selfdrive/assets/sounds_chs/audio_traffic_error.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_turn.wav b/selfdrive/assets/sounds_chs/audio_turn.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/audio_turn2.wav b/selfdrive/assets/sounds_chs/audio_turn2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/disengage.wav b/selfdrive/assets/sounds_chs/disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/engage.wav b/selfdrive/assets/sounds_chs/engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/nnff.wav b/selfdrive/assets/sounds_chs/nnff.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/prompt.wav b/selfdrive/assets/sounds_chs/prompt.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/prompt_distracted.wav b/selfdrive/assets/sounds_chs/prompt_distracted.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/refuse.wav b/selfdrive/assets/sounds_chs/refuse.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/reverse_gear.wav b/selfdrive/assets/sounds_chs/reverse_gear.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/tici_disengaged.wav b/selfdrive/assets/sounds_chs/tici_disengaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/tici_engaged.wav b/selfdrive/assets/sounds_chs/tici_engaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/traffic_sign_changed.wav b/selfdrive/assets/sounds_chs/traffic_sign_changed.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/traffic_sign_green.wav b/selfdrive/assets/sounds_chs/traffic_sign_green.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/warning_immediate.wav b/selfdrive/assets/sounds_chs/warning_immediate.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_chs/warning_soft.wav b/selfdrive/assets/sounds_chs/warning_soft.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/Wazealert.wav b/selfdrive/assets/sounds_eng/Wazealert.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/Wazealert2.wav b/selfdrive/assets/sounds_eng/Wazealert2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_1.wav b/selfdrive/assets/sounds_eng/audio_1.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_10.wav b/selfdrive/assets/sounds_eng/audio_10.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_2.wav b/selfdrive/assets/sounds_eng/audio_2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_3.wav b/selfdrive/assets/sounds_eng/audio_3.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_4.wav b/selfdrive/assets/sounds_eng/audio_4.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_5.wav b/selfdrive/assets/sounds_eng/audio_5.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_6.wav b/selfdrive/assets/sounds_eng/audio_6.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_7.wav b/selfdrive/assets/sounds_eng/audio_7.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_8.wav b/selfdrive/assets/sounds_eng/audio_8.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_9.wav b/selfdrive/assets/sounds_eng/audio_9.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_auto_hold.wav b/selfdrive/assets/sounds_eng/audio_auto_hold.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_car_watchout.wav b/selfdrive/assets/sounds_eng/audio_car_watchout.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_disengage.wav b/selfdrive/assets/sounds_eng/audio_disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_engage.wav b/selfdrive/assets/sounds_eng/audio_engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_lane_change.wav b/selfdrive/assets/sounds_eng/audio_lane_change.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_lanechange.wav b/selfdrive/assets/sounds_eng/audio_lanechange.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_speed_down.wav b/selfdrive/assets/sounds_eng/audio_speed_down.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_stopping.wav b/selfdrive/assets/sounds_eng/audio_stopping.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_stopstop.wav b/selfdrive/assets/sounds_eng/audio_stopstop.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_traffic_error.wav b/selfdrive/assets/sounds_eng/audio_traffic_error.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_turn.wav b/selfdrive/assets/sounds_eng/audio_turn.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/audio_turn2.wav b/selfdrive/assets/sounds_eng/audio_turn2.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/disengage.wav b/selfdrive/assets/sounds_eng/disengage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/engage.wav b/selfdrive/assets/sounds_eng/engage.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/nnff.wav b/selfdrive/assets/sounds_eng/nnff.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/prompt.wav b/selfdrive/assets/sounds_eng/prompt.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/prompt_distracted.wav b/selfdrive/assets/sounds_eng/prompt_distracted.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/refuse.wav b/selfdrive/assets/sounds_eng/refuse.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/reverse_gear.wav b/selfdrive/assets/sounds_eng/reverse_gear.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/tici_disengaged.wav b/selfdrive/assets/sounds_eng/tici_disengaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/tici_engaged.wav b/selfdrive/assets/sounds_eng/tici_engaged.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/traffic_sign_changed.wav b/selfdrive/assets/sounds_eng/traffic_sign_changed.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/traffic_sign_green.wav b/selfdrive/assets/sounds_eng/traffic_sign_green.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/warning_immediate.wav b/selfdrive/assets/sounds_eng/warning_immediate.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/sounds_eng/warning_soft.wav b/selfdrive/assets/sounds_eng/warning_soft.wav old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step0.png b/selfdrive/assets/training/step0.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step1.png b/selfdrive/assets/training/step1.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step10.png b/selfdrive/assets/training/step10.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step11.png b/selfdrive/assets/training/step11.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step12.png b/selfdrive/assets/training/step12.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step13.png b/selfdrive/assets/training/step13.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step14.png b/selfdrive/assets/training/step14.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step15.png b/selfdrive/assets/training/step15.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step16.png b/selfdrive/assets/training/step16.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step17.png b/selfdrive/assets/training/step17.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step18.png b/selfdrive/assets/training/step18.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step2.png b/selfdrive/assets/training/step2.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step3.png b/selfdrive/assets/training/step3.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step4.png b/selfdrive/assets/training/step4.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step5.png b/selfdrive/assets/training/step5.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step6.png b/selfdrive/assets/training/step6.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step7.png b/selfdrive/assets/training/step7.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step8.png b/selfdrive/assets/training/step8.png old mode 100644 new mode 100755 diff --git a/selfdrive/assets/training/step9.png b/selfdrive/assets/training/step9.png old mode 100644 new mode 100755 diff --git a/selfdrive/car/CARS_template.md b/selfdrive/car/CARS_template.md old mode 100644 new mode 100755 diff --git a/selfdrive/car/__init__.py b/selfdrive/car/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/car_specific.py b/selfdrive/car/car_specific.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/card.py b/selfdrive/car/card.py old mode 100644 new mode 100755 index 321cb6e190..3b2b1393d3 --- a/selfdrive/car/card.py +++ b/selfdrive/car/card.py @@ -108,7 +108,9 @@ def __init__(self, CI=None, RI=None) -> None: self.params.put_bool("FirmwareQueryDone", True) else: self.CI, self.CP = CI, CI.CP - self.RI = RI + #self.RI = RI + from opendbc.car.radar_interface import RadarInterface + self.RI = RadarInterface(self.CI.CP) # set alternative experiences from parameters disengage_on_accelerator = self.params.get_bool("DisengageOnAccelerator") @@ -309,7 +311,7 @@ def card_thread(self): finally: e.set() t.join() - + def main(): #config_realtime_process(4, Priority.CTRL_HIGH) config_realtime_process(6, Priority.CTRL_HIGH) diff --git a/selfdrive/car/cruise.py b/selfdrive/car/cruise.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/.gitignore b/selfdrive/car/tests/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/__init__.py b/selfdrive/car/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/test_car_interfaces.py b/selfdrive/car/tests/test_car_interfaces.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/test_cruise_speed.py b/selfdrive/car/tests/test_cruise_speed.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/test_docs.py b/selfdrive/car/tests/test_docs.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/test_models.py b/selfdrive/car/tests/test_models.py old mode 100644 new mode 100755 diff --git a/selfdrive/car/tests/test_models_segs.txt b/selfdrive/car/tests/test_models_segs.txt old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/carrot_controls.py b/selfdrive/carrot/carrot_controls.py old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/carrot_functions.py b/selfdrive/carrot/carrot_functions.py old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/carrot_man.py b/selfdrive/carrot/carrot_man.py old mode 100644 new mode 100755 index 286154c972..d0e341c37b --- a/selfdrive/carrot/carrot_man.py +++ b/selfdrive/carrot/carrot_man.py @@ -236,8 +236,21 @@ def __init__(self): self.is_metric = self.params.get_bool("IsMetric") def get_broadcast_address(self): + # 修改为支持PC的多接口检测 if PC: - iface = b'br0' + interfaces = ['wlan0', 'eth0', 'enp0s3', 'br0'] # 常见PC接口 + for iface in interfaces: + try: + with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s: + ip = fcntl.ioctl( + s.fileno(), + 0x8919, # SIOCGIFBRDADDR + struct.pack('256s', iface.encode('utf-8')[:15]) + )[20:24] + return socket.inet_ntoa(ip) + except Exception: + continue + return "255.255.255.255" # 回退地址 else: iface = b'wlan0' try: @@ -260,7 +273,7 @@ def get_local_ip(self): except Exception as e: return f"Error: {e}" - + # 브로드캐스트 메시지 전송 def broadcast_version_info(self): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -388,7 +401,7 @@ def carrot_speed_serv(self, carrot_speed, frame): else: self.v_cruise_change = 0 return - + v_cruise_apply = max(min(CS.vCruise, v_ego_kph), 20) vt_last = self.params_memory.get_int("CarrotSpeed") if vt_last != 0: @@ -429,7 +442,7 @@ def carrot_speed_serv(self, carrot_speed, frame): carrot_speed.maybe_save() - + def carrot_navi_route(self): if self.carrot_serv.active_carrot > 1: @@ -771,7 +784,8 @@ def send_tmux(self, ftp_password, tmux_why, send_settings=False): self.save_toggle_values() try: #with open("/data/backup_params.json", "rb") as file: - with open("/data/toggle_values.json", "rb") as file: + toggle_file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'toggle_values.json') + with open(toggle_file_path, 'rb') as file: ftp.storbinary(f'STOR toggles-{current_time}.json', file) except Exception as e: print(f"ftp params sending error...: {e}") @@ -796,7 +810,7 @@ def save_toggle_values(self): import openpilot.selfdrive.frogpilot.fleetmanager.helpers as fleet toggle_values = fleet.get_all_toggle_values() - file_path = os.path.join('/data', 'toggle_values.json') + file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'toggle_values.json') with open(file_path, 'w') as file: json.dump(toggle_values, file, indent=2) except Exception as e: diff --git a/selfdrive/carrot/carrot_serv.py b/selfdrive/carrot/carrot_serv.py old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/carrot_server.py b/selfdrive/carrot/carrot_server.py old mode 100644 new mode 100755 index e51844853a..a21506a5d0 --- a/selfdrive/carrot/carrot_server.py +++ b/selfdrive/carrot/carrot_server.py @@ -38,7 +38,7 @@ BASE_DIR = os.path.dirname(os.path.abspath(__file__)) -DEFAULT_SETTINGS_PATH = "/data/openpilot/selfdrive/carrot_settings.json" +DEFAULT_SETTINGS_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "carrot_settings.json") WEB_DIR = os.path.join(BASE_DIR, "web") diff --git a/selfdrive/carrot/carrot_settings.json b/selfdrive/carrot/carrot_settings.json new file mode 100755 index 0000000000..ad3dab898b --- /dev/null +++ b/selfdrive/carrot/carrot_settings.json @@ -0,0 +1,2245 @@ +{ + "apilot": 20220111, + "params": [ + { + "group": "조향일반", + "name": "PathOffset", + "title": "차선치우침 좌우보정(0)", + "descr": "(레인모드)\n (-)좌측 / (+)우측", + "egroup": "LAT", + "etitle": "Lane Deviation Left/Right Correction(0)", + "edescr": "LaneMode only — (-)Left / (+)Right", + "min": -150, + "max": 150, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "车道偏移左右修正(0)", + "cdescr": "仅限车道模式 — (-)左侧 / (+)右侧" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueCustom", + "title": "_LateralTorqueCustom(0)", + "descr": "커스텀 토크 사용\n (TorqueAccelFactor, FrictionFactor 사용을 위해서 켜기)", + "egroup": "LAT", + "etitle": "_LateralTorqueCustom(0)", + "edescr": "Use Custom Torque(TorqueAccelFactor, FrictionFactor)", + "min": 0, + "max": 1, + "default": 1, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义转向力矩(0)", + "cdescr": "使用自定义力矩 (TorqueAccelFactor, FrictionFactor)" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueAccelFactor", + "title": "_LateralTorqueAccelFactor*0.001(2500)", + "descr": "낮을수록 토크가 강해지다가 어느순간 약해짐 \n 가장 강한 지점의 값 사용", + "egroup": "LAT", + "etitle": "_LateralTorqueAccelFactor*0.001(2500)", + "edescr": "As the value decreases, the torque becomes stronger up to a point, then weakens — Uses the value at the strongest point.", + "min": 1000, + "max": 6000, + "default": 2500, + "unit": 100, + "cgroup": "转向", + "ctitle": "转向力矩加速系数*0.001(2500)", + "cdescr": "随着值减小,力矩会增强到某一点然后变弱 — 请使用力矩最强点的值。" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueFriction", + "title": "_LateralTorqueFriction*0.001(100)", + "descr": "높을수록 미세조향이 많아짐 \n\n 0~50 권장", + "egroup": "LAT", + "etitle": "_LateralTorqueFriction*0.001(100)", + "edescr": "More fine steering at higher values — 0-50 recommended", + "min": 0, + "max": 1000, + "default": 100, + "unit": 10, + "cgroup": "转向", + "ctitle": "转向力矩摩擦系数*0.001(100)", + "cdescr": "值越高微操越多 — 推荐 0-50" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueKpV", + "title": "_LateralTorqueKp*0.01(100)", + "descr": "조향 비례 계수(오차가 클수록 강하게 반응) \n\n 140 권장", + "egroup": "LAT", + "etitle": "_LateralTorqueKp*0.01(100)", + "edescr": "Steering Response Speed (Instant Reaction) — 140 Recommended", + "min": 0, + "max": 200, + "default": 100, + "unit": 1, + "cgroup": "转向", + "ctitle": "转向力矩 Kp*0.01(100)", + "cdescr": "转向响应速度 (瞬时反应) — 推荐 140" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueKiV", + "title": "_LateralTorqueKi*0.01(10)", + "descr": "조향 누적 오차 보정 \n\n 20 권장", + "egroup": "LAT", + "etitle": "_LateralTorqueKi*0.01(10)", + "edescr": "Steering Accumulated Error Correction — 20 Recommended", + "min": 0, + "max": 200, + "default": 10, + "unit": 1, + "cgroup": "转向", + "ctitle": "转向力矩 Ki*0.01(10)", + "cdescr": "转向累积误差修正 — 推荐 20" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueKf", + "title": "_LateralTorqueKf*0.01(100)", + "descr": "조향 예측 기반 보정 \n\n 85 권장", + "egroup": "LAT", + "etitle": "_LateralTorqueKf*0.001(100)", + "edescr": "Steering Feedforward Correction — 85 Recommended", + "min": 0, + "max": 200, + "default": 100, + "unit": 1, + "cgroup": "转向", + "ctitle": "转向力矩 Kf*0.001(100)", + "cdescr": "转向前馈修正 — 推荐 85" + }, + { + "group": "조향튜닝", + "name": "LateralTorqueKd", + "title": "_LateralTorqueKd*0.01(0)", + "descr": "조향 미분 계수(급격한 변화에 저항) \n\n 0 권장", + "egroup": "LAT", + "etitle": "_LateralTorqueKd*0.01(0)", + "edescr": "Steering Derivative Gain, 0 Recommended", + "min": 0, + "max": 10000, + "default": 0, + "unit": 10, + "cgroup": "转向", + "ctitle": "转向力矩 Kd*0.01(0)", + "cdescr": "转向微分增益,推荐 0" + }, + { + "group": "조향튜닝", + "name": "LatMpcPathCost", + "title": "*LATMPC.PathCost(200)", + "descr": "(레인모드) 경로추종가중치 \n 높으면 경로우선시함.", + "egroup": "LAT", + "etitle": "*LATMPC.PathCost(200)", + "edescr": "(LaneMode) Path Following Weight — Higher values prioritize the path", + "min": 0, + "max": 500, + "default": 200, + "unit": 10, + "cgroup": "转向", + "ctitle": "横向MPC路径代价(200)", + "cdescr": "(车道模式) 路径跟随权重 — 值越高越优先考虑路径" + }, + { + "group": "조향튜닝", + "name": "LatMpcMotionCost", + "title": "*LATMPC.MotionCost(7)", + "descr": "(레인모드) 헤딩가중치", + "egroup": "LAT", + "etitle": "*LATMPC.MotionCost(7)", + "edescr": "(LaneMode) Heading Weight", + "min": 0, + "max": 500, + "default": 7, + "unit": 1, + "cgroup": "转向", + "ctitle": "横向MPC运动代价(7)", + "cdescr": "(车道模式) 航向权重" + }, + { + "group": "조향튜닝", + "name": "LatMpcAccelCost", + "title": "*LATMPC.AccelCost(120)", + "descr": "(레인모드) 횡가속도제한 \n 낮으면 민첩성증가 안정성감소", + "egroup": "LAT", + "etitle": "*LATMPC.AccelCost(120)", + "edescr": "(LaneMode) Lateral Acceleration Limit — Lower values increase agility but reduce stability", + "min": 0, + "max": 500, + "default": 100, + "unit": 10, + "cgroup": "转向", + "ctitle": "横向MPC加速代价(120)", + "cdescr": "(车道模式) 侧向加速度限制 — 值越低灵活性越高但稳定性降低" + }, + { + "group": "조향튜닝", + "name": "LatMpcJerkCost", + "title": "*LATMPC.JerkCost(4)", + "descr": "(레인모드) 낮추면 빠른조향허용 \n 부드러움 감소", + "egroup": "LAT", + "etitle": "*LATMPC.JerkCost(4)", + "edescr": "(LaneMode) Lower values allow quicker steering — reduces smoothness", + "min": 0, + "max": 200, + "default": 1, + "unit": 1, + "cgroup": "转向", + "ctitle": "横向MPC冲击代价(4)", + "cdescr": "(车道模式) 值越低允许越快的转向 — 会降低平滑度" + }, + { + "group": "조향튜닝", + "name": "LatMpcSteeringRateCost", + "title": "*LATMPC.SteerRateCost(7)", + "descr": "(레인모드) 조향변화율제한 \n 낮추면 조향이 적극적", + "egroup": "LAT", + "etitle": "*LATMPC.SteerRateCost(7)", + "edescr": "(LaneMode) Steering Rate Limit — Lower values make steering more aggressive", + "min": 0, + "max": 1000, + "default": 7, + "unit": 100, + "cgroup": "转向", + "ctitle": "横向MPC转向速率代价(7)", + "cdescr": "(车道模式) 转向速率限制 — 值越低转向越激进" + }, + { + "group": "조향튜닝", + "name": "LatMpcInputOffset", + "title": "*LATMPC.InputOffset(4)", + "descr": "(레인모드) Mpc입력보상 \n 값이 크면 일찍커브에 진입함", + "egroup": "LAT", + "etitle": "*LATMPC.InputOffset(4)", + "edescr": "(LaneMode) MPC Input Compensation — Higher values enter curves earlier", + "min": 0, + "max": 20, + "default": 4, + "unit": 1, + "cgroup": "转向", + "ctitle": "横向MPC输入偏移(4)", + "cdescr": "(车道模式) MPC 输入补偿 — 值越高进入弯道越早" + }, + { + "group": "조향튜닝", + "name": "CustomSteerMax", + "title": "_CustomSteerMax(0)", + "descr": "최대조향토크 \n 270/384/409 중 오류가 안나는 가장 큰 값 사용", + "egroup": "LAT", + "etitle": "_CustomSteerMax(0)", + "edescr": "Maximum Steering Torque — Use the largest value among 270/384/409 that does not cause errors", + "min": 0, + "max": 30000, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义最大转向力矩(0)", + "cdescr": "最大转向力矩 — 在 270/384/409 中选择不报错的最大值" + }, + { + "group": "조향튜닝", + "name": "CustomSteerDeltaUp", + "title": "_CustomSteerDeltaUp(0)", + "descr": "(토크차량) \n 높을수록 핸들 감는속도 빨라짐", + "egroup": "LAT", + "etitle": "_CustomSteerDeltaUp(0)", + "edescr": "Torque Vehicle — Higher values increase steering wheel turn speed", + "min": 0, + "max": 50, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义转向增大斜率(0)", + "cdescr": "力矩控制车辆 — 值越高方向盘转动速度越快" + }, + { + "group": "조향튜닝", + "name": "CustomSteerDeltaDown", + "title": "_CustomSteerDeltaDown(0)", + "descr": "(토크차량) \n 높을수록 핸들 푸는속도 빨라짐", + "egroup": "LAT", + "etitle": "_CustomSteerDeltaDown(0)", + "edescr": "Torque Vehicle — Higher values increase steering wheel release speed", + "min": 0, + "max": 50, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义转向减小斜率(0)", + "cdescr": "力矩控制车辆 — 值越高方向盘回正速度越快" + }, + { + "group": "조향튜닝", + "name": "CustomSteerDeltaUpLC", + "title": "_CustomSteerDeltaUpLC(0)", + "descr": "(토크차량) \n 차선변경 시 일시적용 SteerDeltaUp", + "egroup": "LAT", + "etitle": "_CustomSteerDeltaUpLC(0)", + "edescr": "Torque Vehicle — Temporarily applies SteerDeltaUp during lane changes", + "min": 0, + "max": 50, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "变道自定义转向增大斜率(0)", + "cdescr": "力矩控制车辆 — 变道期间临时应用转向增大斜率" + }, + { + "group": "조향튜닝", + "name": "CustomSteerDeltaDownLC", + "title": "_CustomSteerDeltaDownLC(0)", + "descr": "(토크차량) \n 차선변경 시 일시적용 SteerDeltaDown", + "egroup": "LAT", + "etitle": "_CustomSteerDeltaDownLC(0)", + "edescr": "Torque Vehicle — Temporarily applies SteerDeltaDown during lane changes", + "min": 0, + "max": 50, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "变道自定义转向减小斜率(0)", + "cdescr": "力矩控制车辆 — 变道期间临时应用转向减小斜率" + }, + { + "group": "조향튜닝", + "name": "SteerActuatorDelay", + "title": "SteerActuatorDelay(30)", + "descr": "조향지연값 \n 높을수록 미리 조향 함 \n 0:LiveDelay", + "egroup": "LAT", + "etitle": "SteerActuatorDelay(30)", + "edescr": "Steering Delay Value — Higher values steer earlier. 0 means Live Delay", + "min": 0, + "max": 300, + "default": 30, + "unit": 1, + "cgroup": "转向", + "ctitle": "转向执行器延迟(30)", + "cdescr": "转向延迟值 — 值越高转向越早。0 表示实时延迟" + }, + { + "group": "조향튜닝", + "name": "LatSmoothSec", + "title": "LatSmoothSec(13)x0.01", + "descr": "조향필터링값\n 높으면 부드러운조향", + "egroup": "LAT", + "etitle": "LatSmoothSec(13)", + "edescr": "Lat smoothing values — Higher values smoother", + "min": 1, + "max": 30, + "default": 13, + "unit": 1, + "cgroup": "转向", + "ctitle": "转向平滑时间(30)", + "cdescr": "转向平滑值 — 值越高越平滑" + }, + { + "group": "조향튜닝", + "name": "LatSuspendAngleDeg", + "title": "자동조향일시중지각도(300)", + "descr": "조향각이 커지면 자동조향을 일시중지. 15도 이내도 조향각이 돌아오면 재개함.", + "egroup": "LAT", + "etitle": "AutoSteering Suspend Angle(300)", + "edescr": "Auto steering pauses at large steering angles and resumes when it returns within 15.", + "min": 45, + "max": 300, + "default": 300, + "unit": 10, + "cgroup": "转向", + "ctitle": "AutoSteering Suspend Angle(300)", + "cdescr": "Auto steering pauses at large steering angles and resumes when it returns within 15." + }, + { + "group": "크루즈", + "name": "CruiseOnDist", + "title": "크루즈ON거리(0cm)", + "descr": "페달을 땠을 때, 앞차가 가까워지면 크루즈ON", + "egroup": "CRUISE", + "etitle": "CruiseOnDist(0cm)", + "edescr": "Cruise ON when releasing the pedal and the front car gets close", + "min": 0, + "max": 2500, + "default": 0, + "unit": 50, + "cgroup": "巡航设置", + "ctitle": "巡航开启距离(0cm)", + "cdescr": "松开油门且前车靠近时开启巡航" + }, + { + "group": "크루즈", + "name": "CruiseEcoControl", + "title": "크루즈연비제어(2km/h)", + "descr": "HEV 차량의 EV모드 개입을 위해 일시적으로 목표 속도를 증가시킵니다.", + "egroup": "CRUISE", + "etitle": "CruiseEcoControl(2km/h)", + "edescr": "Temporarily increases the target speed for fuel efficiency", + "min": 0, + "max": 10, + "default": 2, + "unit": 1, + "cgroup": "巡航设置", + "ctitle": "巡航节能控制(2km/h)", + "cdescr": "为提高燃油效率临时提高目标速度" + }, + { + "group": "크루즈", + "name": "CarrotCruiseDecel", + "title": "당근크루즈감속도x0.01(-1)", + "descr": "당근크루즈 감속도 지정\n -1:크루즈OFF", + "egroup": "CRUISE", + "etitle": "CarrotCruiseDecel(-1)", + "edescr": "Carrot Cruise Deceleration Setting, -1: Cruise OFF", + "min": -1, + "max": 200, + "default": -1, + "unit": 10, + "cgroup": "巡航设置", + "ctitle": "胡萝卜巡航减速度(-1)", + "cdescr": "胡萝卜巡航减速度设置,-1: 巡航关闭" + }, + { + "group": "크루즈", + "name": "CarrotCruiseAtcDecel", + "title": "당근크루즈감속도ATCx0.01(-1)", + "descr": "당근크루즈 ATC 감속도 지정\n -1:변경안함", + "egroup": "CRUISE", + "etitle": "CarrotCruiseDecelATCx0.01(-1)", + "edescr": "Carrot Cruise ATC Deceleration Setting, -1: Not Change", + "min": -1, + "max": 200, + "default": -1, + "unit": 10, + "cgroup": "巡航设置", + "ctitle": "胡萝卜巡航 ATC 减速度(-1)", + "cdescr": "胡萝卜巡航 ATC 减速度设置,-1: 不改变" + }, + { + "group": "크루즈", + "name": "CommaLongAcc", + "title": "콤마크루즈(0)", + "descr": "콤마 롱컨트롤 사용", + "egroup": "CRUISE", + "etitle": "Use Comma Long", + "edescr": "", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "巡航设置", + "ctitle": "使用 Comma 纵向控制", + "cdescr": "" + }, + { + "group": "조향튜닝", + "name": "CustomSR", + "title": "CustomSteerRatiox0.1(0)", + "descr": "조향비(차량제원 참고)\n 0: LiveSteerRatio 사용", + "egroup": "LAT", + "etitle": "CustomSteerRatiox0.1(0)", + "edescr": "Steering Ratio (Refer to Vehicle Specs), 0: Uses LiveSteerRatio", + "min": 0, + "max": 300, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义转向比x0.1(0)", + "cdescr": "转向比 (参考车辆参数),0: 使用实时转向比" + }, + { + "group": "조향튜닝", + "name": "SteerRatioRate", + "title": "CustomSteerRatioRatex0.01(100)", + "descr": "LiveSteerRatio 반영비율\n(CustomSR 0으로 설정해야 함)", + "egroup": "LAT", + "etitle": "CustomSteerRatioRatex0.01(100)", + "edescr": "LiveSteerRatio Application Ratio (Requires CustomSR set to 0)", + "min": 30, + "max": 200, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "自定义转向比率x0.01(100)", + "cdescr": "实时转向比应用比例 (需要 CustomSR 设置为 0)" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals0", + "title": "가속도설정 0 : 0km/h(160)", + "descr": "0km/h ~ 10km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet0:0km/h(160)", + "edescr": "Acceleration from 0 km/h to 10 km/h", + "min": 1, + "max": 250, + "default": 160, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 0: 0km/h(160)", + "cdescr": "0 km/h 到 10 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals1", + "title": "가속도설정 1 : 10km/h(160)", + "descr": "10km/h ~ 40km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet1:10km/h(160)", + "edescr": "Acceleration from 10 km/h to 40 km/h", + "min": 1, + "max": 250, + "default": 160, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 1: 10km/h(160)", + "cdescr": "10 km/h 到 40 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals2", + "title": "가속도설정 2 : 40km/h(120)", + "descr": "40km/h ~ 60km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet2:40km/h(120)", + "edescr": "Acceleration from 40 km/h to 60 km/h", + "min": 1, + "max": 250, + "default": 120, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 2: 40km/h(120)", + "cdescr": "40 km/h 到 60 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals3", + "title": "가속도설정 3 : 60km/h(100)", + "descr": "60km/h ~ 80km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet3:60km/h(100)", + "edescr": "Acceleration from 60 km/h to 80 km/h", + "min": 1, + "max": 250, + "default": 100, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 3: 60km/h(100)", + "cdescr": "60 km/h 到 80 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals4", + "title": "가속도설정 4 : 80km/h(80)", + "descr": "80km/h ~ 110km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet4:80km/h(80)", + "edescr": "Acceleration from 80 km/h to 110 km/h", + "min": 1, + "max": 250, + "default": 80, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 4: 80km/h(80)", + "cdescr": "80 km/h 到 110 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals5", + "title": "가속도설정 5 : 110km/h(70)", + "descr": "110km/h ~ 140km/h 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet5:110km/h(70)", + "edescr": "Acceleration from 110 km/h to 140 km/h", + "min": 1, + "max": 250, + "default": 70, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 5: 110km/h(70)", + "cdescr": "110 km/h 到 140 km/h 的加速度" + }, + { + "group": "가속설정", + "name": "CruiseMaxVals6", + "title": "가속도설정 6 : 140km/h(60)", + "descr": "140km/h ~ 가속도", + "egroup": "ACCEL", + "etitle": "AccelSet6:140km/h(60)", + "edescr": "Acceleration from 140 km/h", + "min": 1, + "max": 250, + "default": 60, + "unit": 5, + "cgroup": "加速设置", + "ctitle": "加速度设置 6: 140km/h(60)", + "cdescr": "140 km/h 以上的加速度" + }, + { + "group": "주행튜닝", + "name": "StopDistanceCarrot", + "title": "StopDistance(600)cm", + "descr": "정지위치 * 0.8", + "egroup": "LONG", + "etitle": "StopDistance(600)cm", + "edescr": "Stop Distance * 0.8", + "min": 400, + "max": 1000, + "default": 600, + "unit": 10, + "cgroup": "纵向控制", + "ctitle": "停止距离(600)cm", + "cdescr": "停止距离 * 0.8" + }, + { + "group": "주행튜닝", + "name": "AChangeCostStarting", + "title": "AChangeCostStarting", + "descr": "출발가속도제한, 0:빠른가속도", + "egroup": "LONG", + "etitle": "AChangeCostStarting", + "edescr": "AccelCost Starting, 0:rapid starting", + "min": 0, + "max": 200, + "default": 10, + "unit": 10, + "cgroup": "纵向控制", + "ctitle": "启动加速度限制", + "cdescr": "启动加速代价,0: 快速启动" + }, + { + "group": "주행튜닝", + "name": "TrafficStopDistanceAdjust", + "title": "TrafficStopDistanceAdjust(400)", + "descr": "신호정지위치 보정", + "egroup": "LONG", + "etitle": "TrafficStopDistanceAdjust", + "edescr": "", + "min": -600, + "max": 600, + "default": 400, + "unit": 100, + "cgroup": "纵向控制", + "ctitle": "交通信号停止距离调整", + "cdescr": "" + }, + { + "group": "주행튜닝", + "name": "JLeadFactor3", + "title": "JerkLeadFactor(0)", + "descr": "값이 클수록 전방차량의 가속도변화율에 민감하게 반응", + "egroup": "LONG", + "etitle": "JerkLeadFactor(0)", + "edescr": "Higher values respond more sensitively to acceleration changes of the lead vehicle", + "min": 0, + "max": 100, + "default": 0, + "unit": 10, + "cgroup": "纵向控制", + "ctitle": "前车冲击因子(0)", + "cdescr": "值越高对前车加速度变化的反应越敏感" + }, + { + "group": "주행튜닝", + "name": "LongTuningKpV", + "title": "Long KpV(100)x0.01", + "descr": "롱컨 비례게인(오차 즉각 반응) \n\n HKG: 100 권장", + "egroup": "LONG", + "etitle": "Long KpV(100)x0.01", + "edescr": "Longitudinal Control Proportional Gain (Immediate Error Response) — HKG: 100 Recommended", + "min": 0, + "max": 200, + "default": 100, + "unit": 5, + "cgroup": "纵向控制", + "ctitle": "纵向 KpV(100)x0.01", + "cdescr": "纵向控制比例增益 (瞬时误差响应) — HKG: 推荐 100" + }, + { + "group": "주행튜닝", + "name": "LongTuningKf", + "title": "Long Kf(100)x0.01", + "descr": "롱컨 예측기반 보정 \n\n HKG: 100으로 설정 권장", + "egroup": "LONG", + "etitle": "Long Kf(100)x0.01", + "edescr": "Longitudinal Feedforward Correction — HKG: 100 Recommended", + "min": 0, + "max": 200, + "default": 0, + "unit": 5, + "cgroup": "纵向控制", + "ctitle": "纵向 Kf(100)x0.01", + "cdescr": "纵向前馈修正 — HKG: 推荐 100" + }, + { + "group": "주행튜닝", + "name": "LongTuningKiV", + "title": "Long KiV(0)x0.01", + "descr": "롱컨 적분게인(누적오차 보정) \n\n HKG: 0으로 설정 권장", + "egroup": "LONG", + "etitle": "Long KiV(0)x0.01", + "edescr": "Longitudinal Integral Gain (Cumulative Error Correction) — HKG: 0 Recommended", + "min": 0, + "max": 2000, + "default": 0, + "unit": 1, + "cgroup": "纵向控制", + "ctitle": "纵向 KiV(0)x0.01", + "cdescr": "纵向积分增益 (累积误差修正) — HKG: 推荐 0" + }, + { + "group": "주행튜닝", + "name": "LongActuatorDelay", + "title": "LongActuatorDelay(20)x0.01", + "descr": "롱컨 지연값(높을수록 미리 가감속) \n\n HKG: 20으로 설정 권장", + "egroup": "LONG", + "etitle": "LongActuatorDelay(20)x0.01", + "edescr": "Longitudinal Delay Value (Higher values lead to earlier acceleration/deceleration) — HKG: 20 Recommeded", + "min": 0, + "max": 200, + "default": 20, + "unit": 5, + "cgroup": "纵向控制", + "ctitle": "纵向执行器延迟(20)x0.01", + "cdescr": "纵向延迟值 (值越高越早开始加减速) — HKG: 推荐 20" + }, + { + "group": "주행튜닝", + "name": "VEgoStopping", + "title": "정지출발민감도(50)x0.01", + "descr": "값이 낮을수록 빠르게 출발함\n 너무낮추면 추돌위험이 있을수 있음\n (5 권장)", + "egroup": "LONG", + "etitle": "VEgoStopping(50)x0.01", + "edescr": "Lower values result in quicker starts; setting too low may increase collision risk. (5 recommended)", + "min": 1, + "max": 100, + "default": 50, + "unit": 5, + "cgroup": "纵向控制", + "ctitle": "停止/启动灵敏度(50)x0.01", + "cdescr": "值越低起步越快;设置过低可能会增加碰撞风险 (推荐 5)" + }, + { + "group": "주행튜닝", + "name": "RadarReactionFactor", + "title": "Radar reaction factor (100)%", + "descr": "값이 낮을수록 선행차량에 대한 반응이 빠름.", + "egroup": "LONG", + "etitle": "Radar reaction factor (100)%", + "edescr": "Lower value: faster response to lead car", + "min": 0, + "max": 200, + "default": 100, + "unit": 1, + "cgroup": "纵向控制", + "ctitle": "雷达反应因子 (100)%", + "cdescr": "值越低:对前车的反应越快" + }, + { + "group": "감속제어", + "name": "AutoCurveSpeedFactor", + "title": "커브속도 조절비율(100%)", + "descr": "높으면 커브속도가 느려집니다.", + "egroup": "DECEL", + "etitle": "CurveSpeedFactor(100%)", + "edescr": "Higher value: slow curve speed", + "min": 50, + "max": 300, + "default": 100, + "unit": 5, + "cgroup": "减速控制", + "ctitle": "弯道速度调节比例(100%)", + "cdescr": "值越高:弯道速度越慢" + }, + { + "group": "감속제어", + "name": "AutoCurveSpeedAggressiveness", + "title": "커브속도 적극성(100%)", + "descr": "올리면 진입속도가 적극적으로 변합니다.", + "egroup": "DECEL", + "etitle": "CurveSpeed Aggressiveness(100%)", + "edescr": "Higher value: more speed down", + "min": 50, + "max": 300, + "default": 10, + "unit": 1, + "cgroup": "减速控制", + "ctitle": "弯道速度积极性(100%)", + "cdescr": "值越高:减速越多" + }, + { + "group": "조향일반", + "name": "AutoTurnControl", + "title": "ATC: AutoTurnControl(0)", + "descr": "0:사용안함\n1:차선변경\n2:차선변경+속도\n3:속도", + "egroup": "LATSET", + "etitle": "ATC: AutoTurnControl", + "edescr": "(APN)0: not use, 1:laneChange, 2:laneChange+speed, 3:speed", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "转向设置", + "ctitle": "ATC: 自动转向控制", + "cdescr": "(APN) 0: 不使用, 1: 变道, 2: 变道+速度, 3: 速度" + }, + { + "group": "조향일반", + "name": "AutoTurnControlSpeedTurn", + "title": "ATC: 턴속도(20)", + "descr": "ATC 턴시 적용속도\n0:사용안함", + "egroup": "LATSET", + "etitle": "ATC: Turn Speed(20)", + "edescr": "(APN)0: not use, Turn Speed", + "min": 0, + "max": 100, + "default": 20, + "unit": 5, + "cgroup": "转向设置", + "ctitle": "ATC: 转向速度(20)", + "cdescr": "(APN) 0: 不使用, 转向速度" + }, + { + "group": "조향일반", + "name": "AutoTurnControlTurnEnd", + "title": "ATC: 시간거리(3)", + "descr": "NOO완료 시간거리(속도*시간)", + "egroup": "LATSET", + "etitle": "ATC: Speed Ctrl left Time(3)", + "edescr": "(APN) NOO Completion Time Distance (Speed × Time)", + "min": 0, + "max": 30, + "default": 6, + "unit": 1, + "cgroup": "转向设置", + "ctitle": "ATC: 速度控制剩余时间(3)", + "cdescr": "(APN) NOO 完成时间距离 (速度 × 时间)" + }, + { + "group": "조향일반", + "name": "AutoTurnMapChange", + "title": "ATC Helper 맵전환(0)", + "descr": "ATC 작동시 자동맵전환", + "egroup": "LATSET", + "etitle": "ATC Helper Map display(0)", + "edescr": "(APN) Turn On Map When ATC", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "转向设置", + "ctitle": "ATC 辅助地图显示(0)", + "cdescr": "(APN) ATC 激活时开启地图" + }, + { + "group": "버튼설정", + "name": "CruiseButtonMode", + "title": "크루즈버튼작동모드(0)", + "descr": "0:일반\n1:사용자1\n2:사용자2\n3:사용자3(속도 테이블 사용)", + "egroup": "BUTN", + "etitle": "Cruise Button Mode(0)", + "edescr": "0:General, 1:User1, 2:User2, 3:User3(Use Speed Tables)", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航按钮模式(0)", + "cdescr": "0: 常规, 1: 用户1, 2: 用户2, 3: 用户3 (使用速度表)" + }, + { + "group": "버튼설정", + "name": "CancelButtonMode", + "title": "캔슬버튼작동모드(0)", + "descr": "0:Long control, 1: Long + Lateral", + "egroup": "BUTN", + "etitle": "Cancel Button Mode(0)", + "edescr": "0:Long control, 1: Long + Lateral", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "取消按钮模式(0)", + "cdescr": "0: 纵向控制, 1: 纵向 + 横向" + }, + { + "group": "버튼설정", + "name": "LfaButtonMode", + "title": "LFA버튼작동모드(0)", + "descr": "0:일반\n 1:감속정지&Ready\n 2:당근크루즈", + "egroup": "BUTN", + "etitle": "LFA Button Mode(0)", + "edescr": "0:General, 1:Decel&Stop, leadCar ready, 2:CarrotCruise", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "LFA 按钮模式(0)", + "cdescr": "0: 常规, 1: 减速并停止/前车就绪, 2: 胡萝卜巡航" + }, + { + "group": "버튼설정", + "name": "CruiseButtonTest1", + "title": "크루즈버튼스팸쏘기(8)", + "descr": "(비롱컨 전용) 속도버튼신호 발송제한시간", + "egroup": "BUTN", + "etitle": "Cruise Button spam1(8)", + "edescr": "For Non-Long Vehicle Only, Speed Button Signal Send Restriction Time", + "min": 1, + "max": 20, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航按钮连发1(8)", + "cdescr": "仅限非纵向控制车辆,速度按钮信号发送限制时间" + }, + { + "group": "버튼설정", + "name": "CruiseButtonTest2", + "title": "크루즈버튼스팸쉬기(30)", + "descr": "(비롱컨 전용) 속도버튼신호 발송 휴지시간", + "egroup": "BUTN", + "etitle": "Cruise Button spam2(30)", + "edescr": "For Non-Long Vehicle Only — Speed Button Signal Send Pause Time", + "min": 1, + "max": 200, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航按钮连发2(30)", + "cdescr": "仅限非纵向控制车辆 — 速度按钮信号发送暂停时间" + }, + { + "group": "버튼설정", + "name": "CruiseButtonTest3", + "title": "크루즈버튼스팸연속쏘기(1)", + "descr": "(비롱컨 전용) 속도버튼신호 연속회수", + "egroup": "BUTN", + "etitle": "Cruise Button spam3(1)", + "edescr": "For Non-Long Vehicle Only — Consecutive Speed Button Signal Count", + "min": 1, + "max": 20, + "default": 0, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航按钮连发3(1)", + "cdescr": "仅限非纵向控制车辆 — 连续速度按钮信号计数" + }, + { + "group": "버튼설정", + "name": "CruiseSpeedUnit", + "title": "크루즈버튼속도단위 확장(10)", + "descr": "크루즈버튼 속도조절 단위(모드1,2,3, 엑셀톡등)", + "egroup": "BUTN", + "etitle": "Cruise Speed Unit Extra(10)", + "edescr": "SET/DECEL up/down speed unit(mode1,2,3, GasTok)", + "min": 1, + "max": 100, + "default": 10, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航速度单位扩展(10)", + "cdescr": "SET/DECEL 加减速单位 (模式 1,2,3, GasTok)" + }, + { + "group": "버튼설정", + "name": "CruiseSpeedUnitBasic", + "title": "크루즈버튼속도단위 기본(1)", + "descr": "크루즈버튼 속도조절 단위(기본단위)", + "egroup": "BUTN", + "etitle": "Cruise Speed Unit Baic(10)", + "edescr": "SET/DECEL up/down speed unit(Basic unit)", + "min": 1, + "max": 100, + "default": 10, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "巡航速度单位基础(10)", + "cdescr": "SET/DECEL 加减速单位 (基础单位)" + }, + { + "group": "버튼설정", + "name": "CruiseSpeed1", + "title": "크루즈속도1(30)", + "descr": "(버튼모드 사용자3) 단계별속도\n 0:도로제한속도 + 자동속도증가 오프셋", + "egroup": "BUTN", + "etitle": "Cruise Speed1(30)", + "edescr": "Button Mode User 3, Stepwise Speed, 0: Road Speed Limit + Auto Speed Increase Offset", + "min": 0, + "max": 160, + "default": 10, + "unit": 10, + "cgroup": "按键设置", + "ctitle": "巡航速度1(30)", + "cdescr": "按钮模式用户 3, 分段速度, 0: 道路限速 + 自动加速偏移" + }, + { + "group": "버튼설정", + "name": "CruiseSpeed2", + "title": "크루즈속도2(50)", + "descr": "(버튼모드 사용자3) 속도테이블 2번째", + "egroup": "BUTN", + "etitle": "Cruise Speed2(50)", + "edescr": "Button Mode User 3, Second Speed", + "min": 1, + "max": 160, + "default": 10, + "unit": 10, + "cgroup": "按键设置", + "ctitle": "巡航速度2(50)", + "cdescr": "按钮模式用户 3, 第二段速度" + }, + { + "group": "버튼설정", + "name": "CruiseSpeed3", + "title": "크루즈속도3(80)", + "descr": "(버튼모드 사용자3) 속도테이블 3번째", + "egroup": "BUTN", + "etitle": "Cruise Speed3(80)", + "edescr": "Button Mode User 3, Third Speed", + "min": 1, + "max": 160, + "default": 10, + "unit": 10, + "cgroup": "按键设置", + "ctitle": "巡航速度3(80)", + "cdescr": "按钮模式用户 3, 第三段速度" + }, + { + "group": "버튼설정", + "name": "CruiseSpeed4", + "title": "크루즈속도4(110)", + "descr": "(버튼모드 사용자3) 속도테이블 4번째", + "egroup": "BUTN", + "etitle": "Cruise Speed4(110)", + "edescr": "Button Mode User 3, Fourth Speed", + "min": 1, + "max": 160, + "default": 10, + "unit": 10, + "cgroup": "按键设置", + "ctitle": "巡航速度4(110)", + "cdescr": "按钮模式用户 3, 第四段速度" + }, + { + "group": "버튼설정", + "name": "CruiseSpeed5", + "title": "크루즈속도5(130)", + "descr": "(버튼모드 사용자3) 속도테이블 5번째", + "egroup": "BUTN", + "etitle": "Cruise Speed5(130)", + "edescr": "Button Mode User 3, Fifth Speed", + "min": 1, + "max": 160, + "default": 10, + "unit": 10, + "cgroup": "按键设置", + "ctitle": "巡航速度5(130)", + "cdescr": "按钮模式用户 3, 第五段速度" + }, + { + "group": "버튼설정", + "name": "PaddleMode", + "title": "패들시프트모드(0)", + "descr": "0:크루즈ON, 1:크루즈대기, 2:자동감속, 3:CarrotCruise ", + "egroup": "BUTN", + "etitle": "PaddleShift Mode(0)", + "edescr": "After Regen paddle, 0:Cruise ON, 1:Cruise Ready, 2: decel & cruise ready, 3: CarrotCruise", + "min": 0, + "max": 3, + "default": 1, + "unit": 1, + "cgroup": "按键设置", + "ctitle": "换挡拨片模式(0)", + "cdescr": "动能回收拨片后, 0: 巡航开启, 1: 巡航就绪, 2: 减速并巡航就绪, 3: 胡萝卜巡航" + }, + { + "group": "시작", + "name": "AutoCruiseControl", + "title": "오토크루즈제어(HKG only)", + "descr": "1:소프트홀드 + 오토크루즈\n 2:소프트홀드 오류 발생 차량", + "egroup": "START", + "etitle": "Auto Cruise control(HKG only)", + "edescr": "1:Softhold + Auto Cruise, 2:if softhold error", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "自动巡航控制 (仅限现代/起亚)", + "cdescr": "1: 软驻车 + 自动巡航, 2: 如果软驻车报错" + }, + { + "group": "시작", + "name": "AutoGasTokSpeed", + "title": "오토크루즈: 엑셀톡 시작속도", + "descr": "설정속도 이상에서만 작동합니다", + "egroup": "START", + "etitle": "Auto Cruise: Accelerator Tap Start Speed", + "edescr": "Operates only above the set speed — GasTab : Tap the accelerator pedal for 0.6 seconds", + "min": 0, + "max": 200, + "default": 0, + "unit": 5, + "cgroup": "启动设置", + "ctitle": "自动巡航: 踩油门起步速度", + "cdescr": "仅在设定速度以上运行 — GasTab: 踩油门 0.6 秒" + }, + { + "group": "시작", + "name": "AutoEngage", + "title": "오토인게이지", + "descr": "1: 조향만\n 2: 조향 ON + 크루즈 대기상태", + "egroup": "START", + "etitle": "Auto Engage on onroad", + "edescr": "1: Steering Only, 2: Steering ON + Cruise Standby", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "上路自动激活", + "cdescr": "1: 仅转向, 2: 转向开启 + 巡航待机" + }, + { + "group": "시작", + "name": "RecordRoadCam", + "title": "RoadCam녹화", + "descr": "1: 일반카메라\n 2: 일반카메라 + 광각카메라", + "egroup": "START", + "etitle": "Record RoadCam", + "edescr": "1: Standard Camera, 2: Standard Camera + Wide Camera", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "记录路面摄像头", + "cdescr": "1: 标准摄像头, 2: 标准摄像头 + 广角摄像头" + }, + { + "group": "시작", + "name": "HDPuse", + "title": "HDP 사용(CCNC)", + "descr": "1:APN사용시\n2:항상", + "egroup": "START", + "etitle": "Use HDP(CCNC)", + "edescr": "1:While using APN, 2:Always", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "使用 HDP (CCNC)", + "cdescr": "1: 使用 APN 时, 2: 始终" + }, + { + "group": "시작", + "name": "MapboxStyle", + "title": "맵박스 스타일", + "descr": "0: 기본 배경\n 1: 어두운 배경\n 2: 위성 지도", + "egroup": "START", + "etitle": "MapboxStyle", + "edescr": "0: Default Background, 1: Dark Background, 2: Satellite Map", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "Mapbox 样式", + "cdescr": "0: 默认背景, 1: 深色背景, 2: 卫星地图" + }, + { + "group": "시작", + "name": "DisableMinSteerSpeed", + "title": "저속조향제한해제", + "descr": "SMDPS장착차량: 1로 설정", + "egroup": "START", + "etitle": "DisableMinSteerSpeed", + "edescr": "smdps equiped: 1", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "解除最小转向速度限制", + "cdescr": "配备 smdps: 1" + }, + { + "group": "시작", + "name": "SpeedFromPCM", + "title": "PCM차량속도제어(순정SCC)", + "descr": "0: 커브/카메라 감속 + 롱컨\n 1: 버튼스패밍안함(순정SCC)\n 2: 커브/카메라 감속\n 3: Honda/Toyota", + "egroup": "START", + "etitle": "Speed from PCM(StockSCC)", + "edescr": "0: Curve/Camera Deceleration + Long, 1: No Button Spamming (Stock SCC), 2: Curve/Camera Decel, 3: Honda/Toyota", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "来自 PCM 的速度 (原厂 SCC)", + "cdescr": "0: 弯道/摄像头减速 + 纵向控制, 1: 无按钮连发 (原厂 SCC), 2: 弯道/摄像头减速, 3: 本田/丰田" + }, + { + "group": "시작", + "name": "MaxTimeOffroadMin", + "title": "자동전원OFF(분)", + "descr": "시동이 꺼지고 해당 시간이 경과하면 콤마가 꺼집니다.", + "egroup": "START", + "etitle": "PowerOffTime(min)", + "edescr": "When the engine is turned off and the specified time elapses, the comma device will shut down.", + "min": 0, + "max": 3000, + "default": 60, + "unit": 10, + "cgroup": "启动设置", + "ctitle": "关机时间 (分钟)", + "cdescr": "发动机熄火且经过指定时间后,comma 设备将关机。" + }, + { + "group": "시작", + "name": "DisableDM", + "title": "DisableDM", + "descr": "1.DisableDM, 2: +EnableWebRTC, reboot required", + "egroup": "START", + "etitle": "DisableDM", + "edescr": "1.DisableDM, 2: +EnableWebRTC, Reboot required", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "禁用驾驶员监控", + "cdescr": "1. 禁用 DM, 2: + 开启 WebRTC, 需要重启" + }, + { + "group": "시작", + "name": "EnableConnect", + "title": "EnableConnect", + "descr": "(1:콤마, 2:당근)커넥트를 사용합니다\n 상황에 따라 BAN될 수 있습니다\n 재부팅 필요", + "egroup": "START", + "etitle": "EnableConnect", + "edescr": "Using (1:comma, 2:carrot) Connect. May be banned depending on the situation. Reboot required.", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "开启连接 (Connect)", + "cdescr": "使用 (1:comma, 2:carrot) 连接。根据情况可能会被封禁。需要重启。" + }, + { + "group": "시작", + "name": "MuteDoor", + "title": "도어감지안함", + "descr": "", + "egroup": "START", + "etitle": "MuteDoor", + "edescr": "", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "屏蔽车门感应", + "cdescr": "" + }, + { + "group": "시작", + "name": "MuteSeatbelt", + "title": "안전벨트감지안함", + "descr": "", + "egroup": "START", + "etitle": "MuteSeatbelt", + "edescr": "", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "屏蔽安全带感应", + "cdescr": "" + }, + { + "group": "크루즈", + "name": "AutoSpeedUptoRoadSpeedLimit", + "title": "자동속도증가 (100)%", + "descr": "전방차량에 따라 자동속도증가\n 로드스피드*비율 까지 자동속도올림.", + "egroup": "CRUISE", + "etitle": "AutoSpeedUpx:(100)%", + "edescr": "Automatically increases speed on lead car, up to (road speed x ratio)", + "min": 0, + "max": 200, + "default": 0, + "unit": 10, + "cgroup": "巡航设置", + "ctitle": "自动加速至: (100)%", + "cdescr": "当前方有车时自动加速,最高至 (道路限速 x 比例)" + }, + { + "group": "감속제어", + "name": "AutoRoadSpeedAdjust", + "title": "자동도로제한속도감속 (50)%", + "descr": "-1: 도로제한속도로 항상\n 0: 기존속도유지\n50: 중간값\n100: 새로운속도", + "egroup": "CRUISE", + "etitle": "AutoRoadLimitSpeedAdjust (50)%", + "edescr": "-1: set roadlimitspeed, 100: new road speed, 50: median, 0: not change", + "min": -1, + "max": 100, + "default": 0, + "unit": 10, + "cgroup": "巡航设置", + "ctitle": "自动道路限速调整 (50)%", + "cdescr": "-1: 设置道路限速, 100: 新道路速度, 50: 中值, 0: 不改变" + }, + { + "group": "크루즈", + "name": "AutoGasSyncSpeed", + "title": "자동크루즈속도 업데이트", + "descr": "액셀을 밟아 속도가 설정속도보다 빨라지면 설정속도 변경", + "egroup": "CRUISE", + "etitle": "Auto update Cruise speed", + "edescr": "If accelerator is pressed and speed exceeds set speed, update set speed", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "巡航设置", + "ctitle": "自动更新巡航速度", + "cdescr": "如果踩下油门且速度超过设定速度,则更新设定速度" + }, + { + "group": "화면", + "name": "ShowDebugUI", + "title": "디버그정보 표시", + "descr": "", + "egroup": "DISP", + "etitle": "Show Debug Info", + "edescr": "", + "min": 0, + "max": 2, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示调试信息", + "cdescr": "" + }, + { + "group": "화면", + "name": "ShowTpms", + "title": "TPMS정보 표시", + "descr": "0:표시안함\n 1: 위\n 2: 아래\n 3: 둘다", + "egroup": "DISP", + "etitle": "Show TPMS Info", + "edescr": "0:None, 1: Upper, 2:Lower, 3: Both", + "min": 0, + "max": 3, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示胎压 (TPMS) 信息", + "cdescr": "0: 无, 1: 上方, 2: 下方, 3: 两侧" + }, + { + "group": "화면", + "name": "ShowDateTime", + "title": "시간정보표시", + "descr": "0:표시안함\n 1:시간+날짜\n 2:시간\n 3:날짜", + "egroup": "DISP", + "etitle": "Show Time Info", + "edescr": "0:None, 1:Time/Date, 2:Time, 3:Date", + "min": 0, + "max": 3, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示时间信息", + "cdescr": "0: 无, 1: 时间/日期, 2: 时间, 3: 日期" + }, + { + "group": "화면", + "name": "ShowPathEnd", + "title": "패스끝표시", + "descr": "", + "egroup": "DISP", + "etitle": "Show Path End", + "edescr": "", + "min": 0, + "max": 1, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径终点", + "cdescr": "" + }, + { + "group": "화면", + "name": "ShowDeviceState", + "title": "디바이스정보 표시", + "descr": "", + "egroup": "DISP", + "etitle": "Show Device Info", + "edescr": "", + "min": 0, + "max": 1, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示设备信息", + "cdescr": "" + }, + { + "group": "화면", + "name": "ShowCustomBrightness", + "title": "화면밝기비율", + "descr": "화면 밝기를 조절합니다.\n터치나 이벤트 발생 시 일시적으로 밝아집니다.", + "egroup": "DISP", + "etitle": "ScreenBrightness ratio", + "edescr": "Adjusts screen brightness. Temporarily brightens on touch or event.", + "min": 0, + "max": 100, + "default": 100, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "屏幕亮度比例", + "cdescr": "调整屏幕亮度。触摸或发生事件时临时变亮。" + }, + { + "group": "화면", + "name": "ShowLaneInfo", + "title": "차선정보", + "descr": "-1:없음\n 0:패스만\n 1:레인\n 2:로드엣지", + "egroup": "DISP", + "etitle": "Show Lane Info", + "edescr": "-1:None, 0:Path, 1:Path+Lane, 2:Path+Lane+RoadEdge", + "min": -1, + "max": 2, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示车道信息", + "cdescr": "-1: 无, 0: 路径, 1: 路径+车道, 2: 路径+车道+路缘" + }, + { + "group": "화면", + "name": "ShowRadarInfo", + "title": "레이더감지정보(0)", + "descr": "0: 안함\n 1: 표시함 \n2: 상대위치\n 3: 정지차량", + "egroup": "DISP", + "etitle": "Show Radar Info", + "edescr": "0:None,1:display,2:+relative pos, 3:stopped obstacle", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示雷达信息", + "cdescr": "0: 无, 1: 显示, 2: + 相对位置, 3: 停止的障碍物" + }, + { + "group": "화면", + "name": "ShowRouteInfo", + "title": "경로AR표시(0)", + "descr": "APN 연결시에만 작동합니다.\n 0: 안함\n 1: 표시함", + "egroup": "DISP", + "etitle": "Show Route Info", + "edescr": "Operates only when connected to APN. 0: Off, 1: On", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路线信息", + "cdescr": "仅在连接 APN 时运行。0: 关闭, 1: 开启" + }, + { + "group": "화면패스", + "name": "ShowPathMode", + "title": "패스종류,레인리스(9)", + "descr": "0:일반,1,2:사각,3,4:^^,5,6:사각,7,8:^^,9,10,11:smooth^^,12:smooth2^^,13:3줄,14:2줄,15:1줄", + "egroup": "DISP", + "etitle": "Show Path Mode:LaneLess(9)", + "edescr": "0:stock,1,2:REC,3,4:^^,5,6:REC,7,8:^^,9,10,11:smooth^^,12:smooth2^^,13:3lines,14:2lines,15:1lines", + "min": 0, + "max": 15, + "default": 9, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径模式: 无车道 (9)", + "cdescr": "0: 原厂, 1,2: 矩形, 3,4: ^^, 5,6: 矩形, 7,8: ^^, 9,10,11: 平滑^^, 12: 平滑2^^, 13: 3线, 14: 2线, 15: 1线" + }, + { + "group": "화면패스", + "name": "ShowPathColor", + "title": "패스색상,레인리스(12)", + "descr": "(+10:띠)0:빨,1:주,2:노,3:초,4:파,5:남,6:보,7:고,8:흰,9:검,20:Auto", + "egroup": "DISP", + "etitle": "Show Path Color:LaneLess(12)", + "edescr": "(+10:stroke)0(R),1(O),2(Y),3(B),5(N),6(V),7(K),8(W),9(B),20:Auto", + "min": 0, + "max": 20, + "default": 12, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径颜色: 无车道 (12)", + "cdescr": "(+10: 描边) 0(红), 1(橙), 2(黄), 3(蓝), 5(深蓝), 6(紫), 7(黑), 8(白), 9(蓝), 20: 自动" + }, + { + "group": "화면패스", + "name": "ShowPathColorCruiseOff", + "title": "패스색상,크루즈OFF(1)", + "descr": "(+10:띠)0:빨,1:주,2:노,3:초,4:파,5:남,6:보,7:고,8:흰,9:검", + "egroup": "DISP", + "etitle": "Show Path Color:CruiseOFF(1)", + "edescr": "(+10:stroke)0(R),1(O),2(Y),3(B),5(N),6(V),7(K),8(W),9(B)", + "min": 0, + "max": 19, + "default": 1, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径颜色: 巡航关闭 (1)", + "cdescr": "(+10:stroke)0(R),1(O),2(Y),3(B),5(N),6(V),7(K),8(W),9(B)" + }, + { + "group": "화면패스", + "name": "ShowPathModeLane", + "title": "패스종류,레인모드(11)", + "descr": "0:일반,1,2:사각,3,4:^^,5,6:사각,7,8:^^,9,10,11:smooth^^,12:smooth2^^,13:3줄,14:2줄,15:1줄", + "egroup": "DISP", + "etitle": "Show Path Mode:LaneMode(11)", + "edescr": "0:stock,1,2:REC,3,4:^^,5,6:REC,7,8:^^,9,10,11:smooth^^,12:smooth2^^,13:3lines,14:2lines,15:1lines", + "min": 0, + "max": 15, + "default": 11, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径模式: 车道模式 (11)", + "cdescr": "0: 原厂, 1,2: 矩形, 3,4: ^^, 5,6: 矩形, 7,8: ^^, 9,10,11: 平滑^^, 12: 平滑2^^, 13: 3线, 14: 2线, 15: 1线" + }, + { + "group": "화면패스", + "name": "ShowPathColorLane", + "title": "패스색상,레인모드(3)", + "descr": "(+10:띠)0:빨,1:주,2:노,3:초,4:파,5:남,6:보,7:고,8:흰,9:검,20:Auto", + "egroup": "DISP", + "etitle": "Show Path Color:LaneMode(3)", + "edescr": "(+10:stroke)0(R),1(O),2(Y),3(B),5(N),6(V),7(K),8(W),9(B),20:Auto", + "min": 0, + "max": 20, + "default": 3, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示路径颜色: 车道模式 (3)", + "cdescr": "(+10: 描边) 0(红), 1(橙), 2(黄), 3(蓝), 5(深蓝), 6(紫), 7(黑), 8(白), 9(蓝), 20: 自动" + }, + { + "group": "화면", + "name": "ShowPlotMode", + "title": "디버그플롯(0)", + "descr": "1: 가속도 2: 속도+가속도 3: 모델 4: Lead 5: Lead2", + "egroup": "DISP", + "etitle": "Show Debug plot(0)", + "edescr": "1:Accel,2:Accel+vel,3:Model,4:Lead,5:Lead2", + "min": 0, + "max": 10, + "default": 0, + "unit": 1, + "cgroup": "显示设置", + "ctitle": "显示调试图表 (0)", + "cdescr": "1: 加速度, 2: 加速+速度, 3: 模型, 4: 前车, 5: 前车2" + }, + { + "group": "조향일반", + "name": "UseLaneLineSpeed", + "title": "레인모드: 속도(0)", + "descr": "설정 속도 이상일 때 레인모드로 전환합니다.", + "egroup": "LAT", + "etitle": "Laneline: Speed(0)", + "edescr": "Switches to LaneMode when speed exceeds the set speed", + "min": 0, + "max": 200, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "车道线: 速度 (0)", + "cdescr": "当速度超过设定速度时切换到车道模式" + }, + { + "group": "조향일반", + "name": "UseLaneLineCurveSpeed", + "title": "레인모드: 커브속도(0)", + "descr": "레인모드를 설정속도 이하에서는 사용하지 않습니다.", + "egroup": "LAT", + "etitle": "Laneline: Curve Speed(0)", + "edescr": "LaneMode is not used below the set speed", + "min": 0, + "max": 200, + "default": 0, + "unit": 10, + "cgroup": "转向", + "ctitle": "车道线: 弯道速度 (0)", + "cdescr": "低于设定速度时不使用车道模式" + }, + { + "group": "조향일반", + "name": "AdjustLaneOffset", + "title": "레인모드: 차선조절옵셋 (0)cm", + "descr": "도로경계쪽/커브안쪽으로 보정합니다.", + "egroup": "LAT", + "etitle": "LaneLine: AdjustLaneOffset (0)cm", + "edescr": "Corrects toward the road edge/inside of the curve", + "min": 0, + "max": 500, + "default": 0, + "unit": 10, + "cgroup": "转向", + "ctitle": "车道线: 车道偏移调整 (0)cm", + "cdescr": "向路缘/弯道内侧修正" + }, + { + "group": "조향일반", + "name": "LaneChangeNeedTorque", + "title": "차선변경 조향토크 사용", + "descr": "-1:자동차선변경사용안함\n 0: 즉시 차선변경\n 1: 토크필요", + "egroup": "LAT", + "etitle": "LaneChange use steering torque", + "edescr": "0:immediate, 1: need torque(nudge), -1: auto lane change off", + "min": -1, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "变道使用转向力矩", + "cdescr": "0: 立即变道, 1: 需要力矩 (轻拨), -1: 自动变道关闭" + }, + { + "group": "조향일반", + "name": "LaneChangeDelay", + "title": "차선변경 지연시간x0.1s(0)", + "descr": "방향지시등을 켜고 설정시간 후 차선변경합니다.", + "egroup": "LAT", + "etitle": "LaneChange delayx0.1s(0)", + "edescr": "Changes lanes after the set time once the turn signal is activated", + "min": 0, + "max": 100, + "default": 0, + "unit": 10, + "cgroup": "转向", + "ctitle": "变道延迟 x0.1s(0)", + "cdescr": "开启转向灯后在设定时间后变道" + }, + { + "group": "조향일반", + "name": "LaneChangeBsd", + "title": "차선변경 BSD", + "descr": "0: BSD검출(조향토크허용)\n 1: 조향토크불허\n-1: BSD사용안함", + "egroup": "LAT", + "etitle": "LaneChange BSD", + "edescr": "0:BSD detect(allow steer torque), 1: block steer torque, -1: ignore BSD", + "min": -1, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "转向", + "ctitle": "变道盲点监测 (BSD)", + "cdescr": "0: BSD 检测 (允许转向力矩), 1: 阻止转向力矩, -1: 忽略 BSD" + }, + { + "group": "시작", + "name": "HapticFeedbackWhenSpeedCamera", + "title": "핸들햅틱기능사용(0)", + "descr": "0: 사용안함\n1: 진동\n 2: 계기판\n 3: HUD표시", + "egroup": "START", + "etitle": "HapticFeedbackSpeedCamera(0)", + "edescr": "0: Disabled, 1: Vibration, 2: Instrument Cluster, 3: HUD Display", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "超速照相触感反馈 (0)", + "cdescr": "0: 禁用, 1: 振动, 2: 仪表盘, 3: HUD 显示" + }, + { + "group": "시작", + "name": "MaxAngleFrames", + "title": "MaxAngleFrames(89)", + "descr": "89 권장", + "egroup": "START", + "etitle": "MaxAngleFrames(89)", + "edescr": "89 Recommeded", + "min": 80, + "max": 100, + "default": 89, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "最大角度帧数 (89)", + "cdescr": "推荐 89" + }, + { + "group": "시작", + "name": "HyundaiCameraSCC", + "title": "HYUNDAI: CAMERA SCC", + "descr": "1:롱컨차량\n 2:크루즈 상태 동기화\n 3:순정크루즈(CANFD롱컨배선)", + "egroup": "START", + "etitle": "HYUNDAI: CAMERA SCC(0)", + "edescr": "1: Long-con Vehicle, 2: Cruise State Sync (CAN-FD Vehicle), 3: Stock Cruise (CANFD Long harness)", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "现代: 摄像头 SCC (0)", + "cdescr": "1: 纵向控制车辆, 2: 巡航状态同步 (CAN-FD 车辆), 3: 原厂巡航 (CANFD 纵向线束)" + }, + { + "group": "시작", + "name": "IsLdwsCar", + "title": "HYUNDAI: LDWS ONLY CAR(0)", + "descr": "LDWS ONLY CAR는 ON", + "egroup": "START", + "etitle": "HYUNDAI: LDWS ONLY CAR(0)", + "edescr": "LDWS ONLY CAR", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "现代: 仅配备 LDWS 的车辆 (0)", + "cdescr": "仅配备 LDWS 的车辆" + }, + { + "group": "시작", + "name": "CanfdHDA2", + "title": "CANFD HDA2지원(0)", + "descr": "1: HDA2 차량\n 2: HDA2 + BSM 차량", + "egroup": "START", + "etitle": "CANFD HDA2(0)", + "edescr": "0:HDA1, 1: HDA2, 2: HDA2+BSM", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "CANFD HDA2 (0)", + "cdescr": "0: HDA1, 1: HDA2, 2: HDA2+BSM" + }, + { + "group": "시작", + "name": "CanfdDebug", + "title": "CANFD Debug(0)", + "descr": "", + "egroup": "START", + "etitle": "CANFD Debug(0)", + "edescr": "", + "min": -1, + "max": 128, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "CANFD 调试 (0)", + "cdescr": "" + }, + { + "group": "시작", + "name": "EnableRadarTracks", + "title": "레이더트랙,SCC레이더설정(0)", + "descr": "-1: SCC사용(정지차), 0: SCC레이더사용\n 1: 레이더트랙, 2: 레이더트랙(SCC사용)\n 3:레이더트랙(끼어들기,스텔스차량검출)", + "egroup": "START", + "etitle": "Enable radar tracks(0)", + "edescr": "-1: use SCC(Stopped car), 0: SCC Radar\n, 1: RadarTrack, 2: RadarTrack(use SCC)\n 3:RadarTrack(Cutin detect and etc)", + "min": -1, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "开启雷达轨迹 (0)", + "cdescr": "-1: 使用 SCC (静止车), 0: SCC 雷达, 1: 雷达轨迹, 2: 雷达轨迹 (使用 SCC), 3: 雷达轨迹 (切入检测等)" + }, + { + "group": "시작", + "name": "RadarLatFactor", + "title": "레이더트랙,끼어들기 감도(0)", + "descr": "높을수록 끼어들거나 나가는 차량에 대한 감도가 증가함", + "egroup": "START", + "etitle": "RadarTrack Cutin Factor(0)", + "edescr": "Higher values increase sensitivity to cutting-in or exiting vehicles", + "min": 0, + "max": 1000, + "default": 0, + "unit": 10, + "cgroup": "启动设置", + "ctitle": "雷达轨迹切入因子 (0)", + "cdescr": "值越高对切入或离开车辆的灵敏度越高" + }, + { + "group": "시작", + "name": "EnableCornerRadar", + "title": "코너레이더 사용(0)", + "descr": "1:코너레이더활성화,2:끼어드는 차량 검출", + "egroup": "START", + "etitle": "Enable Corner radar(0)", + "edescr": "1:Enable Corner radar, 2: Cutin Detection for CCNC car", + "min": 0, + "max": 2, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "开启角雷达 (0)", + "cdescr": "1: 开启角雷达, 2: CCNC 车辆的切入检测" + }, + { + "group": "시작", + "name": "HotspotOnBoot", + "title": "부팅시 핫스팟켜기", + "descr": "COMMA에 USIM을 장착한경우 핫스팟을 자동으로 켜주는 기능", + "egroup": "START", + "etitle": "Enable HotSpot(0)", + "edescr": "Feature to automatically enable hotspot when a USIM is inserted in COMMA", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "开启热点 (0)", + "cdescr": "在 COMMA 中插入 USIM 卡时自动开启热点的功能" + }, + { + "group": "시작", + "name": "SoftwareMenu", + "title": "소프트웨어메뉴활성화", + "descr": "메모리오류가 있을때 끄기", + "egroup": "START", + "etitle": "Enable Software menu", + "edescr": "Turn off on memory error", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "启动设置", + "ctitle": "开启软件菜单", + "cdescr": "内存错误时关闭" + }, + { + "group": "시작", + "name": "SoundVolumeAdjust", + "title": "사운드볼륨조절(100%)", + "descr": "", + "egroup": "START", + "etitle": "Sound Volume adjust(100%)", + "edescr": "", + "min": 5, + "max": 200, + "default": 0, + "unit": 5, + "cgroup": "启动设置", + "ctitle": "音量调节 (100%)", + "cdescr": "" + }, + { + "group": "시작", + "name": "SoundVolumeAdjustEngage", + "title": "사운드볼륨조절, 인게이지 볼륨(10%)", + "descr": "", + "egroup": "START", + "etitle": "Sound Volume adjust,Engage(10%)", + "edescr": "", + "min": 5, + "max": 200, + "default": 0, + "unit": 5, + "cgroup": "启动设置", + "ctitle": "音量调节,激活音量 (10%)", + "cdescr": "" + }, + { + "group": "차량간격", + "name": "TFollowGap1", + "title": "TF(1): 차량간격시간1x0.01s(110)", + "descr": "차간거리 1단계 차간 시간거리", + "egroup": "FDIST", + "etitle": "TF(1): TimeFollow1x0.01s(110)", + "edescr": "Following Distance Level 1", + "min": 40, + "max": 300, + "default": 110, + "unit": 5, + "cgroup": "跟车距离", + "ctitle": "跟车时间(1): TimeFollow1x0.01s(110)", + "cdescr": "跟车距离 1 级" + }, + { + "group": "차량간격", + "name": "TFollowGap2", + "title": "TF(2): 차량간격시간2x0.01s(120)", + "descr": "차간거리 2단계 차간 시간거리", + "egroup": "FDIST", + "etitle": "TF(2): TimeFollow2x0.01s(120)", + "edescr": "Following Distance Level 2", + "min": 40, + "max": 300, + "default": 120, + "unit": 5, + "cgroup": "跟车距离", + "ctitle": "跟车时间(2): TimeFollow2x0.01s(120)", + "cdescr": "跟车距离 2 级" + }, + { + "group": "차량간격", + "name": "TFollowGap3", + "title": "TF(3): 차량간격시간3x0.01s(140)", + "descr": "차간거리 3단계 차간 시간거리", + "egroup": "FDIST", + "etitle": "TF(3): TimeFollow3x0.01s(140)", + "edescr": "Following Distance Level 3", + "min": 40, + "max": 300, + "default": 140, + "unit": 5, + "cgroup": "跟车距离", + "ctitle": "跟车时间(3): TimeFollow3x0.01s(140)", + "cdescr": "跟车距离 3 级" + }, + { + "group": "차량간격", + "name": "TFollowGap4", + "title": "TF(4): 차량간격시간4x0.01s(160)", + "descr": "차간거리 4단계 차간 시간거리", + "egroup": "FDIST", + "etitle": "TF(4): TimeFollow4x0.01s(160)", + "edescr": "Following Distance Level 4", + "min": 40, + "max": 300, + "default": 160, + "unit": 5, + "cgroup": "跟车距离", + "ctitle": "跟车时间(4): TimeFollow4x0.01s(160)", + "cdescr": "跟车距离 4 级" + }, + { + "group": "차량간격", + "name": "DynamicTFollow", + "title": "동적 차간거리 설정(0)", + "descr": "선행차와 거리에따른 동적 설정", + "egroup": "FDIST", + "etitle": "Dynamic TFollow", + "edescr": "Dynamic setting based on distance to lead vehicle", + "min": 0, + "max": 100, + "default": 0, + "unit": 1, + "cgroup": "跟车距离", + "ctitle": "动态跟车时间", + "cdescr": "根据与前车距离的动态设置" + }, + { + "group": "차량간격", + "name": "EnableSpeedTF", + "title": "속도별 차간거리 설정(0)", + "descr": "-1:0/30/60/90km/h 단계\n-2:0/40/80/120km/h 단계\n-3:0/50/100/150km/h 단계\n1~50%:100km/h 이하 TF 감소", + "egroup": "FDIST", + "etitle": "EnableSpeedTF(0)", + "edescr": "-1:0/30/60/90km/h steps\n-2:0/40/80/120km/h steps\n-3:0/50/100/150km/h steps\n1~50%:Reduce TF below 100km/h", + "min": -3, + "max": 50, + "default": 0, + "unit": 1, + "cgroup": "跟车距离", + "ctitle": "开启基于速度的跟车时间 (0)", + "cdescr": "-1: 0/30/60/90km/h 分段\n-2: 0/40/80/120km/h 分段\n-3: 0/50/100/150km/h 分段\n1~50%: 100km/h 以下减小跟车时间" + }, + { + "group": "차량간격", + "name": "DynamicTFollowLC", + "title": "동적 차간거리 설정 차선변경(100)%", + "descr": "차선변경시작시 일시적으로 차량간격을 좁힙니다.", + "egroup": "FDIST", + "etitle": "Dynamic TFollow LaneChange(100)%", + "edescr": "Temporarily reduces the gap between vehicles when starting a lane change", + "min": 20, + "max": 100, + "default": 0, + "unit": 5, + "cgroup": "跟车距离", + "ctitle": "变道动态跟车时间 (100)%", + "cdescr": "变道开始时临时缩小车距" + }, + { + "group": "감속제어", + "name": "AutoCurveSpeedLowerLimit", + "title": "커브속도 최저속도(30)", + "descr": "커브 최저속도 설정", + "egroup": "FDIST", + "etitle": "AutoCurveSpeed LowerLimit(30)", + "edescr": "Curve Minimum Speed Setting", + "min": 10, + "max": 200, + "default": 30, + "unit": 10, + "cgroup": "跟车距离", + "ctitle": "弯道自动减速下限 (30)", + "cdescr": "弯道最低速度设置" + }, + { + "group": "주행튜닝", + "name": "StoppingAccel", + "title": "정지시작가속도x0.01(0)", + "descr": "정지시작가속도 조정, 0: 기존방식", + "egroup": "LONG", + "etitle": "StoppingStartAccelx0.01(0)", + "edescr": "stopping acceleration, 0: Traditional method", + "min": -100, + "max": 0, + "default": 0, + "unit": 10, + "cgroup": "纵向控制", + "ctitle": "停止起步加速度 x0.01(0)", + "cdescr": "停止加速度,0: 传统方式" + }, + { + "group": "가속설정", + "name": "MyDrivingMode", + "title": "드라이브모드:(3)", + "descr": "1: 연비(ComfortBrake, 가속도 10% 감소)\n 2: 안전(ComfortBrake, 가속도 20% 감소)\n 3: 일반\n 4: 고속(신호무시, 가속도 20%상승)", + "egroup": "ACCEL", + "etitle": "DrivingMode:Init(3)", + "edescr": "1: Fuel Economy (ComfortBrake, 10% accel. reduction), 2: Safety (ComfortBrake, 20% accel. reduction), 3: Normal, 4: High Speed (Ignores signals, 20% accel. increase).", + "min": 1, + "max": 4, + "default": 3, + "unit": 1, + "cgroup": "加速设置", + "ctitle": "驾驶模式: 初始 (3)", + "cdescr": "1: 经济 (舒适刹车, 加速度减少 10%), 2: 安全 (舒适刹车, 加速度减少 20%), 3: 普通, 4: 高速 (忽略信号, 加速度增加 20%)" + }, + { + "group": "가속설정", + "name": "MyDrivingModeAuto", + "title": "드라이브모드: 자동", + "descr": "정체조건에서는 자동으로 안전모드로 전환, 앞차가속이 빠르거나 20kmh이상의 속도에서는 일반모드로 전환", + "egroup": "ACCEL", + "etitle": "DrivingMode: Auto", + "edescr": "Safety mode in Congested Conditions; Normal mode when lead vehicle accelerates quickly or 20+km/h.", + "min": 0, + "max": 1, + "default": 0, + "unit": 1, + "cgroup": "加速设置", + "ctitle": "驾驶模式: 自动", + "cdescr": "拥堵路况进入安全模式;前车加速快或速度超过 20km/h 时进入普通模式" + }, + { + "group": "감속제어", + "name": "TrafficLightDetectMode", + "title": "신호감지 기능", + "descr": "0:신호감지안함\n 1:신호정지만 감지\n 2:신호정지/출발 모두", + "egroup": "SPEED", + "etitle": "TrafficLightDetectMode", + "edescr": "0:None,1:Stopping only, 2:Stop & Go", + "min": 0, + "max": 2, + "default": 2, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "红绿灯检测模式", + "cdescr": "0: 无, 1: 仅停止, 2: 停止和起步" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedCtrlEnd", + "title": "과속카메라감속 완료 시간(6초)", + "descr": "감속종료시점을 설정합니다.", + "egroup": "SPEED", + "etitle": "NaviSpeedEndingPoint(6s)", + "edescr": "Time until decel completes, based on speed x time", + "min": 3, + "max": 20, + "default": 6, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "导航减速结束点 (6秒)", + "cdescr": "基于 速度 x 时间 的减速完成时间" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedCtrlMode", + "title": "네비게이션감속모드(2)", + "descr": "0: 감속안함\n1: 과속카메라\n2: 과속카메라+과속방지턱\n3: 과속카메라+과속방지턱+이동식카메라", + "egroup": "SPEED", + "etitle": "NaviSpeedControlMode(2)", + "edescr": "0: Not Use, 1: Speed cam, 2: cam + speed bump, 3: cam + bump + apn speed cam", + "min": 0, + "max": 3, + "default": 2, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "导航减速模式 (2)", + "cdescr": "0: 不使用, 1: 限速摄像头, 2: 摄像头 + 减速带, 3: 摄像头 + 减速带 + APN 限速摄像头" + }, + { + "group": "감속제어", + "name": "AutoRoadSpeedLimitOffset", + "title": "도로제한속도맞춤(-1)", + "descr": "도로제한속도 + 설정값\n -1: 안함,", + "egroup": "SPEED", + "etitle": "RoadSpeedLimitOffset(-1)", + "edescr": "RoadLimitSpeed+Set Value, -1:Not Use", + "min": -1, + "max": 100, + "default": -1, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "道路限速偏移 (-1)", + "cdescr": "道路限速 + 设定值, -1: 不使用" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedBumpTime", + "title": "사고방지턱 감속완료시간시점(1s)", + "descr": "", + "egroup": "SPEED", + "etitle": "SpeedBumpEndingPoint(1s)", + "edescr": "", + "min": 1, + "max": 50, + "default": 1, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "减速带结束点 (1秒)", + "cdescr": "" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedBumpSpeed", + "title": "과속방지턱 속도(35Km/h)", + "descr": "", + "egroup": "SPEED", + "etitle": "SpeedBumpSpeed(35km/h)", + "edescr": "", + "min": 10, + "max": 100, + "default": 35, + "unit": 5, + "cgroup": "速度控制", + "ctitle": "减速带速度 (35km/h)", + "cdescr": "" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedDecelRate", + "title": "과속카메라 감속율 x0.01m/s^2(200)", + "descr": "낮으면 멀리서부터 감속함", + "egroup": "SPEED", + "etitle": "NaviSpeedDecelRate 0.01m/s^2x(200)", + "edescr": "The lower the value, the further away it decelerates.", + "min": 50, + "max": 300, + "default": 200, + "unit": 10, + "cgroup": "速度控制", + "ctitle": "导航减速效率 0.01m/s^2x(200)", + "cdescr": "值越低,减速越早(距离越远)。" + }, + { + "group": "감속제어", + "name": "AutoNaviCountDownMode", + "title": "네비알림 카운트다운 방법", + "descr": "0: 알림없음\n 1: 턴지점+속도\n2: 턴지점+속도+방지턱", + "egroup": "SPEED", + "etitle": "NaviCountDownMode", + "edescr": "0:not use, 1: turn point + speed, 2: turn point + speed + bump", + "min": 0, + "max": 2, + "default": 2, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "导航倒计时模式", + "cdescr": "0: 不使用, 1: 转向点 + 速度, 2: 转向点 + 速度 + 减速带" + }, + { + "group": "감속제어", + "name": "TurnSpeedControlMode", + "title": "턴속도제어방법", + "descr": "0: 속도제어안함\n 1: 비젼\n 2: 비젼+경로(TBT)\n 3: 경로(항상)", + "egroup": "SPEED", + "etitle": "TurnSpeedControlMode", + "edescr": "0:not use, 1:vision, 2:vision+route, 3:route(always)", + "min": 0, + "max": 3, + "default": 1, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "转向速度控制模式", + "cdescr": "0: 不使用, 1: 视觉, 2: 视觉 + 路线, 3: 路线 (始终)" + }, + { + "group": "감속제어", + "name": "CarrotSmartSpeedControl", + "title": "스마트속도제어(속도재생)", + "descr": "0: 속도제어안함\n 1: 가속만, 2: 감속만, 3: 모두", + "egroup": "SPEED", + "etitle": "Smart Speed Control(Replay)", + "edescr": "0:not use, 1:accel, 2:decel, 3:all", + "min": 0, + "max": 3, + "default": 0, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "智能速度控制 (回放)", + "cdescr": "0: 不使用, 1: 仅加速, 2: 仅减速, 3: 全部" + }, + { + "group": "감속제어", + "name": "MapTurnSpeedFactor", + "title": "경로턴속도반영비율(100%)", + "descr": "작을수록 경로에 따라 속도가 많이 줄어듭니다. (APN 연결시에만)", + "egroup": "SPEED", + "etitle": "MapTurnSpeedFactor", + "edescr": "The smaller the value, the more the speed will decrease along the route.", + "min": 50, + "max": 300, + "default": 100, + "unit": 10, + "cgroup": "速度控制", + "ctitle": "地图转向速度因子", + "cdescr": "值越小,沿路线减速越多。" + }, + { + "group": "감속제어", + "name": "ModelTurnSpeedFactor", + "title": "모델턴속도반영시간(0)x0.1sec", + "descr": "클수록 모델의 미래속도가 반영됩니다.", + "egroup": "SPEED", + "etitle": "ModelTurnSpeed time(0)x0.1sec", + "edescr": "future model speed", + "min": 0, + "max": 80, + "default": 0, + "unit": 10, + "cgroup": "速度控制", + "ctitle": "模型转向速度时间 (0)x0.1s", + "cdescr": "未来模型速度" + }, + { + "group": "감속제어", + "name": "AutoNaviSpeedSafetyFactor", + "title": "과속카메라 제한속도적용율(105)%", + "descr": "과속카메라에서 도로제한속도*설정값으로 감속합니다", + "egroup": "SPEED", + "etitle": "NaviSpeedLimitRatio(105)%", + "edescr": "Reduce speed to the road speed limit*set value at the speed camera", + "min": 80, + "max": 120, + "default": 105, + "unit": 1, + "cgroup": "速度控制", + "ctitle": "导航限速比例 (105)%", + "cdescr": "在限速摄像头处将速度降至 道路限速 * 设定值" + } + ] +} \ No newline at end of file diff --git a/selfdrive/carrot/carrot_speed.py b/selfdrive/carrot/carrot_speed.py old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/toggle_values.json b/selfdrive/carrot/toggle_values.json new file mode 100644 index 0000000000..af38758b29 --- /dev/null +++ b/selfdrive/carrot/toggle_values.json @@ -0,0 +1,159 @@ +{ + "HardwareC3xLite": "1", + "NNFFLite": "0", + "NNFF": "1", + "SteerRatioRate": "100", + "ActivateCruiseAfterBrake": "0", + "MuteSeatbelt": "0", + "DisableDM": "1", + "SpeedFromPCM": "2", + "CustomSteerDeltaDownLC": "0", + "CustomSteerMax": "0", + "LateralTorqueKd": "0", + "LateralTorqueKf": "100", + "LateralTorqueFriction": "60", + "LateralTorqueAccelFactor": "4000", + "LateralTorqueCustom": "0", + "JLeadFactor3": "0", + "LongitudinalPersonalityMax": "3", + "LatSuspendAngleDeg": "300", + "ShowDebugUI": "0", + "LanguageSetting": "main_zh-CHS", + "AutoTurnControl": "2", + "CancelButtonMode": "0", + "OpenpilotEnabledToggle": "True", + "LateralTorqueKiV": "10", + "LatMpcSteeringRateCost": "7", + "GsmMetered": "True", + "ShowLaneInfo": "2", + "AutoRoadSpeedLimitOffset": "10", + "EnableRadarTracks": "1", + "LongTuningKiV": "0", + "AutoNaviCountDownMode": "0", + "RouteCount": "0", + "DynamicTFollowLC": "100", + "AutoEngage": "0", + "CompletedTrainingVersion": "0.2.0", + "AutoTurnControlTurnEnd": "6", + "ShowDeviceState": "1", + "TFollowGap2": "140", + "MyDrivingModeAuto": "0", + "LfaButtonMode": "0", + "HasAcceptedTerms": "2", + "LongitudinalPersonality": "2", + "PathOffset": "0", + "CustomSteerDeltaUp": "0", + "AdjustLaneOffset": "0", + "AutoSpeedUptoRoadSpeedLimit": "0", + "SoundVolumeAdjust": "200", + "MaxTimeOffroadMin": "30", + "CustomSR": "156", + "IsLdwsCar": "0", + "DisableMinSteerSpeed": "0", + "AutoNaviSpeedBumpTime": "1", + "AutoTurnControlSpeedTurn": "15", + "CarSelected3": "MOCK", + "EVTable": "True", + "ShowTpms": "0", + "TFollowGap4": "200", + "ShowRadarInfo": "1", + "CruiseButtonTest3": "1", + "LongActuatorDelay": "20", + "ShowPathColorCruiseOff": "11", + "ShowPathModeLane": "12", + "ShowPlotMode": "0", + "RecordRoadCam": "0", + "SoftHoldMode": "0", + "HDPuse": "0", + "CarrotCruiseAtcDecel": "-1", + "CruiseButtonTest1": "8", + "CruiseMaxVals3": "100", + "ShowPathMode": "12", + "DynamicTFollow": "0", + "CruiseEcoControl": "0", + "CommaLongAcc": "0", + "ShowPathColor": "13", + "EnableSpeedTF": "0", + "AutoGasTokSpeed": "30", + "AutoCurveSpeedLowerLimit": "10", + "UseLaneLineSpeed": "65", + "AutoCurveSpeedFactor": "280", + "AutoNaviSpeedBumpSpeed": "35", + "AutoCurveSpeedAggressiveness": "100", + "CustomSteerDeltaUpLC": "0", + "CruiseSpeed1": "30", + "AutoTurnMapChange": "0", + "CruiseMaxVals1": "160", + "HotspotOnBoot": "0", + "ShowPathColorLane": "13", + "AutoNaviSpeedCtrlEnd": "6", + "AutoNaviSpeedCtrlMode": "3", + "AutoNaviSpeedDecelRate": "80", + "AutoNaviSpeedSafetyFactor": "105", + "LateralTorqueKpV": "100", + "TurnSpeedControlMode": "2", + "HapticFeedbackWhenSpeedCamera": "0", + "ModelTurnSpeedFactor": "0", + "CarrotCruiseDecel": "-1", + "StoppingAccel": "0", + "CanfdHDA2": "0", + "StopDistanceCarrot": "390", + "SteerActuatorDelay": "39", + "CruiseButtonMode": "1", + "SoftwareMenu": "1", + "CruiseButtonTest2": "30", + "CruiseSpeedUnit": "10", + "CarrotSmartSpeedControl": "0", + "CruiseSpeed2": "50", + "CruiseSpeed4": "110", + "LatMpcPathCost": "200", + "PaddleMode": "0", + "TrafficLightDetectMode": "2", + "CruiseSpeed5": "130", + "LatSmoothSec": "13", + "AutoCruiseControl": "1", + "CruiseOnDist": "500", + "CruiseMaxVals0": "160", + "LatMpcJerkCost": "4", + "CruiseMaxVals2": "120", + "DisengageOnAccelerator": "False", + "CruiseMaxVals4": "80", + "MyDrivingMode": "3", + "ShowPathEnd": "1", + "CruiseMaxVals5": "70", + "CruiseMaxVals6": "60", + "CruiseSpeedUnitBasic": "5", + "LongTuningKpV": "100", + "TFollowGap1": "110", + "LongPitch": "True", + "LaneChangeBsd": "0", + "ShowDateTime": "0", + "LongTuningKf": "100", + "EnableConnect": "0", + "AutoRoadSpeedAdjust": "-1", + "HyundaiCameraSCC": "0", + "VEgoStopping": "50", + "ShareData": "0", + "ShowRouteInfo": "1", + "RadarReactionFactor": "100", + "AutoGasSyncSpeed": "1", + "RadarLatFactor": "0", + "EnableCornerRadar": "0", + "CanfdDebug": "0", + "SoundVolumeAdjustEngage": "200", + "TFollowGap3": "160", + "AChangeCostStarting": "10", + "MapTurnSpeedFactor": "100", + "TrafficStopDistanceAdjust": "400", + "ShowCustomBrightness": "100", + "UseLaneLineCurveSpeed": "65", + "MuteDoor": "0", + "LaneChangeNeedTorque": "0", + "LaneChangeDelay": "0", + "MaxAngleFrames": "85", + "CustomSteerDeltaDown": "0", + "CruiseSpeed3": "80", + "LatMpcMotionCost": "7", + "LatMpcAccelCost": "120", + "LatMpcInputOffset": "4" +} \ No newline at end of file diff --git a/selfdrive/carrot/web/app.js b/selfdrive/carrot/web/app.js old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/web/hud_card.css b/selfdrive/carrot/web/hud_card.css old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/web/hud_card.js b/selfdrive/carrot/web/hud_card.js old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/web/index.html b/selfdrive/carrot/web/index.html old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/web/speed_bg.png b/selfdrive/carrot/web/speed_bg.png old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/web/webrtc_test.html b/selfdrive/carrot/web/webrtc_test.html old mode 100644 new mode 100755 diff --git a/selfdrive/carrot/xiaoge_data.py b/selfdrive/carrot/xiaoge_data.py old mode 100644 new mode 100755 diff --git a/selfdrive/carrot_settings.json b/selfdrive/carrot_settings.json old mode 100644 new mode 100755 index 7400fcfa6e..ad3dab898b --- a/selfdrive/carrot_settings.json +++ b/selfdrive/carrot_settings.json @@ -348,7 +348,7 @@ "min": 45, "max": 300, "default": 300, - "unit": 10 + "unit": 10, "cgroup": "转向", "ctitle": "AutoSteering Suspend Angle(300)", "cdescr": "Auto steering pauses at large steering angles and resumes when it returns within 15." diff --git a/selfdrive/controls/.gitignore b/selfdrive/controls/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/controls/__init__.py b/selfdrive/controls/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/__init__.py b/selfdrive/controls/lib/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_helper.py b/selfdrive/controls/lib/desire_helper.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/__init__.py b/selfdrive/controls/lib/desire_lib/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/blinker_manager.py b/selfdrive/controls/lib/desire_lib/blinker_manager.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/constants.py b/selfdrive/controls/lib/desire_lib/constants.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/hysteresis.py b/selfdrive/controls/lib/desire_lib/hysteresis.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/lane_math.py b/selfdrive/controls/lib/desire_lib/lane_math.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/maneuver_classifier.py b/selfdrive/controls/lib/desire_lib/maneuver_classifier.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/desire_lib/side_state.py b/selfdrive/controls/lib/desire_lib/side_state.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/drive_helpers.py b/selfdrive/controls/lib/drive_helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/lane_planner_2.py b/selfdrive/controls/lib/lane_planner_2.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/latcontrol.py b/selfdrive/controls/lib/latcontrol.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/latcontrol_angle.py b/selfdrive/controls/lib/latcontrol_angle.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/latcontrol_pid.py b/selfdrive/controls/lib/latcontrol_pid.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/latcontrol_torque.py b/selfdrive/controls/lib/latcontrol_torque.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/lateral_mpc_lib/.gitignore b/selfdrive/controls/lib/lateral_mpc_lib/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/lateral_mpc_lib/SConscript b/selfdrive/controls/lib/lateral_mpc_lib/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/lateral_mpc_lib/__init__.py b/selfdrive/controls/lib/lateral_mpc_lib/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/lateral_planner.py b/selfdrive/controls/lib/lateral_planner.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/ldw.py b/selfdrive/controls/lib/ldw.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longcontrol.py b/selfdrive/controls/lib/longcontrol.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/.gitignore b/selfdrive/controls/lib/longitudinal_mpc_lib/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/SConscript b/selfdrive/controls/lib/longitudinal_mpc_lib/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/__init__.py b/selfdrive/controls/lib/longitudinal_mpc_lib/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/longitudinal_planner.py b/selfdrive/controls/lib/longitudinal_planner.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/tests/__init__.py b/selfdrive/controls/lib/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/lib/tests/test_latcontrol.py b/selfdrive/controls/lib/tests/test_latcontrol.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/plannerd.py b/selfdrive/controls/plannerd.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/radard.py b/selfdrive/controls/radard.py old mode 100644 new mode 100755 index 5a91db9417..aba3ce3581 --- a/selfdrive/controls/radard.py +++ b/selfdrive/controls/radard.py @@ -165,16 +165,16 @@ def match_vision_to_track(v_ego: float, lead: capnp._DynamicStructReader, tracks offset_vision_dist = float(lead.x[0] - RADAR_TO_CAMERA) - # distance gates - max_vision_dist = max(offset_vision_dist * 1.25, 5.0) - min_vision_dist = max(offset_vision_dist * 0.80, 1.0) - max_vision_dist2 = max(offset_vision_dist * 1.45, 5.0) + # distance gates - 优化置信度范围 + max_vision_dist = max(offset_vision_dist * 1.30, 5.0) # 1.25 -> 1.30 稍微放宽 + min_vision_dist = max(offset_vision_dist * 0.75, 1.0) # 0.80 -> 0.75 稍微放宽 + max_vision_dist2 = max(offset_vision_dist * 1.50, 5.0) # 1.45 -> 1.50 cut-in场景放宽 min_vision_dist2 = 1.5 - # velocity tolerance (same intent) - vel_tol = float(max(lead.v[0] * np.interp(lead.prob, [0.8, 0.98], [0.3, 0.5]), 5.0)) + # velocity tolerance (same intent) - 优化速度容差 + vel_tol = float(max(lead.v[0] * np.interp(lead.prob, [0.75, 0.98], [0.25, 0.55]), 4.0)) # 调整插值范围和最小值 # hard guardrail for moving-bias (prevents absurd match) - vel_guard = max(vel_tol * 3.0, 20.0) + vel_guard = max(vel_tol * 3.5, 18.0) # 3.0 -> 3.5, 20.0 -> 18.0 def dist_sane(t: Track, wide: bool = False) -> bool: if wide: @@ -182,7 +182,7 @@ def dist_sane(t: Track, wide: bool = False) -> bool: return (min_vision_dist < t.dRel < max_vision_dist) def y_sane(t: Track, wide: bool = False) -> bool: - lim = 4.0 if wide else 2.0 + lim = 4.5 if wide else 2.2 # 4.0 -> 4.5, 2.0 -> 2.2 稍微放宽横向容差 return abs(t.yRel + float(lead.y[0])) < lim def vel_sane(t: Track) -> bool: @@ -211,7 +211,7 @@ def vel_sane(t: Track) -> bool: # If in-lane probability exists (it does in your Track), use it as safety. # When it's clearly not in our lane, don't use moving-bias. # (This line is intentionally mild; you can tune 0.2~0.5) - if hasattr(t, "dPath") and (t.in_lane_prob < 0.25): + if hasattr(t, "dPath") and (t.in_lane_prob < 0.20): # 0.25 -> 0.20 稍微放宽车道内概率要求 return False return True @@ -251,7 +251,7 @@ def score_pair(t: Track): extra_track, extra_score = t, s2 # score floor - if first_track is None or first_score < 1e-4: + if first_track is None or first_score < 5e-5: # 1e-4 -> 5e-5 降低分数门槛 return None # ---- selection policy (same logic, cleaner & safer) ---- @@ -260,11 +260,11 @@ def score_pair(t: Track): # A) normal match if dist_sane(first_track) and vel_sane(first_track): if y_sane(first_track): - if lead.prob > 0.5: + if lead.prob > 0.45: # 0.5 -> 0.45 降低置信度要求 best_track = first_track - elif lead.prob > 0.4 and first_track.selected_count > 0: + elif lead.prob > 0.35 and first_track.selected_count > 0: # 0.4 -> 0.35 best_track = first_track - elif lead.prob > 0.6: + elif lead.prob > 0.55: # 0.6 -> 0.55 best_track = first_track # B) stopped-car-like (only if not chosen yet) @@ -280,7 +280,7 @@ def score_pair(t: Track): best_track = first_track # C) cut-in wide matching (only if not chosen yet) - if best_track is None and offset_vision_dist < 90.0 and lead.prob > 0.65: + if best_track is None and offset_vision_dist < 100.0 and lead.prob > 0.60: # 90.0 -> 100.0, 0.65 -> 0.60 # wide-y winner first (cut-in) if (extra_track is not None and extra_score > first_score and dist_sane(extra_track, wide=True) and vel_sane(extra_track) and y_sane(extra_track, wide=True)): @@ -290,7 +290,7 @@ def score_pair(t: Track): elif dist_sane(first_track, wide=True) and vel_sane(first_track) and y_sane(first_track, wide=True): best_track = first_track - elif (second_track is not None and second_score > 1e-4 and + elif (second_track is not None and second_score > 5e-5 and # 1e-4 -> 5e-5 dist_sane(second_track, wide=True) and vel_sane(second_track) and y_sane(second_track, wide=True)): best_track = second_track @@ -498,7 +498,7 @@ def update(self, sm: messaging.SubMaster, rr: car.RadarData): valid_ids = set() for pt in rr.points: track_id = pt.trackId - valid_ids.add(track_id) + valid_ids.add(track_id) if track_id not in self.tracks: self.tracks[track_id] = Track(track_id) @@ -566,22 +566,23 @@ def get_lead(self, CS, md, tracks: dict[int, Track], index: int, lead_msg: capnp track_scc = tracks.pop(0, None) # Determine leads, this is where the essential logic happens - if len(tracks) > 0 and ready and lead_msg.prob > .4: + if len(tracks) > 0 and ready and lead_msg.prob > .35: # .4 -> .35 降低匹配启动阈值 track = match_vision_to_track(v_ego, lead_msg, tracks) else: track = None - if (track is None or lead_msg.prob < .6) and track_scc is not None and track_scc.cnt > 2: + if (track is None or lead_msg.prob < .55) and track_scc is not None and track_scc.cnt > 2: # .6 -> .55 #if self.enable_radar_tracks in [-1, 2] or model_v_ego < 5 or track_scc.vLead < 5.0: - if self.enable_radar_tracks == -1 or (self.enable_radar_tracks >= 2 and track_scc.vLead < 5.0): - track = track_scc + #if self.enable_radar_tracks in [-1, 2] or track_scc.vLead < 5.0: + if self.enable_radar_tracks in [-1, 2]: + track = track_scc lead_dict = {'status': False} radar = False if track is not None: lead_dict = track.get_RadarState(lead_msg.prob, self.vision_tracks[0].yRel) radar = True - elif (track is None) and ready and (lead_msg.prob > .5): + elif (track is None) and ready and (lead_msg.prob > .45): # .5 -> .45 降低纯视觉模式阈值 lead_dict = self.vision_tracks[index].get_lead(md) if self.enable_corner_radar > 1: @@ -610,12 +611,12 @@ def compute_leads(self, v_ego, tracks, md): self.radar_state.leadLeft = {'status': False} self.radar_state.leadRight = {'status': False} return - + left_list, right_list, center_list, cutin_list = [], [], [], [] for c in tracks.values(): y_rel_neg = - c.yRel # center - if c.in_lane_prob > 0.3: + if c.in_lane_prob > 0.25: # 0.3 -> 0.25 降低车道内概率要求 if c.cnt > 3: ld = c.get_RadarState(lead_msg.prob, float(-lead_msg.y[0])) ld['modelProb'] = 0.01 @@ -624,7 +625,7 @@ def compute_leads(self, v_ego, tracks, md): # left/right elif y_rel_neg < 0: #left_lane_y: ld = c.get_RadarState(0, 0) - if self.lane_line_available and c.in_lane_prob_future > 0.1 and c.cnt > int(2.0/DT_MDL): + if self.lane_line_available and c.in_lane_prob_future > 0.08 and c.cnt > int(2.0/DT_MDL): # 0.1 -> 0.08 if c.cut_in_count > int(0.1/DT_MDL): ld['modelProb'] = 0.03 cutin_list.append(ld) @@ -632,7 +633,7 @@ def compute_leads(self, v_ego, tracks, md): left_list.append(ld) else: ld = c.get_RadarState(0, 0) - if self.lane_line_available and c.in_lane_prob_future > 0.1 and c.cnt > int(2.0/DT_MDL): + if self.lane_line_available and c.in_lane_prob_future > 0.08 and c.cnt > int(2.0/DT_MDL): # 0.1 -> 0.08 if c.cut_in_count > int(0.1/DT_MDL): ld['modelProb'] = 0.03 cutin_list.append(ld) @@ -652,16 +653,16 @@ def compute_leads(self, v_ego, tracks, md): ) self.radar_state.leadLeft = min( - (ld for ld in left_list if ld['dRel'] > 5 and abs(ld['dPath']) < 3.5), + (ld for ld in left_list if ld['dRel'] > 5 and abs(ld['dPath']) < 3.8), # 3.5 -> 3.8 key=lambda d: d['dRel'], default={'status': False} ) self.radar_state.leadRight = min( - (ld for ld in right_list if ld['dRel'] > 5 and abs(ld['dPath']) < 3.5), + (ld for ld in right_list if ld['dRel'] > 5 and abs(ld['dPath']) < 3.8), # 3.5 -> 3.8 key=lambda d: d['dRel'], default={'status': False} ) - + self.leadTwo = None if self.lane_line_available: self.leadCenter = min( @@ -686,7 +687,7 @@ def compute_leads(self, v_ego, tracks, md): def _ok(ld): return (ld.get('vLead', 0) > 2 and - abs(ld.get('dPath', 0)) < 4.2 and + abs(ld.get('dPath', 0)) < 4.5 and # 4.2 -> 4.5 ld.get('dRel', 0) > 2) def _pick_two_with_gap(cands, min_gap=5.0): @@ -760,7 +761,7 @@ def _corner_update_state(self, side: str, cur_lat: float, enter_lat: float = 2.8 self._corner_state[side] = 0 # maintain return self._corner_state[side] - + def corner_radar(self, CS, lead_dict): ENTER_LAT = 2.2 KEEP_LAT = 2.0 @@ -802,7 +803,7 @@ def corner_radar(self, CS, lead_dict): lat_dist, long_dist = +left_lat, CS.leftLongDist else: lat_dist, long_dist = -right_lat, CS.rightLongDist - + if lead_dict['status']: if lead_dict['dRel'] > long_dist: lead_dict['dRel'] = long_dist diff --git a/selfdrive/controls/tests/__init__.py b/selfdrive/controls/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/tests/test_following_distance.py b/selfdrive/controls/tests/test_following_distance.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/tests/test_lateral_mpc.py b/selfdrive/controls/tests/test_lateral_mpc.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/tests/test_leads.py b/selfdrive/controls/tests/test_leads.py old mode 100644 new mode 100755 diff --git a/selfdrive/controls/tests/test_longcontrol.py b/selfdrive/controls/tests/test_longcontrol.py old mode 100644 new mode 100755 diff --git a/selfdrive/debug/README.md b/selfdrive/debug/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/debug/__init__.py b/selfdrive/debug/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/debug/live_cpu_and_temp.py b/selfdrive/debug/live_cpu_and_temp.py old mode 100755 new mode 100644 index ee0524ec9d..22618f6741 --- a/selfdrive/debug/live_cpu_and_temp.py +++ b/selfdrive/debug/live_cpu_and_temp.py @@ -38,8 +38,8 @@ def proc_name(proc): last_temp = 0.0 last_mem = 0.0 - total_times = [0.]*8 - busy_times = [0.]*8 + total_times = [] # 动态列表,不再硬编码 + busy_times = [] # 动态列表,不再硬编码 prev_proclog: capnp._DynamicStructReader | None = None prev_proclog_t: int | None = None @@ -54,20 +54,31 @@ def proc_name(proc): if sm.updated['procLog']: m = sm['procLog'] + # 根据实际CPU核心数动态创建列表 + num_cores = len(m.cpuTimes) + cores = [0.] * num_cores + total_times_new = [0.] * num_cores + busy_times_new = [0.] * num_cores - cores = [0.]*8 - total_times_new = [0.]*8 - busy_times_new = [0.]*8 + # 如果是第一次运行或核心数发生变化,重新初始化历史数据 + if len(total_times) != num_cores: + total_times = [0.] * num_cores + busy_times = [0.] * num_cores for c in m.cpuTimes: n = c.cpuNum - total_times_new[n] = cputime_total(c) - busy_times_new[n] = cputime_busy(c) - - for n in range(8): - t_busy = busy_times_new[n] - busy_times[n] - t_total = total_times_new[n] - total_times[n] - cores[n] = t_busy / t_total + if n < num_cores: # 安全检查,确保索引不越界 + total_times_new[n] = cputime_total(c) + busy_times_new[n] = cputime_busy(c) + # 计算CPU使用率,只处理有效的核心 + for n in range(min(num_cores, len(total_times), len(busy_times))): + if total_times[n] > 0: # 避免除零错误 + t_busy = busy_times_new[n] - busy_times[n] + t_total = total_times_new[n] - total_times[n] + if t_total > 0: + cores[n] = t_busy / t_total + else: + cores[n] = 0.0 total_times = total_times_new[:] busy_times = busy_times_new[:] @@ -104,3 +115,4 @@ def proc_name(proc): prev_proclog = m prev_proclog_t = sm.logMonoTime['procLog'] + diff --git a/selfdrive/frogpilot/fleetmanager/README.md b/selfdrive/frogpilot/fleetmanager/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/fleet_manager.py b/selfdrive/frogpilot/fleetmanager/fleet_manager.py old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/helpers.py b/selfdrive/frogpilot/fleetmanager/helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/static/carrot.png b/selfdrive/frogpilot/fleetmanager/static/carrot.png old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/static/favicon.ico b/selfdrive/frogpilot/fleetmanager/static/favicon.ico old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/static/frog.png b/selfdrive/frogpilot/fleetmanager/static/frog.png old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/about.html b/selfdrive/frogpilot/fleetmanager/templates/about.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/addr.html b/selfdrive/frogpilot/fleetmanager/templates/addr.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/addr_input.html b/selfdrive/frogpilot/fleetmanager/templates/addr_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html b/selfdrive/frogpilot/fleetmanager/templates/amap_addr_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html b/selfdrive/frogpilot/fleetmanager/templates/amap_key_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/app_token_input.html b/selfdrive/frogpilot/fleetmanager/templates/app_token_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/carinfo.html b/selfdrive/frogpilot/fleetmanager/templates/carinfo.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/error.html b/selfdrive/frogpilot/fleetmanager/templates/error.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/error_log.html b/selfdrive/frogpilot/fleetmanager/templates/error_log.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/error_logs.html b/selfdrive/frogpilot/fleetmanager/templates/error_logs.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/footage.html b/selfdrive/frogpilot/fleetmanager/templates/footage.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html b/selfdrive/frogpilot/fleetmanager/templates/gmap_key_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/index.html b/selfdrive/frogpilot/fleetmanager/templates/index.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/layout.html b/selfdrive/frogpilot/fleetmanager/templates/layout.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html b/selfdrive/frogpilot/fleetmanager/templates/nav_confirmation.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/nav_directions.html b/selfdrive/frogpilot/fleetmanager/templates/nav_directions.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/nonprime.html b/selfdrive/frogpilot/fleetmanager/templates/nonprime.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/preserved.html b/selfdrive/frogpilot/fleetmanager/templates/preserved.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/prime.html b/selfdrive/frogpilot/fleetmanager/templates/prime.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/public_token_input.html b/selfdrive/frogpilot/fleetmanager/templates/public_token_input.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/route.html b/selfdrive/frogpilot/fleetmanager/templates/route.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/screenrecords.html b/selfdrive/frogpilot/fleetmanager/templates/screenrecords.html old mode 100644 new mode 100755 diff --git a/selfdrive/frogpilot/fleetmanager/templates/tools.html b/selfdrive/frogpilot/fleetmanager/templates/tools.html old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/.gitignore b/selfdrive/locationd/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/SConscript b/selfdrive/locationd/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/__init__.py b/selfdrive/locationd/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/helpers.py b/selfdrive/locationd/helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/lagd.py b/selfdrive/locationd/lagd.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/models/.gitignore b/selfdrive/locationd/models/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/models/__init__.py b/selfdrive/locationd/models/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/models/constants.py b/selfdrive/locationd/models/constants.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/paramsd.py b/selfdrive/locationd/paramsd.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/test/.gitignore b/selfdrive/locationd/test/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/test/__init__.py b/selfdrive/locationd/test/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/test/test_calibrationd.py b/selfdrive/locationd/test/test_calibrationd.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/test/test_locationd_scenarios.py b/selfdrive/locationd/test/test_locationd_scenarios.py old mode 100644 new mode 100755 diff --git a/selfdrive/locationd/torqued.py b/selfdrive/locationd/torqued.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/SConscript b/selfdrive/modeld/SConscript old mode 100644 new mode 100755 index 8b33a457f2..16fcff76c0 --- a/selfdrive/modeld/SConscript +++ b/selfdrive/modeld/SConscript @@ -52,7 +52,7 @@ for model_name in ['driving_vision', 'driving_policy', 'dmonitoring_model']: flags = { 'larch64': 'DEV=QCOM FLOAT16=1 NOLOCALS=1 IMAGE=2 JIT_BATCH_SIZE=0', 'Darwin': f'DEV=CPU HOME={os.path.expanduser("~")}', # tinygrad calls brew which needs a $HOME in the env - }.get(arch, 'DEV=CPU CPU_LLVM=1') + }.get(arch, 'DEV=CL CPU_LLVM=1') tg_compile(flags, model_name) # Compile BIG model if USB GPU is available diff --git a/selfdrive/modeld/__init__.py b/selfdrive/modeld/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/constants.py b/selfdrive/modeld/constants.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/fill_model_msg.py b/selfdrive/modeld/fill_model_msg.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/modeld.py b/selfdrive/modeld/modeld.py index ffa6ffda70..7c950a8bf1 100755 --- a/selfdrive/modeld/modeld.py +++ b/selfdrive/modeld/modeld.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import os from openpilot.system.hardware import TICI -os.environ['DEV'] = 'QCOM' if TICI else 'LLVM' +os.environ['DEV'] = 'QCOM' if TICI else 'CL' USBGPU = "USBGPU" in os.environ if USBGPU: os.environ['DEV'] = 'AMD' diff --git a/selfdrive/modeld/models/README.md b/selfdrive/modeld/models/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/__init__.py b/selfdrive/modeld/models/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/big_driving_policy.onnx b/selfdrive/modeld/models/big_driving_policy.onnx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/big_driving_vision.onnx b/selfdrive/modeld/models/big_driving_vision.onnx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/commonmodel.cc b/selfdrive/modeld/models/commonmodel.cc old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/commonmodel.h b/selfdrive/modeld/models/commonmodel.h old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/commonmodel.pxd b/selfdrive/modeld/models/commonmodel.pxd old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/commonmodel_pyx.pxd b/selfdrive/modeld/models/commonmodel_pyx.pxd old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/commonmodel_pyx.pyx b/selfdrive/modeld/models/commonmodel_pyx.pyx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/dmonitoring_model.onnx b/selfdrive/modeld/models/dmonitoring_model.onnx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/driving_policy.onnx b/selfdrive/modeld/models/driving_policy.onnx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/models/driving_vision.onnx b/selfdrive/modeld/models/driving_vision.onnx old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/parse_model_outputs.py b/selfdrive/modeld/parse_model_outputs.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/runners/tinygrad_helpers.py b/selfdrive/modeld/runners/tinygrad_helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/tests/__init__.py b/selfdrive/modeld/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/tests/test_modeld.py b/selfdrive/modeld/tests/test_modeld.py old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/loadyuv.cc b/selfdrive/modeld/transforms/loadyuv.cc old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/loadyuv.cl b/selfdrive/modeld/transforms/loadyuv.cl old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/loadyuv.h b/selfdrive/modeld/transforms/loadyuv.h old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/transform.cc b/selfdrive/modeld/transforms/transform.cc old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/transform.cl b/selfdrive/modeld/transforms/transform.cl old mode 100644 new mode 100755 diff --git a/selfdrive/modeld/transforms/transform.h b/selfdrive/modeld/transforms/transform.h old mode 100644 new mode 100755 diff --git a/selfdrive/monitoring/README.md b/selfdrive/monitoring/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/monitoring/helpers.py b/selfdrive/monitoring/helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/monitoring/test_monitoring.py b/selfdrive/monitoring/test_monitoring.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/.gitignore b/selfdrive/navd/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/navd/SConscript b/selfdrive/navd/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/navd/__init__.py b/selfdrive/navd/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/helpers.py b/selfdrive/navd/helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/main.cc b/selfdrive/navd/main.cc old mode 100644 new mode 100755 diff --git a/selfdrive/navd/map_renderer.cc b/selfdrive/navd/map_renderer.cc old mode 100644 new mode 100755 diff --git a/selfdrive/navd/map_renderer.h b/selfdrive/navd/map_renderer.h old mode 100644 new mode 100755 diff --git a/selfdrive/navd/map_renderer.py b/selfdrive/navd/map_renderer.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/navd.py b/selfdrive/navd/navd.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/set_destination.py b/selfdrive/navd/set_destination.py old mode 100644 new mode 100755 diff --git a/selfdrive/navd/style.json b/selfdrive/navd/style.json old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/.gitignore b/selfdrive/pandad/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/SConscript b/selfdrive/pandad/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/__init__.py b/selfdrive/pandad/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/can_list_to_can_capnp.cc b/selfdrive/pandad/can_list_to_can_capnp.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/can_types.h b/selfdrive/pandad/can_types.h old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/main.cc b/selfdrive/pandad/main.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/panda.cc b/selfdrive/pandad/panda.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/panda.h b/selfdrive/pandad/panda.h old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/panda_comms.cc b/selfdrive/pandad/panda_comms.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/panda_comms.h b/selfdrive/pandad/panda_comms.h old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/panda_safety.cc b/selfdrive/pandad/panda_safety.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/pandad.cc b/selfdrive/pandad/pandad.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/pandad.h b/selfdrive/pandad/pandad.h old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/pandad_api_impl.pyx b/selfdrive/pandad/pandad_api_impl.pyx old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/spi.cc b/selfdrive/pandad/spi.cc old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/tests/__init__.py b/selfdrive/pandad/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/tests/test_pandad.py b/selfdrive/pandad/tests/test_pandad.py old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/tests/test_pandad_loopback.py b/selfdrive/pandad/tests/test_pandad_loopback.py old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/tests/test_pandad_spi.py b/selfdrive/pandad/tests/test_pandad_spi.py old mode 100644 new mode 100755 diff --git a/selfdrive/pandad/tests/test_pandad_usbprotocol.cc b/selfdrive/pandad/tests/test_pandad_usbprotocol.cc old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/alertmanager.py b/selfdrive/selfdrived/alertmanager.py old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/alerts_offroad.json b/selfdrive/selfdrived/alerts_offroad.json old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/events.py b/selfdrive/selfdrived/events.py index 60b95c7533..14292876a3 100755 --- a/selfdrive/selfdrived/events.py +++ b/selfdrive/selfdrived/events.py @@ -382,7 +382,7 @@ def car_parser_result(CP: car.CarParams, CS: car.CarState, sm: messaging.SubMast results, AlertStatus.normal, AlertSize.small, Priority.LOW, VisualAlert.none, AudibleAlert.none, 1., creation_delay=1.) - + EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = { # ********** events with no alerts ********** @@ -603,7 +603,7 @@ def car_parser_result(CP: car.CarParams, CS: car.CarState, sm: messaging.SubMast "Take Control", "Turn Exceeds Steering Limit", AlertStatus.normal, AlertSize.small, - Priority.LOW, VisualAlert.none, AudibleAlert.none, 1.), + Priority.LOW, VisualAlert.none, AudibleAlert.prompt, 1.), }, # Thrown when the fan is driven at >50% but is not rotating diff --git a/selfdrive/selfdrived/state.py b/selfdrive/selfdrived/state.py old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/tests/test_alertmanager.py b/selfdrive/selfdrived/tests/test_alertmanager.py old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/tests/test_alerts.py b/selfdrive/selfdrived/tests/test_alerts.py old mode 100644 new mode 100755 diff --git a/selfdrive/selfdrived/tests/test_state_machine.py b/selfdrive/selfdrived/tests/test_state_machine.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/.gitignore b/selfdrive/test/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/test/__init__.py b/selfdrive/test/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/docker_common.sh b/selfdrive/test/docker_common.sh old mode 100644 new mode 100755 diff --git a/selfdrive/test/fuzzy_generation.py b/selfdrive/test/fuzzy_generation.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/helpers.py b/selfdrive/test/helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/longitudinal_maneuvers/.gitignore b/selfdrive/test/longitudinal_maneuvers/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/test/longitudinal_maneuvers/__init__.py b/selfdrive/test/longitudinal_maneuvers/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/longitudinal_maneuvers/maneuver.py b/selfdrive/test/longitudinal_maneuvers/maneuver.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py b/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/.gitignore b/selfdrive/test/process_replay/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/README.md b/selfdrive/test/process_replay/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/__init__.py b/selfdrive/test/process_replay/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/capture.py b/selfdrive/test/process_replay/capture.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/migration.py b/selfdrive/test/process_replay/migration.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/test_fuzzy.py b/selfdrive/test/process_replay/test_fuzzy.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/test_regen.py b/selfdrive/test/process_replay/test_regen.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/process_replay/vision_meta.py b/selfdrive/test/process_replay/vision_meta.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/test_onroad.py b/selfdrive/test/test_onroad.py old mode 100644 new mode 100755 diff --git a/selfdrive/test/test_updated.py b/selfdrive/test/test_updated.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/.gitignore b/selfdrive/ui/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/ui/SConscript b/selfdrive/ui/SConscript old mode 100644 new mode 100755 diff --git a/selfdrive/ui/__init__.py b/selfdrive/ui/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/carrot.cc b/selfdrive/ui/carrot.cc old mode 100644 new mode 100755 index d5615aa0c7..97ba114396 --- a/selfdrive/ui/carrot.cc +++ b/selfdrive/ui/carrot.cc @@ -224,8 +224,8 @@ static inline void fill_rect(NVGcontext* vg, const Rect1& r, const NVGcolor* col if (stroke_width > 0) { nvgStrokeWidth(vg, stroke_width); if (stroke_color) nvgStrokeColor(vg, *stroke_color); - else nvgStrokeColor(vg, nvgRGB(0, 0, 0)); - nvgStroke(vg); + else nvgStrokeColor(vg, nvgRGB(0, 0, 0)); + nvgStroke(vg); } } @@ -785,14 +785,14 @@ class PathEndDrawer : ModelDrawer { ui_draw_text(s, x + w, disp_y, str, 40, text_color, BOLD); } } - QPolygonF tf_vertext; + /*QPolygonF tf_vertext; if (tf_distance > 0) { tf_vertext.push_back(tf_vertex_left); tf_vertext.push_back(tf_vertex_right); ui_draw_line(s, tf_vertext, nullptr, nullptr, 3.0, COLOR_WHITE); sprintf(str, "%.1f(%.2f)", tf_distance, t_follow); ui_draw_text(s, tf_vertex_right.x(), tf_vertex_right.y(), str, 25, COLOR_WHITE, BOLD); - } + }*/ float px[7], py[7]; @@ -817,7 +817,7 @@ class PathEndDrawer : ModelDrawer { ui_draw_line2(s, px, py, 7, &pcolor, nullptr, 3.0f); } if (isLeadDetected()) { - NVGcolor radar_stroke = COLOR_BLUE; + NVGcolor radar_stroke = COLOR_BLUE; if (lead_two_status > 0) { radar_stroke = COLOR_OCHRE; int path_width2 = lead_two_xr - lead_two_xl; @@ -1214,7 +1214,7 @@ class TurnInfoDrawer : ModelDrawer { return -1; } const auto carrot_man = sm["carrotMan"].getCarrotMan(); - + active_carrot = carrot_man.getActiveCarrot(); if (active_carrot > 1) { @@ -1238,7 +1238,7 @@ class TurnInfoDrawer : ModelDrawer { szSdiDescr = QString::fromStdString(carrot_man.getSzSdiDescr()); szPosRoadName = QString::fromStdString(carrot_man.getSzPosRoadName()); szTBTMainText = QString::fromStdString(carrot_man.getSzTBTMainText()); - + } else { //xTurnInfo = -1; @@ -1945,7 +1945,7 @@ typedef struct { } lead_vertex_data; #endif -char carrot_man_debug[128] = ""; +char carrot_man_debug[256] = ""; class DrawCarrot : public QObject { Q_OBJECT @@ -2028,7 +2028,7 @@ class DrawCarrot : public QObject { int max_z = lane_lines[2].getZ().size(); float z_offset = 0.0; foreach(const QString & pair, pairs) { - QStringList xy = pair.split(","); // ","로 x와 y 구분 + QStringList xy = pair.split(","); // ","로 x와 y 구분 if (xy.size() == 3) { //printf("coords = x: %.1f, y: %.1f, d:%.1f\n", xy[0].toFloat(), xy[1].toFloat(), xy[2].toFloat()); float x = xy[0].toFloat(); @@ -2103,6 +2103,7 @@ class DrawCarrot : public QObject { } } #endif + makeDeviceInfo(s); return true; } void drawRadarInfo(UIState* s) { @@ -2295,13 +2296,14 @@ class DrawCarrot : public QObject { int disp_timer = 0; float cpuTemp = 0.0f; float cpuUsage = 0.0f; + float gpuUsage = 0.0f; int memoryUsage = 0; float freeSpace = 0.0f; float voltage = 0.0f; void drawHud(UIState* s) { int show_device_state = params.getInt("ShowDeviceState"); blink_timer = (blink_timer + 1) % 16; - disp_timer = (disp_timer + 1) % 64; + disp_timer = (disp_timer + 1) % 240; nvgTextAlign(s->vg, NVG_ALIGN_CENTER | NVG_ALIGN_BOTTOM); int x = 140;// 120; @@ -2382,16 +2384,16 @@ class DrawCarrot : public QObject { const SubMaster& sm = *(s->sm); // draw gap info - char driving_mode_str[32] = "연비"; + char driving_mode_str[32] = "经济"; int driving_mode = myDrivingMode;// params.getInt("MyDrivingMode"); NVGcolor mode_color = COLOR_GREEN_ALPHA(210); NVGcolor text_color = COLOR_WHITE; switch (driving_mode) { - case 1: strcpy(driving_mode_str, tr("ECO").toStdString().c_str()); mode_color = COLOR_GREEN_ALPHA(210); break; - case 2: strcpy(driving_mode_str, tr("SAFE").toStdString().c_str()); mode_color = COLOR_ORANGE_ALPHA(210); text_color = COLOR_WHITE; break; - case 3: strcpy(driving_mode_str, tr("NORM").toStdString().c_str()); mode_color = COLOR_GREY_ALPHA(210); text_color = COLOR_WHITE; break; - case 4: strcpy(driving_mode_str, tr("FAST").toStdString().c_str()); mode_color = COLOR_RED_ALPHA(210); break; - default: strcpy(driving_mode_str, tr("ERRM").toStdString().c_str()); break; + case 1: strcpy(driving_mode_str, tr("经 济").toStdString().c_str()); mode_color = COLOR_GREEN_ALPHA(210); break; + case 2: strcpy(driving_mode_str, tr("安 全").toStdString().c_str()); mode_color = COLOR_ORANGE_ALPHA(210); text_color = COLOR_WHITE; break; + case 3: strcpy(driving_mode_str, tr("标 准").toStdString().c_str()); mode_color = COLOR_BLUE_ALPHA(210); text_color = COLOR_WHITE; break; + case 4: strcpy(driving_mode_str, tr("运 动").toStdString().c_str()); mode_color = COLOR_RED_ALPHA(210); break; + default: strcpy(driving_mode_str, tr("错 误").toStdString().c_str()); break; } int dx = bx - 50; int dy = by + 175; @@ -2419,7 +2421,7 @@ class DrawCarrot : public QObject { //float ddx = 70 / 4.; float ddy = 80 / 4.; #ifdef __UI_TEST - gap = 3; + gap = 4; #endif for (int i = 0; i < gap; i++) { //ui_fill_rect(s->vg, { (int)(dx + i * ddx), (int)dy, (int)ddx - 2, 48 }, COLOR_GREEN_ALPHA(180), 4, 3); @@ -2506,18 +2508,30 @@ class DrawCarrot : public QObject { dy = by - 200; mode_color = COLOR_GREEN_ALPHA(190); ui_fill_rect(s->vg, { dx - 65, dy - 38, 130, 90 }, (cpuTemp>80 && blink_timer<=8)?COLOR_RED : mode_color, 15, 2); + if (disp_timer < 120) { ui_draw_text(s, dx, dy-5, "CPU", 25, COLOR_WHITE, BOLD); sprintf(str, "%.0f\u00B0C", cpuTemp); ui_draw_text(s, dx, dy + 40, str, 40, COLOR_WHITE, BOLD); + } else { + ui_draw_text(s, dx, dy-5, "CPU", 25, COLOR_WHITE, BOLD); + sprintf(str, "%.0f%%", cpuUsage); + ui_draw_text(s, dx, dy + 40, str, 40, COLOR_WHITE, BOLD); + } dx += 150; ui_fill_rect(s->vg, { dx - 65, dy - 38, 130, 90 }, (memoryUsage > 85 && blink_timer <= 8) ? COLOR_RED : mode_color, 15, 2); + if (disp_timer < 120) { + ui_draw_text(s, dx, dy-5, "GPU", 25, COLOR_WHITE, BOLD); + sprintf(str, "%.0f%%", gpuUsage); + ui_draw_text(s, dx, dy + 40, str, 40, COLOR_WHITE, BOLD); + } else { ui_draw_text(s, dx, dy-5, "MEM", 25, COLOR_WHITE, BOLD); sprintf(str, "%d%%", memoryUsage); ui_draw_text(s, dx, dy + 40, str, 40, COLOR_WHITE, BOLD); + } dx += 150; - if (disp_timer < 32) { + if (disp_timer < 120) { ui_fill_rect(s->vg, { dx - 65, dy - 38, 130, 90 }, mode_color, 15, 2); ui_draw_text(s, dx, dy - 5, "DISK", 25, COLOR_WHITE, BOLD); sprintf(str, "%.0f%%", 100 - freeSpace); @@ -2673,21 +2687,21 @@ class DrawCarrot : public QObject { memoryUsage = deviceState.getMemoryUsagePercent(); const auto cpuTempC = deviceState.getCpuTempC(); const auto cpuUsagePercent = deviceState.getCpuUsagePercent(); - int size = sizeof(cpuTempC) / sizeof(cpuTempC[0]); - if (size > 0) { - for (int i = 0; i < size; i++) { + gpuUsage = deviceState.getGpuUsagePercent(); + cpuTemp = 0.0f; + if (cpuTempC.size() > 0) { + for (int i = 0; i < cpuTempC.size(); i++) { cpuTemp += cpuTempC[i]; } - cpuTemp /= static_cast(size); - } - size = sizeof(cpuUsagePercent) / sizeof(cpuUsagePercent[0]); - if (size > 0) { - int cpu_size = 0; - for (cpu_size = 0; cpu_size < size; cpu_size++) { - if (cpuUsagePercent[cpu_size] <= 0) break; - cpuUsage += cpuUsagePercent[cpu_size]; + cpuTemp /= static_cast(cpuTempC.size()); + } + cpuUsage = 0.0f; + if (cpuUsagePercent.size() > 0) { + float total_usage = 0.0f; + for (int i = 0; i < cpuUsagePercent.size(); i++) { + total_usage += cpuUsagePercent[i]; } - if (cpu_size > 0) cpuUsage /= cpu_size; + cpuUsage = total_usage / cpuUsagePercent.size(); } auto peripheralState = sm["peripheralState"].getPeripheralState(); @@ -2849,7 +2863,7 @@ void ui_draw(UIState *s, ModelRenderer* model_renderer, int w, int h) { int path_x = drawPathEnd.getPathX(); int path_y = drawPathEnd.getPathY(); drawDesire.draw(s, path_x, path_y - 135); - + drawPlot.draw(s); diff --git a/selfdrive/ui/carrot.h b/selfdrive/ui/carrot.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/installer/installer.cc b/selfdrive/ui/installer/installer.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/installer/installer.h b/selfdrive/ui/installer/installer.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/main.cc b/selfdrive/ui/main.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/api.cc b/selfdrive/ui/qt/api.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/api.h b/selfdrive/ui/qt/api.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/body.cc b/selfdrive/ui/qt/body.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/body.h b/selfdrive/ui/qt/body.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/home.cc b/selfdrive/ui/qt/home.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/home.h b/selfdrive/ui/qt/home.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map.cc b/selfdrive/ui/qt/maps/map.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map.h b/selfdrive/ui/qt/maps/map.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_eta.cc b/selfdrive/ui/qt/maps/map_eta.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_eta.h b/selfdrive/ui/qt/maps/map_eta.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_helpers.cc b/selfdrive/ui/qt/maps/map_helpers.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_helpers.h b/selfdrive/ui/qt/maps/map_helpers.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_instructions.cc b/selfdrive/ui/qt/maps/map_instructions.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_instructions.h b/selfdrive/ui/qt/maps/map_instructions.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_panel.cc b/selfdrive/ui/qt/maps/map_panel.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_panel.h b/selfdrive/ui/qt/maps/map_panel.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_settings.cc b/selfdrive/ui/qt/maps/map_settings.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/maps/map_settings.h b/selfdrive/ui/qt/maps/map_settings.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/network/networking.cc b/selfdrive/ui/qt/network/networking.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/network/networking.h b/selfdrive/ui/qt/network/networking.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/network/networkmanager.h b/selfdrive/ui/qt/network/networkmanager.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/network/wifi_manager.cc b/selfdrive/ui/qt/network/wifi_manager.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/network/wifi_manager.h b/selfdrive/ui/qt/network/wifi_manager.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/developer_panel.cc b/selfdrive/ui/qt/offroad/developer_panel.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/developer_panel.h b/selfdrive/ui/qt/offroad/developer_panel.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/driverview.cc b/selfdrive/ui/qt/offroad/driverview.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/driverview.h b/selfdrive/ui/qt/offroad/driverview.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/experimental_mode.cc b/selfdrive/ui/qt/offroad/experimental_mode.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/experimental_mode.h b/selfdrive/ui/qt/offroad/experimental_mode.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/firehose.cc b/selfdrive/ui/qt/offroad/firehose.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/firehose.h b/selfdrive/ui/qt/offroad/firehose.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/onboarding.cc b/selfdrive/ui/qt/offroad/onboarding.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/onboarding.h b/selfdrive/ui/qt/offroad/onboarding.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc old mode 100644 new mode 100755 index 5074d077f5..0ecef9e245 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -407,16 +407,22 @@ void execAndReboot(const std::string& cmd) { Params().putBool("DoReboot", true); } +//删除校准参数并退出软件 +void execAndExitApp(const std::string& cmd) { + system(cmd.c_str()); + qApp->quit(); +} + void DevicePanel::calibration() { if (!uiState()->engaged()) { if (ConfirmationDialog::confirm(tr("Are you sure you want to reset calibration?"), tr("ReCalibration"), this)) { if (!uiState()->engaged()) { - std::thread worker(execAndReboot, "cd /data/params/d_tmp; rm -f CalibrationParams"); + std::thread worker(execAndExitApp, "rm -f /home/my/.comma/params/d/CalibrationParams"); worker.detach(); } } } else { - ConfirmationDialog::alert(tr("Reboot & Disengage to Calibration"), this); + ConfirmationDialog::alert(tr("Disengage to ReCalibration"), this); } } @@ -704,7 +710,7 @@ CarrotPanel::CarrotPanel(QWidget* parent) : QWidget(parent) { latLongToggles->addItem(new CValueControl("SteerActuatorDelay", tr("LAT:SteerActuatorDelay(30)"), tr("x0.01, 0:LiveDelay"), 0, 100, 1)); latLongToggles->addItem(new CValueControl("LatSmoothSec", tr("LAT:LatSmoothSec(13)"), tr("x0.01"), 1, 30, 1)); latLongToggles->addItem(new CValueControl("LateralTorqueCustom", tr("LAT: TorqueCustom(0)"), "", 0, 2, 1)); - latLongToggles->addItem(new CValueControl("LateralTorqueAccelFactor", tr("LAT: TorqueAccelFactor(2500)"), "", 1000, 6000, 10)); + latLongToggles->addItem(new CValueControl("LateralTorqueAccelFactor", tr("LAT: TorqueAccelFactor(2500)"), "", 1000, 6000, 100)); latLongToggles->addItem(new CValueControl("LateralTorqueFriction", tr("LAT: TorqueFriction(100)"), "", 0, 1000, 10)); latLongToggles->addItem(new CValueControl("CustomSteerMax", tr("LAT: CustomSteerMax(0)"), "", 0, 30000, 5)); latLongToggles->addItem(new CValueControl("CustomSteerDeltaUp", tr("LAT: CustomSteerDeltaUp(0)"), "", 0, 50, 1)); @@ -854,9 +860,9 @@ CarrotPanel::CarrotPanel(QWidget* parent) : QWidget(parent) { //startToggles->addItem(new CValueControl("LaneChangeLaneCheck", "LaneChange: Check lane exist", "(0:No,1:Lane,2:+Edge)", 0, 2, 1)); speedToggles = new ListWidget(this); - speedToggles->addItem(new CValueControl("AutoCurveSpeedLowerLimit", tr("CURVE: Lower limit speed(30)"), tr("When you approach a curve, reduce your speed. Minimum speed"), 30, 200, 5)); - speedToggles->addItem(new CValueControl("AutoCurveSpeedFactor", tr("CURVE: Auto Control ratio(100%)"), "", 50, 300, 1)); - speedToggles->addItem(new CValueControl("AutoCurveSpeedAggressiveness", tr("CURVE: Aggressiveness (100%)"), "", 50, 300, 1)); + speedToggles->addItem(new CValueControl("AutoCurveSpeedLowerLimit", tr("CURVE: Lower limit speed(30)"), tr("When you approach a curve, reduce your speed. Minimum speed"), 10, 200, 5)); + speedToggles->addItem(new CValueControl("AutoCurveSpeedFactor", tr("CURVE: Auto Control ratio(100%)"), "", 50, 300, 5)); + speedToggles->addItem(new CValueControl("AutoCurveSpeedAggressiveness", tr("CURVE: Aggressiveness (100%)"), "", 50, 300, 5)); speedToggles->addItem(new CValueControl("AutoRoadSpeedLimitOffset", tr("RoadSpeedLimitOffset(-1)"), tr("-1:NotUsed,RoadLimitSpeed+Offset"), -1, 100, 1)); speedToggles->addItem(new CValueControl("AutoRoadSpeedAdjust", tr("Auto Roadlimit Speed adjust (50%)"), "", -1, 100, 5)); speedToggles->addItem(new CValueControl("AutoNaviSpeedCtrlEnd", tr("SpeedCamDecelEnd(6s)"), tr("Sets the deceleration completion point. A larger value completes deceleration farther away from the camera."), 3, 20, 1)); diff --git a/selfdrive/ui/qt/offroad/settings.h b/selfdrive/ui/qt/offroad/settings.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/offroad/software_settings.cc b/selfdrive/ui/qt/offroad/software_settings.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/alerts.cc b/selfdrive/ui/qt/onroad/alerts.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/alerts.h b/selfdrive/ui/qt/onroad/alerts.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/annotated_camera.cc b/selfdrive/ui/qt/onroad/annotated_camera.cc old mode 100644 new mode 100755 index 75b03f1f8f..4a14722756 --- a/selfdrive/ui/qt/onroad/annotated_camera.cc +++ b/selfdrive/ui/qt/onroad/annotated_camera.cc @@ -24,7 +24,7 @@ AnnotatedCameraWidget::AnnotatedCameraWidget(VisionStreamType type, QWidget *par experimental_btn = new ExperimentalButton(this); main_layout->addWidget(experimental_btn, 0, Qt::AlignTop | Qt::AlignRight); - + record_timer = std::make_shared(); QObject::connect(record_timer.get(), &QTimer::timeout, [=]() { if(recorder) { @@ -35,7 +35,7 @@ AnnotatedCameraWidget::AnnotatedCameraWidget(VisionStreamType type, QWidget *par recorder = new ScreenRecoder(this); main_layout->addWidget(recorder, 0, Qt::AlignBottom | Qt::AlignRight); - + } void AnnotatedCameraWidget::updateState(const UIState &s) { @@ -88,6 +88,18 @@ mat4 AnnotatedCameraWidget::calcFrameMatrix() { // Select intrinsic matrix and calibration based on camera type auto *s = uiState(); bool wide_cam = active_stream_type == VISION_STREAM_WIDE_ROAD; + bool driver_cam = active_stream_type == VISION_STREAM_DRIVER; + + // Driver camera uses simple identity transform + if (driver_cam) { + return mat4{{ + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0, + }}; + } + const auto &intrinsic_matrix = wide_cam ? ECAM_INTRINSIC_MATRIX : FCAM_INTRINSIC_MATRIX; const auto &calibration = wide_cam ? s->scene.view_from_wide_calib : s->scene.view_from_calib; @@ -167,9 +179,23 @@ void AnnotatedCameraWidget::paintEvent(QPaintEvent *event) { skip_frame_count = 5; } + // 检查是否挂倒档 + bool is_reverse = sm["carState"].getCarState().getGearShifter() == cereal::CarState::GearShifter::REVERSE; + bool has_driver_cam = available_streams.count(VISION_STREAM_DRIVER); + + // 更新摄像头请求状态 + if (is_reverse && has_driver_cam) { + driver_cam_requested = true; + } else { + driver_cam_requested = false; + } + // Wide or narrow cam dependent on speed bool has_wide_cam = available_streams.count(VISION_STREAM_WIDE_ROAD); - if (has_wide_cam) { + if (driver_cam_requested) { + // 倒档时显示驾驶员摄像头 + CameraWidget::setStreamType(VISION_STREAM_DRIVER); + } else if (has_wide_cam) { float v_ego = sm["carState"].getCarState().getVEgo(); if ((v_ego < 10) || available_streams.size() == 1) { wide_cam_requested = true; @@ -178,10 +204,19 @@ void AnnotatedCameraWidget::paintEvent(QPaintEvent *event) { } //wide_cam_requested = wide_cam_requested && sm["selfdriveState"].getSelfdriveState().getExperimentalMode(); wide_cam_requested = wide_cam_requested && s->scene.carrot_experimental_mode; + CameraWidget::setStreamType(wide_cam_requested ? VISION_STREAM_WIDE_ROAD : VISION_STREAM_ROAD); + } else { + CameraWidget::setStreamType(VISION_STREAM_ROAD); + } + + // 设置帧ID + if (driver_cam_requested) { + // 驾驶员摄像头使用modelV2的帧ID(因为driverCameraState可能被忽略) + CameraWidget::setFrameId(sm["modelV2"].getModelV2().getFrameId()); + } else { + CameraWidget::setFrameId(sm["modelV2"].getModelV2().getFrameId()); } painter.beginNativePainting(); - CameraWidget::setStreamType(wide_cam_requested ? VISION_STREAM_WIDE_ROAD : VISION_STREAM_ROAD); - CameraWidget::setFrameId(sm["modelV2"].getModelV2().getFrameId()); CameraWidget::paintGL(); painter.endNativePainting(); } @@ -189,10 +224,13 @@ void AnnotatedCameraWidget::paintEvent(QPaintEvent *event) { painter.setRenderHint(QPainter::Antialiasing); painter.setPen(Qt::NoPen); + // 只在非驾驶员摄像头模式下绘制model + if (!driver_cam_requested) { model.draw(painter, rect()); + } painter.beginNativePainting(); try { - ui_draw(s, &model, width(), height()); + ui_draw(s, &model, width(), height()); } catch (const std::exception &e) { LOGE("ui_nvg_draw failed: %s", e.what()); print_stack_trace(); diff --git a/selfdrive/ui/qt/onroad/annotated_camera.h b/selfdrive/ui/qt/onroad/annotated_camera.h old mode 100644 new mode 100755 index e44c0c8a59..2c6bc2f772 --- a/selfdrive/ui/qt/onroad/annotated_camera.h +++ b/selfdrive/ui/qt/onroad/annotated_camera.h @@ -26,6 +26,7 @@ class AnnotatedCameraWidget : public CameraWidget { int skip_frame_count = 0; bool wide_cam_requested = false; + bool driver_cam_requested = false; protected: void paintGL() override; diff --git a/selfdrive/ui/qt/onroad/buttons.cc b/selfdrive/ui/qt/onroad/buttons.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/buttons.h b/selfdrive/ui/qt/onroad/buttons.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/driver_monitoring.cc b/selfdrive/ui/qt/onroad/driver_monitoring.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/driver_monitoring.h b/selfdrive/ui/qt/onroad/driver_monitoring.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/hud.cc b/selfdrive/ui/qt/onroad/hud.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/hud.h b/selfdrive/ui/qt/onroad/hud.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/model.cc b/selfdrive/ui/qt/onroad/model.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/model.h b/selfdrive/ui/qt/onroad/model.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/onroad_home.cc b/selfdrive/ui/qt/onroad/onroad_home.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/onroad/onroad_home.h b/selfdrive/ui/qt/onroad/onroad_home.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/prime_state.cc b/selfdrive/ui/qt/prime_state.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/prime_state.h b/selfdrive/ui/qt/prime_state.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/python_helpers.py b/selfdrive/ui/qt/python_helpers.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/qt_window.cc b/selfdrive/ui/qt/qt_window.cc old mode 100644 new mode 100755 index 8d3d7cf72e..0ff6e70ffb --- a/selfdrive/ui/qt/qt_window.cc +++ b/selfdrive/ui/qt/qt_window.cc @@ -2,12 +2,14 @@ void setMainWindow(QWidget *w) { const float scale = util::getenv("SCALE", 1.0f); - const QSize sz = QGuiApplication::primaryScreen()->size(); + //const QSize sz = QGuiApplication::primaryScreen()->size(); - if (Hardware::PC() && scale == 1.0 && !(sz - DEVICE_SCREEN_SIZE).isValid()) { - w->setMinimumSize(QSize(640, 480)); // allow resize smaller than fullscreen + if (Hardware::PC()) { + const QSize DEFAULT_WINDOW_SIZE(1790, 1000); + w->setMinimumSize(QSize(640, 480)); w->setMaximumSize(DEVICE_SCREEN_SIZE); - w->resize(sz); + w->resize(DEFAULT_WINDOW_SIZE); // 设置初始大小 + w->move(770, 558); // 将窗口向右移动560像素 } else { w->setFixedSize(DEVICE_SCREEN_SIZE * scale); } diff --git a/selfdrive/ui/qt/qt_window.h b/selfdrive/ui/qt/qt_window.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/request_repeater.cc b/selfdrive/ui/qt/request_repeater.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/request_repeater.h b/selfdrive/ui/qt/request_repeater.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/blocking_queue.h b/selfdrive/ui/qt/screenrecorder/blocking_queue.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/omx_encoder.cc b/selfdrive/ui/qt/screenrecorder/omx_encoder.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/omx_encoder.h b/selfdrive/ui/qt/screenrecorder/omx_encoder.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Audio.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Audio.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Component.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Component.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_ContentPipe.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_ContentPipe.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Core.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Core.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_CoreExt.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_CoreExt.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_IVCommon.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_IVCommon.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Image.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Image.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Index.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Index.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_IndexExt.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_IndexExt.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Other.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Other.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_QCOMExtns.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_QCOMExtns.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Skype_VideoExtensions.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Skype_VideoExtensions.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Types.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Types.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Video.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_Video.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_VideoExt.h b/selfdrive/ui/qt/screenrecorder/openmax/include/OMX_VideoExt.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/screenrecorder.cc b/selfdrive/ui/qt/screenrecorder/screenrecorder.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/screenrecorder/screenrecorder.h b/selfdrive/ui/qt/screenrecorder/screenrecorder.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/reset.cc b/selfdrive/ui/qt/setup/reset.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/reset.h b/selfdrive/ui/qt/setup/reset.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/setup.cc b/selfdrive/ui/qt/setup/setup.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/setup.h b/selfdrive/ui/qt/setup/setup.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/updater.cc b/selfdrive/ui/qt/setup/updater.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/setup/updater.h b/selfdrive/ui/qt/setup/updater.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/sidebar.cc b/selfdrive/ui/qt/sidebar.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/sidebar.h b/selfdrive/ui/qt/sidebar.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/spinner.cc b/selfdrive/ui/qt/spinner.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/spinner.h b/selfdrive/ui/qt/spinner.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/text.cc b/selfdrive/ui/qt/text.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/util.cc b/selfdrive/ui/qt/util.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/util.h b/selfdrive/ui/qt/util.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/cameraview.cc b/selfdrive/ui/qt/widgets/cameraview.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/cameraview.h b/selfdrive/ui/qt/widgets/cameraview.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/controls.cc b/selfdrive/ui/qt/widgets/controls.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/controls.h b/selfdrive/ui/qt/widgets/controls.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/input.cc b/selfdrive/ui/qt/widgets/input.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/input.h b/selfdrive/ui/qt/widgets/input.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/keyboard.cc b/selfdrive/ui/qt/widgets/keyboard.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/keyboard.h b/selfdrive/ui/qt/widgets/keyboard.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/offroad_alerts.cc b/selfdrive/ui/qt/widgets/offroad_alerts.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/offroad_alerts.h b/selfdrive/ui/qt/widgets/offroad_alerts.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/prime.cc b/selfdrive/ui/qt/widgets/prime.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/prime.h b/selfdrive/ui/qt/widgets/prime.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/scrollview.cc b/selfdrive/ui/qt/widgets/scrollview.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/scrollview.h b/selfdrive/ui/qt/widgets/scrollview.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/ssh_keys.cc b/selfdrive/ui/qt/widgets/ssh_keys.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/ssh_keys.h b/selfdrive/ui/qt/widgets/ssh_keys.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/toggle.cc b/selfdrive/ui/qt/widgets/toggle.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/toggle.h b/selfdrive/ui/qt/widgets/toggle.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/wifi.cc b/selfdrive/ui/qt/widgets/wifi.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/widgets/wifi.h b/selfdrive/ui/qt/widgets/wifi.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/window.cc b/selfdrive/ui/qt/window.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/qt/window.h b/selfdrive/ui/qt/window.h old mode 100644 new mode 100755 diff --git a/selfdrive/ui/soundd.py b/selfdrive/ui/soundd.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/.gitignore b/selfdrive/ui/tests/.gitignore old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/__init__.py b/selfdrive/ui/tests/__init__.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/test_runner.cc b/selfdrive/ui/tests/test_runner.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/test_soundd.py b/selfdrive/ui/tests/test_soundd.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/test_translations.cc b/selfdrive/ui/tests/test_translations.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/test_translations.py b/selfdrive/ui/tests/test_translations.py old mode 100644 new mode 100755 diff --git a/selfdrive/ui/tests/test_ui/template.html b/selfdrive/ui/tests/test_ui/template.html old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/README.md b/selfdrive/ui/translations/README.md old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/languages.json b/selfdrive/ui/translations/languages.json old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/main_ar.ts b/selfdrive/ui/translations/main_ar.ts old mode 100644 new mode 100755 index 6471159616..335c1a0dcd --- a/selfdrive/ui/translations/main_ar.ts +++ b/selfdrive/ui/translations/main_ar.ts @@ -87,6 +87,705 @@ من أجل "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ رفض، إلغاء التثبيت %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - إعادة ضبط المعايرة + إعادة ضبط المعايرة RESET - إعادة الضبط + إعادة الضبط Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - إعادة الضبط + إعادة الضبط Review @@ -286,6 +1012,81 @@ PAIR إقران + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -378,6 +1179,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp جارٍ التثبيت... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -456,6 +1302,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. لقد اكتشف openpilot تغييراً في موقع تركيب الجهاز. تأكد من تثبيت الجهاز بشكل كامل في موقعه وتثبيته بإحكام على الزجاج الأمامي. + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -529,6 +1383,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp إلغاء + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -583,7 +1452,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -622,6 +1491,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now الآن + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -694,6 +1583,10 @@ This may take up to a minute. Firehose + + CarrotPilot + + Setup @@ -1130,6 +2023,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. تمكين مراقبة السائق حتى عندما لا يكون نظام OpenPilot مُفعّلاً. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_de.ts b/selfdrive/ui/translations/main_de.ts old mode 100644 new mode 100755 index bdda0484d4..30f788e835 --- a/selfdrive/ui/translations/main_de.ts +++ b/selfdrive/ui/translations/main_de.ts @@ -87,6 +87,705 @@ für "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ Ablehnen, deinstallieren %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - Neu kalibrieren + Neu kalibrieren RESET - RESET + RESET Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - Zurücksetzen + Zurücksetzen Review @@ -286,6 +1012,81 @@ PAIR + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -374,6 +1175,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Installiere... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -451,6 +1297,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -524,6 +1378,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Aktivieren + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -578,7 +1447,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -605,6 +1474,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -676,6 +1565,10 @@ This may take up to a minute. Firehose + + CarrotPilot + + Setup @@ -1114,6 +2007,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_en.ts b/selfdrive/ui/translations/main_en.ts old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/main_es.ts b/selfdrive/ui/translations/main_es.ts old mode 100644 new mode 100755 index 8168e126e3..6088d13ffc --- a/selfdrive/ui/translations/main_es.ts +++ b/selfdrive/ui/translations/main_es.ts @@ -87,6 +87,705 @@ para "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ Rechazar, desinstalar %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -184,11 +910,11 @@ Reset Calibration - Formatear Calibración + Formatear Calibración RESET - REINICIAR + REINICIAR Are you sure you want to reset calibration? @@ -196,7 +922,7 @@ Reset - Formatear + Formatear Review Training Guide @@ -286,6 +1012,81 @@ Disengage to Power Off Desactivar para apagar + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -374,6 +1175,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Instalando... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -452,6 +1298,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. openpilot detectó un cambio en la posición de montaje del dispositivo. Asegúrese de que el dispositivo esté completamente asentado en el soporte y que el soporte esté firmemente asegurado al parabrisas. + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -525,6 +1379,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Cancelar + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -579,7 +1448,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot now @@ -606,6 +1475,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp hace %n días + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -678,6 +1567,10 @@ Esto puede tardar un minuto. Firehose + + CarrotPilot + + Setup @@ -1114,6 +2007,18 @@ Esto puede tardar un minuto. Enable the openpilot longitudinal control (alpha) toggle to allow Experimental mode. Activar el control longitudinal (fase experimental) para permitir el modo Experimental. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_fr.ts b/selfdrive/ui/translations/main_fr.ts old mode 100644 new mode 100755 index 3fe002e03d..cbe0077b6d --- a/selfdrive/ui/translations/main_fr.ts +++ b/selfdrive/ui/translations/main_fr.ts @@ -87,6 +87,705 @@ pour "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ Refuser, désinstaller %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - Réinitialiser la calibration + Réinitialiser la calibration RESET - RÉINITIALISER + RÉINITIALISER Are you sure you want to reset calibration? @@ -184,7 +910,7 @@ Reset - Réinitialiser + Réinitialiser Review Training Guide @@ -286,6 +1012,81 @@ PAIR ASSOCIER + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -374,6 +1175,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Installation... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -452,6 +1298,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. openpilot a détecté un changement dans la position de montage de l'appareil. Assurez-vous que l'appareil est totalement inséré dans le support et que le support est fermement fixé au pare-brise. + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -525,6 +1379,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Annuler + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -579,7 +1448,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -606,6 +1475,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now maintenant + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -678,6 +1567,10 @@ Cela peut prendre jusqu'à une minute. Firehose + + CarrotPilot + + Setup @@ -1114,6 +2007,18 @@ Cela peut prendre jusqu'à une minute. Enable driver monitoring even when openpilot is not engaged. Activer la surveillance conducteur lorsque openpilot n'est pas actif. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_ja.ts b/selfdrive/ui/translations/main_ja.ts old mode 100644 new mode 100755 index d242875937..41064b7cd0 --- a/selfdrive/ui/translations/main_ja.ts +++ b/selfdrive/ui/translations/main_ja.ts @@ -87,6 +87,705 @@ [%1] + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ 同意しない(%1をアンインストール) + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - キャリブレーションリセット + キャリブレーションリセット RESET - リセット + リセット Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - リセット + リセット Review @@ -286,6 +1012,81 @@ PAIR OK + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -373,6 +1174,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp インストール中... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -451,6 +1297,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 デバイスの温度が高すぎるためシステム起動前の冷却中です。現在のデバイス内部温度: %1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -524,6 +1378,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp 有効にする + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -578,7 +1447,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -602,6 +1471,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now たった今 + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -674,6 +1563,10 @@ This may take up to a minute. Firehose データ学習 + + CarrotPilot + + Setup @@ -1110,6 +2003,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. openpilotが作動していない場合でも運転者モニタリングを有効にする。 + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts old mode 100644 new mode 100755 index a78ffed84a..94475c81e3 --- a/selfdrive/ui/translations/main_ko.ts +++ b/selfdrive/ui/translations/main_ko.ts @@ -117,6 +117,674 @@ SELECT YOUR CAR 차량선택 + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + ConfirmationDialog @@ -318,7 +986,7 @@ Reset - 초기화 + 초기화 Review @@ -381,7 +1049,11 @@ 보기 - Reboot & Disengage to Calibration + Git pull & Reboot? + + + + Disengage to ReCalibration @@ -389,39 +1061,39 @@ DrawCarrot MANUAL - 수동운전 + 수동운전 CRUISE - 정속주행 + 정속주행 E2ECRUISE - E2E주행 + E2E주행 CRUISE READY - 크루즈준비 + 크루즈준비 SIGN DETECTED - 신호감지 + 신호감지 ECO - 연비 + 연비 SAFE - 안전 + 안전 NORM - 일반 + 일반 FAST - 고속 + 고속 Start @@ -456,7 +1128,23 @@ 레인리스 - ERRM + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 @@ -671,6 +1359,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 장치 온도가 너무 높습니다. 시작하기 전에 시스템을 냉각하고 있습니다. 현재 내부 구성 요소 온도: %1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -759,17 +1455,6 @@ Firehose Mode allows you to maximize your training data uploads to improve openp 신호대기 - - TurnInfoDrawer - - ETA - 도착 - - - MIN - - - PrimeAdWidget @@ -824,7 +1509,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - 오픈파일럿 + 오픈파일럿 %n minute(s) ago @@ -942,7 +1627,11 @@ This may take up to a minute. Carrot - 당근설정 + 당근설정 + + + CarrotPilot + @@ -1393,6 +2082,17 @@ This may take up to a minute. 운전 중에 마이크 오디오를 녹음하고 저장하십시오. 오디오는 comma connect의 대시캠 비디오에 포함됩니다. + + TurnInfoDrawer + + ETA + 도착 + + + MIN + + + Updater diff --git a/selfdrive/ui/translations/main_nl.ts b/selfdrive/ui/translations/main_nl.ts old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/main_pl.ts b/selfdrive/ui/translations/main_pl.ts old mode 100644 new mode 100755 diff --git a/selfdrive/ui/translations/main_pt-BR.ts b/selfdrive/ui/translations/main_pt-BR.ts old mode 100644 new mode 100755 index 16edf605ad..98cd0faa00 --- a/selfdrive/ui/translations/main_pt-BR.ts +++ b/selfdrive/ui/translations/main_pt-BR.ts @@ -87,6 +87,705 @@ para "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ Rejeitar, desintalar %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - Reinicializar Calibragem + Reinicializar Calibragem RESET - RESET + RESET Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - Resetar + Resetar Review @@ -286,6 +1012,81 @@ PAIR PAREAR + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -374,6 +1175,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Instalando... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -452,6 +1298,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 Temperatura do dispositivo muito alta. O sistema está sendo resfriado antes de iniciar. A temperatura atual do componente interno é: %1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -525,6 +1379,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Ativar + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -579,7 +1448,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -606,6 +1475,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now agora + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -678,6 +1567,10 @@ Isso pode levar até um minuto. Firehose Firehose + + CarrotPilot + + Setup @@ -1114,6 +2007,18 @@ Isso pode levar até um minuto. Enable driver monitoring even when openpilot is not engaged. Habilite o monitoramento do motorista mesmo quando o openpilot não estiver acionado. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_th.ts b/selfdrive/ui/translations/main_th.ts old mode 100644 new mode 100755 index fc5e690ce0..050a159c51 --- a/selfdrive/ui/translations/main_th.ts +++ b/selfdrive/ui/translations/main_th.ts @@ -87,6 +87,705 @@ สำหรับ "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ ปฏิเสธ และถอนการติดตั้ง %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - รีเซ็ตการคาลิเบรท + รีเซ็ตการคาลิเบรท RESET - รีเซ็ต + รีเซ็ต Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - รีเซ็ต + รีเซ็ต Review @@ -286,6 +1012,81 @@ PAIR จับคู่ + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -373,6 +1174,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp กำลังติดตั้ง... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -451,6 +1297,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. openpilot ตรวจพบการเปลี่ยนแปลงของตำแหน่งที่ติดตั้ง กรุณาตรวจสอบว่าได้เลื่อนอุปกรณ์เข้ากับจุดติดตั้งจนสุดแล้ว และจุดติดตั้งได้ยึดติดกับกระจกหน้าอย่างแน่นหนา + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -524,6 +1378,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp ยกเลิก + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -578,7 +1447,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -602,6 +1471,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now ตอนนี้ + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -674,6 +1563,10 @@ This may take up to a minute. Firehose + + CarrotPilot + + Setup @@ -1110,6 +2003,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_tr.ts b/selfdrive/ui/translations/main_tr.ts old mode 100644 new mode 100755 index 8484f23160..b9a7323d75 --- a/selfdrive/ui/translations/main_tr.ts +++ b/selfdrive/ui/translations/main_tr.ts @@ -87,6 +87,705 @@ için "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ Reddet, Kurulumu kaldır. %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - Kalibrasyonu sıfırla + Kalibrasyonu sıfırla RESET - SIFIRLA + SIFIRLA Are you sure you want to reset calibration? @@ -266,10 +992,6 @@ Disengage to Power Off Bağlantıyı kes ve Cihazı kapat - - Reset - - Review @@ -286,6 +1008,81 @@ PAIR + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -373,6 +1170,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Yükleniyor... + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -450,6 +1292,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -523,6 +1373,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -577,7 +1442,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -601,6 +1466,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -672,6 +1557,10 @@ This may take up to a minute. Firehose + + CarrotPilot + + Setup @@ -1108,6 +1997,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/translations/main_zh-CHS.ts b/selfdrive/ui/translations/main_zh-CHS.ts old mode 100644 new mode 100755 index 9dfc6d12d3..76729b3bd3 --- a/selfdrive/ui/translations/main_zh-CHS.ts +++ b/selfdrive/ui/translations/main_zh-CHS.ts @@ -91,37 +91,37 @@ CarrotPanel Reboot - 重启 + 重启 Exit - 退出 + 退出 openpilot - openpilot + openpilot %n minute(s) ago - + %n 分钟前 %n hour(s) ago - + %n 小时前 %n day(s) ago - + %n 天前 now - 现在 + 现在 Start @@ -153,15 +153,15 @@ Button: Cruise Button Mode - 按键:巡航按钮模式 + 按键:巡航按钮模式 0:Normal,1:User1,2:User2 - 0:默认, 1:用户1, 2:用户2 + 0:默认, 1:用户1, 2:用户2 Button: Cancel Button Mode - 按键:取消按钮模式 + 按键:取消按钮模式 0:Long,1:Long+Lat @@ -169,23 +169,23 @@ Button: LFA Button Mode - 按键:LFA 按钮模式 + 按键:LFA 按钮模式 0:Normal,1:Decel&Stop&LeadCarReady - 0:默认, 1:减速&停车&前车就绪 + 0:默认, 1:减速&停车&前车就绪 Button: Cruise Speed Unit(Basic) - 按键:巡航步进(基础) + 按键:巡航步进(基础) Button: Cruise Speed Unit(Extra) - 按键:巡航步进(扩展) + 按键:巡航步进(扩展) CRUISE: Eco control(4km/h) - 巡航:经济控制(4km/h) + 巡航:经济控制(4km/h) Temporarily increasing the set speed to improve fuel efficiency. @@ -217,15 +217,15 @@ Dynamic GAP control - 动态间距控制 + 动态间距控制 Dynamic GAP control (LaneChange) - 动态间距控制(变道) + 动态间距控制(变道) DRIVEMODE: Select - 驾驶模式:选择 + 驾驶模式:选择 1:ECO,2:SAFE,3:NORMAL,4:HIGH @@ -233,15 +233,15 @@ DRIVEMODE: Auto - 驾驶模式:自动 + 驾驶模式:自动 NORMAL mode only - 仅在标准模式下生效 + 仅在标准模式下生效 TrafficLight DetectMode - 红绿灯检测模式 + 红绿灯检测模式 0:None, 1:Stopping only, 2: Stop & Go @@ -257,15 +257,15 @@ Laneline mode speed(0) - 车道线模式速度(0) + 车道线模式速度(0) Laneline mode, lat_mpc control used - 车道线模式,使用横向 MPC 控制 + 车道线模式,使用横向 MPC 控制 Laneline mode curve speed(0) - 车道线模式弯道速度(0) + 车道线模式弯道速度(0) Laneline mode, high speed only @@ -273,7 +273,7 @@ AdjustLaneOffset(0)cm - 车道偏移调整(0)cm + 车道偏移调整(0)cm LaneChange need torque @@ -285,7 +285,7 @@ LaneChange delay - 变道延迟 + 变道延迟 x0.1sec @@ -300,31 +300,31 @@ -1:忽略BSD, 0:启用BSD检测, 1:限制转向扭矩 - LAT: SteerRatiox0.1(0) + LAT: SteerRatiox0.1(0) 横向:转向比x0.1(0) - Custom SteerRatio + Custom SteerRatio 自定义转向比 - LAT: SteerRatioRatex0.01(100) + LAT: SteerRatioRatex0.01(100) 横向:转向比变化率x0.01(100) - SteerRatio apply rate + SteerRatio apply rate 转向比应用速率 - LAT: PathOffset + LAT: PathOffset 横向:路径偏移 - (-)left, (+)right + (-)left, (+)right (-)左移, (+)右移 - LAT:SteerActuatorDelay(30) + LAT:SteerActuatorDelay(30) 横向:转向执行器延迟(30) @@ -332,75 +332,75 @@ 单位 0.01,0 表示实时延迟 - LAT: TorqueCustom(0) + LAT: TorqueCustom(0) 横向:自定义扭矩(0) - LAT: TorqueAccelFactor(2500) + LAT: TorqueAccelFactor(2500) 横向:扭矩加速度系数(2500) - LAT: TorqueFriction(100) + LAT: TorqueFriction(100) 横向:扭矩摩擦(100) - LAT: CustomSteerMax(0) + LAT: CustomSteerMax(0) 横向:自定义最大转向(0) - LAT: CustomSteerDeltaUp(0) + LAT: CustomSteerDeltaUp(0) 横向:自定义转向上升速率(0) - LAT: CustomSteerDeltaDown(0) + LAT: CustomSteerDeltaDown(0) 横向:自定义转向下降速率(0) - LONG: P Gain(100) + LONG: P Gain(100) 纵向:P增益(100) - LONG: I Gain(0) + LONG: I Gain(0) 纵向:I增益(0) - LONG: FF Gain(100) + LONG: FF Gain(100) 纵向:前馈增益(100) - LONG: ActuatorDelay(20) + LONG: ActuatorDelay(20) 纵向:执行器延迟(20) - LONG: VEgoStopping(50) + LONG: VEgoStopping(50) 纵向:自车停止因子(50) - Stopping factor + Stopping factor 停止因子 - LONG: Radar reaction factor(100) + LONG: Radar reaction factor(100) 纵向:雷达反应系数(100) - LONG: StoppingStartAccelx0.01(-40) + LONG: StoppingStartAccelx0.01(-40) 纵向:停止开始加速度x0.01(-40) - LONG: StopDistance (600)cm + LONG: StopDistance (600)cm 纵向:停止距离(600)cm - LONG: Jerk Lead Factor (0) + LONG: Jerk Lead Factor (0) 纵向:前车冲击因子(0) - x0.01 + x0.01 x0.01 - ACCEL:0km/h(160) + ACCEL:0km/h(160) 加速:0km/h(160) @@ -408,27 +408,27 @@ 指定速度所需加速度(x0.01 m/s^2)。 - ACCEL:10km/h(160) + ACCEL:10km/h(160) 加速:10km/h(160) - ACCEL:40km/h(120) + ACCEL:40km/h(120) 加速:40km/h(120) - ACCEL:60km/h(100) + ACCEL:60km/h(100) 加速:60km/h(100) - ACCEL:80km/h(80) + ACCEL:80km/h(80) 加速:80km/h(80) - ACCEL:110km/h(70) + ACCEL:110km/h(70) 加速:110km/h(70) - ACCEL:140km/h(60) + ACCEL:140km/h(60) 加速:140km/h(60) @@ -440,7 +440,7 @@ 89:基础;仪表盘转向报错 85~87 - Debug Info + Debug Info 调试信息 @@ -448,43 +448,43 @@ 胎压监测信息 - Time Info + Time Info 时间信息 - 0:None,1:Time/Date,2:Time,3:Date + 0:None,1:Time/Date,2:Time,3:Date 0:无, 1:时间/日期, 2:时间, 3:日期 - Path End + Path End 路径终点 - 0:None,1:Display + 0:None,1:Display 0:不显示, 1:显示 - Device State + Device State 设备状态 - Lane Info + Lane Info 车道信息 - -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge -1:无, 0:路径, 1:路径+车道, 2:路径+车道+路缘 - Radar Info + Radar Info 雷达信息 - 0:None,1:Display,2:RelPos,3:Stopped Car + 0:None,1:Display,2:RelPos,3:Stopped Car 0:不显示, 1:显示, 2:相对位置, 3:静止车辆 - Route Info + Route Info 路线信息 @@ -492,39 +492,39 @@ 调试图表 - Brightness ratio + Brightness ratio 亮度比例 - Path Color: Cruise OFF + Path Color: Cruise OFF 路径颜色:未巡航 - (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black (+10:描边)0:红,1:橙,2:黄,3:绿,4:蓝,5:靛,6:紫,7:棕,8:白,9:黑 - Path Mode: Laneless + Path Mode: Laneless 路径模式:无车道线 - 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ 0:普通,1,2:推荐,3,4:^^,5,6:推荐,7,8:^^,9~12:平滑^^ - Path Color: Laneless + Path Color: Laneless 路径颜色:无车道线 - Path Mode: LaneMode + Path Mode: LaneMode 路径模式:有车道线 - Path Color: LaneMode + Path Color: LaneMode 路径颜色:有车道线 - Path Width ratio(100%) + Path Width ratio(100%) 路径宽度比例(100%) @@ -807,25 +807,21 @@ Model TurnSpeed Factor(0) 模型转弯速度系数(0) - - Enable Software Menu - 启用软件菜单 - Select your car 选择你的车型 Wait for list... - 等待列表... + 等待列表... Select Manufacturer 选择厂商 - SELECT YOUR CAR - 选择你的车型 + LAT:LatSmoothSec(13) + @@ -858,27 +854,27 @@ DestinationWidget Home - + Work - 公司 + 公司 No destination set - 未设置目的地 + 未设置目的地 home - + work - 公司 + 公司 No %1 location set - 未设置 %1 位置 + 未设置 %1 位置 @@ -940,11 +936,11 @@ Reset Calibration - 重置设备校准 + 重置设备校准 RESET - 重置 + 重置 Are you sure you want to reset calibration? @@ -1036,7 +1032,7 @@ Reset - 重置 + 重置 Review @@ -1104,30 +1100,54 @@ Reboot & Disengage to Calibration - 请重启并取消openpilot以进行校准 + 请重启并取消openpilot以进行校准 + + + Disengage to ReCalibration + DrawCarrot ECO - 经济 + 经济 SAFE - 安全 + 安全 NORM - 标准 + 标准 FAST - 激进 + 激进 ERRM - 错误 + 错误 + + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + @@ -1341,6 +1361,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 设备温度过高。系统正在冷却中,等冷却完毕后才会启动。目前内部组件温度:%1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -1475,371 +1503,371 @@ Firehose Mode allows you to maximize your training data uploads to improve openp QObject Button: Cruise Button Mode - 按键:巡航按钮模式 + 按键:巡航按钮模式 0:Normal,1:User1,2:User2 - 0:默认, 1:用户1, 2:用户2 + 0:默认, 1:用户1, 2:用户2 Button: Cancel Button Mode - 按键:取消按钮模式 + 按键:取消按钮模式 0:Long,1:Long+Lat - 0:纵向, 1:纵向+横向 + 0:纵向, 1:纵向+横向 Button: LFA Button Mode - 按键:LFA 按钮模式 + 按键:LFA 按钮模式 0:Normal,1:Decel&Stop&LeadCarReady - 0:默认, 1:减速&停车&前车就绪 + 0:默认, 1:减速&停车&前车就绪 Button: Cruise Speed Unit(Basic) - 按键:巡航步进(基础) + 按键:巡航步进(基础) Button: Cruise Speed Unit(Extra) - 按键:巡航步进(扩展) + 按键:巡航步进(扩展) CRUISE: Eco control(4km/h) - 巡航:经济控制(4km/h) + 巡航:经济控制(4km/h) Temporarily increasing the set speed to improve fuel efficiency. - 短暂提高设定车速以提升燃油效率。 + 短暂提高设定车速以提升燃油效率。 CRUISE: Auto speed up (0%) - 巡航:自动提速 (0%) + 巡航:自动提速 (0%) Auto speed up based on the lead car up to RoadSpeedLimit. - 基于前车自动提速,最高不超过道路限速。 + 基于前车自动提速,最高不超过道路限速。 GAP1: Apply TFollow (110)x0.01s - 间距1:应用时距(110)x0.01秒 + 间距1:应用时距(110)x0.01秒 GAP2: Apply TFollow (120)x0.01s - 间距2:应用时距(120)x0.01秒 + 间距2:应用时距(120)x0.01秒 GAP3: Apply TFollow (160)x0.01s - 间距3:应用时距(160)x0.01秒 + 间距3:应用时距(160)x0.01秒 GAP4: Apply TFollow (180)x0.01s - 间距4:应用时距(180)x0.01秒 + 间距4:应用时距(180)x0.01秒 Dynamic GAP control - 动态间距控制 + 动态间距控制 Dynamic GAP control (LaneChange) - 动态间距控制(变道) + 动态间距控制(变道) DRIVEMODE: Select - 驾驶模式:选择 + 驾驶模式:选择 1:ECO,2:SAFE,3:NORMAL,4:HIGH - 1:节能, 2:安全, 3:标准, 4:高速 + 1:节能, 2:安全, 3:标准, 4:高速 DRIVEMODE: Auto - 驾驶模式:自动 + 驾驶模式:自动 NORMAL mode only - 仅在标准模式下生效 + 仅在标准模式下生效 TrafficLight DetectMode - 红绿灯检测模式 + 红绿灯检测模式 0:None, 1:Stopping only, 2: Stop & Go - 0:无, 1:仅停止, 2:停走 + 0:无, 1:仅停止, 2:停走 Laneline mode speed(0) - 车道线模式速度(0) + 车道线模式速度(0) Laneline mode, lat_mpc control used - 车道线模式,使用横向 MPC 控制 + 车道线模式,使用横向 MPC 控制 Laneline mode curve speed(0) - 车道线模式弯道速度(0) + 车道线模式弯道速度(0) Laneline mode, high speed only - 车道线模式,仅在高速下使用 + 车道线模式,仅在高速下使用 AdjustLaneOffset(0)cm - 车道偏移调整(0)cm + 车道偏移调整(0)cm LaneChange need torque - 变道需要扭矩 + 变道需要扭矩 -1:Disable lanechange, 0: no need torque, 1:need torque - -1:禁用变道, 0:无需扭矩, 1:需要扭矩 + -1:禁用变道, 0:无需扭矩, 1:需要扭矩 LaneChange delay - 变道延迟 + 变道延迟 x0.1sec - 单位0.1秒 + 单位0.1秒 LaneChange Bsd - 变道盲区检测 + 变道盲区检测 -1:ignore bsd, 0:BSD detect, 1: block steer torque - -1:忽略BSD, 0:检测BSD, 1:限制转向扭矩 + -1:忽略BSD, 0:检测BSD, 1:限制转向扭矩 LAT: SteerRatiox0.1(0) - 横向:转向比x0.1(0) + 横向:转向比x0.1(0) Custom SteerRatio - 自定义转向比 + 自定义转向比 LAT: SteerRatioRatex0.01(100) - 横向:转向比变化率x0.01(100) + 横向:转向比变化率x0.01(100) SteerRatio apply rate - 转向比应用速率 + 转向比应用速率 LAT: PathOffset - 横向:路径偏移 + 横向:路径偏移 (-)left, (+)right - (-)左移, (+)右移 + (-)左移, (+)右移 LAT:SteerActuatorDelay(30) - 横向:转向执行器延迟(30) + 横向:转向执行器延迟(30) x0.01, 0:LiveDelay - 单位0.01,0为实时延迟 + 单位0.01,0为实时延迟 LAT: TorqueCustom(0) - 横向:自定义扭矩(0) + 横向:自定义扭矩(0) LAT: TorqueAccelFactor(2500) - 横向:扭矩加速度系数(2500) + 横向:扭矩加速度系数(2500) LAT: TorqueFriction(100) - 横向:扭矩摩擦(100) + 横向:扭矩摩擦(100) LAT: CustomSteerMax(0) - 横向:自定义最大转向(0) + 横向:自定义最大转向(0) LAT: CustomSteerDeltaUp(0) - 横向:自定义转向上升速率(0) + 横向:自定义转向上升速率(0) LAT: CustomSteerDeltaDown(0) - 横向:自定义转向下降速率(0) + 横向:自定义转向下降速率(0) LONG: P Gain(100) - 纵向:P增益(100) + 纵向:P增益(100) LONG: I Gain(0) - 纵向:I增益(0) + 纵向:I增益(0) LONG: FF Gain(100) - 纵向:前馈增益(100) + 纵向:前馈增益(100) LONG: ActuatorDelay(20) - 纵向:执行器延迟(20) + 纵向:执行器延迟(20) LONG: VEgoStopping(50) - 纵向:自车停止因子(50) + 纵向:自车停止因子(50) Stopping factor - 停止因子 + 停止因子 LONG: Radar reaction factor(100) - 纵向:雷达反应系数(100) + 纵向:雷达反应系数(100) LONG: StoppingStartAccelx0.01(-40) - 纵向:停止开始加速度x0.01(-40) + 纵向:停止开始加速度x0.01(-40) LONG: StopDistance (600)cm - 纵向:停止距离(600)cm + 纵向:停止距离(600)cm LONG: Jerk Lead Factor (0) - 纵向:前车冲击因子(0) + 纵向:前车冲击因子(0) x0.01 - x0.01 + x0.01 ACCEL:0km/h(160) - 加速:0km/h(160) + 加速:0km/h(160) Acceleration needed at specified speed.(x0.01m/s^2) - 指定速度所需加速度(x0.01m/s^2)。 + 指定速度所需加速度(x0.01m/s^2)。 ACCEL:10km/h(160) - 加速:10km/h(160) + 加速:10km/h(160) ACCEL:40km/h(120) - 加速:40km/h(120) + 加速:40km/h(120) ACCEL:60km/h(100) - 加速:60km/h(100) + 加速:60km/h(100) ACCEL:80km/h(80) - 加速:80km/h(80) + 加速:80km/h(80) ACCEL:110km/h(70) - 加速:110km/h(70) + 加速:110km/h(70) ACCEL:140km/h(60) - 加速:140km/h(60) + 加速:140km/h(60) MaxAngleFrames(89) - 最大角度帧(89) + 最大角度帧(89) 89:Basic, steering instrument panel error 85~87 - 89:基础;仪表转向错误85~87 + 89:基础;仪表转向错误85~87 Debug Info - 调试信息 + 调试信息 Tpms Info - 胎压信息 + 胎压信息 Time Info - 时间信息 + 时间信息 0:None,1:Time/Date,2:Time,3:Date - 0:无, 1:时间/日期, 2:时间, 3:日期 + 0:无, 1:时间/日期, 2:时间, 3:日期 Path End - 路径终点 + 路径终点 0:None,1:Display - 0:不显示, 1:显示 + 0:不显示, 1:显示 Device State - 设备状态 + 设备状态 Lane Info - 车道信息 + 车道信息 -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge - -1:无, 0:路径, 1:路径+车道, 2:路径+车道+路缘 + -1:无, 0:路径, 1:路径+车道, 2:路径+车道+路缘 Radar Info - 雷达信息 + 雷达信息 0:None,1:Display,2:RelPos,3:Stopped Car - 0:不显示, 1:显示, 2:相对位置, 3:静止车辆 + 0:不显示, 1:显示, 2:相对位置, 3:静止车辆 Route Info - 路线信息 + 路线信息 Debug plot - 调试曲线 + 调试曲线 Brightness ratio - 亮度比例 + 亮度比例 Path Color: Cruise OFF - 路径颜色:未巡航 + 路径颜色:未巡航 (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black - (+10:描边)0:红,1:橙,2:黄,3:绿,4:蓝,5:靛,6:紫,7:棕,8:白,9:黑 + (+10:描边)0:红,1:橙,2:黄,3:绿,4:蓝,5:靛,6:紫,7:棕,8:白,9:黑 Path Mode: Laneless - 路径模式:无车道线 + 路径模式:无车道线 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ - 0:普通,1,2:推荐,3,4:^^,5,6:推荐,7,8:^^,9~12:平滑^^ + 0:普通,1,2:推荐,3,4:^^,5,6:推荐,7,8:^^,9~12:平滑^^ Path Color: Laneless - 路径颜色:无车道线 + 路径颜色:无车道线 Path Mode: LaneMode - 路径模式:有车道线 + 路径模式:有车道线 Path Color: LaneMode - 路径颜色:有车道线 + 路径颜色:有车道线 Path Width ratio(100%) - 路径宽度比例(100%) + 路径宽度比例(100%) km @@ -1965,119 +1993,123 @@ This may take up to a minute. Carrot - Carrot + Carrot Share Data - 分享数据 + 分享数据 0:None, 1:TCP JSON Data(Reboot required) - 0:无, 1:TCP JSON数据(需重启) + 0:无, 1:TCP JSON数据(需重启) Hardware is C3x Lite - 硬件为 C3x Lite + 硬件为 C3x Lite Hardware is C3x - 硬件为 C3x + 硬件为 C3x Hardware is C3 - 硬件为 C3 + 硬件为 C3 Hardware is TICI - 硬件为 TICI + 硬件为 TICI Hardware is EON - 硬件为 EON + 硬件为 EON Hardware is Unknown - 硬件未知 + 硬件未知 Open SSH - 开启 SSH + 开启 SSH Record UI - 录制 UI + 录制 UI Stop Recording UI - 停止录制 UI + 停止录制 UI Reset UI - 重置 UI + 重置 UI Developer Menu - 开发者菜单 + 开发者菜单 Reset Calibration - 重置校准 + 重置校准 Are you sure you want to reset calibration? - 您确定要重置校准吗? + 您确定要重置校准吗? Review Training Guide - 查看训练指南 + 查看训练指南 Regulatory - 监管信息 + 监管信息 Change Language - 修改语言 + 修改语言 Are you sure you want to reset all settings? - 您确定要重置所有设置吗? + 您确定要重置所有设置吗? Reset - 重置 + 重置 Disengaged - 控制取消 + 控制取消 Engaged - 控制激活 + 控制激活 Warning - 警告 + 警告 Critical - 严重 + 严重 openpilot Longitudinal Control (Alpha) - openpilot 纵向控制 (Alpha) + openpilot 纵向控制 (Alpha) WARNING: openpilot longitudinal control is in alpha for this car and will take over the gas and stop buttons. Look for once it has been tested and verified. - 警告:此车辆的 openpilot 纵向控制处于 alpha 阶段,将接管加速和停止按钮。请等待测试和验证完成。 + 警告:此车辆的 openpilot 纵向控制处于 alpha 阶段,将接管加速和停止按钮。请等待测试和验证完成。 Show Debug UI - 显示调试 UI + 显示调试 UI Display debug UI elements. - 显示调试 UI 元素。 + 显示调试 UI 元素。 + + + CarrotPilot + CarrotPilot @@ -2340,33 +2372,6 @@ This may take up to a minute. 从未更新 - - SettingsWindow - - CarrotPilot - CarrotPilot - - - Device - 设备 - - - Network - 网络 - - - Toggles - 设置 - - - Software - 软件 - - - Developer - 开发者 - - SshControl diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts old mode 100644 new mode 100755 index 6d50bf92b8..48783993c8 --- a/selfdrive/ui/translations/main_zh-CHT.ts +++ b/selfdrive/ui/translations/main_zh-CHT.ts @@ -87,6 +87,705 @@ 給 "%1" + + CarrotPanel + + Start + + + + Cruise + + + + Speed + + + + Tuning + + + + Disp + + + + Path + + + + Button: Cruise Button Mode + + + + 0:Normal,1:User1,2:User2 + + + + Button: Cancel Button Mode + + + + 0:Long,1:Long+Lat + + + + Button: LFA Button Mode + + + + 0:Normal,1:Decel&Stop&LeadCarReady + + + + Button: Cruise Speed Unit(Basic) + + + + Button: Cruise Speed Unit(Extra) + + + + CRUISE: Eco control(4km/h) + + + + Temporarily increasing the set speed to improve fuel efficiency. + + + + CRUISE: Auto speed up (0%) + + + + Auto speed up based on the lead car up to RoadSpeedLimit. + + + + GAP1: Apply TFollow (110)x0.01s + + + + GAP2: Apply TFollow (120)x0.01s + + + + GAP3: Apply TFollow (160)x0.01s + + + + GAP4: Apply TFollow (180)x0.01s + + + + Dynamic GAP control + + + + Dynamic GAP control (LaneChange) + + + + DRIVEMODE: Select + + + + 1:ECO,2:SAFE,3:NORMAL,4:HIGH + + + + DRIVEMODE: Auto + + + + NORMAL mode only + + + + TrafficLight DetectMode + + + + 0:None, 1:Stopping only, 2: Stop & Go + + + + AChangeCostStarting + + + + TrafficStopDistanceAdjust + + + + Laneline mode speed(0) + + + + Laneline mode, lat_mpc control used + + + + Laneline mode curve speed(0) + + + + Laneline mode, high speed only + + + + AdjustLaneOffset(0)cm + + + + LaneChange need torque + + + + -1:Disable lanechange, 0: no need torque, 1:need torque + + + + LaneChange delay + + + + x0.1sec + + + + LaneChange Bsd + + + + -1:ignore bsd, 0:BSD detect, 1: block steer torque + + + + LAT: SteerRatiox0.1(0) + + + + Custom SteerRatio + + + + LAT: SteerRatioRatex0.01(100) + + + + SteerRatio apply rate + + + + LAT: PathOffset + + + + (-)left, (+)right + + + + LAT:SteerActuatorDelay(30) + + + + x0.01, 0:LiveDelay + + + + LAT:LatSmoothSec(13) + + + + x0.01 + + + + LAT: TorqueCustom(0) + + + + LAT: TorqueAccelFactor(2500) + + + + LAT: TorqueFriction(100) + + + + LAT: CustomSteerMax(0) + + + + LAT: CustomSteerDeltaUp(0) + + + + LAT: CustomSteerDeltaDown(0) + + + + LONG: P Gain(100) + + + + LONG: I Gain(0) + + + + LONG: FF Gain(100) + + + + LONG: ActuatorDelay(20) + + + + LONG: VEgoStopping(50) + + + + Stopping factor + + + + LONG: Radar reaction factor(100) + + + + LONG: StoppingStartAccelx0.01(-40) + + + + LONG: StopDistance (600)cm + + + + LONG: Jerk Lead Factor (0) + + + + ACCEL:0km/h(160) + + + + Acceleration needed at specified speed.(x0.01m/s^2) + + + + ACCEL:10km/h(160) + + + + ACCEL:40km/h(120) + + + + ACCEL:60km/h(100) + + + + ACCEL:80km/h(80) + + + + ACCEL:110km/h(70) + + + + ACCEL:140km/h(60) + + + + MaxAngleFrames(89) + + + + 89:Basic, steering instrument panel error 85~87 + + + + Debug Info + + + + Tpms Info + + + + Time Info + + + + 0:None,1:Time/Date,2:Time,3:Date + + + + Path End + + + + 0:None,1:Display + + + + Device State + + + + Lane Info + + + + -1:None, 0:Path, 1:Path+Lane, 2: Path+Lane+RoadEdge + + + + Radar Info + + + + 0:None,1:Display,2:RelPos,3:Stopped Car + + + + Route Info + + + + Debug plot + + + + Brightness ratio + + + + Path Color: Cruise OFF + + + + (+10:Stroke)0:Red,1:Orange,2:Yellow,3:Green,4:Blue,5:Indigo,6:Violet,7:Brown,8:White,9:Black + + + + Path Mode: Laneless + + + + 0:Normal,1,2:Rec,3,4:^^,5,6:Rec,7,8:^^,9,10,11,12:Smooth^^ + + + + Path Color: Laneless + + + + Path Mode: LaneMode + + + + Path Color: LaneMode + + + + Path Width ratio(100%) + + + + SELECT YOUR CAR + + + + Select Manufacturer + + + + Select your car + + + + HYUNDAI: CAMERA SCC + + + + 1:Connect the SCC's CAN line to CAM, 2:Sync Cruise state, 3:StockLong + + + + CANFD: HDA2 mode + + + + 1:HDA2,2:HDA2+BSM + + + + Enable Radar Track + + + + 1:Enable RadarTrack, -1,2:Disable use HKG SCC radar at all times + + + + Auto Cruise control + + + + Softhold, Auto Cruise ON/OFF control + + + + CRUISE: Auto ON distance(0cm) + + + + When GAS/Brake is OFF, Cruise ON when the lead car gets closer. + + + + Auto Engage control on start + + + + 1:SteerEnable, 2:Steer/Cruise Engage + + + + Auto AccelTok speed + + + + Gas(Accel)Tok enable speed + + + + Read Cruise Speed from PCM + + + + Toyota must set to 1, Honda 3 + + + + Sound Volume(100%) + + + + Sound Volume, Engage(10%) + + + + Power off time (min) + + + + EnableConnect + + + + Your device may be banned by Comma + + + + Mapbox Style(0) + + + + Record Road camera(0) + + + + 1:RoadCam, 2:RoadCam+WideRoadCam + + + + Use HDP(CCNC)(0) + + + + 1:While Using APN, 2:Always + + + + NNFF + + + + Twilsonco's NNFF(Reboot required) + + + + NNFFLite + + + + Twilsonco's NNFF-Lite(Reboot required) + + + + Auto update Cruise speed + + + + Disable Min.SteerSpeed + + + + Disable DM + + + + Hotspot enabled on boot + + + + Enable Software Menu + + + + IsLdwsCar + + + + Hardware is C3x Lite + + + + Share Data + + + + 0:None, 1:TCP JSON Data(Reboot required) + + + + CURVE: Lower limit speed(30) + + + + When you approach a curve, reduce your speed. Minimum speed + + + + CURVE: Auto Control ratio(100%) + + + + CURVE: Aggressiveness (100%) + + + + RoadSpeedLimitOffset(-1) + + + + -1:NotUsed,RoadLimitSpeed+Offset + + + + Auto Roadlimit Speed adjust (50%) + + + + SpeedCamDecelEnd(6s) + + + + Sets the deceleration completion point. A larger value completes deceleration farther away from the camera. + + + + NaviSpeedControlMode(2) + + + + 0:No slowdown, 1: speed camera, 2: + accident prevention bump, 3: + mobile camera + + + + SpeedCamDecelRatex0.01m/s^2(80) + + + + Lower number, slows down from a greater distance + + + + SpeedCamSafetyFactor(105%) + + + + SpeedBumpTimeDistance(1s) + + + + SpeedBumpSpeed(35Km/h) + + + + NaviCountDown mode(2) + + + + 0: off, 1:tbt+camera, 2:tbt+camera+bump + + + + Turn Speed control mode(1) + + + + 0: off, 1:vision, 2:vision+route, 3: route + + + + Smart Speed Control(0) + + + + 0: off, 1:accel, 2:decel, 3: all + + + + Map TurnSpeed Factor(100) + + + + Model TurnSpeed Factor(0) + + + + ATC: Auto turn control(0) + + + + 0:None, 1: lane change, 2: lane change + speed, 3: speed + + + + ATC: Turn Speed (20) + + + + 0:None, turn speed + + + + ATC: Turn CtrlDistTime (6) + + + + dist=speed*time + + + + ATC Auto Map Change(0) + + + ConfirmationDialog @@ -113,6 +812,33 @@ 拒絕並解除安裝 %1 + + DestinationWidget + + Home + + + + Work + + + + No destination set + + + + home + + + + work + + + + No %1 location set + + + DeveloperPanel @@ -172,11 +898,11 @@ Reset Calibration - 重設校準 + 重設校準 RESET - 重設 + 重設 Are you sure you want to reset calibration? @@ -268,7 +994,7 @@ Reset - 重設 + 重設 Review @@ -286,6 +1012,81 @@ PAIR 配對 + + ReCalibration + + + + Git Pull & Reboot + + + + Git pull & Reboot? + + + + Yes + + + + Failed to start update process. + + + + Update process started. Device will reboot if updates are applied. + + + + Set default + + + + Set to default? + + + + Remove MapboxKey + + + + Remove Mapbox key? + + + + Calibration Status + + + + SHOW + + + + Disengage to ReCalibration + + + + + DrawCarrot + + 经 济 + + + + 安 全 + + + + 标 准 + + + + 运 动 + + + + 错 误 + + DriverViewWindow @@ -373,6 +1174,51 @@ Firehose Mode allows you to maximize your training data uploads to improve openp 安裝中… + + MapETA + + eta + + + + min + + + + hr + + + + + MapSettings + + NAVIGATION + + + + Manage at %1 + + + + Manage at connect.comma.ai + + + + + MapWindow + + Map Loading + + + + Waiting for GPS(APN) + + + + Waiting for route + + + MultiOptionDialog @@ -451,6 +1297,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp Device temperature too high. System cooling down before starting. Current internal component temperature: %1 裝置溫度過高。系統正在冷卻中,等冷卻完畢後才會啟動。目前內部組件溫度:%1 + + Poor visibility detected for driver monitoring. Ensure the device has a clear view of the driver. This can be checked in the device settings. Extreme lighting conditions and/or unconventional mounting positions may also trigger this alert. + + + + Excessive %1 actuation detected on your last drive. Please contact support at https://comma.ai/support and share your device's Dongle ID for troubleshooting. + + OffroadHome @@ -524,6 +1378,21 @@ Firehose Mode allows you to maximize your training data uploads to improve openp 啟用 + + PathEndDrawer + + Signal Error + + + + Signal Ready + + + + Signal slowing + + + PrimeAdWidget @@ -578,7 +1447,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp openpilot - openpilot + openpilot %n minute(s) ago @@ -602,6 +1471,26 @@ Firehose Mode allows you to maximize your training data uploads to improve openp now 現在 + + km + + + + m + + + + mi + + + + ft + + + + carrotpilot + + Reset @@ -674,6 +1563,10 @@ This may take up to a minute. Firehose 訓練上傳 + + CarrotPilot + + Setup @@ -1110,6 +2003,18 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. 即使在openpilot未激活時也啟用駕駛監控。 + + Record and Upload Microphone Audio + + + + Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect. + + + + MoreRelaxed + + Updater diff --git a/selfdrive/ui/ui.cc b/selfdrive/ui/ui.cc old mode 100644 new mode 100755 diff --git a/selfdrive/ui/ui.h b/selfdrive/ui/ui.h old mode 100644 new mode 100755 index 1bcd2d59bb..b7360d76d4 --- a/selfdrive/ui/ui.h +++ b/selfdrive/ui/ui.h @@ -29,15 +29,15 @@ const Eigen::Matrix3f VIEW_FROM_DEVICE = (Eigen::Matrix3f() << 1.0, 0.0, 0.0).finished(); const Eigen::Matrix3f FCAM_INTRINSIC_MATRIX = (Eigen::Matrix3f() << - 2648.0, 0.0, 1928.0 / 2, - 0.0, 2648.0, 1208.0 / 2, + 2702.0, 0.0, 1920.0 / 2, + 0.0, 2702.0, 1080.0 / 2, 0.0, 0.0, 1.0).finished(); // tici ecam focal probably wrong? magnification is not consistent across frame // Need to retrain model before this can be changed const Eigen::Matrix3f ECAM_INTRINSIC_MATRIX = (Eigen::Matrix3f() << - 567.0, 0.0, 1928.0 / 2, - 0.0, 567.0, 1208.0 / 2, + 746.0, 0.0, 1920.0 / 2, + 0.0, 746.0, 1080.0 / 2, 0.0, 0.0, 1.0).finished(); typedef enum UIStatus { diff --git a/selfdrive/ui/watch3.cc b/selfdrive/ui/watch3.cc old mode 100644 new mode 100755 diff --git a/site_scons/site_tools/cython.py b/site_scons/site_tools/cython.py old mode 100644 new mode 100755 diff --git a/system/__init__.py b/system/__init__.py old mode 100644 new mode 100755 diff --git a/system/athena/__init__.py b/system/athena/__init__.py old mode 100644 new mode 100755 diff --git a/system/athena/tests/__init__.py b/system/athena/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/athena/tests/helpers.py b/system/athena/tests/helpers.py old mode 100644 new mode 100755 diff --git a/system/athena/tests/test_athenad.py b/system/athena/tests/test_athenad.py old mode 100644 new mode 100755 diff --git a/system/athena/tests/test_athenad_ping.py b/system/athena/tests/test_athenad_ping.py old mode 100644 new mode 100755 diff --git a/system/athena/tests/test_registration.py b/system/athena/tests/test_registration.py old mode 100644 new mode 100755 diff --git a/system/camerad/SConscript b/system/camerad/SConscript old mode 100644 new mode 100755 diff --git a/system/camerad/__init__.py b/system/camerad/__init__.py old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/bps_blobs.h b/system/camerad/cameras/bps_blobs.h old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/camera_common.cc b/system/camerad/cameras/camera_common.cc old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/camera_common.h b/system/camerad/cameras/camera_common.h old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/camera_qcom2.cc b/system/camerad/cameras/camera_qcom2.cc old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/cdm.cc b/system/camerad/cameras/cdm.cc old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/cdm.h b/system/camerad/cameras/cdm.h old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/hw.h b/system/camerad/cameras/hw.h old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/ife.h b/system/camerad/cameras/ife.h old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/spectra.cc b/system/camerad/cameras/spectra.cc old mode 100644 new mode 100755 diff --git a/system/camerad/cameras/spectra.h b/system/camerad/cameras/spectra.h old mode 100644 new mode 100755 diff --git a/system/camerad/main.cc b/system/camerad/main.cc old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ar0231.cc b/system/camerad/sensors/ar0231.cc old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ar0231_cl.h b/system/camerad/sensors/ar0231_cl.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ar0231_registers.h b/system/camerad/sensors/ar0231_registers.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/os04c10.cc b/system/camerad/sensors/os04c10.cc old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/os04c10_cl.h b/system/camerad/sensors/os04c10_cl.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/os04c10_registers.h b/system/camerad/sensors/os04c10_registers.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ox03c10.cc b/system/camerad/sensors/ox03c10.cc old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ox03c10_cl.h b/system/camerad/sensors/ox03c10_cl.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/ox03c10_registers.h b/system/camerad/sensors/ox03c10_registers.h old mode 100644 new mode 100755 diff --git a/system/camerad/sensors/sensor.h b/system/camerad/sensors/sensor.h old mode 100644 new mode 100755 diff --git a/system/camerad/snapshot/__init__.py b/system/camerad/snapshot/__init__.py old mode 100644 new mode 100755 diff --git a/system/camerad/test/.gitignore b/system/camerad/test/.gitignore old mode 100644 new mode 100755 diff --git a/system/camerad/test/test_ae_gray.cc b/system/camerad/test/test_ae_gray.cc old mode 100644 new mode 100755 diff --git a/system/camerad/test/test_camerad.py b/system/camerad/test/test_camerad.py old mode 100644 new mode 100755 diff --git a/system/camerad/test/test_exposure.py b/system/camerad/test/test_exposure.py old mode 100644 new mode 100755 diff --git a/system/hardware/.gitignore b/system/hardware/.gitignore old mode 100644 new mode 100755 diff --git a/system/hardware/__init__.py b/system/hardware/__init__.py old mode 100644 new mode 100755 diff --git a/system/hardware/base.h b/system/hardware/base.h old mode 100644 new mode 100755 diff --git a/system/hardware/base.py b/system/hardware/base.py old mode 100644 new mode 100755 diff --git a/system/hardware/esim.py b/system/hardware/esim.py old mode 100644 new mode 100755 diff --git a/system/hardware/hw.h b/system/hardware/hw.h old mode 100644 new mode 100755 diff --git a/system/hardware/hw.py b/system/hardware/hw.py old mode 100644 new mode 100755 diff --git a/system/hardware/pc/__init__.py b/system/hardware/pc/__init__.py old mode 100644 new mode 100755 diff --git a/system/hardware/pc/hardware.h b/system/hardware/pc/hardware.h old mode 100644 new mode 100755 diff --git a/system/hardware/pc/hardware.py b/system/hardware/pc/hardware.py old mode 100644 new mode 100755 index 9a80f10bed..2c5076abb4 --- a/system/hardware/pc/hardware.py +++ b/system/hardware/pc/hardware.py @@ -1,11 +1,15 @@ import random - +import shutil +import os +import subprocess +import glob from cereal import log -from openpilot.system.hardware.base import HardwareBase, LPABase +from openpilot.system.hardware.base import HardwareBase, LPABase, ThermalConfig, ThermalZone NetworkType = log.DeviceState.NetworkType NetworkStrength = log.DeviceState.NetworkStrength + class Pc(HardwareBase): def get_os_version(self): return None @@ -14,7 +18,7 @@ def get_device_type(self): return "pc" def reboot(self, reason=None): - print("REBOOT!") + subprocess.check_output(["sudo", "reboot"]) def uninstall(self): print("uninstall") @@ -28,9 +32,42 @@ def get_serial(self): def get_network_info(self): return None + def get_sim_lpa(self) -> LPABase: + raise NotImplementedError("SIM LPA not implemented for PC") + def get_network_type(self): return NetworkType.wifi + def get_memory_usage_percent(self): + try: + with open('/proc/meminfo') as f: + meminfo = {} + for line in f: + parts = line.split() + if len(parts) >= 2: + key = parts[0].rstrip(':') + value = int(parts[1]) # kB + meminfo[key] = value + + # 基于您的系统数据: MemTotal: 13196996 kB, MemAvailable: 11451184 kB + total = meminfo.get('MemTotal', 0) + available = meminfo.get('MemAvailable', meminfo.get('MemFree', 0)) + if total > 0: + used_percent = ((total - available) / total) * 100 + return int(used_percent) + except: + pass + return 0 + + def get_free_space_percent(self): + try: + # 获取根分区使用情况 + usage = shutil.disk_usage('/') + free_percent = (usage.free / usage.total) * 100 + return free_percent + except: + return 0.0 + def get_sim_info(self): return { 'sim_id': '', @@ -40,9 +77,6 @@ def get_sim_info(self): 'data_connected': False } - def get_sim_lpa(self) -> LPABase: - raise NotImplementedError("SIM LPA not implemented for PC") - def get_network_strength(self, network_type): return NetworkStrength.unknown @@ -53,7 +87,45 @@ def get_som_power_draw(self): return 0 def shutdown(self): - print("SHUTDOWN!") + os.system("sudo poweroff") + + def get_thermal_config(self): + cpu_zones = [] + gpu_zones = [] + + + + # 尝试从 hwmon 设备读取温度数据 + hwmon_thermal_paths = glob.glob('/sys/class/hwmon/hwmon2/temp1_input') + for path in hwmon_thermal_paths: + try: + with open(path) as f: + temp = int(f.read().strip()) // 1000 # 转换为摄氏度 + # 获取传感器名称 + label_path = path.replace('_input', '_label') + if os.path.exists(label_path): + with open(label_path) as f: + zone_type = f.read().strip() + else: + zone_type = os.path.basename(path).replace('_input', '') + # 直接传入温度值,避免调用 read 方法 + zone = ThermalZone(zone_type) + zone.scale = 1 # 温度值已经转换为摄氏度,不需要再除以 scale + zone.zone_number = -1 # 禁用自动读取 + zone.read = lambda path=path: int(open(path).read().strip()) // 1000 # 每次调用时重新读取温度值 + cpu_zones.append(zone) + except: + pass + + if not cpu_zones: + cpu_zones.append(ThermalZone('thermal_zone0')) + + return ThermalConfig( + cpu=cpu_zones, + gpu=None, # 移除GPU热区检测 + memory=None, # PC环境通常没有独立的内存温度传感器 + pmic=None # PC环境没有PMIC + ) def set_screen_brightness(self, percentage): pass @@ -65,7 +137,20 @@ def set_power_save(self, powersave_enabled): pass def get_gpu_usage_percent(self): - return 0 + import glob + max_usage = 0 + try: + gpu_busy_files = glob.glob('/sys/class/drm/card*/device/gpu_busy_percent') + for gpu_file in gpu_busy_files: + try: + with open(gpu_file) as f: + usage = int(f.read().strip()) + max_usage = max(max_usage, usage) + except: + continue + except Exception: + pass + return max_usage def get_modem_temperatures(self): return [] @@ -78,3 +163,4 @@ def initialize_hardware(self): def get_networks(self): return None + diff --git a/system/hardware/power_monitoring.py b/system/hardware/power_monitoring.py old mode 100644 new mode 100755 index cf53c07746..553585e09f --- a/system/hardware/power_monitoring.py +++ b/system/hardware/power_monitoring.py @@ -15,7 +15,7 @@ VBATT_PAUSE_CHARGING = 11.8 # Lower limit on the LPF car battery voltage MAX_TIME_OFFROAD_S = 30*3600 MIN_ON_TIME_S = 3600 -DELAY_SHUTDOWN_TIME_S = 300 # Wait at least DELAY_SHUTDOWN_TIME_S seconds after offroad_time to shutdown. +DELAY_SHUTDOWN_TIME_S = 30 # Wait at least DELAY_SHUTDOWN_TIME_S seconds after offroad_time to shutdown. VOLTAGE_SHUTDOWN_MIN_OFFROAD_TIME_S = 60 class PowerMonitoring: @@ -116,7 +116,7 @@ def should_shutdown(self, ignition: bool, in_car: bool, offroad_timestamp: float offroad_time = (now - offroad_timestamp) low_voltage_shutdown = (self.car_voltage_mV < (VBATT_PAUSE_CHARGING * 1e3) and offroad_time > VOLTAGE_SHUTDOWN_MIN_OFFROAD_TIME_S) - MAX_TIME_OFFROAD_S = Params().get_int("MaxTimeOffroadMin") * 60 + MAX_TIME_OFFROAD_S = Params().get_int("MaxTimeOffroadMin") should_shutdown |= offroad_time > MAX_TIME_OFFROAD_S should_shutdown |= low_voltage_shutdown should_shutdown |= (self.car_battery_capacity_uWh <= 0) diff --git a/system/hardware/tests/__init__.py b/system/hardware/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/hardware/tests/test_fan_controller.py b/system/hardware/tests/test_fan_controller.py old mode 100644 new mode 100755 diff --git a/system/hardware/tests/test_power_monitoring.py b/system/hardware/tests/test_power_monitoring.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/__init__.py b/system/hardware/tici/__init__.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/agnos.json b/system/hardware/tici/agnos.json old mode 100644 new mode 100755 diff --git a/system/hardware/tici/all-partitions.json b/system/hardware/tici/all-partitions.json old mode 100644 new mode 100755 diff --git a/system/hardware/tici/esim.nmconnection b/system/hardware/tici/esim.nmconnection old mode 100644 new mode 100755 diff --git a/system/hardware/tici/hardware.h b/system/hardware/tici/hardware.h old mode 100644 new mode 100755 diff --git a/system/hardware/tici/hardware.py b/system/hardware/tici/hardware.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/id_rsa b/system/hardware/tici/id_rsa old mode 100644 new mode 100755 diff --git a/system/hardware/tici/iwlist.py b/system/hardware/tici/iwlist.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/pins.py b/system/hardware/tici/pins.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/tests/__init__.py b/system/hardware/tici/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/tests/test_agnos_updater.py b/system/hardware/tici/tests/test_agnos_updater.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/tests/test_amplifier.py b/system/hardware/tici/tests/test_amplifier.py old mode 100644 new mode 100755 diff --git a/system/hardware/tici/tests/test_power_draw.py b/system/hardware/tici/tests/test_power_draw.py old mode 100644 new mode 100755 diff --git a/system/logcatd/.gitignore b/system/logcatd/.gitignore old mode 100644 new mode 100755 diff --git a/system/logcatd/SConscript b/system/logcatd/SConscript old mode 100644 new mode 100755 diff --git a/system/logcatd/logcatd_systemd.cc b/system/logcatd/logcatd_systemd.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/.gitignore b/system/loggerd/.gitignore old mode 100644 new mode 100755 diff --git a/system/loggerd/SConscript b/system/loggerd/SConscript old mode 100644 new mode 100755 diff --git a/system/loggerd/__init__.py b/system/loggerd/__init__.py old mode 100644 new mode 100755 diff --git a/system/loggerd/bootlog.cc b/system/loggerd/bootlog.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/config.py b/system/loggerd/config.py old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/encoder.cc b/system/loggerd/encoder/encoder.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/encoder.h b/system/loggerd/encoder/encoder.h old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/ffmpeg_encoder.cc b/system/loggerd/encoder/ffmpeg_encoder.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/ffmpeg_encoder.h b/system/loggerd/encoder/ffmpeg_encoder.h old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/jpeg_encoder.cc b/system/loggerd/encoder/jpeg_encoder.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/jpeg_encoder.h b/system/loggerd/encoder/jpeg_encoder.h old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/v4l_encoder.cc b/system/loggerd/encoder/v4l_encoder.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/encoder/v4l_encoder.h b/system/loggerd/encoder/v4l_encoder.h old mode 100644 new mode 100755 diff --git a/system/loggerd/encoderd.cc b/system/loggerd/encoderd.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/logger.cc b/system/loggerd/logger.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/logger.h b/system/loggerd/logger.h old mode 100644 new mode 100755 diff --git a/system/loggerd/loggerd.cc b/system/loggerd/loggerd.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/loggerd.h b/system/loggerd/loggerd.h old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/__init__.py b/system/loggerd/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/loggerd_tests_common.py b/system/loggerd/tests/loggerd_tests_common.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_deleter.py b/system/loggerd/tests/test_deleter.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_encoder.py b/system/loggerd/tests/test_encoder.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_logger.cc b/system/loggerd/tests/test_logger.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_loggerd.py b/system/loggerd/tests/test_loggerd.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_runner.cc b/system/loggerd/tests/test_runner.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_uploader.py b/system/loggerd/tests/test_uploader.py old mode 100644 new mode 100755 diff --git a/system/loggerd/tests/test_zstd_writer.cc b/system/loggerd/tests/test_zstd_writer.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/video_writer.cc b/system/loggerd/video_writer.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/video_writer.h b/system/loggerd/video_writer.h old mode 100644 new mode 100755 diff --git a/system/loggerd/xattr_cache.py b/system/loggerd/xattr_cache.py old mode 100644 new mode 100755 diff --git a/system/loggerd/zstd_writer.cc b/system/loggerd/zstd_writer.cc old mode 100644 new mode 100755 diff --git a/system/loggerd/zstd_writer.h b/system/loggerd/zstd_writer.h old mode 100644 new mode 100755 diff --git a/system/manager/__init__.py b/system/manager/__init__.py old mode 100644 new mode 100755 diff --git a/system/manager/helpers.py b/system/manager/helpers.py old mode 100644 new mode 100755 diff --git a/system/manager/manager.py b/system/manager/manager.py index e9bb852eed..e46e96a3c5 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -195,15 +195,15 @@ def manager_thread() -> None: def main() -> None: manager_init() - print(f"python ../../opendbc/car/hyundai/values.py > {Params().get_param_path()}/SupportedCars") - os.system(f"python ../../opendbc/car/hyundai/values.py > {Params().get_param_path()}/SupportedCars") - os.system(f"python ../../opendbc/car/gm/values.py > {Params().get_param_path()}/SupportedCars_gm") - os.system(f"python ../../opendbc/car/toyota/values.py > {Params().get_param_path()}/SupportedCars_toyota") - os.system(f"python ../../opendbc/car/mazda/values.py > {Params().get_param_path()}/SupportedCars_mazda") - os.system(f"python ../../opendbc/car/honda/values.py > {Params().get_param_path()}/SupportedCars_honda") - os.system(f"python ../../opendbc/car/ford/values.py > {Params().get_param_path()}/SupportedCars_ford") - os.system(f"python ../../opendbc/car/tesla/values.py > {Params().get_param_path()}/SupportedCars_tesla") - os.system(f"python ../../opendbc/car/volkswagen/values.py > {Params().get_param_path()}/SupportedCars_volkswagen") + #print(f"python ../../opendbc/car/hyundai/values.py > {Params().get_param_path()}/SupportedCars") + os.system(f"python ./opendbc/car/hyundai/values.py > {Params().get_param_path()}/SupportedCars") + os.system(f"python ./opendbc/car/gm/values.py > {Params().get_param_path()}/SupportedCars_gm") + os.system(f"python ./opendbc/car/toyota/values.py > {Params().get_param_path()}/SupportedCars_toyota") + os.system(f"python ./opendbc/car/mazda/values.py > {Params().get_param_path()}/SupportedCars_mazda") + os.system(f"python ./opendbc/car/honda/values.py > {Params().get_param_path()}/SupportedCars_honda") + os.system(f"python ./opendbc/car/ford/values.py > {Params().get_param_path()}/SupportedCars_ford") + os.system(f"python ./opendbc/car/tesla/values.py > {Params().get_param_path()}/SupportedCars_tesla") + os.system(f"python ./opendbc/car/volkswagen/values.py > {Params().get_param_path()}/SupportedCars_volkswagen") if os.getenv("PREPAREONLY") is not None: return diff --git a/system/manager/process.py b/system/manager/process.py old mode 100644 new mode 100755 diff --git a/system/manager/process_config.py b/system/manager/process_config.py old mode 100644 new mode 100755 index 74dbe621a9..414b708a1d --- a/system/manager/process_config.py +++ b/system/manager/process_config.py @@ -87,13 +87,14 @@ def c3x_lite(started: bool, params: Params, CP: car.CarParams) -> bool: procs = [ DaemonProcess("manage_athenad", "system.athena.manage_athenad", "AthenadPid"), - NativeProcess("loggerd", "system/loggerd", ["./loggerd"], logging), - NativeProcess("encoderd", "system/loggerd", ["./encoderd"], only_onroad), + #NativeProcess("loggerd", "system/loggerd", ["./loggerd"], logging), + #NativeProcess("encoderd", "system/loggerd", ["./encoderd"], only_onroad), NativeProcess("stream_encoderd", "system/loggerd", ["./encoderd", "--stream"], or_(notcar, and_(only_onroad, enable_webrtc))), PythonProcess("logmessaged", "system.logmessaged", always_run), NativeProcess("camerad", "system/camerad", ["./camerad"], driverview, enabled=not WEBCAM), - PythonProcess("webcamerad", "tools.webcam.camerad", driverview, enabled=WEBCAM), + NativeProcess("camerad", "tools/webcam", ["./camerad"], driverview), + #PythonProcess("webcamerad", "tools.webcam.camerad", driverview, enabled=WEBCAM), NativeProcess("logcatd", "system/logcatd", ["./logcatd"], only_onroad), NativeProcess("proclogd", "system/proclogd", ["./proclogd"], only_onroad), PythonProcess("micd", "system.micd", iscar), @@ -104,7 +105,7 @@ def c3x_lite(started: bool, params: Params, CP: car.CarParams) -> bool: #NativeProcess("mapsd", "selfdrive/navd", ["./mapsd"], only_onroad), #NativeProcess("mapsd", "selfdrive/navd", ["./mapsd"], always_run), #PythonProcess("navmodeld", "selfdrive.modeld.navmodeld", only_onroad), - PythonProcess("sensord", "system.sensord.sensord", only_onroad, enabled=not PC), + NativeProcess("sensord", "system/sensord", ["./sensord"], only_onroad), NativeProcess("ui", "selfdrive/ui", ["./ui"], always_run, watchdog_max_dt=(5 if not PC else None)), PythonProcess("soundd", "selfdrive.ui.soundd", only_onroad), PythonProcess("locationd", "selfdrive.locationd.locationd", only_onroad), @@ -116,7 +117,7 @@ def c3x_lite(started: bool, params: Params, CP: car.CarParams) -> bool: PythonProcess("selfdrived", "selfdrive.selfdrived.selfdrived", only_onroad), PythonProcess("card", "selfdrive.car.card", only_onroad), PythonProcess("deleter", "system.loggerd.deleter", always_run), - PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", enable_dm, enabled=(WEBCAM or not PC)), + #PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", enable_dm, enabled=(WEBCAM or not PC)), PythonProcess("qcomgpsd", "system.qcomgpsd.qcomgpsd", qcomgps, enabled=TICI), PythonProcess("navd", "selfdrive.navd.navd", only_onroad), PythonProcess("pandad", "selfdrive.pandad.pandad", always_run), @@ -129,7 +130,7 @@ def c3x_lite(started: bool, params: Params, CP: car.CarParams) -> bool: PythonProcess("radard", "selfdrive.controls.radard", only_onroad), PythonProcess("hardwared", "system.hardware.hardwared", always_run), PythonProcess("tombstoned", "system.tombstoned", always_run, enabled=not PC), - PythonProcess("updated", "system.updated.updated", enable_updated, enabled=not PC), + #PythonProcess("updated", "system.updated.updated", enable_updated, enabled=not PC), PythonProcess("uploader", "system.loggerd.uploader", enable_connect), PythonProcess("statsd", "system.statsd", always_run), @@ -140,7 +141,7 @@ def c3x_lite(started: bool, params: Params, CP: car.CarParams) -> bool: PythonProcess("joystick", "tools.joystick.joystick_control", and_(joystick, iscar)), #PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", check_fleet, enabled=not PC), - PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", check_fleet), + #PythonProcess("fleet_manager", "selfdrive.frogpilot.fleetmanager.fleet_manager", check_fleet), PythonProcess("carrot_man", "selfdrive.carrot.carrot_man", always_run),#, enabled=not PC), PythonProcess("carrot_server", "selfdrive.carrot.carrot_server", always_run), diff --git a/system/manager/test/__init__.py b/system/manager/test/__init__.py old mode 100644 new mode 100755 diff --git a/system/manager/test/test_manager.py b/system/manager/test/test_manager.py old mode 100644 new mode 100755 diff --git a/system/proclogd/SConscript b/system/proclogd/SConscript old mode 100644 new mode 100755 diff --git a/system/proclogd/main.cc b/system/proclogd/main.cc old mode 100644 new mode 100755 diff --git a/system/proclogd/proclog.cc b/system/proclogd/proclog.cc old mode 100644 new mode 100755 diff --git a/system/proclogd/proclog.h b/system/proclogd/proclog.h old mode 100644 new mode 100755 diff --git a/system/proclogd/tests/.gitignore b/system/proclogd/tests/.gitignore old mode 100644 new mode 100755 diff --git a/system/proclogd/tests/test_proclog.cc b/system/proclogd/tests/test_proclog.cc old mode 100644 new mode 100755 diff --git a/system/qcomgpsd/modemdiag.py b/system/qcomgpsd/modemdiag.py old mode 100644 new mode 100755 diff --git a/system/qcomgpsd/nmeaport.py b/system/qcomgpsd/nmeaport.py old mode 100644 new mode 100755 diff --git a/system/qcomgpsd/structs.py b/system/qcomgpsd/structs.py old mode 100644 new mode 100755 diff --git a/system/qcomgpsd/tests/test_qcomgpsd.py b/system/qcomgpsd/tests/test_qcomgpsd.py old mode 100644 new mode 100755 diff --git a/system/sensord/__init__.py b/system/sensord/__init__.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensord b/system/sensord/sensord new file mode 100755 index 0000000000..7d6b52b00b Binary files /dev/null and b/system/sensord/sensord differ diff --git a/system/sensord/sensord.py b/system/sensord/sensord.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/__init__.py b/system/sensord/sensors/__init__.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/i2c_sensor.py b/system/sensord/sensors/i2c_sensor.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/lsm6ds3_accel.py b/system/sensord/sensors/lsm6ds3_accel.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/lsm6ds3_gyro.py b/system/sensord/sensors/lsm6ds3_gyro.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/lsm6ds3_temp.py b/system/sensord/sensors/lsm6ds3_temp.py old mode 100644 new mode 100755 diff --git a/system/sensord/sensors/mmc5603nj_magn.py b/system/sensord/sensors/mmc5603nj_magn.py old mode 100644 new mode 100755 diff --git a/system/sensord/tests/__init__.py b/system/sensord/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/sensord/tests/test_sensord.py b/system/sensord/tests/test_sensord.py old mode 100644 new mode 100755 diff --git a/system/sentry.py b/system/sentry.py old mode 100644 new mode 100755 diff --git a/system/tests/__init__.py b/system/tests/__init__.py old mode 100644 new mode 100755 diff --git a/system/tests/test_logmessaged.py b/system/tests/test_logmessaged.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/SConscript b/system/ubloxd/SConscript old mode 100644 new mode 100755 diff --git a/system/ubloxd/generated/glonass.py b/system/ubloxd/generated/glonass.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/generated/gps.py b/system/ubloxd/generated/gps.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/generated/ubx.py b/system/ubloxd/generated/ubx.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/glonass.ksy b/system/ubloxd/glonass.ksy old mode 100644 new mode 100755 diff --git a/system/ubloxd/gps.ksy b/system/ubloxd/gps.ksy old mode 100644 new mode 100755 diff --git a/system/ubloxd/tests/test_pigeond.py b/system/ubloxd/tests/test_pigeond.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/ubloxd.py b/system/ubloxd/ubloxd.py old mode 100644 new mode 100755 diff --git a/system/ubloxd/ubx.ksy b/system/ubloxd/ubx.ksy old mode 100644 new mode 100755 diff --git a/system/ui/README.md b/system/ui/README.md old mode 100644 new mode 100755 diff --git a/system/ui/lib/__init__.py b/system/ui/lib/__init__.py old mode 100644 new mode 100755 diff --git a/system/ui/lib/application.py b/system/ui/lib/application.py old mode 100644 new mode 100755 diff --git a/system/ui/lib/button.py b/system/ui/lib/button.py old mode 100644 new mode 100755 diff --git a/system/ui/lib/label.py b/system/ui/lib/label.py old mode 100644 new mode 100755 diff --git a/system/ui/lib/scroll_panel.py b/system/ui/lib/scroll_panel.py old mode 100644 new mode 100755 diff --git a/system/ui/lib/utils.py b/system/ui/lib/utils.py old mode 100644 new mode 100755 diff --git a/system/ui/widgets/confirm_dialog.py b/system/ui/widgets/confirm_dialog.py old mode 100644 new mode 100755 diff --git a/system/ui/widgets/keyboard.py b/system/ui/widgets/keyboard.py old mode 100644 new mode 100755 diff --git a/system/updated/casync/common.py b/system/updated/casync/common.py old mode 100644 new mode 100755 diff --git a/system/updated/casync/tar.py b/system/updated/casync/tar.py old mode 100644 new mode 100755 diff --git a/system/updated/casync/tests/test_casync.py b/system/updated/casync/tests/test_casync.py old mode 100644 new mode 100755 diff --git a/system/updated/common.py b/system/updated/common.py old mode 100644 new mode 100755 diff --git a/system/updated/tests/test_base.py b/system/updated/tests/test_base.py old mode 100644 new mode 100755 diff --git a/system/updated/tests/test_git.py b/system/updated/tests/test_git.py old mode 100644 new mode 100755 diff --git a/system/webrtc/__init__.py b/system/webrtc/__init__.py old mode 100644 new mode 100755 diff --git a/system/webrtc/device/audio.py b/system/webrtc/device/audio.py old mode 100644 new mode 100755 diff --git a/system/webrtc/device/video.py b/system/webrtc/device/video.py old mode 100644 new mode 100755 diff --git a/system/webrtc/schema.py b/system/webrtc/schema.py old mode 100644 new mode 100755 diff --git a/system/webrtc/tests/test_stream_session.py b/system/webrtc/tests/test_stream_session.py old mode 100644 new mode 100755 diff --git a/system/webrtc/tests/test_webrtcd.py b/system/webrtc/tests/test_webrtcd.py old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/.github/workflows/release.yaml b/teleoprtc_repo/.github/workflows/release.yaml old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/.github/workflows/tests.yaml b/teleoprtc_repo/.github/workflows/tests.yaml old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/.gitignore b/teleoprtc_repo/.gitignore old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/.pre-commit-config.yaml b/teleoprtc_repo/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/LICENSE b/teleoprtc_repo/LICENSE old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/README.md b/teleoprtc_repo/README.md old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/examples/face_detection/README.md b/teleoprtc_repo/examples/face_detection/README.md old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/examples/videostream_cli/README.md b/teleoprtc_repo/examples/videostream_cli/README.md old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/pyproject.toml b/teleoprtc_repo/pyproject.toml old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/teleoprtc/__init__.py b/teleoprtc_repo/teleoprtc/__init__.py old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/teleoprtc/builder.py b/teleoprtc_repo/teleoprtc/builder.py old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/teleoprtc/info.py b/teleoprtc_repo/teleoprtc/info.py old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/teleoprtc/stream.py b/teleoprtc_repo/teleoprtc/stream.py old mode 100644 new mode 100755 diff --git a/teleoprtc_repo/teleoprtc/tracks.py b/teleoprtc_repo/teleoprtc/tracks.py old mode 100644 new mode 100755 diff --git a/third_party/.gitignore b/third_party/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/SConscript b/third_party/SConscript old mode 100644 new mode 100755 diff --git a/third_party/acados/.gitignore b/third_party/acados/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/.gitignore b/third_party/acados/acados_template/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/__init__.py b/third_party/acados/acados_template/__init__.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_layout.json b/third_party/acados/acados_template/acados_layout.json old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_model.py b/third_party/acados/acados_template/acados_model.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_ocp.py b/third_party/acados/acados_template/acados_ocp.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_ocp_solver.py b/third_party/acados/acados_template/acados_ocp_solver.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_ocp_solver_pyx.pyx b/third_party/acados/acados_template/acados_ocp_solver_pyx.pyx old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_sim.py b/third_party/acados/acados_template/acados_sim.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_sim_layout.json b/third_party/acados/acados_template/acados_sim_layout.json old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_sim_solver.py b/third_party/acados/acados_template/acados_sim_solver.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_sim_solver_common.pxd b/third_party/acados/acados_template/acados_sim_solver_common.pxd old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_sim_solver_pyx.pyx b/third_party/acados/acados_template/acados_sim_solver_pyx.pyx old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/acados_solver_common.pxd b/third_party/acados/acados_template/acados_solver_common.pxd old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/builders.py b/third_party/acados/acados_template/builders.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/CMakeLists.in.txt b/third_party/acados/acados_template/c_templates_tera/CMakeLists.in.txt old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/Makefile.in b/third_party/acados/acados_template/c_templates_tera/Makefile.in old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.c b/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.h b/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.pxd b/third_party/acados/acados_template/c_templates_tera/acados_sim_solver.in.pxd old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_solver.in.c b/third_party/acados/acados_template/c_templates_tera/acados_solver.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_solver.in.h b/third_party/acados/acados_template/c_templates_tera/acados_solver.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/acados_solver.in.pxd b/third_party/acados/acados_template/c_templates_tera/acados_solver.in.pxd old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/constraints.in.h b/third_party/acados/acados_template/c_templates_tera/constraints.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/cost.in.h b/third_party/acados/acados_template/c_templates_tera/cost.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/main.in.c b/third_party/acados/acados_template/c_templates_tera/main.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/main_sim.in.c b/third_party/acados/acados_template/c_templates_tera/main_sim.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_create.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_create.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_free.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_free.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_set.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_set.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_solve.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_mex_solve.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_sim_solver_sfun.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_sim_solver_sfun.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_solver_sfun.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/acados_solver_sfun.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/main_mex.in.c b/third_party/acados/acados_template/c_templates_tera/matlab_templates/main_mex.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_main_mex.in.m b/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_main_mex.in.m old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_mex.in.m b/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_mex.in.m old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_sfun.in.m b/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_sfun.in.m old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_sfun_sim.in.m b/third_party/acados/acados_template/c_templates_tera/matlab_templates/make_sfun_sim.in.m old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/matlab_templates/mex_solver.in.m b/third_party/acados/acados_template/c_templates_tera/matlab_templates/mex_solver.in.m old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/c_templates_tera/model.in.h b/third_party/acados/acados_template/c_templates_tera/model.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/casadi_function_generation.py b/third_party/acados/acados_template/casadi_function_generation.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/custom_update_templates/custom_update_function_zoro_template.in.c b/third_party/acados/acados_template/custom_update_templates/custom_update_function_zoro_template.in.c old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/custom_update_templates/custom_update_function_zoro_template.in.h b/third_party/acados/acados_template/custom_update_templates/custom_update_function_zoro_template.in.h old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/__init__.py b/third_party/acados/acados_template/gnsf/__init__.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/check_reformulation.py b/third_party/acados/acados_template/gnsf/check_reformulation.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/detect_affine_terms_reduce_nonlinearity.py b/third_party/acados/acados_template/gnsf/detect_affine_terms_reduce_nonlinearity.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/detect_gnsf_structure.py b/third_party/acados/acados_template/gnsf/detect_gnsf_structure.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/determine_input_nonlinearity_function.py b/third_party/acados/acados_template/gnsf/determine_input_nonlinearity_function.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/determine_trivial_gnsf_transcription.py b/third_party/acados/acados_template/gnsf/determine_trivial_gnsf_transcription.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/matlab to python.md b/third_party/acados/acados_template/gnsf/matlab to python.md old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/reformulate_with_LOS.py b/third_party/acados/acados_template/gnsf/reformulate_with_LOS.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/reformulate_with_invertible_E_mat.py b/third_party/acados/acados_template/gnsf/reformulate_with_invertible_E_mat.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/gnsf/structure_detection_print_summary.py b/third_party/acados/acados_template/gnsf/structure_detection_print_summary.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/simulink_default_opts.json b/third_party/acados/acados_template/simulink_default_opts.json old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/utils.py b/third_party/acados/acados_template/utils.py old mode 100644 new mode 100755 diff --git a/third_party/acados/acados_template/zoro_description.py b/third_party/acados/acados_template/zoro_description.py old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_common.h b/third_party/acados/include/acados/dense_qp/dense_qp_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_daqp.h b/third_party/acados/include/acados/dense_qp/dense_qp_daqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_hpipm.h b/third_party/acados/include/acados/dense_qp/dense_qp_hpipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_ooqp.h b/third_party/acados/include/acados/dense_qp/dense_qp_ooqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_qore.h b/third_party/acados/include/acados/dense_qp/dense_qp_qore.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/dense_qp/dense_qp_qpoases.h b/third_party/acados/include/acados/dense_qp/dense_qp_qpoases.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_common.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_bgh.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_bgh.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_bgp.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_bgp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_common.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_constraints_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_common.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_conl.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_conl.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_external.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_external.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_ls.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_ls.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_nls.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_cost_nls.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_common.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_cont.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_cont.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_disc.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_dynamics_disc.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_common.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_convexify.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_convexify.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_mirror.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_mirror.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_noreg.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_noreg.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_project.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_project.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_project_reduc_hess.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_reg_project_reduc_hess.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_sqp.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_sqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_nlp/ocp_nlp_sqp_rti.h b/third_party/acados/include/acados/ocp_nlp/ocp_nlp_sqp_rti.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_common.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_common_frontend.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_common_frontend.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_full_condensing.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_full_condensing.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_hpipm.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_hpipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_hpmpc.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_hpmpc.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_ooqp.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_ooqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_osqp.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_osqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_partial_condensing.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_partial_condensing.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_qpdunes.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_qpdunes.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/ocp_qp/ocp_qp_xcond_solver.h b/third_party/acados/include/acados/ocp_qp/ocp_qp_xcond_solver.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_collocation_utils.h b/third_party/acados/include/acados/sim/sim_collocation_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_common.h b/third_party/acados/include/acados/sim/sim_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_erk_integrator.h b/third_party/acados/include/acados/sim/sim_erk_integrator.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_gnsf.h b/third_party/acados/include/acados/sim/sim_gnsf.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_irk_integrator.h b/third_party/acados/include/acados/sim/sim_irk_integrator.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/sim/sim_lifted_irk_integrator.h b/third_party/acados/include/acados/sim/sim_lifted_irk_integrator.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/external_function_generic.h b/third_party/acados/include/acados/utils/external_function_generic.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/math.h b/third_party/acados/include/acados/utils/math.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/mem.h b/third_party/acados/include/acados/utils/mem.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/print.h b/third_party/acados/include/acados/utils/print.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/strsep.h b/third_party/acados/include/acados/utils/strsep.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/timing.h b/third_party/acados/include/acados/utils/timing.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados/utils/types.h b/third_party/acados/include/acados/utils/types.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/condensing_interface.h b/third_party/acados/include/acados_c/condensing_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/dense_qp_interface.h b/third_party/acados/include/acados_c/dense_qp_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/external_function_interface.h b/third_party/acados/include/acados_c/external_function_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/ocp_nlp_interface.h b/third_party/acados/include/acados_c/ocp_nlp_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/ocp_qp_interface.h b/third_party/acados/include/acados_c/ocp_qp_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/acados_c/sim_interface.h b/third_party/acados/include/acados_c/sim_interface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo.h b/third_party/acados/include/blasfeo/include/blasfeo.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_block_size.h b/third_party/acados/include/blasfeo/include/blasfeo_block_size.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_common.h b/third_party/acados/include/blasfeo/include/blasfeo_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ext_dep.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ext_dep.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ext_dep_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ext_dep_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux_old.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux_old.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_aux_test.h b/third_party/acados/include/blasfeo/include/blasfeo_d_aux_test.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blas.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blas.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blas_api.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blas_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_api.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_api_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_api_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_hp_api.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_hp_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_ref_api.h b/third_party/acados/include/blasfeo/include/blasfeo_d_blasfeo_ref_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_d_kernel.h b/third_party/acados/include/blasfeo/include/blasfeo_d_kernel.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_i_aux_ext_dep.h b/third_party/acados/include/blasfeo/include/blasfeo_i_aux_ext_dep.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_m_aux.h b/third_party/acados/include/blasfeo/include/blasfeo_m_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_memory.h b/third_party/acados/include/blasfeo/include/blasfeo_memory.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_naming.h b/third_party/acados/include/blasfeo/include/blasfeo_naming.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_processor_features.h b/third_party/acados/include/blasfeo/include/blasfeo_processor_features.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ext_dep.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ext_dep.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ext_dep_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ext_dep_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux_old.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux_old.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_aux_test.h b/third_party/acados/include/blasfeo/include/blasfeo_s_aux_test.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_blas.h b/third_party/acados/include/blasfeo/include/blasfeo_s_blas.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_blas_api.h b/third_party/acados/include/blasfeo/include/blasfeo_s_blas_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_api.h b/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_api_ref.h b/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_api_ref.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_ref_api.h b/third_party/acados/include/blasfeo/include/blasfeo_s_blasfeo_ref_api.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_s_kernel.h b/third_party/acados/include/blasfeo/include/blasfeo_s_kernel.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_stdlib.h b/third_party/acados/include/blasfeo/include/blasfeo_stdlib.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_target.h b/third_party/acados/include/blasfeo/include/blasfeo_target.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_timing.h b/third_party/acados/include/blasfeo/include/blasfeo_timing.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/blasfeo_v_aux_ext_dep.h b/third_party/acados/include/blasfeo/include/blasfeo_v_aux_ext_dep.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/d_blas.h b/third_party/acados/include/blasfeo/include/d_blas.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/d_blas_64.h b/third_party/acados/include/blasfeo/include/d_blas_64.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/s_blas.h b/third_party/acados/include/blasfeo/include/s_blas.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/blasfeo/include/s_blas_64.h b/third_party/acados/include/blasfeo/include/s_blas_64.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_aux_mem.h b/third_party/acados/include/hpipm/include/hpipm_aux_mem.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_aux_string.h b/third_party/acados/include/hpipm/include/hpipm_aux_string.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_common.h b/third_party/acados/include/hpipm/include/hpipm_common.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_cast_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_cast_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_cond.h b/third_party/acados/include/hpipm/include/hpipm_d_cond.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_cond_aux.h b/third_party/acados/include/hpipm/include/hpipm_d_cond_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_cond_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_cond_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_core_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_core_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_core_qp_ipm_aux.h b/third_party/acados/include/hpipm/include/hpipm_d_core_qp_ipm_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_dense_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_red.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_red.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_ocp_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_part_cond.h b/third_party/acados/include/hpipm/include/hpipm_d_part_cond.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_part_cond_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_part_cond_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_sim_erk.h b/third_party/acados/include/hpipm/include/hpipm_d_sim_erk.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_sim_rk.h b/third_party/acados/include/hpipm/include/hpipm_d_sim_rk.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_d_tree_ocp_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_m_dense_qp.h b/third_party/acados/include/hpipm/include/hpipm_m_dense_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_m_dense_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_m_dense_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp.h b/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp_ipm_hard.h b/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp_ipm_hard.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_m_ocp_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_cast_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_cast_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_cond.h b/third_party/acados/include/hpipm/include/hpipm_s_cond.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_cond_aux.h b/third_party/acados/include/hpipm/include/hpipm_s_cond_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_cond_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_cond_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_core_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_core_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_core_qp_ipm_aux.h b/third_party/acados/include/hpipm/include/hpipm_s_core_qp_ipm_aux.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_dense_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_red.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_red.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_ocp_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_part_cond.h b/third_party/acados/include/hpipm/include/hpipm_s_part_cond.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_part_cond_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_part_cond_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_sim_erk.h b/third_party/acados/include/hpipm/include/hpipm_s_sim_erk.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_sim_rk.h b/third_party/acados/include/hpipm/include/hpipm_s_sim_rk.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qcqp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_dim.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_dim.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_ipm.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_ipm.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_kkt.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_kkt.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_res.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_res.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_sol.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_sol.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_utils.h b/third_party/acados/include/hpipm/include/hpipm_s_tree_ocp_qp_utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_scenario_tree.h b/third_party/acados/include/hpipm/include/hpipm_scenario_tree.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_timing.h b/third_party/acados/include/hpipm/include/hpipm_timing.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/hpipm/include/hpipm_tree.h b/third_party/acados/include/hpipm/include/hpipm_tree.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Bounds.h b/third_party/acados/include/qpOASES_e/Bounds.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Constants.h b/third_party/acados/include/qpOASES_e/Constants.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/ConstraintProduct.h b/third_party/acados/include/qpOASES_e/ConstraintProduct.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Constraints.h b/third_party/acados/include/qpOASES_e/Constraints.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Flipper.h b/third_party/acados/include/qpOASES_e/Flipper.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Indexlist.h b/third_party/acados/include/qpOASES_e/Indexlist.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Matrices.h b/third_party/acados/include/qpOASES_e/Matrices.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/MessageHandling.h b/third_party/acados/include/qpOASES_e/MessageHandling.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Options.h b/third_party/acados/include/qpOASES_e/Options.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/QProblem.h b/third_party/acados/include/qpOASES_e/QProblem.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/QProblemB.h b/third_party/acados/include/qpOASES_e/QProblemB.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Types.h b/third_party/acados/include/qpOASES_e/Types.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/UnitTesting.h b/third_party/acados/include/qpOASES_e/UnitTesting.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/Utils.h b/third_party/acados/include/qpOASES_e/Utils.h old mode 100644 new mode 100755 diff --git a/third_party/acados/include/qpOASES_e/extras/OQPinterface.h b/third_party/acados/include/qpOASES_e/extras/OQPinterface.h old mode 100644 new mode 100755 diff --git a/third_party/acados/larch64/lib/libacados.so b/third_party/acados/larch64/lib/libacados.so old mode 100644 new mode 100755 diff --git a/third_party/acados/larch64/lib/libblasfeo.so b/third_party/acados/larch64/lib/libblasfeo.so old mode 100644 new mode 100755 diff --git a/third_party/acados/larch64/lib/libhpipm.so b/third_party/acados/larch64/lib/libhpipm.so old mode 100644 new mode 100755 diff --git a/third_party/acados/larch64/lib/libqpOASES_e.so.3.1 b/third_party/acados/larch64/lib/libqpOASES_e.so.3.1 old mode 100644 new mode 100755 diff --git a/third_party/acados/x86_64/lib/libacados.so b/third_party/acados/x86_64/lib/libacados.so old mode 100644 new mode 100755 diff --git a/third_party/acados/x86_64/lib/libblasfeo.so b/third_party/acados/x86_64/lib/libblasfeo.so old mode 100644 new mode 100755 diff --git a/third_party/acados/x86_64/lib/libhpipm.so b/third_party/acados/x86_64/lib/libhpipm.so old mode 100644 new mode 100755 diff --git a/third_party/acados/x86_64/lib/libqpOASES_e.so.3.1 b/third_party/acados/x86_64/lib/libqpOASES_e.so.3.1 old mode 100644 new mode 100755 diff --git a/third_party/bootstrap/.gitignore b/third_party/bootstrap/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/bootstrap/bootstrap-icons.svg b/third_party/bootstrap/bootstrap-icons.svg old mode 100644 new mode 100755 diff --git a/third_party/catch2/include/catch2/catch.hpp b/third_party/catch2/include/catch2/catch.hpp old mode 100644 new mode 100755 diff --git a/third_party/catch2/include/catch2/catch_reporter_automake.hpp b/third_party/catch2/include/catch2/catch_reporter_automake.hpp old mode 100644 new mode 100755 diff --git a/third_party/catch2/include/catch2/catch_reporter_sonarqube.hpp b/third_party/catch2/include/catch2/catch_reporter_sonarqube.hpp old mode 100644 new mode 100755 diff --git a/third_party/catch2/include/catch2/catch_reporter_tap.hpp b/third_party/catch2/include/catch2/catch_reporter_tap.hpp old mode 100644 new mode 100755 diff --git a/third_party/catch2/include/catch2/catch_reporter_teamcity.hpp b/third_party/catch2/include/catch2/catch_reporter_teamcity.hpp old mode 100644 new mode 100755 diff --git a/third_party/json11/json11.cpp b/third_party/json11/json11.cpp old mode 100644 new mode 100755 diff --git a/third_party/json11/json11.hpp b/third_party/json11/json11.hpp old mode 100644 new mode 100755 diff --git a/third_party/libyuv/.gitignore b/third_party/libyuv/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/libyuv/Darwin/lib/libyuv.a b/third_party/libyuv/Darwin/lib/libyuv.a old mode 100644 new mode 100755 diff --git a/third_party/libyuv/LICENSE b/third_party/libyuv/LICENSE old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv.h b/third_party/libyuv/include/libyuv.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/basic_types.h b/third_party/libyuv/include/libyuv/basic_types.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/compare.h b/third_party/libyuv/include/libyuv/compare.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/compare_row.h b/third_party/libyuv/include/libyuv/compare_row.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/convert.h b/third_party/libyuv/include/libyuv/convert.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/convert_argb.h b/third_party/libyuv/include/libyuv/convert_argb.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/convert_from.h b/third_party/libyuv/include/libyuv/convert_from.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/convert_from_argb.h b/third_party/libyuv/include/libyuv/convert_from_argb.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/cpu_id.h b/third_party/libyuv/include/libyuv/cpu_id.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/macros_msa.h b/third_party/libyuv/include/libyuv/macros_msa.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/mjpeg_decoder.h b/third_party/libyuv/include/libyuv/mjpeg_decoder.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/planar_functions.h b/third_party/libyuv/include/libyuv/planar_functions.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/rotate.h b/third_party/libyuv/include/libyuv/rotate.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/rotate_argb.h b/third_party/libyuv/include/libyuv/rotate_argb.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/rotate_row.h b/third_party/libyuv/include/libyuv/rotate_row.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/row.h b/third_party/libyuv/include/libyuv/row.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/scale.h b/third_party/libyuv/include/libyuv/scale.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/scale_argb.h b/third_party/libyuv/include/libyuv/scale_argb.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/scale_row.h b/third_party/libyuv/include/libyuv/scale_row.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/version.h b/third_party/libyuv/include/libyuv/version.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/include/libyuv/video_common.h b/third_party/libyuv/include/libyuv/video_common.h old mode 100644 new mode 100755 diff --git a/third_party/libyuv/larch64/lib/libyuv.a b/third_party/libyuv/larch64/lib/libyuv.a old mode 100644 new mode 100755 diff --git a/third_party/libyuv/x86_64/lib/libyuv.a b/third_party/libyuv/x86_64/lib/libyuv.a old mode 100644 new mode 100755 diff --git a/third_party/linux/include/linux/ion.h b/third_party/linux/include/linux/ion.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_cpas.h b/third_party/linux/include/media/cam_cpas.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_defs.h b/third_party/linux/include/media/cam_defs.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_fd.h b/third_party/linux/include/media/cam_fd.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_icp.h b/third_party/linux/include/media/cam_icp.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_isp.h b/third_party/linux/include/media/cam_isp.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_isp_ife.h b/third_party/linux/include/media/cam_isp_ife.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_isp_vfe.h b/third_party/linux/include/media/cam_isp_vfe.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_jpeg.h b/third_party/linux/include/media/cam_jpeg.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_lrme.h b/third_party/linux/include/media/cam_lrme.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_req_mgr.h b/third_party/linux/include/media/cam_req_mgr.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_sensor.h b/third_party/linux/include/media/cam_sensor.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_sensor_cmn_header.h b/third_party/linux/include/media/cam_sensor_cmn_header.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/media/cam_sync.h b/third_party/linux/include/media/cam_sync.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msm_cam_sensor.h b/third_party/linux/include/msm_cam_sensor.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msm_camsensor_sdk.h b/third_party/linux/include/msm_camsensor_sdk.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msm_ion.h b/third_party/linux/include/msm_ion.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msm_kgsl.h b/third_party/linux/include/msm_kgsl.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msm_media_info.h b/third_party/linux/include/msm_media_info.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msmb_camera.h b/third_party/linux/include/msmb_camera.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msmb_isp.h b/third_party/linux/include/msmb_isp.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/msmb_ispif.h b/third_party/linux/include/msmb_ispif.h old mode 100644 new mode 100755 diff --git a/third_party/linux/include/v4l2-controls.h b/third_party/linux/include/v4l2-controls.h old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/.gitignore b/third_party/maplibre-native-qt/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/aarch64 b/third_party/maplibre-native-qt/aarch64 old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/build.sh b/third_party/maplibre-native-qt/build.sh old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/conversion_p.hpp b/third_party/maplibre-native-qt/include/conversion_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/export_core.hpp b/third_party/maplibre-native-qt/include/export_core.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/export_location.hpp b/third_party/maplibre-native-qt/include/export_location.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/export_widgets.hpp b/third_party/maplibre-native-qt/include/export_widgets.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/geojson_p.hpp b/third_party/maplibre-native-qt/include/geojson_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/gl_widget.hpp b/third_party/maplibre-native-qt/include/gl_widget.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/gl_widget_p.hpp b/third_party/maplibre-native-qt/include/gl_widget_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/map.hpp b/third_party/maplibre-native-qt/include/map.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/map_observer_p.hpp b/third_party/maplibre-native-qt/include/map_observer_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/map_p.hpp b/third_party/maplibre-native-qt/include/map_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/map_renderer_p.hpp b/third_party/maplibre-native-qt/include/map_renderer_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/qgeomap.hpp b/third_party/maplibre-native-qt/include/qgeomap.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/qgeomap_p.hpp b/third_party/maplibre-native-qt/include/qgeomap_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/qmaplibre.hpp b/third_party/maplibre-native-qt/include/qmaplibre.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/qmaplibrewidgets.hpp b/third_party/maplibre-native-qt/include/qmaplibrewidgets.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/qt_mapping_engine.hpp b/third_party/maplibre-native-qt/include/qt_mapping_engine.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/settings.hpp b/third_party/maplibre-native-qt/include/settings.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/settings_p.hpp b/third_party/maplibre-native-qt/include/settings_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/style_change_utils_p.hpp b/third_party/maplibre-native-qt/include/style_change_utils_p.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/texture_node.hpp b/third_party/maplibre-native-qt/include/texture_node.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/types.hpp b/third_party/maplibre-native-qt/include/types.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/include/utils.hpp b/third_party/maplibre-native-qt/include/utils.hpp old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/Export b/third_party/maplibre-native-qt/larch64/include/QMapLibre/Export old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/LayerParameter b/third_party/maplibre-native-qt/larch64/include/QMapLibre/LayerParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/Map b/third_party/maplibre-native-qt/larch64/include/QMapLibre/Map old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/QMapLibre b/third_party/maplibre-native-qt/larch64/include/QMapLibre/QMapLibre old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/Settings b/third_party/maplibre-native-qt/larch64/include/QMapLibre/Settings old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/SourceParameter b/third_party/maplibre-native-qt/larch64/include/QMapLibre/SourceParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/StyleParameter b/third_party/maplibre-native-qt/larch64/include/QMapLibre/StyleParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/Types b/third_party/maplibre-native-qt/larch64/include/QMapLibre/Types old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/include/QMapLibre/Utils b/third_party/maplibre-native-qt/larch64/include/QMapLibre/Utils old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/lib/libQMapLibre.so b/third_party/maplibre-native-qt/larch64/lib/libQMapLibre.so old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/larch64/lib/libQMapLibre.so.3.0.0 b/third_party/maplibre-native-qt/larch64/lib/libQMapLibre.so.3.0.0 old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Export b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Export old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/LayerParameter b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/LayerParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Map b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Map old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/QMapLibre b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/QMapLibre old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Settings b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Settings old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/SourceParameter b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/SourceParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/StyleParameter b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/StyleParameter old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Types b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Types old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Utils b/third_party/maplibre-native-qt/x86_64/include/QMapLibre/Utils old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/lib/libQMapLibre.so b/third_party/maplibre-native-qt/x86_64/lib/libQMapLibre.so old mode 100644 new mode 100755 diff --git a/third_party/maplibre-native-qt/x86_64/lib/libQMapLibre.so.3.0.0 b/third_party/maplibre-native-qt/x86_64/lib/libQMapLibre.so.3.0.0 old mode 100644 new mode 100755 diff --git a/third_party/nanovg/fontstash.h b/third_party/nanovg/fontstash.h old mode 100644 new mode 100755 diff --git a/third_party/nanovg/nanovg.c b/third_party/nanovg/nanovg.c old mode 100644 new mode 100755 diff --git a/third_party/nanovg/nanovg.h b/third_party/nanovg/nanovg.h old mode 100644 new mode 100755 diff --git a/third_party/nanovg/nanovg_gl.h b/third_party/nanovg/nanovg_gl.h old mode 100644 new mode 100755 diff --git a/third_party/nanovg/nanovg_gl_utils.h b/third_party/nanovg/nanovg_gl_utils.h old mode 100644 new mode 100755 diff --git a/third_party/nanovg/stb_image.h b/third_party/nanovg/stb_image.h old mode 100644 new mode 100755 diff --git a/third_party/nanovg/stb_truetype.h b/third_party/nanovg/stb_truetype.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl.h b/third_party/opencl/include/CL/cl.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_d3d10.h b/third_party/opencl/include/CL/cl_d3d10.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_d3d11.h b/third_party/opencl/include/CL/cl_d3d11.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_dx9_media_sharing.h b/third_party/opencl/include/CL/cl_dx9_media_sharing.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_egl.h b/third_party/opencl/include/CL/cl_egl.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_ext.h b/third_party/opencl/include/CL/cl_ext.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_ext_qcom.h b/third_party/opencl/include/CL/cl_ext_qcom.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_gl.h b/third_party/opencl/include/CL/cl_gl.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_gl_ext.h b/third_party/opencl/include/CL/cl_gl_ext.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/cl_platform.h b/third_party/opencl/include/CL/cl_platform.h old mode 100644 new mode 100755 diff --git a/third_party/opencl/include/CL/opencl.h b/third_party/opencl/include/CL/opencl.h old mode 100644 new mode 100755 diff --git a/third_party/qrcode/QrCode.cc b/third_party/qrcode/QrCode.cc old mode 100644 new mode 100755 diff --git a/third_party/qrcode/QrCode.hpp b/third_party/qrcode/QrCode.hpp old mode 100644 new mode 100755 diff --git a/third_party/raylib/.gitignore b/third_party/raylib/.gitignore old mode 100644 new mode 100755 diff --git a/third_party/raylib/Darwin/libraylib.a b/third_party/raylib/Darwin/libraylib.a old mode 100644 new mode 100755 diff --git a/third_party/raylib/include/raygui.h b/third_party/raylib/include/raygui.h old mode 100644 new mode 100755 diff --git a/third_party/raylib/include/raylib.h b/third_party/raylib/include/raylib.h old mode 100644 new mode 100755 diff --git a/third_party/raylib/include/raymath.h b/third_party/raylib/include/raymath.h old mode 100644 new mode 100755 diff --git a/third_party/raylib/include/rlgl.h b/third_party/raylib/include/rlgl.h old mode 100644 new mode 100755 diff --git a/third_party/raylib/larch64/libraylib.a b/third_party/raylib/larch64/libraylib.a old mode 100644 new mode 100755 diff --git a/third_party/raylib/x86_64/libraylib.a b/third_party/raylib/x86_64/libraylib.a old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.github/workflows/benchmark.yml b/tinygrad_repo/.github/workflows/benchmark.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.github/workflows/docs.yml b/tinygrad_repo/.github/workflows/docs.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.github/workflows/python-publish.yml b/tinygrad_repo/.github/workflows/python-publish.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.github/workflows/szdiff.yml b/tinygrad_repo/.github/workflows/szdiff.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.github/workflows/test.yml b/tinygrad_repo/.github/workflows/test.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.gitignore b/tinygrad_repo/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.pre-commit-config.yaml b/tinygrad_repo/.pre-commit-config.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/.pylintrc b/tinygrad_repo/.pylintrc old mode 100644 new mode 100755 diff --git a/tinygrad_repo/AGENTS.md b/tinygrad_repo/AGENTS.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/LICENSE b/tinygrad_repo/LICENSE old mode 100644 new mode 100755 diff --git a/tinygrad_repo/README.md b/tinygrad_repo/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/CNAME b/tinygrad_repo/docs/CNAME old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/abstractions2.py b/tinygrad_repo/docs/abstractions2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/abstractions3.py b/tinygrad_repo/docs/abstractions3.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/am.md b/tinygrad_repo/docs/developer/am.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/developer.md b/tinygrad_repo/docs/developer/developer.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/hcq.md b/tinygrad_repo/docs/developer/hcq.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/kernelize.md b/tinygrad_repo/docs/developer/kernelize.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/layout.md b/tinygrad_repo/docs/developer/layout.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/runtime.md b/tinygrad_repo/docs/developer/runtime.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/speed.md b/tinygrad_repo/docs/developer/speed.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/developer/uop.md b/tinygrad_repo/docs/developer/uop.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/dtypes.md b/tinygrad_repo/docs/dtypes.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/env_vars.md b/tinygrad_repo/docs/env_vars.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/favicon.svg b/tinygrad_repo/docs/favicon.svg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/index.md b/tinygrad_repo/docs/index.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/logo_tiny_dark.svg b/tinygrad_repo/docs/logo_tiny_dark.svg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/logo_tiny_light.svg b/tinygrad_repo/docs/logo_tiny_light.svg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/mnist.md b/tinygrad_repo/docs/mnist.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/nn.md b/tinygrad_repo/docs/nn.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/quickstart.md b/tinygrad_repo/docs/quickstart.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/ramp.py b/tinygrad_repo/docs/ramp.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/runtime.md b/tinygrad_repo/docs/runtime.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/showcase.md b/tinygrad_repo/docs/showcase.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/showcase/mnist_by_tinygrad.jpg b/tinygrad_repo/docs/showcase/mnist_by_tinygrad.jpg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/showcase/stable_diffusion_by_tinygrad.jpg b/tinygrad_repo/docs/showcase/stable_diffusion_by_tinygrad.jpg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/showcase/yolo_by_tinygrad.jpg b/tinygrad_repo/docs/showcase/yolo_by_tinygrad.jpg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/showcase/yolov8_showcase_image.png b/tinygrad_repo/docs/showcase/yolov8_showcase_image.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/creation.md b/tinygrad_repo/docs/tensor/creation.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/elementwise.md b/tinygrad_repo/docs/tensor/elementwise.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/index.md b/tinygrad_repo/docs/tensor/index.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/movement.md b/tinygrad_repo/docs/tensor/movement.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/ops.md b/tinygrad_repo/docs/tensor/ops.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tensor/properties.md b/tinygrad_repo/docs/tensor/properties.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tinybox.md b/tinygrad_repo/docs/tinybox.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tinygrad_intro.pdf b/tinygrad_repo/docs/tinygrad_intro.pdf old mode 100644 new mode 100755 diff --git a/tinygrad_repo/docs/tinygrad_vs_others.png b/tinygrad_repo/docs/tinygrad_vs_others.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/eslint.config.mjs b/tinygrad_repo/eslint.config.mjs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/__init__.py b/tinygrad_repo/examples/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/beautiful_cartpole.py b/tinygrad_repo/examples/beautiful_cartpole.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/beautiful_cifar.py b/tinygrad_repo/examples/beautiful_cifar.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/beautiful_mnist.py b/tinygrad_repo/examples/beautiful_mnist.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/beautiful_mnist_multigpu.py b/tinygrad_repo/examples/beautiful_mnist_multigpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/benchmark_onnx.py b/tinygrad_repo/examples/benchmark_onnx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/coder.py b/tinygrad_repo/examples/coder.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/compile_efficientnet.py b/tinygrad_repo/examples/compile_efficientnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/compile_tensorflow.py b/tinygrad_repo/examples/compile_tensorflow.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/conversation.py b/tinygrad_repo/examples/conversation.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/conversation_data/pre_prompt_gary.yaml b/tinygrad_repo/examples/conversation_data/pre_prompt_gary.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/conversation_data/pre_prompt_george.yaml b/tinygrad_repo/examples/conversation_data/pre_prompt_george.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/conversation_data/pre_prompt_lexie.yaml b/tinygrad_repo/examples/conversation_data/pre_prompt_lexie.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/conversation_data/pre_prompt_stacy.yaml b/tinygrad_repo/examples/conversation_data/pre_prompt_stacy.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/efficientnet.py b/tinygrad_repo/examples/efficientnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/flux1.py b/tinygrad_repo/examples/flux1.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/flux1_seed0.png b/tinygrad_repo/examples/flux1_seed0.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/gpt2.py b/tinygrad_repo/examples/gpt2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/hlb_cifar10.py b/tinygrad_repo/examples/hlb_cifar10.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/llama3.py b/tinygrad_repo/examples/llama3.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/llm.c/.gitignore b/tinygrad_repo/examples/llm.c/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/llm.c/ubench/matmul.c b/tinygrad_repo/examples/llm.c/ubench/matmul.c old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mamba.py b/tinygrad_repo/examples/mamba.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mask_rcnn.py b/tinygrad_repo/examples/mask_rcnn.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/minrf.py b/tinygrad_repo/examples/minrf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mixtral.py b/tinygrad_repo/examples/mixtral.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/README b/tinygrad_repo/examples/mlperf/README old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/dataloader.py b/tinygrad_repo/examples/mlperf/dataloader.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/helpers.py b/tinygrad_repo/examples/mlperf/helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/initializers.py b/tinygrad_repo/examples/mlperf/initializers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/losses.py b/tinygrad_repo/examples/mlperf/losses.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/lr_schedulers.py b/tinygrad_repo/examples/mlperf/lr_schedulers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/metrics.py b/tinygrad_repo/examples/mlperf/metrics.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/model_eval.py b/tinygrad_repo/examples/mlperf/model_eval.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/model_spec.py b/tinygrad_repo/examples/mlperf/model_spec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/model_train.py b/tinygrad_repo/examples/mlperf/model_train.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/scripts/stable_diffusion_downloads.sh b/tinygrad_repo/examples/mlperf/scripts/stable_diffusion_downloads.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/systems/tinybox_green.json b/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/systems/tinybox_green.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/systems/tinybox_red.json b/tinygrad_repo/examples/mlperf/training_submission_v4.0/tinycorp/systems/tinybox_red.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/systems/tinybox_green.json b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/systems/tinybox_green.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/systems/tinybox_red.json b/tinygrad_repo/examples/mlperf/training_submission_v4.1/tinycorp/systems/tinybox_red.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_1xMI300X/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_1xMI300X/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_green/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_8xMI300X.json b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_8xMI300X.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_green.json b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_green.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_red.json b/tinygrad_repo/examples/mlperf/training_submission_v5.0/tinycorp/systems/tinybox_red.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_1xMI300X/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_1xMI300X/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_8xMI300X/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_green/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/bert/implementations/tinybox_red/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_green/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/setup.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/resnet/implementations/tinybox_red/setup.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/README.md b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/run_and_time.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_green/run_and_time.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_beam.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_beam.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_run.sh b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/benchmarks/retinanet/implementations/tinybox_red/dev_run.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_8xMI300X.json b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_8xMI300X.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_green.json b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_green.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_red.json b/tinygrad_repo/examples/mlperf/training_submission_v5.1/tinycorp/systems/tinybox_red.json old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/mnist_gan.py b/tinygrad_repo/examples/mnist_gan.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/olmoe.py b/tinygrad_repo/examples/olmoe.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/openelm.py b/tinygrad_repo/examples/openelm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/openpilot/compile3.py b/tinygrad_repo/examples/openpilot/compile3.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/openpilot/compile4.py b/tinygrad_repo/examples/openpilot/compile4.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/other_mnist/beautiful_mnist_mlx.py b/tinygrad_repo/examples/other_mnist/beautiful_mnist_mlx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/other_mnist/beautiful_mnist_torch.py b/tinygrad_repo/examples/other_mnist/beautiful_mnist_torch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/qwq.py b/tinygrad_repo/examples/qwq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/rl/lightupbutton.py b/tinygrad_repo/examples/rl/lightupbutton.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/sdv2.py b/tinygrad_repo/examples/sdv2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/sdxl.py b/tinygrad_repo/examples/sdxl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/sdxl_seed0.png b/tinygrad_repo/examples/sdxl_seed0.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/self_tokenize.py b/tinygrad_repo/examples/self_tokenize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/serious_mnist.py b/tinygrad_repo/examples/serious_mnist.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/simple_conv_bn.py b/tinygrad_repo/examples/simple_conv_bn.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/so_vits_svc.py b/tinygrad_repo/examples/so_vits_svc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/sovits_helpers/preprocess.py b/tinygrad_repo/examples/sovits_helpers/preprocess.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/stable_diffusion.py b/tinygrad_repo/examples/stable_diffusion.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/stable_diffusion_seed0.png b/tinygrad_repo/examples/stable_diffusion_seed0.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/stunning_mnist.py b/tinygrad_repo/examples/stunning_mnist.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/test_onnx_imagenet.py b/tinygrad_repo/examples/test_onnx_imagenet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/test_pkl_imagenet.py b/tinygrad_repo/examples/test_pkl_imagenet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js b/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpine-collective/toolkit@1.0.2/dist/cdn.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js b/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpinejs/focus@3.x.x/dist/cdn.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js b/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/@alpinejs/intersect@3.x.x/dist/cdn.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css b/tinygrad_repo/examples/tinychat/assets/cdn.jsdelivr.net/npm/purecss@3.0.0/build/base-min.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css b/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf b/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 b/tinygrad_repo/examples/tinychat/assets/cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css b/tinygrad_repo/examples/tinychat/assets/unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/vs2015.min.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js.map b/tinygrad_repo/examples/tinychat/assets/unpkg.com/@marcreichel/alpine-autosize@1.3.x/dist/alpine-autosize.min.js.map old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/alpinejs@3.x.x/dist/cdn.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/dompurify@3.1.5/dist/purify.min.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/dompurify@3.1.5/dist/purify.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/dompurify@3.1.5/dist/purify.min.js.map b/tinygrad_repo/examples/tinychat/assets/unpkg.com/dompurify@3.1.5/dist/purify.min.js.map old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/marked-highlight@2.1.2/lib/index.umd.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/assets/unpkg.com/marked@13.0.0/marked.min.js b/tinygrad_repo/examples/tinychat/assets/unpkg.com/marked@13.0.0/marked.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/common.css b/tinygrad_repo/examples/tinychat/common.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/favicon.svg b/tinygrad_repo/examples/tinychat/favicon.svg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/index.css b/tinygrad_repo/examples/tinychat/index.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/index.html b/tinygrad_repo/examples/tinychat/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/index.js b/tinygrad_repo/examples/tinychat/index.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/.gitignore b/tinygrad_repo/examples/tinychat/tinychat-browser/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/README.md b/tinygrad_repo/examples/tinychat/tinychat-browser/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/compile.py b/tinygrad_repo/examples/tinychat/tinychat-browser/compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/compile_wasm.sh b/tinygrad_repo/examples/tinychat/tinychat-browser/compile_wasm.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/index.css b/tinygrad_repo/examples/tinychat/tinychat-browser/index.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/index.html b/tinygrad_repo/examples/tinychat/tinychat-browser/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/index.js b/tinygrad_repo/examples/tinychat/tinychat-browser/index.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/make_tiktoken_js.sh b/tinygrad_repo/examples/tinychat/tinychat-browser/make_tiktoken_js.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/tiktoken-export.js b/tinygrad_repo/examples/tinychat/tinychat-browser/tiktoken-export.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/webpack.config.js b/tinygrad_repo/examples/tinychat/tinychat-browser/webpack.config.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/tinychat/tinychat-browser/worker.js b/tinygrad_repo/examples/tinychat/tinychat-browser/worker.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/torch_cuda_kernel.py b/tinygrad_repo/examples/torch_cuda_kernel.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/train_efficientnet.py b/tinygrad_repo/examples/train_efficientnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/vgg7.py b/tinygrad_repo/examples/vgg7.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/vgg7_helpers/waifu2x.py b/tinygrad_repo/examples/vgg7_helpers/waifu2x.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/vit.py b/tinygrad_repo/examples/vit.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/vits.py b/tinygrad_repo/examples/vits.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/webgpu/efficientnet/index.html b/tinygrad_repo/examples/webgpu/efficientnet/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/webgpu/stable_diffusion/compile.py b/tinygrad_repo/examples/webgpu/stable_diffusion/compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/webgpu/stable_diffusion/index.html b/tinygrad_repo/examples/webgpu/stable_diffusion/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/webgpu/yolov8/compile.py b/tinygrad_repo/examples/webgpu/yolov8/compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/webgpu/yolov8/index.html b/tinygrad_repo/examples/webgpu/yolov8/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/whisper.py b/tinygrad_repo/examples/whisper.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/yolov8-onnx.py b/tinygrad_repo/examples/yolov8-onnx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/examples/yolov8.py b/tinygrad_repo/examples/yolov8.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/am_smi.py b/tinygrad_repo/extra/amdpci/am_smi.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_doorbell.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_doorbell.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_irq.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_irq.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_psp.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_psp.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_smu.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_smu.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_ucode.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_ucode.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/amdgpu_vm.h b/tinygrad_repo/extra/amdpci/headers/amdgpu_vm.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/discovery.h b/tinygrad_repo/extra/amdpci/headers/discovery.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/psp_gfx_if.h b/tinygrad_repo/extra/amdpci/headers/psp_gfx_if.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/v11_structs.h b/tinygrad_repo/extra/amdpci/headers/v11_structs.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/headers/v12_structs.h b/tinygrad_repo/extra/amdpci/headers/v12_structs.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/overlay/gc_9_4_3.h b/tinygrad_repo/extra/amdpci/overlay/gc_9_4_3.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/proclogs.py b/tinygrad_repo/extra/amdpci/proclogs.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/setup_python_cap.sh b/tinygrad_repo/extra/amdpci/setup_python_cap.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/amdpci/setup_vfio.sh b/tinygrad_repo/extra/amdpci/setup_vfio.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/archprobe.py b/tinygrad_repo/extra/archprobe.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/assembly.py b/tinygrad_repo/extra/assembly/assembly.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/assembly_arm64.py b/tinygrad_repo/extra/assembly/assembly_arm64.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/assembly_ptx.py b/tinygrad_repo/extra/assembly/assembly_ptx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/assembly_rdna.py b/tinygrad_repo/extra/assembly/assembly_rdna.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/ptx/test.py b/tinygrad_repo/extra/assembly/ptx/test.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/.gitignore b/tinygrad_repo/extra/assembly/rocm/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/NOTES b/tinygrad_repo/extra/assembly/rocm/NOTES old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump b/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump2 b/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump2 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump3 b/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump3 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump4 b/tinygrad_repo/extra/assembly/rocm/kernel_crashes/dump4 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/rdna3/asm.py b/tinygrad_repo/extra/assembly/rocm/rdna3/asm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/rdna3/prog.s b/tinygrad_repo/extra/assembly/rocm/rdna3/prog.s old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/assembly/rocm/sniffer/sniff.cc b/tinygrad_repo/extra/assembly/rocm/sniffer/sniff.cc old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/augment.py b/tinygrad_repo/extra/augment.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/clang_graph.py b/tinygrad_repo/extra/backends/clang_graph.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/graph_hip.py b/tinygrad_repo/extra/backends/graph_hip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/hsa_driver.py b/tinygrad_repo/extra/backends/hsa_driver.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/hsa_graph.py b/tinygrad_repo/extra/backends/hsa_graph.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/ops_hsa.py b/tinygrad_repo/extra/backends/ops_hsa.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/rdna.py b/tinygrad_repo/extra/backends/rdna.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/backends/triton.py b/tinygrad_repo/extra/backends/triton.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/bench_log.py b/tinygrad_repo/extra/bench_log.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/.gitignore b/tinygrad_repo/extra/datasets/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/__init__.py b/tinygrad_repo/extra/datasets/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/coco.py b/tinygrad_repo/extra/datasets/coco.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/imagenet.py b/tinygrad_repo/extra/datasets/imagenet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/imagenet_download.py b/tinygrad_repo/extra/datasets/imagenet_download.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/kits19.py b/tinygrad_repo/extra/datasets/kits19.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/librispeech.py b/tinygrad_repo/extra/datasets/librispeech.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/openimages.py b/tinygrad_repo/extra/datasets/openimages.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/preprocess_imagenet.py b/tinygrad_repo/extra/datasets/preprocess_imagenet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/sops.gz b/tinygrad_repo/extra/datasets/sops.gz old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/squad.py b/tinygrad_repo/extra/datasets/squad.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/wikipedia.py b/tinygrad_repo/extra/datasets/wikipedia.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/datasets/wikipedia_download.py b/tinygrad_repo/extra/datasets/wikipedia_download.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/.gitignore b/tinygrad_repo/extra/disassemblers/adreno/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/README b/tinygrad_repo/extra/disassemblers/adreno/README old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/__init__.py b/tinygrad_repo/extra/disassemblers/adreno/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/disasm-a3xx.c b/tinygrad_repo/extra/disassemblers/adreno/disasm-a3xx.c old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/instr-a3xx.h b/tinygrad_repo/extra/disassemblers/adreno/instr-a3xx.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/ir3.h b/tinygrad_repo/extra/disassemblers/adreno/ir3.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/shader_enums.h b/tinygrad_repo/extra/disassemblers/adreno/shader_enums.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/util/bitscan.h b/tinygrad_repo/extra/disassemblers/adreno/util/bitscan.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/util/bitset.h b/tinygrad_repo/extra/disassemblers/adreno/util/bitset.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/util/list.h b/tinygrad_repo/extra/disassemblers/adreno/util/list.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disassemblers/adreno/util/macros.h b/tinygrad_repo/extra/disassemblers/adreno/util/macros.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/disk_read_speed.py b/tinygrad_repo/extra/disk_read_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/Dockerfile b/tinygrad_repo/extra/dsp/Dockerfile old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/hook.py b/tinygrad_repo/extra/dsp/hook.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/AEEStdDef.h b/tinygrad_repo/extra/dsp/include/AEEStdDef.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/adsprpc_shared.h b/tinygrad_repo/extra/dsp/include/adsprpc_shared.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/apps_std.h b/tinygrad_repo/extra/dsp/include/apps_std.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/ion.h b/tinygrad_repo/extra/dsp/include/ion.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/msm_ion.h b/tinygrad_repo/extra/dsp/include/msm_ion.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/include/remote_default.h b/tinygrad_repo/extra/dsp/include/remote_default.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/invoke_bug.py b/tinygrad_repo/extra/dsp/invoke_bug.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/invoke_bug_2.py b/tinygrad_repo/extra/dsp/invoke_bug_2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/opt.py b/tinygrad_repo/extra/dsp/opt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/preload.c b/tinygrad_repo/extra/dsp/preload.c old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/snpe.sh b/tinygrad_repo/extra/dsp/snpe.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/snpe_logs/dlc_info_2 b/tinygrad_repo/extra/dsp/snpe_logs/dlc_info_2 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/snpe_logs/high_perf_2 b/tinygrad_repo/extra/dsp/snpe_logs/high_perf_2 old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dsp/snpe_logs/parse.py b/tinygrad_repo/extra/dsp/snpe_logs/parse.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/dump_cache.py b/tinygrad_repo/extra/dump_cache.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/export_model.py b/tinygrad_repo/extra/export_model.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/f16_decompress.py b/tinygrad_repo/extra/f16_decompress.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/.gitignore b/tinygrad_repo/extra/gemm/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/amd_matmul.py b/tinygrad_repo/extra/gemm/amd_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/amd_seb/kernel3_registers.cpp b/tinygrad_repo/extra/gemm/amd_seb/kernel3_registers.cpp old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/amd_seb/kernel4_gmem_df.cpp b/tinygrad_repo/extra/gemm/amd_seb/kernel4_gmem_df.cpp old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/amd_seb/kernel5_lds_optim.cpp b/tinygrad_repo/extra/gemm/amd_seb/kernel5_lds_optim.cpp old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/amd_uop_matmul.py b/tinygrad_repo/extra/gemm/amd_uop_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/cuda_matmul.py b/tinygrad_repo/extra/gemm/cuda_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/fuzz_matmul.py b/tinygrad_repo/extra/gemm/fuzz_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/gemm.c b/tinygrad_repo/extra/gemm/gemm.c old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/halide_gemm.py b/tinygrad_repo/extra/gemm/halide_gemm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/hip_matmul.py b/tinygrad_repo/extra/gemm/hip_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/intel_xmx.py b/tinygrad_repo/extra/gemm/intel_xmx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.2_stage.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.2_stage.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.3_stage.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.3_stage.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.3_stage_swizzled.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.3_stage_swizzled.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.max.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.max.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.no_xor.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp16_fp16.no_xor.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp16.hcopt.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp16.hcopt.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.2_stage_swizzled_smem_input.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.2_stage_swizzled_smem_input.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.flat_smem_input.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.flat_smem_input.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.max.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.max.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.swizzled_smem_input.cu b/tinygrad_repo/extra/gemm/max_kernels/nv.fp16_fp32_fp32.swizzled_smem_input.cu old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/max_matmul.py b/tinygrad_repo/extra/gemm/max_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/metal_conv.py b/tinygrad_repo/extra/gemm/metal_conv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/metal_matmul.py b/tinygrad_repo/extra/gemm/metal_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/metal_matvec.py b/tinygrad_repo/extra/gemm/metal_matvec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/mlx_matmul.py b/tinygrad_repo/extra/gemm/mlx_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/real_pmatmul.py b/tinygrad_repo/extra/gemm/real_pmatmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/simple_conv.py b/tinygrad_repo/extra/gemm/simple_conv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/simple_matmul.py b/tinygrad_repo/extra/gemm/simple_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/simple_matvec.py b/tinygrad_repo/extra/gemm/simple_matvec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/tf_gemm.py b/tinygrad_repo/extra/gemm/tf_gemm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/tinygrad_nv_matmul.py b/tinygrad_repo/extra/gemm/tinygrad_nv_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/torch_gemm.py b/tinygrad_repo/extra/gemm/torch_gemm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/triton_nv_matmul.py b/tinygrad_repo/extra/gemm/triton_nv_matmul.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gemm/tvm_gemm.py b/tinygrad_repo/extra/gemm/tvm_gemm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/gradcheck.py b/tinygrad_repo/extra/gradcheck.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcq/hcq_smi.py b/tinygrad_repo/extra/hcq/hcq_smi.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/.gitignore b/tinygrad_repo/extra/hcqfuzz/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/fuzzer.py b/tinygrad_repo/extra/hcqfuzz/fuzzer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/readme b/tinygrad_repo/extra/hcqfuzz/readme old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/spec.py b/tinygrad_repo/extra/hcqfuzz/spec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tests/allocator.py b/tinygrad_repo/extra/hcqfuzz/tests/allocator.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tests/allreduce.py b/tinygrad_repo/extra/hcqfuzz/tests/allreduce.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tests/bert.py b/tinygrad_repo/extra/hcqfuzz/tests/bert.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tests/hcq.py b/tinygrad_repo/extra/hcqfuzz/tests/hcq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tests/resnet.py b/tinygrad_repo/extra/hcqfuzz/tests/resnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hcqfuzz/tools.py b/tinygrad_repo/extra/hcqfuzz/tools.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_events.py b/tinygrad_repo/extra/hip_events.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/gc_10_3_0_offset.h b/tinygrad_repo/extra/hip_gpu_driver/gc_10_3_0_offset.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/gc_11_0_0_offset.h b/tinygrad_repo/extra/hip_gpu_driver/gc_11_0_0_offset.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/hip_ioctl.py b/tinygrad_repo/extra/hip_gpu_driver/hip_ioctl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/kfd_ioctl.h b/tinygrad_repo/extra/hip_gpu_driver/kfd_ioctl.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/kfd_pm4_headers_ai.h b/tinygrad_repo/extra/hip_gpu_driver/kfd_pm4_headers_ai.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/navi10_sdma_pkt_open.h b/tinygrad_repo/extra/hip_gpu_driver/navi10_sdma_pkt_open.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/nvd.h b/tinygrad_repo/extra/hip_gpu_driver/nvd.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/sdma_registers.h b/tinygrad_repo/extra/hip_gpu_driver/sdma_registers.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/sdma_v6_0_0_pkt_open.h b/tinygrad_repo/extra/hip_gpu_driver/sdma_v6_0_0_pkt_open.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/sienna_cichlid_ip_offset.h b/tinygrad_repo/extra/hip_gpu_driver/sienna_cichlid_ip_offset.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/soc15d.h b/tinygrad_repo/extra/hip_gpu_driver/soc15d.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/soc21_enum.h b/tinygrad_repo/extra/hip_gpu_driver/soc21_enum.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/test_kfd_2.py b/tinygrad_repo/extra/hip_gpu_driver/test_kfd_2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/test_pm4.py b/tinygrad_repo/extra/hip_gpu_driver/test_pm4.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/test_sdma_fun.py b/tinygrad_repo/extra/hip_gpu_driver/test_sdma_fun.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_gpu_driver/vega10_sdma_pkt_open.h b/tinygrad_repo/extra/hip_gpu_driver/vega10_sdma_pkt_open.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hip_large_kernel.py b/tinygrad_repo/extra/hip_large_kernel.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hiprtc/hiprtc_runtime.h b/tinygrad_repo/extra/hiprtc/hiprtc_runtime.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/hook_cuda.py b/tinygrad_repo/extra/hook_cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/huggingface_onnx/README.md b/tinygrad_repo/extra/huggingface_onnx/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/huggingface_onnx/huggingface_manager.py b/tinygrad_repo/extra/huggingface_onnx/huggingface_manager.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/huggingface_onnx/run_models.py b/tinygrad_repo/extra/huggingface_onnx/run_models.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/introspection.py b/tinygrad_repo/extra/introspection.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/junk/sentencepiece_model_pb2.py b/tinygrad_repo/extra/junk/sentencepiece_model_pb2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/lr_scheduler.py b/tinygrad_repo/extra/lr_scheduler.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/mcts_search.py b/tinygrad_repo/extra/mcts_search.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/mmapeak/mmapeak.py b/tinygrad_repo/extra/mmapeak/mmapeak.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/mmapeak/template.s b/tinygrad_repo/extra/mmapeak/template.s old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/bert.py b/tinygrad_repo/extra/models/bert.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/clip.py b/tinygrad_repo/extra/models/clip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/convnext.py b/tinygrad_repo/extra/models/convnext.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/efficientnet.py b/tinygrad_repo/extra/models/efficientnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/inception.py b/tinygrad_repo/extra/models/inception.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/llama.py b/tinygrad_repo/extra/models/llama.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/mask_rcnn.py b/tinygrad_repo/extra/models/mask_rcnn.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/resnet.py b/tinygrad_repo/extra/models/resnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/retinanet.py b/tinygrad_repo/extra/models/retinanet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/rnnt.py b/tinygrad_repo/extra/models/rnnt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/t5.py b/tinygrad_repo/extra/models/t5.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/transformer.py b/tinygrad_repo/extra/models/transformer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/unet.py b/tinygrad_repo/extra/models/unet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/unet3d.py b/tinygrad_repo/extra/models/unet3d.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/models/vit.py b/tinygrad_repo/extra/models/vit.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/multitensor.py b/tinygrad_repo/extra/multitensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/clc6c0qmd.h b/tinygrad_repo/extra/nv_gpu_driver/clc6c0qmd.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/clcec0qmd.h b/tinygrad_repo/extra/nv_gpu_driver/clcec0qmd.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/g_rpc-message-header.h b/tinygrad_repo/extra/nv_gpu_driver/g_rpc-message-header.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/gsp_static_config.h b/tinygrad_repo/extra/nv_gpu_driver/gsp_static_config.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/nv_ioctl.py b/tinygrad_repo/extra/nv_gpu_driver/nv_ioctl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/nv_gpu_driver/vbios.h b/tinygrad_repo/extra/nv_gpu_driver/vbios.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/onnx_helpers.py b/tinygrad_repo/extra/onnx_helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/extract_policynet.py b/tinygrad_repo/extra/optimization/extract_policynet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/extract_sa_pairs.py b/tinygrad_repo/extra/optimization/extract_sa_pairs.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/get_action_space.py b/tinygrad_repo/extra/optimization/get_action_space.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/helpers.py b/tinygrad_repo/extra/optimization/helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/pretrain_valuenet.py b/tinygrad_repo/extra/optimization/pretrain_valuenet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/rl.py b/tinygrad_repo/extra/optimization/rl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/run_qnet.py b/tinygrad_repo/extra/optimization/run_qnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/search.py b/tinygrad_repo/extra/optimization/search.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/test_beam_search.py b/tinygrad_repo/extra/optimization/test_beam_search.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/test_helpers.py b/tinygrad_repo/extra/optimization/test_helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/test_net.py b/tinygrad_repo/extra/optimization/test_net.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/optimization/test_time_linearizer.py b/tinygrad_repo/extra/optimization/test_time_linearizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/perfetto/perfetto.html b/tinygrad_repo/extra/perfetto/perfetto.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/perfetto/to_perfetto.py b/tinygrad_repo/extra/perfetto/to_perfetto.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/a6xx.xml.h b/tinygrad_repo/extra/qcom_gpu_driver/a6xx.xml.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/adreno_pm4.xml b/tinygrad_repo/extra/qcom_gpu_driver/adreno_pm4.xml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/msm_kgsl.h b/tinygrad_repo/extra/qcom_gpu_driver/msm_kgsl.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/msm_kgsl.py b/tinygrad_repo/extra/qcom_gpu_driver/msm_kgsl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/opencl_ioctl.py b/tinygrad_repo/extra/qcom_gpu_driver/opencl_ioctl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/qcom_gpu_driver/qcom_opencl_interop.py b/tinygrad_repo/extra/qcom_gpu_driver/qcom_opencl_interop.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/reduce_speed.py b/tinygrad_repo/extra/reduce_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/Cargo.lock b/tinygrad_repo/extra/remu/Cargo.lock old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/Cargo.toml b/tinygrad_repo/extra/remu/Cargo.toml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/README.md b/tinygrad_repo/extra/remu/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/rustfmt.toml b/tinygrad_repo/extra/remu/rustfmt.toml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/helpers.rs b/tinygrad_repo/extra/remu/src/helpers.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/lib.rs b/tinygrad_repo/extra/remu/src/lib.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/rdna3.rs b/tinygrad_repo/extra/remu/src/rdna3.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/state.rs b/tinygrad_repo/extra/remu/src/state.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/thread.rs b/tinygrad_repo/extra/remu/src/thread.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/src/work_group.rs b/tinygrad_repo/extra/remu/src/work_group.rs old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/remu/test/hwtest.py b/tinygrad_repo/extra/remu/test/hwtest.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/replay_pkl.py b/tinygrad_repo/extra/replay_pkl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/resnet18/resnet_mlx.py b/tinygrad_repo/extra/resnet18/resnet_mlx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/resnet18/resnet_tinygrad.py b/tinygrad_repo/extra/resnet18/resnet_tinygrad.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/ring_copy.py b/tinygrad_repo/extra/ring_copy.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/sched/fuzz_schedule.py b/tinygrad_repo/extra/sched/fuzz_schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/setup_mock_amd_osx.sh b/tinygrad_repo/extra/setup_mock_amd_osx.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/setup_mock_nv_osx.sh b/tinygrad_repo/extra/setup_mock_nv_osx.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/sqtt/README.md b/tinygrad_repo/extra/sqtt/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/sqtt/rgptool.py b/tinygrad_repo/extra/sqtt/rgptool.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/sqtt/sqtt.h b/tinygrad_repo/extra/sqtt/sqtt.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/test_hcopt.py b/tinygrad_repo/extra/test_hcopt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/test_pyrender.py b/tinygrad_repo/extra/test_pyrender.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/thneed.py b/tinygrad_repo/extra/thneed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/threefry.py b/tinygrad_repo/extra/threefry.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/to_movement_ops.py b/tinygrad_repo/extra/to_movement_ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/.gitignore b/tinygrad_repo/extra/torch_backend/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/backend.py b/tinygrad_repo/extra/torch_backend/backend.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/backend2.py b/tinygrad_repo/extra/torch_backend/backend2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/example.py b/tinygrad_repo/extra/torch_backend/example.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/test.py b/tinygrad_repo/extra/torch_backend/test.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/test_compile.py b/tinygrad_repo/extra/torch_backend/test_compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/test_inplace.py b/tinygrad_repo/extra/torch_backend/test_inplace.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/test_multigpu.py b/tinygrad_repo/extra/torch_backend/test_multigpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/torch_tests.py b/tinygrad_repo/extra/torch_backend/torch_tests.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_backend/wrapped_tensor.cpp b/tinygrad_repo/extra/torch_backend/wrapped_tensor.cpp old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_hook/hook_cuda.py b/tinygrad_repo/extra/torch_hook/hook_cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_hook/hook_torch.py b/tinygrad_repo/extra/torch_hook/hook_torch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/torch_muon.py b/tinygrad_repo/extra/torch_muon.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/training.py b/tinygrad_repo/extra/training.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/transfer_speed.py b/tinygrad_repo/extra/transfer_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/.gitignore b/tinygrad_repo/extra/usbgpu/.gitignore old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/legacy/nvme_speed.py b/tinygrad_repo/extra/usbgpu/legacy/nvme_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/legacy/patch_exp.py b/tinygrad_repo/extra/usbgpu/legacy/patch_exp.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/legacy/wr_speed.py b/tinygrad_repo/extra/usbgpu/legacy/wr_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/patch.py b/tinygrad_repo/extra/usbgpu/patch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/usbgpu/scan_pci.py b/tinygrad_repo/extra/usbgpu/scan_pci.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/extra/webgpu/webgpu.h b/tinygrad_repo/extra/webgpu/webgpu.h old mode 100644 new mode 100755 diff --git a/tinygrad_repo/mkdocs.yml b/tinygrad_repo/mkdocs.yml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/mypy.ini b/tinygrad_repo/mypy.ini old mode 100644 new mode 100755 diff --git a/tinygrad_repo/pytest.ini b/tinygrad_repo/pytest.ini old mode 100644 new mode 100755 diff --git a/tinygrad_repo/ruff.toml b/tinygrad_repo/ruff.toml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/setup.py b/tinygrad_repo/setup.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/Dockerfile b/tinygrad_repo/test/Dockerfile old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/__init__.py b/tinygrad_repo/test/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/device/test_amd_llvm.py b/tinygrad_repo/test/device/test_amd_llvm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/device/test_hcq.py b/tinygrad_repo/test/device/test_hcq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/device/test_hcq_iface.py b/tinygrad_repo/test/device/test_hcq_iface.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/device/test_metal.py b/tinygrad_repo/test/device/test_metal.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/device/test_ocl.py b/tinygrad_repo/test/device/test_ocl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_am.py b/tinygrad_repo/test/external/external_benchmark_am.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_bert_matmuls.py b/tinygrad_repo/test/external/external_benchmark_bert_matmuls.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_bert_softmax.py b/tinygrad_repo/test/external/external_benchmark_bert_softmax.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_disk_raw.py b/tinygrad_repo/test/external/external_benchmark_disk_raw.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_hcopt.py b/tinygrad_repo/test/external/external_benchmark_hcopt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_hip_compile.py b/tinygrad_repo/test/external/external_benchmark_hip_compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_keccak.py b/tinygrad_repo/test/external/external_benchmark_keccak.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_kernel_launch.py b/tinygrad_repo/test/external/external_benchmark_kernel_launch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_llama_schedule.py b/tinygrad_repo/test/external/external_benchmark_llama_schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_load_stable_diffusion.py b/tinygrad_repo/test/external/external_benchmark_load_stable_diffusion.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_multitensor_allreduce.py b/tinygrad_repo/test/external/external_benchmark_multitensor_allreduce.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_openpilot.py b/tinygrad_repo/test/external/external_benchmark_openpilot.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_resnet.py b/tinygrad_repo/test/external/external_benchmark_resnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_schedule.py b/tinygrad_repo/test/external/external_benchmark_schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_benchmark_sdxl_softmax.py b/tinygrad_repo/test/external/external_benchmark_sdxl_softmax.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_cl_half_max.py b/tinygrad_repo/test/external/external_cl_half_max.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_debug_metal_sd_conv.py b/tinygrad_repo/test/external/external_debug_metal_sd_conv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_fuzz_am_interrupts.py b/tinygrad_repo/test/external/external_fuzz_am_interrupts.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_fuzz_ampt.py b/tinygrad_repo/test/external/external_fuzz_ampt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_fuzz_hcq_signals.py b/tinygrad_repo/test/external/external_fuzz_hcq_signals.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_fuzz_tlsf.py b/tinygrad_repo/test/external/external_fuzz_tlsf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_gpu_fail_osx.py b/tinygrad_repo/test/external/external_gpu_fail_osx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_hip_compiler_bug.py b/tinygrad_repo/test/external/external_hip_compiler_bug.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_jit_failure.py b/tinygrad_repo/test/external/external_jit_failure.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_llm_eval.py b/tinygrad_repo/test/external/external_llm_eval.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_metal_compile_fail.py b/tinygrad_repo/test/external/external_metal_compile_fail.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_metal_compile_slow.py b/tinygrad_repo/test/external/external_metal_compile_slow.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_model_benchmark.py b/tinygrad_repo/test/external/external_model_benchmark.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_multi_gpu.py b/tinygrad_repo/test/external/external_multi_gpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_osx_profiling.py b/tinygrad_repo/test/external/external_osx_profiling.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_am.py b/tinygrad_repo/test/external/external_test_am.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_amd.py b/tinygrad_repo/test/external/external_test_amd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_datasets.py b/tinygrad_repo/test/external/external_test_datasets.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_embedding.py b/tinygrad_repo/test/external/external_test_embedding.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_example.py b/tinygrad_repo/test/external/external_test_example.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_hcq.py b/tinygrad_repo/test/external/external_test_hcq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_hcq_fuzz_failures.py b/tinygrad_repo/test/external/external_test_hcq_fuzz_failures.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_hip_compile.py b/tinygrad_repo/test/external/external_test_hip_compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_hsa_driver.py b/tinygrad_repo/test/external/external_test_hsa_driver.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_image.py b/tinygrad_repo/test/external/external_test_image.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_jit_on_models.py b/tinygrad_repo/test/external/external_test_jit_on_models.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_keccak.py b/tinygrad_repo/test/external/external_test_keccak.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_llama3_ff.py b/tinygrad_repo/test/external/external_test_llama3_ff.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_lm_head.py b/tinygrad_repo/test/external/external_test_lm_head.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_losses.py b/tinygrad_repo/test/external/external_test_losses.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_mamba.py b/tinygrad_repo/test/external/external_test_mamba.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_metrics.py b/tinygrad_repo/test/external/external_test_metrics.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_mnist_data_select.py b/tinygrad_repo/test/external/external_test_mnist_data_select.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_nv.py b/tinygrad_repo/test/external/external_test_nv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_onnx_backend.py b/tinygrad_repo/test/external/external_test_onnx_backend.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_onnx_ops.py b/tinygrad_repo/test/external/external_test_onnx_ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_onnx_runner.py b/tinygrad_repo/test/external/external_test_onnx_runner.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_opt.py b/tinygrad_repo/test/external/external_test_opt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_optim.py b/tinygrad_repo/test/external/external_test_optim.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_simple_tokenizer.py b/tinygrad_repo/test/external/external_test_simple_tokenizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_speed_llama.py b/tinygrad_repo/test/external/external_test_speed_llama.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_speed_theoretical.py b/tinygrad_repo/test/external/external_test_speed_theoretical.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_tlsf.py b/tinygrad_repo/test/external/external_test_tlsf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_train_gpt2.py b/tinygrad_repo/test/external/external_test_train_gpt2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_usb_asm24.py b/tinygrad_repo/test/external/external_test_usb_asm24.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_whisper_librispeech.py b/tinygrad_repo/test/external/external_test_whisper_librispeech.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_yolo.py b/tinygrad_repo/test/external/external_test_yolo.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_test_yolov8.py b/tinygrad_repo/test/external/external_test_yolov8.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/external_uop_gc.py b/tinygrad_repo/test/external/external_uop_gc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_fast_idiv.py b/tinygrad_repo/test/external/fuzz_fast_idiv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_graph.py b/tinygrad_repo/test/external/fuzz_graph.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_kfd.py b/tinygrad_repo/test/external/fuzz_kfd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_linearizer.py b/tinygrad_repo/test/external/fuzz_linearizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_shape_ops.py b/tinygrad_repo/test/external/fuzz_shape_ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_shapetracker.py b/tinygrad_repo/test/external/fuzz_shapetracker.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_shapetracker_math.py b/tinygrad_repo/test/external/fuzz_shapetracker_math.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_shapetracker_size.py b/tinygrad_repo/test/external/fuzz_shapetracker_size.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/fuzz_symbolic.py b/tinygrad_repo/test/external/fuzz_symbolic.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/graph_batchnorm.py b/tinygrad_repo/test/external/graph_batchnorm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/external_benchmark_bert.py b/tinygrad_repo/test/external/mlperf_bert/external_benchmark_bert.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/external_test_checkpoint_loading.py b/tinygrad_repo/test/external/mlperf_bert/external_test_checkpoint_loading.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/preprocessing/create_pretraining_data.py b/tinygrad_repo/test/external/mlperf_bert/preprocessing/create_pretraining_data.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/preprocessing/external_test_preprocessing_part.py b/tinygrad_repo/test/external/mlperf_bert/preprocessing/external_test_preprocessing_part.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/preprocessing/pick_eval_samples.py b/tinygrad_repo/test/external/mlperf_bert/preprocessing/pick_eval_samples.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_bert/preprocessing/tokenization.py b/tinygrad_repo/test/external/mlperf_bert/preprocessing/tokenization.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_resnet/lars_optimizer.py b/tinygrad_repo/test/external/mlperf_resnet/lars_optimizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_resnet/lars_util.py b/tinygrad_repo/test/external/mlperf_resnet/lars_util.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/coco_utils.py b/tinygrad_repo/test/external/mlperf_retinanet/coco_utils.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/focal_loss.py b/tinygrad_repo/test/external/mlperf_retinanet/focal_loss.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/model/boxes.py b/tinygrad_repo/test/external/mlperf_retinanet/model/boxes.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/model/image_list.py b/tinygrad_repo/test/external/mlperf_retinanet/model/image_list.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/model/transform.py b/tinygrad_repo/test/external/mlperf_retinanet/model/transform.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/model/utils.py b/tinygrad_repo/test/external/mlperf_retinanet/model/utils.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/openimages.py b/tinygrad_repo/test/external/mlperf_retinanet/openimages.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/presets.py b/tinygrad_repo/test/external/mlperf_retinanet/presets.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_retinanet/transforms.py b/tinygrad_repo/test/external/mlperf_retinanet/transforms.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_unet3d/dice.py b/tinygrad_repo/test/external/mlperf_unet3d/dice.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/mlperf_unet3d/kits19.py b/tinygrad_repo/test/external/mlperf_unet3d/kits19.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/openpilot/b1ab7897cbfa35981e1636fe551e4ce5.npy b/tinygrad_repo/test/external/openpilot/b1ab7897cbfa35981e1636fe551e4ce5.npy old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/process_replay/README.md b/tinygrad_repo/test/external/process_replay/README.md old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/process_replay/local.sh b/tinygrad_repo/test/external/process_replay/local.sh old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/sglang_llama/external_llama_eval.py b/tinygrad_repo/test/external/sglang_llama/external_llama_eval.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/sglang_llama/mgsm.yaml b/tinygrad_repo/test/external/sglang_llama/mgsm.yaml old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/speed_compare_amd_am.py b/tinygrad_repo/test/external/speed_compare_amd_am.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/speed_compare_cuda_nv.py b/tinygrad_repo/test/external/speed_compare_cuda_nv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/speed_compare_cuda_ptx.py b/tinygrad_repo/test/external/speed_compare_cuda_ptx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/speed_v_theoretical.py b/tinygrad_repo/test/external/speed_v_theoretical.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/external/verify_kernel.py b/tinygrad_repo/test/external/verify_kernel.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/helpers.py b/tinygrad_repo/test/helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/amd/amddriver.py b/tinygrad_repo/test/mockgpu/amd/amddriver.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/amd/amdgpu.py b/tinygrad_repo/test/mockgpu/amd/amdgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/cuda/cuda.py b/tinygrad_repo/test/mockgpu/cuda/cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/driver.py b/tinygrad_repo/test/mockgpu/driver.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/gpu.py b/tinygrad_repo/test/mockgpu/gpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/helpers.py b/tinygrad_repo/test/mockgpu/helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/mockgpu.py b/tinygrad_repo/test/mockgpu/mockgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/nv/nvdriver.py b/tinygrad_repo/test/mockgpu/nv/nvdriver.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/nv/nvgpu.py b/tinygrad_repo/test/mockgpu/nv/nvgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/mockgpu/usb.py b/tinygrad_repo/test/mockgpu/usb.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/__init__.py b/tinygrad_repo/test/models/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/efficientnet/Chicken.jpg b/tinygrad_repo/test/models/efficientnet/Chicken.jpg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/efficientnet/car.jpg b/tinygrad_repo/test/models/efficientnet/car.jpg old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/efficientnet/imagenet1000_clsidx_to_labels.txt b/tinygrad_repo/test/models/efficientnet/imagenet1000_clsidx_to_labels.txt old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_bert.py b/tinygrad_repo/test/models/test_bert.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_efficientnet.py b/tinygrad_repo/test/models/test_efficientnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_end2end.py b/tinygrad_repo/test/models/test_end2end.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_mnist.py b/tinygrad_repo/test/models/test_mnist.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_onnx.py b/tinygrad_repo/test/models/test_onnx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_real_world.py b/tinygrad_repo/test/models/test_real_world.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_resnet.py b/tinygrad_repo/test/models/test_resnet.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_rnnt.py b/tinygrad_repo/test/models/test_rnnt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_train.py b/tinygrad_repo/test/models/test_train.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_waifu2x.py b/tinygrad_repo/test/models/test_waifu2x.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/test_whisper.py b/tinygrad_repo/test/models/test_whisper.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/waifu2x/input.png b/tinygrad_repo/test/models/waifu2x/input.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/waifu2x/output.png b/tinygrad_repo/test/models/waifu2x/output.png old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/whisper/test.wav b/tinygrad_repo/test/models/whisper/test.wav old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/models/whisper/test2.wav b/tinygrad_repo/test/models/whisper/test2.wav old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/opt/test_gen_float4.py b/tinygrad_repo/test/opt/test_gen_float4.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/opt/test_kernel_opts.py b/tinygrad_repo/test/opt/test_kernel_opts.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/opt/test_tensor_cores.py b/tinygrad_repo/test/opt/test_tensor_cores.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/speed/external_test_copy_speed.py b/tinygrad_repo/test/speed/external_test_copy_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/speed/external_test_device_speed.py b/tinygrad_repo/test/speed/external_test_device_speed.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/speed/external_test_specific_conv.py b/tinygrad_repo/test/speed/external_test_specific_conv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/speed/external_test_speed_v_torch.py b/tinygrad_repo/test/speed/external_test_speed_v_torch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_arange.py b/tinygrad_repo/test/test_arange.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_assign.py b/tinygrad_repo/test/test_assign.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_compile_failures.py b/tinygrad_repo/test/test_compile_failures.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_const_folding.py b/tinygrad_repo/test/test_const_folding.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_dtype.py b/tinygrad_repo/test/test_dtype.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_dtype_alu.py b/tinygrad_repo/test/test_dtype_alu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_edgecases.py b/tinygrad_repo/test/test_edgecases.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_fusion_op.py b/tinygrad_repo/test/test_fusion_op.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_gc.py b/tinygrad_repo/test/test_gc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_graph.py b/tinygrad_repo/test/test_graph.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_image_dtype.py b/tinygrad_repo/test/test_image_dtype.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_interop.py b/tinygrad_repo/test/test_interop.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_jit.py b/tinygrad_repo/test/test_jit.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_jit_cases.py b/tinygrad_repo/test/test_jit_cases.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_kernel_cache.py b/tinygrad_repo/test/test_kernel_cache.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_linearizer.py b/tinygrad_repo/test/test_linearizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_linearizer_dumb.py b/tinygrad_repo/test/test_linearizer_dumb.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_memory_planner.py b/tinygrad_repo/test/test_memory_planner.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_method_cache.py b/tinygrad_repo/test/test_method_cache.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_multitensor.py b/tinygrad_repo/test/test_multitensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_ops.py b/tinygrad_repo/test/test_ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_opt_gemm.py b/tinygrad_repo/test/test_opt_gemm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_optim.py b/tinygrad_repo/test/test_optim.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_opts.py b/tinygrad_repo/test/test_opts.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_outerworld_range.py b/tinygrad_repo/test/test_outerworld_range.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_pickle.py b/tinygrad_repo/test/test_pickle.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_profiler.py b/tinygrad_repo/test/test_profiler.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_quantize_onnx.py b/tinygrad_repo/test/test_quantize_onnx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_randomness.py b/tinygrad_repo/test/test_randomness.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_rangeify.py b/tinygrad_repo/test/test_rangeify.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_remote.py b/tinygrad_repo/test/test_remote.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_renderer_failures.py b/tinygrad_repo/test/test_renderer_failures.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_schedule.py b/tinygrad_repo/test/test_schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_setitem.py b/tinygrad_repo/test/test_setitem.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_softmax_fusion.py b/tinygrad_repo/test/test_softmax_fusion.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_stunning.py b/tinygrad_repo/test/test_stunning.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_subbuffer.py b/tinygrad_repo/test/test_subbuffer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_symbolic_jit.py b/tinygrad_repo/test/test_symbolic_jit.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_symbolic_ops.py b/tinygrad_repo/test/test_symbolic_ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_tensor.py b/tinygrad_repo/test/test_tensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_tensor_uop.py b/tinygrad_repo/test/test_tensor_uop.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_tensor_variable.py b/tinygrad_repo/test/test_tensor_variable.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_tiny.py b/tinygrad_repo/test/test_tiny.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_to_numpy.py b/tinygrad_repo/test/test_to_numpy.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_transcendental.py b/tinygrad_repo/test/test_transcendental.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_uop_graph.py b/tinygrad_repo/test/test_uop_graph.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_uops.py b/tinygrad_repo/test/test_uops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_uops_stats.py b/tinygrad_repo/test/test_uops_stats.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/test_zero_copy.py b/tinygrad_repo/test/test_zero_copy.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/__init__.py b/tinygrad_repo/test/testextra/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/test_bench_log.py b/tinygrad_repo/test/testextra/test_bench_log.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/test_export_model.py b/tinygrad_repo/test/testextra/test_export_model.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/test_f16_decompress.py b/tinygrad_repo/test/testextra/test_f16_decompress.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/test_lr_scheduler.py b/tinygrad_repo/test/testextra/test_lr_scheduler.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/testextra/test_mockgpu.py b/tinygrad_repo/test/testextra/test_mockgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/__init__.py b/tinygrad_repo/test/unit/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_allreduce.py b/tinygrad_repo/test/unit/test_allreduce.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_attention.py b/tinygrad_repo/test/unit/test_attention.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_block_reorder.py b/tinygrad_repo/test/unit/test_block_reorder.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_conv.py b/tinygrad_repo/test/unit/test_conv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_device.py b/tinygrad_repo/test/unit/test_device.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_disk_cache.py b/tinygrad_repo/test/unit/test_disk_cache.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_disk_tensor.py b/tinygrad_repo/test/unit/test_disk_tensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_dtype.py b/tinygrad_repo/test/unit/test_dtype.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_dtype_spec.py b/tinygrad_repo/test/unit/test_dtype_spec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_elf.py b/tinygrad_repo/test/unit/test_elf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_gguf.py b/tinygrad_repo/test/unit/test_gguf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_gradient.py b/tinygrad_repo/test/unit/test_gradient.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_graph_rewrite.py b/tinygrad_repo/test/unit/test_graph_rewrite.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_hashing.py b/tinygrad_repo/test/unit/test_hashing.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_helpers.py b/tinygrad_repo/test/unit/test_helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_indexing.py b/tinygrad_repo/test/unit/test_indexing.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_kernelize.py b/tinygrad_repo/test/unit/test_kernelize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_linalg.py b/tinygrad_repo/test/unit/test_linalg.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_linearizer_rewrite.py b/tinygrad_repo/test/unit/test_linearizer_rewrite.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_llm_tokenizer.py b/tinygrad_repo/test/unit/test_llm_tokenizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_masked_st.py b/tinygrad_repo/test/unit/test_masked_st.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_microbenchmarks.py b/tinygrad_repo/test/unit/test_microbenchmarks.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_mnist_dataset.py b/tinygrad_repo/test/unit/test_mnist_dataset.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_pattern_matcher.py b/tinygrad_repo/test/unit/test_pattern_matcher.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_qcom.py b/tinygrad_repo/test/unit/test_qcom.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_rearrange_einops.py b/tinygrad_repo/test/unit/test_rearrange_einops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_rewrite_bottom_up_gate.py b/tinygrad_repo/test/unit/test_rewrite_bottom_up_gate.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_rewrite_map.py b/tinygrad_repo/test/unit/test_rewrite_map.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_rewrite_not_ready.py b/tinygrad_repo/test/unit/test_rewrite_not_ready.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_rewrite_tracked_childen.py b/tinygrad_repo/test/unit/test_rewrite_tracked_childen.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_shapetracker.py b/tinygrad_repo/test/unit/test_shapetracker.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_shapetracker_math.py b/tinygrad_repo/test/unit/test_shapetracker_math.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_shm_tensor.py b/tinygrad_repo/test/unit/test_shm_tensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_simple_schedule.py b/tinygrad_repo/test/unit/test_simple_schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_simplify_valid_idx.py b/tinygrad_repo/test/unit/test_simplify_valid_idx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_symbolic_failures.py b/tinygrad_repo/test/unit/test_symbolic_failures.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_symbolic_shapetracker.py b/tinygrad_repo/test/unit/test_symbolic_shapetracker.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_tar.py b/tinygrad_repo/test/unit/test_tar.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_tensor_data.py b/tinygrad_repo/test/unit/test_tensor_data.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_tensor_io.py b/tinygrad_repo/test/unit/test_tensor_io.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_tensor_uop_representation.py b/tinygrad_repo/test/unit/test_tensor_uop_representation.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_tqdm.py b/tinygrad_repo/test/unit/test_tqdm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_transcendental_helpers.py b/tinygrad_repo/test/unit/test_transcendental_helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_uop_resolve.py b/tinygrad_repo/test/unit/test_uop_resolve.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_uop_spec.py b/tinygrad_repo/test/unit/test_uop_spec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_uop_symbolic.py b/tinygrad_repo/test/unit/test_uop_symbolic.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_uop_vmin_vmax.py b/tinygrad_repo/test/unit/test_uop_vmin_vmax.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_upat_compile.py b/tinygrad_repo/test/unit/test_upat_compile.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_view.py b/tinygrad_repo/test/unit/test_view.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_viz.py b/tinygrad_repo/test/unit/test_viz.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/unit/test_winograd.py b/tinygrad_repo/test/unit/test_winograd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/web/test_viz.js b/tinygrad_repo/test/web/test_viz.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/test/web/test_webgpu.js b/tinygrad_repo/test/web/test_webgpu.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/__init__.py b/tinygrad_repo/tinygrad/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/apps/llm.py b/tinygrad_repo/tinygrad/apps/llm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/__init__.py b/tinygrad_repo/tinygrad/codegen/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/gpudims.py b/tinygrad_repo/tinygrad/codegen/gpudims.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/late/devectorizer.py b/tinygrad_repo/tinygrad/codegen/late/devectorizer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/late/expander.py b/tinygrad_repo/tinygrad/codegen/late/expander.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/late/linearize.py b/tinygrad_repo/tinygrad/codegen/late/linearize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/lowerer.py b/tinygrad_repo/tinygrad/codegen/lowerer.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/__init__.py b/tinygrad_repo/tinygrad/codegen/opt/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/heuristic.py b/tinygrad_repo/tinygrad/codegen/opt/heuristic.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/postrange.py b/tinygrad_repo/tinygrad/codegen/opt/postrange.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/search.py b/tinygrad_repo/tinygrad/codegen/opt/search.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/swizzler.py b/tinygrad_repo/tinygrad/codegen/opt/swizzler.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/opt/tc.py b/tinygrad_repo/tinygrad/codegen/opt/tc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/quantize.py b/tinygrad_repo/tinygrad/codegen/quantize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/codegen/simplify.py b/tinygrad_repo/tinygrad/codegen/simplify.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/device.py b/tinygrad_repo/tinygrad/device.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/dtype.py b/tinygrad_repo/tinygrad/dtype.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/engine/__init__.py b/tinygrad_repo/tinygrad/engine/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/engine/jit.py b/tinygrad_repo/tinygrad/engine/jit.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/engine/memory.py b/tinygrad_repo/tinygrad/engine/memory.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/engine/realize.py b/tinygrad_repo/tinygrad/engine/realize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/engine/schedule.py b/tinygrad_repo/tinygrad/engine/schedule.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/frontend/__init__.py b/tinygrad_repo/tinygrad/frontend/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/frontend/onnx.py b/tinygrad_repo/tinygrad/frontend/onnx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/frontend/torch.py b/tinygrad_repo/tinygrad/frontend/torch.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/gradient.py b/tinygrad_repo/tinygrad/gradient.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/helpers.py b/tinygrad_repo/tinygrad/helpers.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/nn/__init__.py b/tinygrad_repo/tinygrad/nn/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/nn/datasets.py b/tinygrad_repo/tinygrad/nn/datasets.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/nn/optim.py b/tinygrad_repo/tinygrad/nn/optim.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/nn/state.py b/tinygrad_repo/tinygrad/nn/state.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/py.typed b/tinygrad_repo/tinygrad/py.typed old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/renderer/__init__.py b/tinygrad_repo/tinygrad/renderer/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/renderer/cstyle.py b/tinygrad_repo/tinygrad/renderer/cstyle.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/renderer/llvmir.py b/tinygrad_repo/tinygrad/renderer/llvmir.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/renderer/ptx.py b/tinygrad_repo/tinygrad/renderer/ptx.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/renderer/wgsl.py b/tinygrad_repo/tinygrad/renderer/wgsl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/__init__.py b/tinygrad_repo/tinygrad/runtime/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/adreno.py b/tinygrad_repo/tinygrad/runtime/autogen/adreno.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/am.py b/tinygrad_repo/tinygrad/runtime/autogen/am/am.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/pm4_nv.py b/tinygrad_repo/tinygrad/runtime/autogen/am/pm4_nv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/pm4_soc15.py b/tinygrad_repo/tinygrad/runtime/autogen/am/pm4_soc15.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_4_0_0.py b/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_4_0_0.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_4_4_2.py b/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_4_4_2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_5_0_0.py b/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_5_0_0.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_6_0_0.py b/tinygrad_repo/tinygrad/runtime/autogen/am/sdma_6_0_0.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/smu_v13_0_0.py b/tinygrad_repo/tinygrad/runtime/autogen/am/smu_v13_0_0.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/am/smu_v14_0_2.py b/tinygrad_repo/tinygrad/runtime/autogen/am/smu_v14_0_2.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/amd_gpu.py b/tinygrad_repo/tinygrad/runtime/autogen/amd_gpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/comgr.py b/tinygrad_repo/tinygrad/runtime/autogen/comgr.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/cuda.py b/tinygrad_repo/tinygrad/runtime/autogen/cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/hip.py b/tinygrad_repo/tinygrad/runtime/autogen/hip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/hsa.py b/tinygrad_repo/tinygrad/runtime/autogen/hsa.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/ib.py b/tinygrad_repo/tinygrad/runtime/autogen/ib.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/io_uring.py b/tinygrad_repo/tinygrad/runtime/autogen/io_uring.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/kfd.py b/tinygrad_repo/tinygrad/runtime/autogen/kfd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/kgsl.py b/tinygrad_repo/tinygrad/runtime/autogen/kgsl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/libc.py b/tinygrad_repo/tinygrad/runtime/autogen/libc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/libusb.py b/tinygrad_repo/tinygrad/runtime/autogen/libusb.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/llvm.py b/tinygrad_repo/tinygrad/runtime/autogen/llvm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/nv/nv.py b/tinygrad_repo/tinygrad/runtime/autogen/nv/nv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/nv_gpu.py b/tinygrad_repo/tinygrad/runtime/autogen/nv_gpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/nvrtc.py b/tinygrad_repo/tinygrad/runtime/autogen/nvrtc.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/opencl.py b/tinygrad_repo/tinygrad/runtime/autogen/opencl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/pci.py b/tinygrad_repo/tinygrad/runtime/autogen/pci.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/qcom_dsp.py b/tinygrad_repo/tinygrad/runtime/autogen/qcom_dsp.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/sqtt.py b/tinygrad_repo/tinygrad/runtime/autogen/sqtt.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/vfio.py b/tinygrad_repo/tinygrad/runtime/autogen/vfio.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/autogen/webgpu.py b/tinygrad_repo/tinygrad/runtime/autogen/webgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/graph/__init__.py b/tinygrad_repo/tinygrad/runtime/graph/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/graph/cuda.py b/tinygrad_repo/tinygrad/runtime/graph/cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/graph/hcq.py b/tinygrad_repo/tinygrad/runtime/graph/hcq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/graph/metal.py b/tinygrad_repo/tinygrad/runtime/graph/metal.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/graph/remote.py b/tinygrad_repo/tinygrad/runtime/graph/remote.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_amd.py b/tinygrad_repo/tinygrad/runtime/ops_amd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_cl.py b/tinygrad_repo/tinygrad/runtime/ops_cl.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_cpu.py b/tinygrad_repo/tinygrad/runtime/ops_cpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_cuda.py b/tinygrad_repo/tinygrad/runtime/ops_cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_disk.py b/tinygrad_repo/tinygrad/runtime/ops_disk.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_dsp.py b/tinygrad_repo/tinygrad/runtime/ops_dsp.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_hip.py b/tinygrad_repo/tinygrad/runtime/ops_hip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_metal.py b/tinygrad_repo/tinygrad/runtime/ops_metal.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_npy.py b/tinygrad_repo/tinygrad/runtime/ops_npy.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_null.py b/tinygrad_repo/tinygrad/runtime/ops_null.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_nv.py b/tinygrad_repo/tinygrad/runtime/ops_nv.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_python.py b/tinygrad_repo/tinygrad/runtime/ops_python.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_qcom.py b/tinygrad_repo/tinygrad/runtime/ops_qcom.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_remote.py b/tinygrad_repo/tinygrad/runtime/ops_remote.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/ops_webgpu.py b/tinygrad_repo/tinygrad/runtime/ops_webgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/__init__.py b/tinygrad_repo/tinygrad/runtime/support/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/am/__init__.py b/tinygrad_repo/tinygrad/runtime/support/am/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/am/amdev.py b/tinygrad_repo/tinygrad/runtime/support/am/amdev.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/am/ip.py b/tinygrad_repo/tinygrad/runtime/support/am/ip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/amd.py b/tinygrad_repo/tinygrad/runtime/support/amd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/compiler_amd.py b/tinygrad_repo/tinygrad/runtime/support/compiler_amd.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/compiler_cpu.py b/tinygrad_repo/tinygrad/runtime/support/compiler_cpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/compiler_cuda.py b/tinygrad_repo/tinygrad/runtime/support/compiler_cuda.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/elf.py b/tinygrad_repo/tinygrad/runtime/support/elf.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/hcq.py b/tinygrad_repo/tinygrad/runtime/support/hcq.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/ib.py b/tinygrad_repo/tinygrad/runtime/support/ib.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/llvm.py b/tinygrad_repo/tinygrad/runtime/support/llvm.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/memory.py b/tinygrad_repo/tinygrad/runtime/support/memory.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/nv/__init__.py b/tinygrad_repo/tinygrad/runtime/support/nv/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/nv/ip.py b/tinygrad_repo/tinygrad/runtime/support/nv/ip.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/nv/nvdev.py b/tinygrad_repo/tinygrad/runtime/support/nv/nvdev.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/system.py b/tinygrad_repo/tinygrad/runtime/support/system.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/usb.py b/tinygrad_repo/tinygrad/runtime/support/usb.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/runtime/support/webgpu.py b/tinygrad_repo/tinygrad/runtime/support/webgpu.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/schedule/__init__.py b/tinygrad_repo/tinygrad/schedule/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/schedule/grouper.py b/tinygrad_repo/tinygrad/schedule/grouper.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/schedule/kernelize.py b/tinygrad_repo/tinygrad/schedule/kernelize.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/schedule/multi.py b/tinygrad_repo/tinygrad/schedule/multi.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/schedule/rangeify.py b/tinygrad_repo/tinygrad/schedule/rangeify.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/shape/__init__.py b/tinygrad_repo/tinygrad/shape/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/shape/shapetracker.py b/tinygrad_repo/tinygrad/shape/shapetracker.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/shape/view.py b/tinygrad_repo/tinygrad/shape/view.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/tensor.py b/tinygrad_repo/tinygrad/tensor.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/__init__.py b/tinygrad_repo/tinygrad/uop/__init__.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/decompositions.py b/tinygrad_repo/tinygrad/uop/decompositions.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/mathtraits.py b/tinygrad_repo/tinygrad/uop/mathtraits.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/ops.py b/tinygrad_repo/tinygrad/uop/ops.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/spec.py b/tinygrad_repo/tinygrad/uop/spec.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/symbolic.py b/tinygrad_repo/tinygrad/uop/symbolic.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/uop/upat.py b/tinygrad_repo/tinygrad/uop/upat.py old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/README b/tinygrad_repo/tinygrad/viz/README old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js b/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/highlight.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/cpp.min.js b/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/cpp.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/python.min.js b/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/python.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js b/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/default.min.css b/tinygrad_repo/tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/default.min.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/d3js.org/d3.v7.min.js b/tinygrad_repo/tinygrad/viz/assets/d3js.org/d3.v7.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js b/tinygrad_repo/tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/assets/unpkg.com/@highlightjs/cdn-assets@11.10.0/styles/tokyo-night-dark.min.css b/tinygrad_repo/tinygrad/viz/assets/unpkg.com/@highlightjs/cdn-assets@11.10.0/styles/tokyo-night-dark.min.css old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/index.html b/tinygrad_repo/tinygrad/viz/index.html old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/js/index.js b/tinygrad_repo/tinygrad/viz/js/index.js old mode 100644 new mode 100755 diff --git a/tinygrad_repo/tinygrad/viz/js/worker.js b/tinygrad_repo/tinygrad/viz/js/worker.js old mode 100644 new mode 100755 diff --git a/tools/CTF.md b/tools/CTF.md old mode 100644 new mode 100755 diff --git a/tools/README.md b/tools/README.md old mode 100644 new mode 100755 diff --git a/tools/__init__.py b/tools/__init__.py old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/.gitignore b/tools/bodyteleop/.gitignore old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/index.html b/tools/bodyteleop/static/index.html old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/js/controls.js b/tools/bodyteleop/static/js/controls.js old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/js/jsmain.js b/tools/bodyteleop/static/js/jsmain.js old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/js/plots.js b/tools/bodyteleop/static/js/plots.js old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/js/webrtc.js b/tools/bodyteleop/static/js/webrtc.js old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/main.css b/tools/bodyteleop/static/main.css old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/static/poster.png b/tools/bodyteleop/static/poster.png old mode 100644 new mode 100755 diff --git a/tools/bodyteleop/web.py b/tools/bodyteleop/web.py old mode 100644 new mode 100755 diff --git a/tools/cabana/.gitignore b/tools/cabana/.gitignore old mode 100644 new mode 100755 diff --git a/tools/cabana/README.md b/tools/cabana/README.md old mode 100644 new mode 100755 diff --git a/tools/cabana/SConscript b/tools/cabana/SConscript old mode 100644 new mode 100755 diff --git a/tools/cabana/assets/.gitignore b/tools/cabana/assets/.gitignore old mode 100644 new mode 100755 diff --git a/tools/cabana/assets/assets.qrc b/tools/cabana/assets/assets.qrc old mode 100644 new mode 100755 diff --git a/tools/cabana/assets/cabana-icon.png b/tools/cabana/assets/cabana-icon.png old mode 100644 new mode 100755 diff --git a/tools/cabana/binaryview.cc b/tools/cabana/binaryview.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/binaryview.h b/tools/cabana/binaryview.h old mode 100644 new mode 100755 diff --git a/tools/cabana/cabana.cc b/tools/cabana/cabana.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/chart.cc b/tools/cabana/chart/chart.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/chart.h b/tools/cabana/chart/chart.h old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/chartswidget.cc b/tools/cabana/chart/chartswidget.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/chartswidget.h b/tools/cabana/chart/chartswidget.h old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/signalselector.cc b/tools/cabana/chart/signalselector.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/signalselector.h b/tools/cabana/chart/signalselector.h old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/sparkline.cc b/tools/cabana/chart/sparkline.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/sparkline.h b/tools/cabana/chart/sparkline.h old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/tiplabel.cc b/tools/cabana/chart/tiplabel.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/chart/tiplabel.h b/tools/cabana/chart/tiplabel.h old mode 100644 new mode 100755 diff --git a/tools/cabana/commands.cc b/tools/cabana/commands.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/commands.h b/tools/cabana/commands.h old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbc.cc b/tools/cabana/dbc/dbc.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbc.h b/tools/cabana/dbc/dbc.h old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbcfile.cc b/tools/cabana/dbc/dbcfile.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbcfile.h b/tools/cabana/dbc/dbcfile.h old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbcmanager.cc b/tools/cabana/dbc/dbcmanager.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/dbcmanager.h b/tools/cabana/dbc/dbcmanager.h old mode 100644 new mode 100755 diff --git a/tools/cabana/dbc/generate_dbc_json.py b/tools/cabana/dbc/generate_dbc_json.py old mode 100644 new mode 100755 diff --git a/tools/cabana/detailwidget.cc b/tools/cabana/detailwidget.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/detailwidget.h b/tools/cabana/detailwidget.h old mode 100644 new mode 100755 diff --git a/tools/cabana/historylog.cc b/tools/cabana/historylog.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/historylog.h b/tools/cabana/historylog.h old mode 100644 new mode 100755 diff --git a/tools/cabana/mainwin.cc b/tools/cabana/mainwin.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/mainwin.h b/tools/cabana/mainwin.h old mode 100644 new mode 100755 diff --git a/tools/cabana/messageswidget.cc b/tools/cabana/messageswidget.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/messageswidget.h b/tools/cabana/messageswidget.h old mode 100644 new mode 100755 diff --git a/tools/cabana/settings.cc b/tools/cabana/settings.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/settings.h b/tools/cabana/settings.h old mode 100644 new mode 100755 diff --git a/tools/cabana/signalview.cc b/tools/cabana/signalview.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/signalview.h b/tools/cabana/signalview.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/abstractstream.cc b/tools/cabana/streams/abstractstream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/abstractstream.h b/tools/cabana/streams/abstractstream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/devicestream.cc b/tools/cabana/streams/devicestream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/devicestream.h b/tools/cabana/streams/devicestream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/livestream.cc b/tools/cabana/streams/livestream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/livestream.h b/tools/cabana/streams/livestream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/pandastream.cc b/tools/cabana/streams/pandastream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/pandastream.h b/tools/cabana/streams/pandastream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/replaystream.cc b/tools/cabana/streams/replaystream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/replaystream.h b/tools/cabana/streams/replaystream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/routes.cc b/tools/cabana/streams/routes.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/routes.h b/tools/cabana/streams/routes.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/socketcanstream.cc b/tools/cabana/streams/socketcanstream.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streams/socketcanstream.h b/tools/cabana/streams/socketcanstream.h old mode 100644 new mode 100755 diff --git a/tools/cabana/streamselector.cc b/tools/cabana/streamselector.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/streamselector.h b/tools/cabana/streamselector.h old mode 100644 new mode 100755 diff --git a/tools/cabana/tests/test_cabana.cc b/tools/cabana/tests/test_cabana.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/tests/test_runner.cc b/tools/cabana/tests/test_runner.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/tools/findsignal.cc b/tools/cabana/tools/findsignal.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/tools/findsignal.h b/tools/cabana/tools/findsignal.h old mode 100644 new mode 100755 diff --git a/tools/cabana/tools/findsimilarbits.cc b/tools/cabana/tools/findsimilarbits.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/tools/findsimilarbits.h b/tools/cabana/tools/findsimilarbits.h old mode 100644 new mode 100755 diff --git a/tools/cabana/utils/export.cc b/tools/cabana/utils/export.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/utils/export.h b/tools/cabana/utils/export.h old mode 100644 new mode 100755 diff --git a/tools/cabana/utils/util.cc b/tools/cabana/utils/util.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/utils/util.h b/tools/cabana/utils/util.h old mode 100644 new mode 100755 diff --git a/tools/cabana/videowidget.cc b/tools/cabana/videowidget.cc old mode 100644 new mode 100755 diff --git a/tools/cabana/videowidget.h b/tools/cabana/videowidget.h old mode 100644 new mode 100755 diff --git a/tools/camerastream/README.md b/tools/camerastream/README.md old mode 100644 new mode 100755 diff --git a/tools/camerastream/best.onnx b/tools/camerastream/best.onnx old mode 100644 new mode 100755 diff --git a/tools/camerastream/best.pt b/tools/camerastream/best.pt old mode 100644 new mode 100755 diff --git a/tools/camerastream/vipc_road.py b/tools/camerastream/vipc_road.py old mode 100644 new mode 100755 diff --git a/tools/car_porting/README.md b/tools/car_porting/README.md old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/find_segments_with_message.ipynb b/tools/car_porting/examples/find_segments_with_message.ipynb old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/ford_vin_fingerprint.ipynb b/tools/car_porting/examples/ford_vin_fingerprint.ipynb old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/hkg_canfd_gear_message.ipynb b/tools/car_porting/examples/hkg_canfd_gear_message.ipynb old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/subaru_fuzzy_fingerprint.ipynb b/tools/car_porting/examples/subaru_fuzzy_fingerprint.ipynb old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/subaru_long_accel.ipynb b/tools/car_porting/examples/subaru_long_accel.ipynb old mode 100644 new mode 100755 diff --git a/tools/car_porting/examples/subaru_steer_temp_fault.ipynb b/tools/car_porting/examples/subaru_steer_temp_fault.ipynb old mode 100644 new mode 100755 diff --git a/tools/install_python_dependencies.sh b/tools/install_python_dependencies.sh old mode 100644 new mode 100755 diff --git a/tools/install_ubuntu_dependencies.sh b/tools/install_ubuntu_dependencies.sh old mode 100644 new mode 100755 diff --git a/tools/joystick/README.md b/tools/joystick/README.md old mode 100644 new mode 100755 diff --git a/tools/joystick/joystickd.py b/tools/joystick/joystickd.py old mode 100644 new mode 100755 diff --git a/tools/lib/README.md b/tools/lib/README.md old mode 100644 new mode 100755 diff --git a/tools/lib/__init__.py b/tools/lib/__init__.py old mode 100644 new mode 100755 diff --git a/tools/lib/api.py b/tools/lib/api.py old mode 100644 new mode 100755 diff --git a/tools/lib/auth_config.py b/tools/lib/auth_config.py old mode 100644 new mode 100755 diff --git a/tools/lib/azure_container.py b/tools/lib/azure_container.py old mode 100644 new mode 100755 diff --git a/tools/lib/bootlog.py b/tools/lib/bootlog.py old mode 100644 new mode 100755 diff --git a/tools/lib/cache.py b/tools/lib/cache.py old mode 100644 new mode 100755 diff --git a/tools/lib/comma_car_segments.py b/tools/lib/comma_car_segments.py old mode 100644 new mode 100755 diff --git a/tools/lib/exceptions.py b/tools/lib/exceptions.py old mode 100644 new mode 100755 diff --git a/tools/lib/filereader.py b/tools/lib/filereader.py old mode 100644 new mode 100755 diff --git a/tools/lib/framereader.py b/tools/lib/framereader.py old mode 100644 new mode 100755 diff --git a/tools/lib/github_utils.py b/tools/lib/github_utils.py old mode 100644 new mode 100755 diff --git a/tools/lib/helpers.py b/tools/lib/helpers.py old mode 100644 new mode 100755 diff --git a/tools/lib/live_logreader.py b/tools/lib/live_logreader.py old mode 100644 new mode 100755 diff --git a/tools/lib/log_time_series.py b/tools/lib/log_time_series.py old mode 100644 new mode 100755 diff --git a/tools/lib/openpilotci.py b/tools/lib/openpilotci.py old mode 100644 new mode 100755 diff --git a/tools/lib/route.py b/tools/lib/route.py old mode 100644 new mode 100755 diff --git a/tools/lib/sanitizer.py b/tools/lib/sanitizer.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/__init__.py b/tools/lib/tests/__init__.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/test_caching.py b/tools/lib/tests/test_caching.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/test_comma_car_segments.py b/tools/lib/tests/test_comma_car_segments.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/test_logreader.py b/tools/lib/tests/test_logreader.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/test_readers.py b/tools/lib/tests/test_readers.py old mode 100644 new mode 100755 diff --git a/tools/lib/tests/test_route_library.py b/tools/lib/tests/test_route_library.py old mode 100644 new mode 100755 diff --git a/tools/lib/url_file.py b/tools/lib/url_file.py old mode 100644 new mode 100755 diff --git a/tools/longitudinal_maneuvers/.gitignore b/tools/longitudinal_maneuvers/.gitignore old mode 100644 new mode 100755 diff --git a/tools/longitudinal_maneuvers/README.md b/tools/longitudinal_maneuvers/README.md old mode 100644 new mode 100755 diff --git a/tools/mac_setup.sh b/tools/mac_setup.sh old mode 100644 new mode 100755 diff --git a/tools/op.sh b/tools/op.sh old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/.gitignore b/tools/plotjuggler/.gitignore old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/README.md b/tools/plotjuggler/README.md old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/CAN-bus-debug.xml b/tools/plotjuggler/layouts/CAN-bus-debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/camera-timings.xml b/tools/plotjuggler/layouts/camera-timings.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/can-states.xml b/tools/plotjuggler/layouts/can-states.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/controls_mismatch_debug.xml b/tools/plotjuggler/layouts/controls_mismatch_debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/demo.xml b/tools/plotjuggler/layouts/demo.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/gps.xml b/tools/plotjuggler/layouts/gps.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/gps_vs_llk.xml b/tools/plotjuggler/layouts/gps_vs_llk.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/locationd_debug.xml b/tools/plotjuggler/layouts/locationd_debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/longitudinal.xml b/tools/plotjuggler/layouts/longitudinal.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/max-torque-debug.xml b/tools/plotjuggler/layouts/max-torque-debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/system_lag_debug.xml b/tools/plotjuggler/layouts/system_lag_debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/thermal_debug.xml b/tools/plotjuggler/layouts/thermal_debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/torque-controller.xml b/tools/plotjuggler/layouts/torque-controller.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/tuning.xml b/tools/plotjuggler/layouts/tuning.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/layouts/ublox-debug.xml b/tools/plotjuggler/layouts/ublox-debug.xml old mode 100644 new mode 100755 diff --git a/tools/plotjuggler/test_plotjuggler.py b/tools/plotjuggler/test_plotjuggler.py old mode 100644 new mode 100755 diff --git a/tools/profiling/clpeak/.gitignore b/tools/profiling/clpeak/.gitignore old mode 100644 new mode 100755 diff --git a/tools/profiling/clpeak/no_print.patch b/tools/profiling/clpeak/no_print.patch old mode 100644 new mode 100755 diff --git a/tools/profiling/clpeak/run_continuously.patch b/tools/profiling/clpeak/run_continuously.patch old mode 100644 new mode 100755 diff --git a/tools/profiling/palanteer/.gitignore b/tools/profiling/palanteer/.gitignore old mode 100644 new mode 100755 diff --git a/tools/profiling/perfetto/.gitignore b/tools/profiling/perfetto/.gitignore old mode 100644 new mode 100755 diff --git a/tools/profiling/snapdragon/.gitignore b/tools/profiling/snapdragon/.gitignore old mode 100644 new mode 100755 diff --git a/tools/profiling/snapdragon/README.md b/tools/profiling/snapdragon/README.md old mode 100644 new mode 100755 diff --git a/tools/replay/.gitignore b/tools/replay/.gitignore old mode 100644 new mode 100755 diff --git a/tools/replay/README.md b/tools/replay/README.md old mode 100644 new mode 100755 diff --git a/tools/replay/SConscript b/tools/replay/SConscript old mode 100644 new mode 100755 diff --git a/tools/replay/__init__.py b/tools/replay/__init__.py old mode 100644 new mode 100755 diff --git a/tools/replay/api.cc b/tools/replay/api.cc old mode 100644 new mode 100755 diff --git a/tools/replay/api.h b/tools/replay/api.h old mode 100644 new mode 100755 diff --git a/tools/replay/camera.cc b/tools/replay/camera.cc old mode 100644 new mode 100755 diff --git a/tools/replay/camera.h b/tools/replay/camera.h old mode 100644 new mode 100755 diff --git a/tools/replay/consoleui.cc b/tools/replay/consoleui.cc old mode 100644 new mode 100755 diff --git a/tools/replay/consoleui.h b/tools/replay/consoleui.h old mode 100644 new mode 100755 diff --git a/tools/replay/filereader.cc b/tools/replay/filereader.cc old mode 100644 new mode 100755 diff --git a/tools/replay/filereader.h b/tools/replay/filereader.h old mode 100644 new mode 100755 diff --git a/tools/replay/framereader.cc b/tools/replay/framereader.cc old mode 100644 new mode 100755 diff --git a/tools/replay/framereader.h b/tools/replay/framereader.h old mode 100644 new mode 100755 diff --git a/tools/replay/lib/__init__.py b/tools/replay/lib/__init__.py old mode 100644 new mode 100755 diff --git a/tools/replay/lib/rp_helpers.py b/tools/replay/lib/rp_helpers.py old mode 100644 new mode 100755 diff --git a/tools/replay/lib/ui_helpers.py b/tools/replay/lib/ui_helpers.py old mode 100644 new mode 100755 diff --git a/tools/replay/logreader.cc b/tools/replay/logreader.cc old mode 100644 new mode 100755 diff --git a/tools/replay/logreader.h b/tools/replay/logreader.h old mode 100644 new mode 100755 diff --git a/tools/replay/main.cc b/tools/replay/main.cc old mode 100644 new mode 100755 diff --git a/tools/replay/replay.cc b/tools/replay/replay.cc old mode 100644 new mode 100755 diff --git a/tools/replay/replay.h b/tools/replay/replay.h old mode 100644 new mode 100755 diff --git a/tools/replay/route.cc b/tools/replay/route.cc old mode 100644 new mode 100755 diff --git a/tools/replay/route.h b/tools/replay/route.h old mode 100644 new mode 100755 diff --git a/tools/replay/seg_mgr.cc b/tools/replay/seg_mgr.cc old mode 100644 new mode 100755 diff --git a/tools/replay/seg_mgr.h b/tools/replay/seg_mgr.h old mode 100644 new mode 100755 diff --git a/tools/replay/tests/test_replay.cc b/tools/replay/tests/test_replay.cc old mode 100644 new mode 100755 diff --git a/tools/replay/timeline.cc b/tools/replay/timeline.cc old mode 100644 new mode 100755 diff --git a/tools/replay/timeline.h b/tools/replay/timeline.h old mode 100644 new mode 100755 diff --git a/tools/replay/util.cc b/tools/replay/util.cc old mode 100644 new mode 100755 diff --git a/tools/replay/util.h b/tools/replay/util.h old mode 100644 new mode 100755 diff --git a/tools/rerun/README.md b/tools/rerun/README.md old mode 100644 new mode 100755 diff --git a/tools/rerun/camera_reader.py b/tools/rerun/camera_reader.py old mode 100644 new mode 100755 diff --git a/tools/sim/README.md b/tools/sim/README.md old mode 100644 new mode 100755 diff --git a/tools/sim/__init__.py b/tools/sim/__init__.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/__init__.py b/tools/sim/bridge/__init__.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/common.py b/tools/sim/bridge/common.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/metadrive/metadrive_bridge.py b/tools/sim/bridge/metadrive/metadrive_bridge.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/metadrive/metadrive_common.py b/tools/sim/bridge/metadrive/metadrive_common.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/metadrive/metadrive_process.py b/tools/sim/bridge/metadrive/metadrive_process.py old mode 100644 new mode 100755 diff --git a/tools/sim/bridge/metadrive/metadrive_world.py b/tools/sim/bridge/metadrive/metadrive_world.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/__init__.py b/tools/sim/lib/__init__.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/camerad.py b/tools/sim/lib/camerad.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/common.py b/tools/sim/lib/common.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/keyboard_ctrl.py b/tools/sim/lib/keyboard_ctrl.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/manual_ctrl.py b/tools/sim/lib/manual_ctrl.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/simulated_car.py b/tools/sim/lib/simulated_car.py old mode 100644 new mode 100755 diff --git a/tools/sim/lib/simulated_sensors.py b/tools/sim/lib/simulated_sensors.py old mode 100644 new mode 100755 diff --git a/tools/sim/rgb_to_nv12.cl b/tools/sim/rgb_to_nv12.cl old mode 100644 new mode 100755 diff --git a/tools/sim/tests/__init__.py b/tools/sim/tests/__init__.py old mode 100644 new mode 100755 diff --git a/tools/sim/tests/conftest.py b/tools/sim/tests/conftest.py old mode 100644 new mode 100755 diff --git a/tools/sim/tests/test_metadrive_bridge.py b/tools/sim/tests/test_metadrive_bridge.py old mode 100644 new mode 100755 diff --git a/tools/sim/tests/test_sim_bridge.py b/tools/sim/tests/test_sim_bridge.py old mode 100644 new mode 100755 diff --git a/tools/webcam/README.md b/tools/webcam/README.md old mode 100644 new mode 100755 diff --git a/tools/webcam/camera.py b/tools/webcam/camera.py old mode 100644 new mode 100755 diff --git a/tools/webcam/camera_config.json b/tools/webcam/camera_config.json new file mode 100644 index 0000000000..75f332c55f --- /dev/null +++ b/tools/webcam/camera_config.json @@ -0,0 +1,38 @@ +{ + "recording_settings": { + "segment_duration_seconds": 60, + "max_video_count": 120 + }, + "cameras": [ + { + "name": "roadCameraState", + "device": "/dev/v4l/by-path/pci-0000:04:00.3-usb-0:1.1:1.0-video-index0", + "enabled": true, + "width": 1920, + "height": 1080, + "fps": 20, + "record_path": "/home/my/videos/road/", + "file_prefix": "road_" + }, + { + "name": "wideRoadCameraState", + "device": "/dev/v4l/by-path/pci-0000:04:00.3-usb-0:1.3:1.0-video-index0", + "enabled": false, + "width": 1920, + "height": 1080, + "fps": 20, + "record_path": "/home/my/videos/wide/", + "file_prefix": "wide_" + }, + { + "name": "driverCameraState", + "device": "/dev/v4l/by-path/pci-0000:04:00.4-usb-0:2.4.3:1.0-video-index0", + "enabled": true, + "width": 1920, + "height": 1080, + "fps": 20, + "record_path": "/home/my/videos/h/", + "file_prefix": "h_" + } + ] +} diff --git a/tools/webcam/camerad b/tools/webcam/camerad new file mode 100755 index 0000000000..ad5c0a85c2 Binary files /dev/null and b/tools/webcam/camerad differ diff --git a/uv.lock b/uv.lock old mode 100644 new mode 100755 index 6911f053cb..fe5fc888d9 --- a/uv.lock +++ b/uv.lock @@ -975,7 +975,7 @@ dependencies = [ { name = "yapf" }, ] wheels = [ - { url = "https://github.com/commaai/metadrive/releases/download/MetaDrive-minimal-0.4.2.4/metadrive_simulator-0.4.2.4-py3-none-any.whl", hash = "sha256:fbf0ea9be67e65cd45d38ff930e3d49f705dd76c9ddbd1e1482e3f87b61efcef" }, + { url = "https://github.com/commaai/metadrive/releases/download/MetaDrive-minimal-0.4.2.4/metadrive_simulator-0.4.2.4-py3-none-any.whl", hash = "sha256:d0afaf3b005e35e14b929d5491d2d5b64562d0c1cd5093ba969fb63908670dd4" }, ] [package.metadata]