diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index aaa6be829a..2c10762496 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,8 +1,5 @@ FROM ghcr.io/commaai/openpilot-base:latest -# remove gitconfig if exists, since its gonna be replaced by host one -RUN rm -f /root/.gitconfig - RUN apt update && apt install -y vim net-tools usbutils htop ripgrep tmux RUN pip install ipython jupyter jupyterlab diff --git a/.devcontainer/container_post_create.sh b/.devcontainer/container_post_create.sh index 52a4b5f858..4446eff8bc 100755 --- a/.devcontainer/container_post_create.sh +++ b/.devcontainer/container_post_create.sh @@ -12,3 +12,9 @@ if [ -n "\$DISPLAY" ]; then fi EOF fi + +# These lines are temporary, to remain backwards compatible with old devcontainers +# that were running as root and therefore had their caches written as root +USER=batman +sudo chown -R $USER: /tmp/scons_cache +sudo chown -R $USER: /tmp/comma_download_cache \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ef6534c1ae..44e2451c3e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -14,13 +14,23 @@ }, "runArgs": [ "--volume=/tmp/.X11-unix:/tmp/.X11-unix", - "--volume=${localWorkspaceFolder}/.devcontainer/.host/.Xauthority:/root/.Xauthority", - "--volume=${localEnv:HOME}/.comma:/root/.comma", + "--volume=${localWorkspaceFolder}/.devcontainer/.host/.Xauthority:/home/batman/.Xauthority", + "--volume=${localEnv:HOME}/.comma:/home/batman/.comma", "--volume=/tmp/comma_download_cache:/tmp/comma_download_cache", "--volume=/tmp/devcontainer_scons_cache:/tmp/scons_cache", "--shm-size=1G", "--add-host=host.docker.internal:host-gateway" // required to use host.docker.internal on linux ], + "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": false, + "installOhMyZsh": false, + "upgradePackages": false, + "username": "batman" + } + }, + "containerUser": "root", + "remoteUser": "batman", "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/host_setup.sh b/.devcontainer/host_setup.sh index e8a0781a2c..b3119185a4 100755 --- a/.devcontainer/host_setup.sh +++ b/.devcontainer/host_setup.sh @@ -1,7 +1,9 @@ #!/usr/bin/env bash # pull base image -docker pull ghcr.io/commaai/openpilot-base:latest +if [[ -z $USE_LOCAL_IMAGE ]]; then + docker pull ghcr.io/commaai/openpilot-base:latest +fi # setup .host dir mkdir -p .devcontainer/.host diff --git a/.gitattributes b/.gitattributes index 2d1df43fd3..97721befb2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,5 @@ *.dlc filter=lfs diff=lfs merge=lfs -text *.onnx filter=lfs diff=lfs merge=lfs -text +selfdrive/assets/fonts/* filter=lfs diff=lfs -text +selfdrive/assets/training/* filter=lfs diff=lfs -text selfdrive/car/tests/test_models_segs.txt filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/tools_tests.yaml b/.github/workflows/tools_tests.yaml index c7a5f80c3b..1dea47f638 100644 --- a/.github/workflows/tools_tests.yaml +++ b/.github/workflows/tools_tests.yaml @@ -90,11 +90,22 @@ jobs: - uses: actions/checkout@v3 with: submodules: true + - uses: ./.github/workflows/setup-with-retry + with: + git_lfs: false + - name: Use local image for testing devcontainer with latest base image + run: | + echo "USE_LOCAL_IMAGE=true" >> "$GITHUB_ENV" - name: Setup Dev Container CLI run: npm install -g @devcontainers/cli - name: Build dev container image run: devcontainer build --workspace-folder . - name: Run dev container - run: devcontainer up --workspace-folder . + run: | + mkdir -p /tmp/devcontainer_scons_cache/ + cp -r $GITHUB_WORKSPACE/.ci_cache/scons_cache/* /tmp/devcontainer_scons_cache/ + devcontainer up --workspace-folder . - name: Test environment - run: devcontainer exec --workspace-folder . scons --dry-run + run: | + devcontainer exec --workspace-folder . scons -j$(nproc) + devcontainer exec --workspace-folder . pip install pip-install-test diff --git a/Dockerfile.openpilot_base b/Dockerfile.openpilot_base index e0581bd46e..be151678b3 100644 --- a/Dockerfile.openpilot_base +++ b/Dockerfile.openpilot_base @@ -22,18 +22,24 @@ RUN cd /tmp && \ rm -rf arm/ && \ rm -rf thumb/nofp thumb/v6* thumb/v8* thumb/v7+fp thumb/v7-r+fp.sp +ARG USER=batman +ARG USER_UID=1000 +RUN useradd -m -s /bin/bash -u $USER_UID $USER +USER $USER + ENV POETRY_VIRTUALENVS_CREATE=false ENV PYENV_VERSION=3.11.4 -ENV PYENV_ROOT="/root/.pyenv" +ENV PYENV_ROOT="/home/$USER/pyenv" ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH" -COPY pyproject.toml poetry.lock .python-version /tmp/ -COPY tools/install_python_dependencies.sh /tmp/tools/ +COPY --chown=$USER pyproject.toml poetry.lock .python-version /tmp/ +COPY --chown=$USER tools/install_python_dependencies.sh /tmp/tools/ RUN cd /tmp && \ tools/install_python_dependencies.sh && \ rm -rf /tmp/* && \ - rm -rf /root/.cache && \ + rm -rf /home/$USER/.cache && \ pip uninstall -y poetry -RUN sudo git config --global --add safe.directory /tmp/openpilot +USER root +RUN sudo git config --global --add safe.directory /tmp/openpilot \ No newline at end of file diff --git a/selfdrive/assets/fonts/.gitattributes b/selfdrive/assets/fonts/.gitattributes new file mode 100644 index 0000000000..505d8b4a7e --- /dev/null +++ b/selfdrive/assets/fonts/.gitattributes @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b19422590f5a1995f18f5097aa43f1d721e15a3980aa23236f612511bbb1247 +size 542 diff --git a/selfdrive/assets/fonts/Inter-Black.ttf b/selfdrive/assets/fonts/Inter-Black.ttf index 5653757735..6bfd108896 100644 Binary files a/selfdrive/assets/fonts/Inter-Black.ttf and b/selfdrive/assets/fonts/Inter-Black.ttf differ diff --git a/selfdrive/assets/fonts/Inter-Bold.ttf b/selfdrive/assets/fonts/Inter-Bold.ttf index e98b84ce87..240f73d344 100644 Binary files a/selfdrive/assets/fonts/Inter-Bold.ttf and b/selfdrive/assets/fonts/Inter-Bold.ttf differ diff --git a/selfdrive/assets/fonts/Inter-ExtraBold.ttf b/selfdrive/assets/fonts/Inter-ExtraBold.ttf index 7f16a0f0f5..8cb343bc40 100644 Binary files a/selfdrive/assets/fonts/Inter-ExtraBold.ttf and b/selfdrive/assets/fonts/Inter-ExtraBold.ttf differ diff --git a/selfdrive/assets/fonts/Inter-ExtraLight.ttf b/selfdrive/assets/fonts/Inter-ExtraLight.ttf index 69426a3eb5..9ab6117be9 100644 Binary files a/selfdrive/assets/fonts/Inter-ExtraLight.ttf and b/selfdrive/assets/fonts/Inter-ExtraLight.ttf differ diff --git a/selfdrive/assets/fonts/Inter-Light.ttf b/selfdrive/assets/fonts/Inter-Light.ttf index a5f073690d..a09fccdb3d 100644 Binary files a/selfdrive/assets/fonts/Inter-Light.ttf and b/selfdrive/assets/fonts/Inter-Light.ttf differ diff --git a/selfdrive/assets/fonts/Inter-Medium.ttf b/selfdrive/assets/fonts/Inter-Medium.ttf index 721147d831..e3a0591ed1 100644 Binary files a/selfdrive/assets/fonts/Inter-Medium.ttf and b/selfdrive/assets/fonts/Inter-Medium.ttf differ diff --git a/selfdrive/assets/fonts/Inter-Regular.ttf b/selfdrive/assets/fonts/Inter-Regular.ttf index 96fd6a12d0..3d153fa567 100644 Binary files a/selfdrive/assets/fonts/Inter-Regular.ttf and b/selfdrive/assets/fonts/Inter-Regular.ttf differ diff --git a/selfdrive/assets/fonts/Inter-SemiBold.ttf b/selfdrive/assets/fonts/Inter-SemiBold.ttf index ddb279290b..ec7ef519d0 100644 Binary files a/selfdrive/assets/fonts/Inter-SemiBold.ttf and b/selfdrive/assets/fonts/Inter-SemiBold.ttf differ diff --git a/selfdrive/assets/fonts/Inter-Thin.ttf b/selfdrive/assets/fonts/Inter-Thin.ttf index 76be6252b9..abcfac0b75 100644 Binary files a/selfdrive/assets/fonts/Inter-Thin.ttf and b/selfdrive/assets/fonts/Inter-Thin.ttf differ diff --git a/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf b/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf index a6ba5529af..34cd543d94 100644 Binary files a/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf and b/selfdrive/assets/fonts/JetBrainsMono-Medium.ttf differ diff --git a/selfdrive/assets/training/.gitattributes b/selfdrive/assets/training/.gitattributes new file mode 100644 index 0000000000..dde9e38b07 --- /dev/null +++ b/selfdrive/assets/training/.gitattributes @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:949bc01262fb0c894157a2f0d2bb01297a276c11acf55460d4c87c84b7832af4 +size 883 diff --git a/selfdrive/assets/training/step0.png b/selfdrive/assets/training/step0.png index 3c2c5c72a0..fb869e317d 100644 Binary files a/selfdrive/assets/training/step0.png and b/selfdrive/assets/training/step0.png differ diff --git a/selfdrive/assets/training/step1.png b/selfdrive/assets/training/step1.png index 0857893118..8bd9fbaa67 100644 Binary files a/selfdrive/assets/training/step1.png and b/selfdrive/assets/training/step1.png differ diff --git a/selfdrive/assets/training/step10.png b/selfdrive/assets/training/step10.png index 2941316d17..da71f97e83 100644 Binary files a/selfdrive/assets/training/step10.png and b/selfdrive/assets/training/step10.png differ diff --git a/selfdrive/assets/training/step11.png b/selfdrive/assets/training/step11.png index 7a7c72e3df..aa3791304e 100644 Binary files a/selfdrive/assets/training/step11.png and b/selfdrive/assets/training/step11.png differ diff --git a/selfdrive/assets/training/step12.png b/selfdrive/assets/training/step12.png index 0d6f64eb84..745a8d0553 100644 Binary files a/selfdrive/assets/training/step12.png and b/selfdrive/assets/training/step12.png differ diff --git a/selfdrive/assets/training/step13.png b/selfdrive/assets/training/step13.png index 565e02fa3f..68638ffec1 100644 Binary files a/selfdrive/assets/training/step13.png and b/selfdrive/assets/training/step13.png differ diff --git a/selfdrive/assets/training/step14.png b/selfdrive/assets/training/step14.png index 225231cbaa..2f5956b1ff 100644 Binary files a/selfdrive/assets/training/step14.png and b/selfdrive/assets/training/step14.png differ diff --git a/selfdrive/assets/training/step15.png b/selfdrive/assets/training/step15.png index 929c759b26..798e01d00a 100644 Binary files a/selfdrive/assets/training/step15.png and b/selfdrive/assets/training/step15.png differ diff --git a/selfdrive/assets/training/step16.png b/selfdrive/assets/training/step16.png index 161af863aa..2728814181 100644 Binary files a/selfdrive/assets/training/step16.png and b/selfdrive/assets/training/step16.png differ diff --git a/selfdrive/assets/training/step17.png b/selfdrive/assets/training/step17.png index 1b0cdb6fbc..ab54f9c992 100644 Binary files a/selfdrive/assets/training/step17.png and b/selfdrive/assets/training/step17.png differ diff --git a/selfdrive/assets/training/step18.png b/selfdrive/assets/training/step18.png index 0e3b64bab5..8149e79364 100644 Binary files a/selfdrive/assets/training/step18.png and b/selfdrive/assets/training/step18.png differ diff --git a/selfdrive/assets/training/step2.png b/selfdrive/assets/training/step2.png index 55814b8ef9..35d65c9b01 100644 Binary files a/selfdrive/assets/training/step2.png and b/selfdrive/assets/training/step2.png differ diff --git a/selfdrive/assets/training/step3.png b/selfdrive/assets/training/step3.png index 831095b0ae..0d3a6bbecb 100644 Binary files a/selfdrive/assets/training/step3.png and b/selfdrive/assets/training/step3.png differ diff --git a/selfdrive/assets/training/step4.png b/selfdrive/assets/training/step4.png index 5433034939..1d4da570b1 100644 Binary files a/selfdrive/assets/training/step4.png and b/selfdrive/assets/training/step4.png differ diff --git a/selfdrive/assets/training/step5.png b/selfdrive/assets/training/step5.png index 7191b63a0c..1ce43e28dc 100644 Binary files a/selfdrive/assets/training/step5.png and b/selfdrive/assets/training/step5.png differ diff --git a/selfdrive/assets/training/step6.png b/selfdrive/assets/training/step6.png index 8eafd4a198..d0e06469c7 100644 Binary files a/selfdrive/assets/training/step6.png and b/selfdrive/assets/training/step6.png differ diff --git a/selfdrive/assets/training/step7.png b/selfdrive/assets/training/step7.png index 502f5f1b2e..63e6e27e07 100644 Binary files a/selfdrive/assets/training/step7.png and b/selfdrive/assets/training/step7.png differ diff --git a/selfdrive/assets/training/step8.png b/selfdrive/assets/training/step8.png index 77ff9d7368..de881446dc 100644 Binary files a/selfdrive/assets/training/step8.png and b/selfdrive/assets/training/step8.png differ diff --git a/selfdrive/assets/training/step9.png b/selfdrive/assets/training/step9.png index 84eae3a066..43ca1d03df 100644 Binary files a/selfdrive/assets/training/step9.png and b/selfdrive/assets/training/step9.png differ diff --git a/selfdrive/car/hyundai/values.py b/selfdrive/car/hyundai/values.py index 2831b3bc4e..c504179f2b 100644 --- a/selfdrive/car/hyundai/values.py +++ b/selfdrive/car/hyundai/values.py @@ -960,6 +960,7 @@ FW_VERSIONS = { b'\xf1\x00TM ESC \x04 102!\x04\x05 58910-S2GA0', b'\xf1\x00TM ESC \x04 101 \x08\x04 58910-S2GA0', b'\xf1\x00TM ESC \x02 103"\x07\x08 58910-S2GA0', + b'\xf1\x00TM ESC 103!\x030 58910-S1MA0', ], (Ecu.engine, 0x7e0, None): [ b'\xf1\x870\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x81HM6M1_0a0_L50', @@ -973,12 +974,15 @@ FW_VERSIONS = { b'\xf1\x81HM6M2_0a0_G00', b'\xf1\x870\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x81HM6M1_0a0_J10', b'\xf1\x8739101-2STN8\xf1\x81HM6M1_0a0_M00', + b'\xf1\x87 \xf1\x81 ', ], (Ecu.eps, 0x7d4, None): [ b'\xf1\x00TM MDPS C 1.00 1.02 56370-S2AA0 0B19', b'\xf1\x00TM MDPS C 1.00 1.01 56310-S1AB0 4TSDC101', + b'\xf1\x00TM MDPS C 1.00 1.01 56310-S1EB0 4TSDC101', ], (Ecu.fwdCamera, 0x7c4, None): [ + b'\xf1\x00TM MFC AT MES LHD 1.00 1.05 99211-S1500 220126', b'\xf1\x00TMA MFC AT MEX LHD 1.00 1.01 99211-S2500 210205', b'\xf1\x00TMA MFC AT USA LHD 1.00 1.00 99211-S2500 200720', b'\xf1\x00TM MFC AT EUR LHD 1.00 1.03 99211-S1500 210224', diff --git a/selfdrive/car/toyota/values.py b/selfdrive/car/toyota/values.py index 1ee9fe1f9d..d9a6b6b7b6 100644 --- a/selfdrive/car/toyota/values.py +++ b/selfdrive/car/toyota/values.py @@ -2027,6 +2027,7 @@ FW_VERSIONS = { b'\x018966378G2000\x00\x00\x00\x00', b'\x018966378G3000\x00\x00\x00\x00', b'\x018966378B2000\x00\x00\x00\x00', + b'\x018966378B3100\x00\x00\x00\x00', ], (Ecu.abs, 0x7b0, None): [ b'\x01F152678221\x00\x00\x00\x00\x00\x00',