Skip to content

Commit c6fad36

Browse files
committed
Update for RQX-590 and FPGA version 0x24
1 parent f5c0ae1 commit c6fad36

19 files changed

Lines changed: 337 additions & 256 deletions

conf.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
# -- Project information -----------------------------------------------------
2121

2222
project = 'roscube-doc'
23-
copyright = '2022, ADLINK Autonomous Business Center'
24-
author = 'ADLINK Autonomous Business Center'
23+
copyright = '2023, ADLINK Technology'
24+
author = 'ADLINK'
2525

2626
# The short X.Y version
2727
version = ''
2828
# The full version, including alpha/beta/rc tags
29-
release = '0.9.0'
29+
release = '0.9.1'
3030

3131

3232
# -- General configuration ---------------------------------------------------
@@ -129,7 +129,7 @@
129129
# author, documentclass [howto, manual, or own class]).
130130
latex_documents = [
131131
(master_doc, 'roscube-doc.tex', 'roscube-doc Documentation',
132-
'ADLINK Autonomous Business Center', 'manual'),
132+
'ADLINK', 'manual'),
133133
]
134134

135135

nvidia/advanced/driver_packages/backup_restore.rst

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@ The tutorial will guide you how to backup and restore system image.
77

88
The target machine must be connected to your **Host PC** over USB and entered into **recovery mode**.
99

10-
+--------------------+------------+
11-
|Model |Target Name |
12-
+====================+============+
13-
|RQX-580 |rqx_580 |
14-
+--------------------+------------+
15-
|RQX-58G |rqx_58g |
16-
+--------------------+------------+
17-
|NPN-1 (Pico Nano) |npn1 |
18-
+--------------------+------------+
19-
|NPN-2 (Pico AGX NX) |npn2 |
20-
+--------------------+------------+
10+
+--------------------+-----------------------+
11+
|Model |Target Name |
12+
+====================+=======================+
13+
|RQX-590 |jetson-agx-orin-rqx59x |
14+
+--------------------+-----------------------+
15+
|RQX-580 |rqx_580 |
16+
+--------------------+-----------------------+
17+
|RQX-58G |rqx_58g |
18+
+--------------------+-----------------------+
19+
|NPN-1 (Pico Nano) |npn1 |
20+
+--------------------+-----------------------+
21+
|NPN-2 (Pico AGX NX) |npn2 |
22+
+--------------------+-----------------------+
2123

2224
1. Cloning the Image
2325
^^^^^^^^^^^^^^^^^^^^

nvidia/advanced/driver_packages/flash_system.rst

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,19 @@ Once you prepared rootfs in step: *customize rootfs*. You can use flash.sh tool
1313
# Put machine into recovery mode first.
1414
sudo ./flash.sh <target name> mmcblk0p1
1515
16-
+--------------------+------------+
17-
|Model |Target Name |
18-
+====================+============+
19-
|RQX-580 |rqx_580 |
20-
+--------------------+------------+
21-
|RQX-58G |rqx_58g |
22-
+--------------------+------------+
23-
|NPN-1 (Pico Nano) |npn1 |
24-
+--------------------+------------+
25-
|NPN-2 (Pico AGX NX) |npn2 |
26-
+--------------------+------------+
16+
+--------------------+-----------------------+
17+
|Model |Target Name |
18+
+====================+=======================+
19+
|RQX-590 |jetson-agx-orin-rqx59x |
20+
+--------------------+-----------------------+
21+
|RQX-580 |rqx_580 |
22+
+--------------------+-----------------------+
23+
|RQX-58G |rqx_58g |
24+
+--------------------+-----------------------+
25+
|NPN-1 (Pico Nano) |npn1 |
26+
+--------------------+-----------------------+
27+
|NPN-2 (Pico AGX NX) |npn2 |
28+
+--------------------+-----------------------+
2729

2830
.. note::
2931

nvidia/packages/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
:orphan:
22

3-
The Packages
4-
############
3+
NVIDIA Packages
4+
###############
55

66
Show the usage of application in NVIDIA platform.
77

roscube-x/flash_image/flash_mfi.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ How to flash MFI
88

99
i) Download mfi image.
1010

11-
* Go to the `device web <https://www.adlinktech.com/Products/ROS2_Solution/ROS2_Controller/ROScube-X?lang=en/>`_.
11+
* Go to the website:
12+
13+
- `RQX-580/58G <https://www.adlinktech.com/Products/ROS2_Solution/ROS2_Controller/RQX-580_58G/>`_.
14+
15+
- `RQX-590 series <https://www.adlinktech.com/Products/ROS2_Solution/ROS2_Controller/RQX-59_series/>`_.
1216

1317
.. image:: images/device-web.png
1418
:width: 80%

roscube-x/flash_image/recovery_mode.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ Check out the mode on **Host PC**.
5252
* Normal mode will show **L4T**.
5353
* Recovery mode will show **APX**.
5454

