Skip to content

Commit

Permalink
Merge pull request #31 from tier4/feature/support-r36
Browse files Browse the repository at this point in the history
Sync with the internal repository
  • Loading branch information
pfpacket authored Jan 14, 2025
2 parents 0511381 + 036945f commit 3637846
Show file tree
Hide file tree
Showing 91 changed files with 15,672 additions and 15,294 deletions.
29 changes: 29 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: GPL-2.0-only

root = true

[{*.{awk,c,dts,dtsi,dtso,h,mk,s,S},Kconfig,Makefile,Makefile.*}]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 8

[*.{json,py,rs}]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4

# this must be below the general *.py to overwrite it
[tools/{perf,power,rcu,testing/kunit}/**.py,]
indent_style = tab
indent_size = 8

[*.yaml]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
19 changes: 19 additions & 0 deletions .github/workflows/build-drivers-hosted.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Build and install camera drivers

on:
workflow_call:
inputs:
platform:
required: false
type: string

jobs:
build-drivers:
runs-on: [self-hosted, linux, ARM64, "${{ inputs.platform }}"]
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- name: Build deb package
run: cd ./pkg/ && ./create_deb_pkg.sh
- name: Install deb package and build drivers with DKMS
run: yes Y | sudo dpkg -i *.deb
52 changes: 52 additions & 0 deletions .github/workflows/camera-hotplug-hosted.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Hot plug cameras

on:
workflow_call:
inputs:
platform:
required: false
type: string
dt-overlay-options:
required: true
type: string

jobs:
camera-hotplug:
runs-on: [self-hosted, linux, ARM64, "${{ inputs.platform }}"]
timeout-minutes: 3
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build dtbocfg
run: |
cd ./scripts/common/hotplug/dtbocfg/
make
ls -l ./dtbocfg.ko
sudo rmmod dtbocfg || true
sudo insmod ./dtbocfg.ko || true
lsmod | grep dtbocfg
- name: Hotplug
run: |
./scripts/common/hotplug/camera-hotplug.sh ${{ inputs.dt-overlay-options }}
post-hotplug-checks:
runs-on: [self-hosted, linux, ARM64, "${{ inputs.platform }}"]
needs: camera-hotplug
timeout-minutes: 3
steps:
- run: |
find /proc/device-tree/ -name "*isx*" || find /proc/device-tree/ -name "*imx*"
find /proc/device-tree/ -name "*max9295*"
find /proc/device-tree/ -name "*max9296*"
find /proc/device-tree/ -name "*fpga*"
ls -l /dev/video*
ls -l /dev/v4l-*
ls -l /dev/media*
ls -l /dev/gmsl/
for media_device in $(find /dev/ -type c -name "media*"); do
media-ctl -d "${media_device}" -p
done
for video_device in $(find /dev/ -type c -name "video*"); do
v4l2-ctl -d "${video_device}" --all
done
40 changes: 40 additions & 0 deletions .github/workflows/ecu-rqx58g-a.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: ROSCube RQX-58G A C1x8

on:
pull_request:
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-drivers:
uses: ./.github/workflows/build-drivers-hosted.yaml
with:
platform: rqx58g-a

camera-hotplug:
needs: build-drivers
uses: ./.github/workflows/camera-hotplug-hosted.yaml
with:
platform: rqx58g-a
dt-overlay-options: roscube R32.6.1 -8 C1

test-8-cameras:
needs: camera-hotplug
strategy:
matrix:
dev-index: [0, 1, 2, 3, 4, 5, 6, 7]
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-a
video-device: /dev/video${{ matrix.dev-index }}
gstreamer-options: 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c1-${{ matrix.dev-index }}

unload-camera-drivers:
needs: test-8-cameras
uses: ./.github/workflows/unload-drivers-hosted.yaml
with:
platform: rqx58g-a
40 changes: 40 additions & 0 deletions .github/workflows/ecu-rqx58g-b.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: ROSCube RQX-58G B C2x8

on:
pull_request:
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-drivers:
uses: ./.github/workflows/build-drivers-hosted.yaml
with:
platform: rqx58g-b

camera-hotplug:
needs: build-drivers
uses: ./.github/workflows/camera-hotplug-hosted.yaml
with:
platform: rqx58g-b
dt-overlay-options: roscube R32.6.1 -8 C2

test-8-cameras:
needs: camera-hotplug
strategy:
matrix:
dev-index: [0, 1, 2, 3, 4, 5, 6, 7]
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-b
video-device: /dev/video${{ matrix.dev-index }}
gstreamer-options: 'video/x-raw, width=2880, height=1860, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c2-${{ matrix.dev-index }}

unload-camera-drivers:
needs: test-8-cameras
uses: ./.github/workflows/unload-drivers-hosted.yaml
with:
platform: rqx58g-b
100 changes: 100 additions & 0 deletions .github/workflows/ecu-rqx58g-c.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: ROSCube RQX-58G C C1x2 C2x2 C1x2 C2x2

on:
pull_request:
types: [opened, reopened, synchronize]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-drivers:
uses: ./.github/workflows/build-drivers-hosted.yaml
with:
platform: rqx58g-c

camera-hotplug:
needs: build-drivers
uses: ./.github/workflows/camera-hotplug-hosted.yaml
with:
platform: rqx58g-c
dt-overlay-options: roscube R32.6.1 -2 C1 -2 C2 -2 C1 -2 C2

test-camera-0:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-isx021-cam1
gstreamer-options: 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c1-0

test-camera-1:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-isx021-cam2
gstreamer-options: 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c1-1

test-camera-2:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-imx490-cam3
gstreamer-options: 'video/x-raw, width=2880, height=1860, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c2-2

test-camera-3:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-imx490-cam4
gstreamer-options: 'video/x-raw, width=2880, height=1860, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c2-3

test-camera-4:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-isx021-cam5
gstreamer-options: 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c1-4

test-camera-5:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-isx021-cam6
gstreamer-options: 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c1-5

test-camera-6:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-imx490-cam7
gstreamer-options: 'video/x-raw, width=2880, height=1860, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c2-6

test-camera-7:
needs: camera-hotplug
uses: ./.github/workflows/test-v4l2-gstreamer-hosted.yaml
with:
platform: rqx58g-c
video-device: /dev/gmsl/tier4-imx490-cam8
gstreamer-options: 'video/x-raw, width=2880, height=1860, framerate=30/1, format=UYVY'
artifact-name: gstreamer-v4l2-mjpeg-c2-7

unload-camera-drivers:
needs: [test-camera-0, test-camera-1, test-camera-2, test-camera-3, test-camera-4, test-camera-5, test-camera-6, test-camera-7]
uses: ./.github/workflows/unload-drivers-hosted.yaml
with:
platform: rqx58g-c
Loading

0 comments on commit 3637846

Please sign in to comment.