55+
If you can't see APX text, please try to change the USB cable or the Host USB port.
56+
5557
.. image:: images/nvidia-usb.png
5658
:width: 80%
5759
:align: center

roscube-x/gmsl_camera/camera_driver.rst

Lines changed: 72 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,88 +3,121 @@
33
Camera Driver Installation
44
##########################
55

6-
You need to install dedicated Camera's driver (e.g. ``leopard-ar0233-gmsl``).
6+
You need to install dedicated camera driver.
77

8-
The driver is provided by **ADLINK** and could not be used on other vendor's platform since it is compiled into binary.
8+
Please ask ADLINK or the camera vendor for the latest camera driver.
99

10-
And it can only download form **ADLINK ROScube's APT repository**.
11-
12-
1. Install Camera Driver.
10+
1. Install Camera Driver
1311
-------------------------
1412

15-
To install **Leopard AR0233 GMSL** camera, please by following terminal commands below:
13+
To install camera driver, please follow the commands below:
1614

1715
.. code:: bash
1816
1917
sudo apt update
20-
# Remove lagecy leopard ar0233 kernel module.
21-
sudo apt remove --purge leopard-ar0233-gmsl-kmod
22-
sudo apt remove --purge rqx58g-ioboard-gmsl-kmod
23-
sudo apt install leopard-ar0233-gmsl
18+
sudo apt install -f <camera_driver.deb>
19+
20+
# Examples:
21+
#
22+
# [Tier IV]
23+
# sudo apt install -f tier4-camera-gmsl_1.3.0_arm64.deb
24+
#
25+
# [Leopard AR0233]
26+
# sudo apt install -f roscube-gmsl-serdes_0.9.3_arm64.deb
27+
28+
.. warning::
2429

25-
2. Inspect Camera Driver.
30+
| You can only install one camera driver in ROScube to avoid conflicts.
31+
If there are two or more, please remove them which you don't use.
32+
| To remove unused camera driver, please use ``sudo apt remove --purge <camera driver>``
33+
34+
35+
2. Apply Device Tree
2636
-------------------------
2737

28-
To inspect your available camera device tree setting after installing, please use the following terminal command:
38+
To enable the camera driver, you have to apply the device tree settings.
39+
Before applying, please use below command to list available modules:
2940

3041
.. code:: bash
3142
32-
sudo /opt/nvidia/jetson-io/config-by-hardware.py -l
43+
sudo /opt/nvidia/jetson-io/config-by-hardware.py --list
3344
3445
.. image:: images/config-hardware-list.png
3546
:width: 80%
3647
:align: center
3748

38-
.. warning::
49+
The camera device tree overlay may be located in different headers depends on the BSP and Jetpack version.
3950

40-
| It can only install one cammera's driver at the same time.
41-
If there are two or more, please remove them which you don't use.
42-
| To remove unused camera driver, please use ``sudo apt remove --purge <camera driver>``
51+
.. image:: images/config-hardware-list-tier4.png
52+
:width: 80%
53+
:align: center
4354

44-
3. Apply Device Tree Settings.
45-
------------------------------
55+
To apply the device tree setings, please follow the commands below:
4656

47-
To apply **Leopard AR0233 device tree** settings to all camera channels, please use the following terminal command:
57+
For Jetpack 4.6, 5.0, and later:
58+
================================
4859

49-
**For Jetpack 4.5**, use the following
60+
If the device tree is located in "Header 1", please enter below command:
5061

51-
Download the patched :download:`libgstnvarguscamerasrc.so <file/libgstnvarguscamerasrc.so>` and replace this file with the original one.
62+
.. code:: bash
63+
64+
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='<YOUR_CAMERA_DEVICE_TREE_OVERLAY>'
65+
# Examples:
66+
#
67+
# [Tier IV C1]
68+
# sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='TIERIV ISX021 GMSL2 Camera Device Tree Overlay'
69+
#
70+
# [Leopard AR0233]
71+
# sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='Leopard AR0233 RAW GMSL2 Camera Device Tree Overlay'
72+
73+
74+
Otherwise, the device tree is located in "Header 2", please enter below command:
5275

5376
.. code:: bash
5477
55-
sudo rm /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
56-
sudo mv libgstnvarguscamerasrc.so /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
78+
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2='<YOUR_CAMERA_DEVICE_TREE_OVERLAY>'
5779
58-
Then, apply device tree into your current system.
80+
.. image:: images/config-hardware-name.png
81+
:width: 80%
82+
:align: center
83+
84+
85+
For Jetpack 4.5:
86+
================
87+
88+
89+
Download the patched :download:`libgstnvarguscamerasrc.so <file/libgstnvarguscamerasrc.so>` and replace this file with the original one.
5990

6091
.. code:: bash
6192
62-
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 'Leopard AR0233 GMSL2 Camera Device Tree Overlay'
93+
sudo rm /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
94+
sudo mv libgstnvarguscamerasrc.so /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvarguscamerasrc.so
6395
64-
**For Jetpack 4.6**, use the following
96+
Then, apply device tree into your system.
6597

6698
.. code:: bash
6799
68-
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2='Leopard AR0233 GMSL2 Camera Device Tree Overlay'
100+
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n '<YOUR_CAMERA_DEVICE_TREE_OVERLAY>'
69101
70-
.. image:: images/config-hardware-name.png
71-
:width: 80%
72-
:align: center
102+
3. Reboot
103+
----------
73104

74-
.. note::
105+
Finally, please **reboot** system for the new settings to take effect.
106+
107+
.. code:: bash
75108
76-
To reconfigure, please **reboot** system.
109+
sudo reboot
77110
78-
4. Check Camera.
111+
4. Check Camera
79112
----------------
80113

81-
After rebooting system, you can check if the cameras are available.
114+
After rebooting, you can check if the cameras are available.
82115

83-
Please use the following terminal command:
116+
Please use the following command to check:
84117

85118
.. code:: bash
86119
87-
ls /dev/gmsl/*
120+
ls /dev/video*
88121
89122
.. image:: images/dev-video.png
90123
:width: 80%
@@ -93,5 +126,5 @@ Please use the following terminal command:
93126

94127
.. warning::
95128

96-
| If it can't show any video devices, make sure cameras are connected.
97-
| And check the error message by ``dmesg | egrep ar0233`` in terminal command.
129+
| If there are no video devices, make sure cameras are connected.
130+
| And check the error logs by typing the command ``dmesg | egrep -i 'max9295|max9296'`` in terminal.

roscube-x/gmsl_camera/camera_usage.rst

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,38 @@
33
Camera Usage
44
############
55

6+
GStreamer
7+
---------
8+
69
Different video frameworks have different methods to run cameras.
710
You should check which video framework your camera is and select the right method.
811

9-
Here we show how to run cameras with gstreamer plugin based on NVIDIA Argus or V4L2.
12+
Here we show how to run cameras with gstreamer plugin based on V4L2 or NVIDIA Argus.
13+
14+
If your camera has ISP, then you sholud use v4l2src; otherwise, use nvarguscamerasrc for the cameras without ISP.
15+
16+
v4l2src plugin
17+
==============
18+
19+
To use V4L2, you can read video device under ``/dev/`` directly.
20+
The camera will be listed like ``/dev/videoX``, while X is from 0-7.
21+
22+
To read camera 1 by gstreamer:
23+
24+
.. code:: bash
25+
26+
# Example for Tier IV C1 video0
27+
gst-launch-1.0 -e v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=1920,height=1280' ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
1028
11-
NVIDIA Argus
12-
------------
29+
.. image:: images/tier4_video0.png
30+
:width: 100%
31+
:align: center
32+
33+
nvarguscamerasrc plugin
34+
=======================
1335

1436
Cameras without ISP can use **Argus API** to preview the camera's video streaming,
15-
or you can use **GStreamer NVArgusCameraSrc plugin** to preview the video streaming.
37+
or you can use **GStreamer nvarguscamerasrc plugin** to preview the video streaming.
1638

1739
Make sure you have modified **sensor-id=0** on the following command.
1840

@@ -40,13 +62,15 @@ i. Open a terminal and type command to open ``camera 1's video`` streaming.
4062

4163
.. code:: bash
4264
43-
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=2048, height=1280, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e
65+
# Example for AR0233 w/o ISP
66+
gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=2048, height=1280, framerate=30/1' ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
67+
4468
4569
ii. Open **another** terminal and type command to ``open camera 2's video`` streaming.
4670

4771
.. code:: bash
4872
49-
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=2048, height=1280, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e
73+
gst-launch-1.0 -e nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=2048, height=1280, framerate=30/1' ! nvvidconv ! 'video/x-raw, format=(string)RGBA' ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
5074
5175
.. image:: images/gst-test.png
5276
:width: 80%
@@ -63,22 +87,15 @@ If successful, you will see two windows from different cameras, like below.
6387
If you find that Argus plugin can't operate well, you can restart nvargus-daemon.
6488
``sudo systemctl restart nvargus-daemon.service``
6589

66-
V4L2
67-
----
68-
69-
To use V4L2, you can read video device under ``/dev/`` directly.
70-
The camera will be listed like ``/dev/videoX``, while X is from 0-7.
71-
You can also read the camera under ``/dev/gmsl/*``.
72-
Both two ways are available.
73-
74-
To read camera 1 by gstreamer:
75-
76-
.. code:: bash
77-
78-
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! videoscale ! video/x-raw,format=UYVY ! queue ! videoconvert ! ximagesink sync=no
90+
v4l-utils
91+
---------
7992

80-
To read camera 1 by v4l2 tools
93+
v4l2-ctl offers a way to start camera stream and evaluate the FPS without showing the real images.
8194

8295
.. code:: bash
8396
84-
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap=3 --stream-count=600
97+
v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap
98+
99+
.. image:: images/v4l2-ctl.png
100+
:width: 100%
101+
:align: center

0 commit comments

Comments
 (0)