Changes

Jump to navigation Jump to search
Line 15: Line 15:  
|MV series
 
|MV series
 
|MV-MIPI-IMX178M
 
|MV-MIPI-IMX178M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-SC130M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-IMX296M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-IMX287M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-IMX265M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-IMX264M
 +
|Done
 +
|-
 +
|RAW series
 +
|RAW-MIPI-SC132M
 +
|Done
 +
|-
 +
|RAW series
 +
|RAW-MIPI-IMX462M
 +
|Done
 +
|-
 +
|RAW series
 +
|RAW-MIPI-AR0234M
 
|Done
 
|Done
 
|}
 
|}
 +
In addition, the driver for the V-by-One HS connection mode has been finished.
    
==== Jetson Board List ====
 
==== Jetson Board List ====
Line 39: Line 72:  
|-
 
|-
 
|TX2 Devkit
 
|TX2 Devkit
|Coming soon
+
|Done
 
|-
 
|-
 
|AGX Xavier
 
|AGX Xavier
|Coming soon
+
|Done
 +
|-
 +
|AGX Orin
 +
|Done
 +
|-
 +
|Orin NX
 +
|Done
 
|-
 
|-
|Orin Series
+
|Orin Nano
|Coming soon
+
|Done
 
|}
 
|}
   Line 51: Line 90:     
* Jetpack4.6.1,L4T r32.7.1
 
* Jetpack4.6.1,L4T r32.7.1
 +
*Jetpack4.6.3,L4T r32.7.3
 +
*Jetpack5.0.2,L4T r35.1
 +
*Jetpack5.1,L4T r35.2.1
 +
*Jetpack5.1.1,L4T r35.3.1
 +
*Jetpack5.1.2,L4T r35.4.1
    
=====How to check the current L4T version=====
 
=====How to check the current L4T version=====
Line 64: Line 108:     
=== Hardware Setup ===
 
=== Hardware Setup ===
 +
MV series cameras require an adapter board to access the Jetson platform. The following table shows the support status.
 +
{| class="wikitable"
 +
!Camera Model
 +
!Jetson Board
 +
!adapter board
 +
!FFC(to adapter board)
 +
!FFC(to Jetson board)
 +
!camera number
 +
!extra power
 +
|-
 +
| rowspan="10" |MV Series
 +
|Nano A02
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|1
 +
|5V DC(Required)
 +
|-
 +
|Nano B01
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|5V DC(Required)
 +
|-
 +
|Nano 2GB
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|1
 +
|5V DC(Required)
 +
|-
 +
|TX2 NX
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|5V DC(Required)
 +
|-
 +
|XAVIER NX
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|5V DC(Required)
 +
|-
 +
|Orin Nano
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|5V DC(Required)
 +
|-
 +
|Orin NX
 +
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|5V DC(Required)
 +
|-
 +
|TX2 Devkit
 +
|ADP-N4
 +
|30pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|5V or 12V DC (Required)
 +
|-
 +
|AGX Xavier
 +
|ADP-N4
 +
|30pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
| 5V or 12V DC (Required)
 +
|-
 +
|AGX Orin
 +
|ADP-N4
 +
|30pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|5V or 12V DC (Required)
 +
|-
 +
| rowspan="10" |RAW-MIPI-SC132M
 +
|Nano A02
 +
|N/A
 +
|N/A
 +
|15pin Opposite-side contacts FFC
 +
|1
 +
|N/A
 +
|-
 +
|Nano B01
 +
|N/A
 +
|N/A
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Nano 2GB
 +
|N/A
 +
|N/A
 +
|15pin Opposite-side contacts FFC
 +
|1
 +
|N/A
 +
|-
 +
|TX2 NX
 +
|N/A
 +
|N/A
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|XAVIER NX
 +
|N/A
 +
|N/A
 +
|15pin Opposite-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin Nano
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin NX
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|TX2 Devkit
 +
|ADP-N5
 +
|15pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|-
 +
|AGX Xavier
 +
|ADP-N5
 +
|15pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|-
 +
|AGX Orin
 +
|ADP-N5
 +
|15pin Opposite-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|-
 +
| rowspan="10" |RAW Series(Except for RAW-MIPI-SC132M)
 +
|Nano A02
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|1
 +
|N/A
 +
|-
 +
|Nano B01
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Nano 2GB
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|1
 +
|N/A
 +
|-
 +
|TX2 NX
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|XAVIER NX
 +
|N/A
 +
|N/A
 +
|15-to-22 pin Same-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin Nano
 +
|N/A
 +
|N/A
 +
|22pin Opposite-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin NX
 +
|N/A
 +
|N/A
 +
|22pin Opposite-side contacts FFC
 +
|2
 +
|N/A
 +
|-
 +
|TX2 Devkit
 +
|ADP-N5
 +
|15-to-22 pin Same-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|-
 +
|AGX Xavier
 +
|ADP-N5
 +
|15-to-22 pin Same-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|-
 +
|AGX Orin
 +
|ADP-N5
 +
|15-to-22 pin Same-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 +
|}
 +
 +
==== MV series cameras use the ADP-MV1 connection ====
 +
 +
===== Connection of MV series cameras  and ADP-MV1 =====
 +
The two are connected using 0.5 mm pitch*30P FFC cable with Opposite-side contacts. The cable must be inserted with the silver contacts facing outside.
 +
{| class="wikitable"
 +
!TOP
 +
!BOTTOM
 +
|-
 +
|[[File:ADP-MV1-MV-MIPI-X 01.jpg|center|thumb|600x600px|ADP-MV1 to MV-MIPI-X|alt=]]
 +
|[[File:ADP-MV1-MV-MIPI-X 02.jpg|alt=|center|thumb|600x600px|ADP-MV1 to MV-MIPI-X]]
 +
|}
 +
 +
===== Power supply =====
 +
The ADP-MV1 requires a separate 5V power supply and can be powered directly from the Jetson board using a Dupont cable.
 +
[[File:ADP-MV1-MV-MIPI-X 07.jpg|alt=ADP-MV1 power supply|center|thumb|800x800px|ADP-MV1 power supply]]
 +
 +
===== Connection with Nano and NX using ADP-MV1 =====
 +
The Nano Series and  NX Series are connected in this way.
 +
[[File:MV camera and Xavier NX connection.jpg|alt=MV camera and Xavier NX connection|center|thumb|800x800px|MV camera and Xavier NX connection]]
 +
 +
===== Connection with Orin Nano and NX using ADP-MV1 =====
 +
Use a 15P to 22 pin FFC Cable with the Same-side contacts. Pay attention to the direction of the contact surface.
 +
[[File:MV camera connect to Orin Nano and Orin NX.jpg|center|thumb|800x800px|MV camera connect to Orin Nano and Orin NX]]
 +
 +
==== MV series cameras use the ADP-N4 connection ====
 +
 +
===== Connection of MV series cameras  and ADP-N4 =====
 +
The two are connected using 0.5 mm pitch*30P FFC cable with Same-side contacts. The cable must be inserted with the silver contacts facing outside.
 +
[[File:ADP-N4 and MV-MIPI-CAM.jpg|link=http://wiki.veye.cc/index.php/File:ADP-N4%20and%20MV-MIPI-CAM.jpg|center|thumb|800x800px|MV-MIPI-CAM to ADP-N4]]
 +
<br />
 +
===== Power supply =====
 +
The ADP-N4 requires power supply. It supports two types of power supply, any one of them will work.
 +
 +
* 5V DC is connected to J19-9, which can be powered directly from the Jetson motherboard using a DuPont cable.
 +
 +
* 12V DC is connected to J11, which needs to be powered by an external adapter.
 +
 +
===== Connection with TX2 Devkit and AGX Series using ADP-N4 =====
 +
[[File:ADP-N4 to AGX XAVIER.jpg|alt=ADP-N4 to AGX XAVIER|center|thumb|800x800px|ADP-N4 to AGX XAVIER]]
 +
[[File:ADP-N4 to AGX Orin.jpg|center|thumb|800x800px|ADP-N4 to AGX Orin]]
 +
[[File:ADP-N4 to TX2 Devkit.jpg|center|thumb|800x800px|ADP-N4 to TX2 Devkit]]
 +
 +
==== RAW series cameras directly connected to the Jetson Board ====
 +
 +
=====Connect to Nano or Xavier NX=====
 +
The RAW-MIPI-SC132M use a 15-pin opposite-side FFC cable, while other RAW series cameras use a 15-to-22-pin same-side FFC cable.[[File:RAW-MIPI-AR0234-NANO 01.jpg|center|thumb|800x800px|RAW camera and Jetson Nano connection|link=http://wiki.veye.cc/index.php/File:RAW-MIPI-AR0234-NANO_01.jpg]]
 +
=====Connet to Orin Nano or Orin NX =====
 +
The RAW-MIPI-SC132M use a 15-to-22-pin same-side FFC cable, while other RAW series cameras use a 22-pin opposite-side FFC cable.[[File:RAW-MIPI-IMX462-ORIN NX.jpg|center|thumb|800x800px|RAW-MIPI-IMX462-ORIN NX|link=http://wiki.veye.cc/index.php/File:RAW-MIPI-IMX462-ORIN_NX.jpg]]
 +
 +
==== RAW series cameras use the ADP-N5 connection ====
 +
 +
===== Connection of RAW series cameras  and ADP-N5 =====
 +
The RAW-MIPI-SC132M use a 15-pin opposite-side FFC cable, while other RAW series cameras use a 15-to-22-pin same-side FFC cable.[[File:RAW-MIPI-IMX462-ADP-N5.jpg|center|thumb|800x800px|RAW-MIPI-IMX462 connect with ADP-N5|link=http://wiki.veye.cc/index.php/File:RAW-MIPI-IMX462-ADP-N5.jpg]]<br />
 +
=====Connection with TX2 Devkit and AGX Series using ADP-N5=====
 +
[[File:RAW-MIPI-IMX462 connect to ADP-N5-AGX XAVIER.jpg|center|thumb|800x800px|ADP-N5 to AGX Xavier|link=http://wiki.veye.cc/index.php/File:RAW-MIPI-IMX462_connect_to_ADP-N5-AGX_XAVIER.jpg]]<br />
 +
==== V-by-One-HS-KIT Camera Connection Diagram ====
 +
[[File:VBYONE connection with Jetson.jpg|center|thumb|800x800px|V-by-One-HS-KIT Camera Connection Diagram]]
 +
<br />
 +
=== Upgrade Jetson system ===
 +
This section describes how to upgrade the Jetson system to support MV camera module. For OS update method, please refer to [[VEYE CS Camera for Jetson TX2#Upgrade Jetson Nano.2C Jetson TX2.2C TX2 NX.2CAGX Xavier and Xavier NX system|Update Jetson OS]].
 +
 +
Specially, for MV series camera, besides adding the camera driver in Linux system, we also add a kernel patch - veye_mv_l4t_<version>.patch. We provide compiled Image files.
 +
 +
This patch has two features:
 +
 +
# Added support for both Y10 and Y12 data formats for Mono cameras.
 +
# Added support for trigger mode.
 +
 +
=== Description of raw data image format ===
 +
On TX2 and XAVIER, 10 bit depth and 12 bit depth raw data is stored in memory in a format that is not compliant with the V4L2 standard. We have extended the definition in the linux kernel to support this case.
 +
 +
TY10, TY12, XY10 and XY12 are the new types we have added.
 +
 +
=====Nano=====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 0 0 0 0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
 +
|'Y10 '
 +
|V4L2_PIX_FMT_Y10
 +
|-
 +
|12
 +
|0 0 0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
 +
|'Y12 '
 +
|V4L2_PIX_FMT_Y12
 +
|}
 +
=====TX2=====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order (X is undefined)
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X
 +
|TY10
 +
|V4L2_PIX_FMT_TX2_Y10
 +
|-
 +
|12
 +
|0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X
 +
|TY12
 +
|V4L2_PIX_FMT_TX2_Y12
 +
|}
 +
=====XAVIER and Orin=====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order (X is undefined)
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X X
 +
|XY10
 +
|V4L2_PIX_FMT_XAVIER_Y10
 +
|-
 +
|12
 +
|0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X
 +
|XY12
 +
|V4L2_PIX_FMT_XAVIER_Y12
 +
|}
 +
Also, we provide tool software in order to convert these special data formats to standard formats: https://github.com/veyeimaging/pixel_layer_convert.
 +
 +
We recommend using [https://www.offminor.de/ vooya] as the player.
 +
 +
===== Support for trigger mode =====
 +
The default driver for Jetson systems only supports video streaming mode. In its VI driver, the data reception function has a timeout mechanism. We have added a settable vi_time_out_disable option to dynamically turn this timeout mechanism on and off.
 +
 +
Refer to the following application example for specific applications.
 +
 +
=== Check system status ===
 +
After system update, reboot the Jetson board.
 +
 +
During the Jetson system boot process, it detects the presence of cameras on all i2c buses and generates the /dev/videoX device node if it exists.
 +
 +
Execute the following command on the Jetson board to check if the camera is properly connected.
 +
 +
<code>dmesg | grep mvcam</code>
 +
 +
You can see the camera model and the camera version number probed.
 +
 +
A prompt as below indicates that the MV-MIPI-IMX178M camera is detected on the i2c-10 bus.
 +
 +
<code>mvcam 10-003b: camera is: MV-MIPI-IMX178M</code>
 +
 +
<code>mvcam 10-003b: firmware version: 0x1080103</code>
 +
 +
==== /dev/videoX node ====
 +
The camera module is mapped as /dev/videoX device node in the Jetson system.
 +
 +
During the OS boot process, the cameras are detected in the order of the i2c bus. The X value is incremented from 0 according to the logical order of detection.
 +
 +
For instance, if only one camera is connected, X is 0 regardless of the location to which the hardware is connected. If 5 cameras are connected, X is [0-4] according to i2c bus from smallest to largest.
 +
 +
The v4l2-ctl command uses -d /dev/videoX to access different cameras.
 +
 +
In gstreamer, v4l2src can access different cameras by specifying device=/dev/videoX.
 +
 +
=== Configuring  global variables ===
 +
For the convenience of later descriptions, global variables are configured here according to the sensor size.
 +
 +
*MV-MIPI-IMX178M
 +
 +
<code>export WIDTH=3088</code>
 +
 +
<code>export HEIGHT=2064</code>
 +
 +
<code>export FPS=22</code>
 +
 +
*MV-MIPI-SC130M
 +
 +
<code>export WIDTH=1280</code>
 +
 +
<code>export HEIGHT=1024</code>
 +
 +
<code>export FPS=108</code>
 +
 +
*MV-MIPI-IMX296M
 +
 +
<code>export WIDTH=1440</code>
 +
 +
<code>export HEIGHT=1088</code>
 +
 +
<code>export FPS=60</code>
 +
 +
*MV-MIPI-IMX265M
 +
 +
<code>export WIDTH=2048</code>
 +
 +
<code>export HEIGHT=1544</code>
 +
 +
<code>export FPS=45</code>
 +
 +
*MV-MIPI-IMX264M
 +
 +
<code>export WIDTH=2432</code>
 +
 +
<code>export HEIGHT=2056</code>
 +
 +
<code>export FPS=28</code>
 +
 +
* MV-MIPI-IMX287M
 +
 +
<code>export WIDTH=704</code>
 +
 +
<code>export HEIGHT=544</code>
 +
 +
<code>export FPS=319</code>
 +
 +
*RAW-MIPI-SC132M
 +
 +
<code>export WIDTH=1080</code>
 +
 +
<code>export HEIGHT=1280</code>
 +
 +
<code>export FPS=120</code>
 +
 +
*RAW-MIPI-IMX462M
 +
 +
<code>export WIDTH=1920</code>
 +
 +
<code>export HEIGHT=1080</code>
 +
 +
<code>export FPS=60</code>
 +
 +
*RAW-MIPI-AR0234M
 +
 +
<code>export WIDTH=1920</code>
 +
 +
<code>export HEIGHT=1200</code>
 +
 +
<code>export FPS=60</code>
 +
=== v4l2-ctl Application examples ===
 +
 +
=====Install v4l2-utils=====
 +
<code>sudo apt-get install v4l-utils</code>
 +
=====Configure parameters using v4l2-ctl=====
 +
======List the data formats supported by the camera======
 +
<code>v4l2-ctl --list-formats-ext</code>
 +
 +
The following is an example of MV-MIPI-IMX178M in the XAVIER system.
 +
 +
<code>ioctl: VIDIOC_ENUM_FMT</code>
 +
 +
<code>        Index       : 0</code>
 +
 +
<code>        Type        : Video Capture</code>
 +
 +
<code>        Pixel Format: 'UYVY'</code>
 +
 +
<code>        Name        : UYVY 4:2:2</code>
 +
 +
<code>                Size: Discrete 3088x2064</code>
 +
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 +
<code>        Index       : 1</code>
 +
 +
<code>        Type        : Video Capture</code>
 +
 +
<code>        Pixel Format: 'NV16'</code>
 +
 +
<code>        Name        : Y/CbCr 4:2:2</code>
 +
 +
<code>                Size: Discrete 3088x2064</code>
 +
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 +
<code>        Index       : 2</code>
 +
 +
<code>        Type        : Video Capture</code>
 +
 +
<code>        Pixel Format: 'GREY'</code>
 +
 +
<code>        Name        : 8-bit Greyscale</code>
 +
 +
<code>                Size: Discrete 3088x2064</code>
 +
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 +
<code>        Index       : 3</code>
 +
 +
<code>        Type        : Video Capture</code>
 +
 +
<code>        Pixel Format: 'XY10'</code>
 +
 +
<code>        Name        : XAVIER 10-bit/16-bit Greyscale</code>
 +
 +
<code>                Size: Discrete 3088x2064</code>
 +
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 +
<code>        Index       : 4</code>
 +
 +
<code>        Type        : Video Capture</code>
 +
 +
<code>        Pixel Format: 'XY12'</code>
 +
 +
<code>        Name        : XAVIER 12-bit/16-bit Greyscale</code>
 +
 +
<code>                Size: Discrete 3088x2064</code>
 +
 +
                        <code>Interval: Discrete 0.045s (22.000 fps)</code>
 +
 +
It should be noted that the UYVY and NV16 modes provided by the MV series cameras are for debugging purposes only and the maximum width cannot exceed 2880.
 +
 +
====== List the configurable parameters of the camera implemented in the driver ======
 +
<code>v4l2-ctl -L</code>
 +
 +
<code>User Controls</code>
 +
 +
<code>                   trigger_mode 0x00981901 (int)    : min=0 max=2 step=1 default=0 value=0 flags=volatile, execute-on-write</code>
 +
 +
<code>                    trigger_src 0x00981902 (int)    : min=0 max=1 step=1 default=1 value=1 flags=volatile, execute-on-write</code>
 +
 +
<code>                    soft_trgone 0x00981903 (button) : flags=write-only, execute-on-write</code>
 +
 +
<code>                     frame_rate 0x00981904 (int)    : min=1 max=22 step=1 default=22 value=22 flags=volatile, execute-on-write</code>
 +
 +
<code>                          roi_x 0x00981905 (int)    : min=0 max=2712 step=8 default=0 value=0</code>
 +
 +
<code>                          roi_y 0x00981906 (int)    : min=0 max=1744 step=4 default=0 value=0</code>
 +
 +
<code>Camera Controls</code>
 +
 +
<code>low_latency_mode 0x009a206d (bool)   : default=0 value=0</code>
 +
 +
<code>               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0</code>
 +
 +
<code>            vi_time_out_disable 0x009a2078 (bool)   : default=0 value=0</code>
 +
 +
Parameters can be set and get using the following methods.
 +
 +
<code>v4l2-ctl --set-ctrl [ctrl_type]=[val]</code>
 +
 +
<code>v4l2-ctl --get-ctrl [ctrl_type]</code>
 +
 +
All the above functions can be implemented using [http://wiki.veye.cc/index.php/Mv_mipi_i2c.sh_user_guide mv_mipi_i2c.sh].
 +
 +
None of the above parameters can be modified in the state when the image acquisition is started.
 +
 +
Each of them is described below:
 +
======Trigger Mode======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=[0-2]</small></code>
 +
 +
0:Video streaming mode
 +
 +
1:Normal trigger mode.
 +
 +
2:High-speed continuous trigger mode.
 +
======Trigger Source======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=[0-1]</small></code>
 +
 +
0: Software trigger mode.
 +
 +
1: Hardware trigger mode.
 +
======Software trigger command======
 +
<code>v4l2-ctl --set-ctrl <small>soft_trgone=1</small></code>
 +
======Set frame rate======
 +
<code>v4l2-ctl --set-ctrl frame_rate=[1-max]</code>
 +
 +
The maximum frame rate is automatically updated as the resolution changed.
 +
 +
======Set ROI and pixel format======
 +
For example:
 +
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 +
The maximum frame rate will be adjusted automatically after setting ROI. Please note that the camera ROI parameters need to comply with the requirements in the camera manual.
 +
 +
====== preferred_stride ======
 +
The preferred_stride refers to the memory size required for one line of image data. Image data for the Jetson platform is stored unpacked, i.e., one pixel occupies two bytes in the 10-bit depth and 12-bit depth data formats.
 +
 +
* In the normal case, the buffer needs to be 64 bytes aligned.
 +
 +
preferred_stride= ALIGN_UP(width*bytes_per_pixel,64)
 +
 +
For instance, if the width is 3088:
 +
 +
8bit depth,preferred_stride=3136;
 +
 +
10bit depth,preferred_stride=6208;
 +
 +
12bit depth,preferred_stride=6208;
 +
 +
* If VIC buffer is used, 256 bytes alignment is required.
 +
 +
preferred_stride= ALIGN_UP(width*bytes_per_pixel,256)
 +
==== Video Streaming mode====
 +
=====Set ROI and format=====
 +
Take set ROI to sensor size as an example.
 +
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 +
<code>v4l2-ctl --set-ctrl frame_rate=$FPS</code>
 +
=====Frame rate statistics=====
 +
In streaming mode, the following commands can be used for frame rate statistics.
 +
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=/dev/null</code>
 +
 +
===== Save image to file =====
 +
 +
====== MV-MIPI-IMX178M ======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-3136x2064.raw</code>
 +
 +
* raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-3104x2064.raw</code>
 +
 +
*raw12
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-3104x2064.raw</code>
 +
 +
====== MV-MIPI-SC130M ======
 +
Since the width 1280 of SC130 is an integer multiple of 64 and 256, there is no need to set the preferred_stride.
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1280x1024.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=1024,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1280x1024.raw</code>
 +
 +
====== MV-MIPI-IMX296M ======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1472x1088.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1440x1088.raw</code>
 +
======MV-MIPI-IMX265M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-2048x1544.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-2048x1544.raw</code>
 +
 +
*raw12
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-2048x1544.raw</code>
 +
======MV-MIPI-IMX264M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-2432x2056.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-2432x2056.raw</code>
 +
 +
*raw12
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-2432x2056.raw</code>
 +
======RAW-MIPI-SC132M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1088</code>
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1080,height=1280,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1088x1280.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1080,height=1280,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1080x1280.raw</code>
 +
======MV-MIPI-IMX287M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-704x544.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-704x544.raw</code>
 +
 +
*raw12
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-704x544.raw</code>
 +
======RAW-MIPI-AR0234M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1920x1200.raw</code>
 +
 +
*raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=XY10  --stream-mmap --stream-count=1 --stream-to=y10-1920x1200.raw</code>
 +
======RAW-MIPI-IMX462M======
 +
 +
* raw10
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1920x1088.raw</code>
 +
 +
*raw12
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-1920x1088.raw</code>
 +
 +
For the image format, please refer to the section above: Description of raw data image format.
 +
=====Preview=====
 +
For cameras that support the GREY format, you can use qv4l2 or VLC for video preview.
 +
 +
====== Preview using qv4l2 ======
 +
Install qv4l2,
 +
 +
<code>sudo apt install qv4l2</code>
 +
 +
1. Open VLC with command line <code>vlc</code> to launch.
 +
 +
2. Hit the <code>▶</code>(Play) button to call the open media window.[[File:Mvcam via qv4l2.png|center|thumb|800x800px|Play mv camera using qv4l2|link=http://wiki.veye.cc/index.php/File:Mvcam_via_qv4l2.png]]<br />
 +
======Preview using VLC======
 +
Install vlc,
 +
 +
<code>sudo apt-get install vlc</code>
 +
 +
1. Open VLC with command line <code>vlc</code> , or click the icon to launch.
 +
 +
2. Hit the <code>▶</code>(Play) button to call the open media window.
 +
 +
3. In <code>Capture Device</code> >> <code>Device Selection</code> >> <code>Video device name</code>, select the camera video node.
 +
 +
4. Hit <code>Advanced Options...</code> button
 +
 +
5. Type in the <code>width</code> and <code>height</code>, for example, 1280 and 1024.
 +
 +
6. Hit <code>OK</code> to save the settings and see the video feed.
 +
 +
 +
[[File:Mvcam via VLC.png|center|thumb|800x800px|Play mv camera using VLC|link=http://wiki.veye.cc/index.php/File:Mvcam_via_VLC.png]]
 +
====== Preview UYVY format images using gstreamer ======
 +
'''Note''': To increase the maximum frame rate and bandwidth, some modules no longer support the UYVY format. Please use the "fmtcap" command in the script to read the registers to confirm the specific configuration.
 +
 +
The camera can be previewed in real time using the following command:
 +
 +
<code>export DISPLAY=:0</code>
 +
 +
* MV-MIPI-IMX178M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2816,height=2064,pixelformat=UYVY</code>
 +
 +
<code>gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)2816, height=(int)2064, framerate=(fraction)22/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
 +
 +
The maximum width supported by UYVY mode is 2880.
 +
 +
* MV-MIPI-SC130M, MV-MIPI-IMX296M,  MV-MIPI-IMX265M,MV-MIPI-IMX264M,MV-MIPI-IMX287M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=UYVY</code>
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl frame_rate=$FPS</code>
 +
 +
<code>gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)$WIDTH, height=(int)$HEIGHT, framerate=(fraction)$FPS/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
 +
 +
====== Preview GREY format images using opencv ======
 +
<code>sudo apt install python3-opencv</code>
 +
 +
* Preview using this [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/samples/opencv/raw_camera sample]:
 +
 +
<code>python ./v4l2dev_2_opencv_show_grey.py --roix 0 --roiy 0  --width 640 --height 480 --fps 30</code>
 +
 +
==== Trigger mode ====
 +
 +
===== Prepare =====
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 +
<code>v4l2-ctl --set-ctrl low_latency_mode=1</code>
 +
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 +
Set proper preferred_stride if necessary.
 +
 +
For MV-MIPI-IMX178M,3088*2064:
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 +
For MV-MIPI-IMX296M,1440*1088:
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
=====Software trigger mode =====
 +
======Set mode======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=1</small></code>
 +
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=0</small></code>
 +
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=1</code>
 +
======Start acquisition======
 +
 +
* MV-MIPI-IMX178M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-3104x2064.raw</code>
 +
 +
* MV-MIPI-SC130M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1280x1024.raw</code>
 +
 +
*MV-MIPI-IMX296M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1472x1088.raw</code>
 +
 +
*MV-MIPI-IMX265M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-2048x1544.raw</code>
 +
 +
*MV-MIPI-IMX264M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2048,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-2432x2048.raw</code>
 +
 +
*RAW-MIPI-SC132M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1080,height=1280,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1080x1280.raw</code>
 +
 +
*MV-MIPI-IMX287M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-704x544.raw</code>
 +
 +
*RAW-MIPI-AR0234M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1920x1200.raw</code>
 +
 +
*RAW-MIPI-IMX462M
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY10 --stream-mmap --stream-count=-1 --stream-to=y8-1920x1088.raw</code>
 +
====== Perform soft trigger operation ======
 +
In other shell terminals, you can execute the following command multiple times for multiple triggers.
 +
 +
<code>v4l2-ctl --set-ctrl <small>soft_trgone=1</small></code>
 +
 +
====== Stop triggering and capturing ======
 +
Since the kernel driver is waiting for new images, you need to cancel vi_time_out_disable before exiting the acquisition operation.
 +
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=0</code>
 +
 +
In the terminal of the acquisition command, press Ctrl+C to exit the acquisition operation.
 +
 +
===== Hardware trigger mode =====
 +
To use [https://github.com/NVIDIA/jetson-gpio jetson-gpio] for trigger operation, please install and configure jetson-gpio first.
 +
 +
The following is an example of using jetson GPIO40 (Board number) as the trigger source and rising edge triggering.
 +
 +
You can use the [[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]] script to set other trigger parameters.
 +
 +
====== Hardware Connection ======
 +
 +
* Using ADP-MV1<br />[[File:MV camera hardware trigger connection.jpg|center|thumb|800x800px|MV camera hardware trigger connection|link=http://wiki.veye.cc/index.php/File:MV_camera_hardware_trigger_connection.jpg]]
 +
 +
* Using ADP-N4
 +
 +
If a common trigger source connection is used, J7 is first shorted in pairs, and then connect the jetson GPIO40 to J19-1.
 +
[[File:ADP-N4 common trigger source.jpg|center|thumb|800x800px|ADP-N4 common trigger source]]
 +
 +
 +
If the independent trigger source connection is used, the GPIO40 is directly connected to J7-1 ---- J7-11.<br />
 +
======Set mode======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=1</small></code>
 +
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=1</small></code>
 +
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=1</code>
 +
======Start acquisition======
 +
 +
* MV-MIPI-IMX178M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=3088,height=2064,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-3104x2064.raw</code>
 +
 +
* MV-MIPI-SC130M
 +
 +
<code>v4l2-ctl --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1280x1024.raw</code>
 +
 +
====== Perform hardware trigger operation ======
 +
<code>python gpio_trigger_jetson.py</code>
 +
 +
Note: script [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/mv_tools_jetson/examples/v4l2grab_mvcam link].
 +
 +
====== Stop triggering and capturing ======
 +
Since the kernel driver is waiting for new images, you need to cancel vi_time_out_disable before exiting the acquisition operation.
 +
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=0</code>
 +
 +
In the terminal of the acquisition command, press Ctrl+C to exit the acquisition operation.
 +
 +
=== Application demo ===
 +
====v4l2grab_mvcam_jetson====
 +
v4l2grab_mvcam is a sample developed in C language, supporting stream mode and trigger mode.
 +
 +
Please refer to:https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/mv_tools_jetson/examples/v4l2grab_mvcam
 +
====yavta(Video Streaming mode only)====
 +
=====install yavta=====
 +
<code>git clone <nowiki>https://github.com/veyeimaging/yavta.git</nowiki></code>
 +
 +
<code>cd yavta;make</code>
 +
=====Set ROI and format=====
 +
Take MV-MIPI-IMX178M, 3088*2064 as an example.
 +
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
=====Save image to file=====
 +
======MV-MIPI-IMX178M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 +
<code>./yavta -c1 -Fy8-3136x2064.raw --skip 0 -f Y8 -s 3088x2064 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 +
<code>./yavta -c1 -Fy10-3104x2064.raw --skip 0 -f XY10 -s 3088x2064 /dev/video0</code>
 +
 +
*raw12
 +
 +
Take XAVIER as example.
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 +
<code>./yavta -c1 -Fy12-3104x2064.raw --skip 0 -f XY12 -s 3088x2064 /dev/video0</code>
 +
======MV-MIPI-SC130M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-1280x1024.raw --skip 0 -f Y8 -s 1280x1024 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-1280x1024.raw --skip 0 -f XY10 -s 1280x1024 /dev/video0</code>
 +
======MV-MIPI-IMX296M======
 +
 +
*raw8
 +
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
 +
<code>./yavta -c1 -Fy8-1472x1024.raw --skip 0 -f Y8 -s 1440x1088 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-1440x1024.raw --skip 0 -f XY10 -s 1440x1088 /dev/video0</code>
 +
 +
======MV-MIPI-IMX265M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-2048x1544.raw --skip 0 -f Y8 -s 2048x1544 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-2048x1544.raw --skip 0 -f XY10 -s 2048x1544 /dev/video0</code>
 +
 +
*raw12
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy12-2048x1544.raw --skip 0 -f XY12 -s 2048x1544 /dev/video0</code>
 +
======MV-MIPI-IMX264M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-2432x2048.raw --skip 0 -f Y8 -s 2432x2048 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-2432x2048.raw --skip 0 -f XY10 -s 2432x2048 /dev/video0</code>
 +
 +
*raw12
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy12-2432x2048.raw --skip 0 -f XY12 -s 2432x2048 /dev/video0</code>
 +
======RAW-MIPI-SC132M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-1080x1280.raw --skip 0 -f Y8 -s 1080x1280 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-1080x1280.raw --skip 0 -f XY10 -s 1080x1280 /dev/video0</code>
 +
======MV-MIPI-IMX287M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-704x544.raw --skip 0 -f Y8 -s 704x544 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-704x544.raw --skip 0 -f XY10 -s 704x544 /dev/video0</code>
 +
 +
*raw12
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy12-704x544.raw --skip 0 -f XY12 -s 704x544 /dev/video0</code>
 +
======RAW-MIPI-AR0234M======
 +
 +
*raw8
 +
 +
<code>./yavta -c1 -Fy8-1920x1200.raw --skip 0 -f Y8 -s 1920x1200 /dev/video0</code>
 +
 +
*raw10
 +
 +
Take XAVIER as example.
 +
 +
<code>./yavta -c1 -Fy10-1920x1200.raw --skip 0 -f XY10 -s 1920x1200 /dev/video0</code>
 +
======RAW-MIPI-IMX462M======
 +
Take XAVIER as example.
 +
 +
*raw12
 +
 +
<code>./yavta -c1 -Fy12-1920x1088.raw --skip 0 -f XY12 -s 1920x1088 /dev/video0</code>
 +
 +
*raw10
 +
 +
<code>./yavta -c1 -Fy10-1920x1088.raw --skip 0 -f XY10 -s 1920x1088 /dev/video0</code>
 +
 +
For the image format, please refer to the section above: Description of raw data image format.
 +
===i2c script for parameter configuration===
 +
We provide shell scripts to configure the parameters.
 +
 +
[http://wiki.veye.cc/index.php/Mv_mipi_i2c.sh_user_guide mv_mipi_i2c.sh user guide]
 +
===References===
 +
===Document History===
 +
 +
*2023-08-16
 +
 +
Add support for RAW-MIPI-IMX462M and RAW-MIPI-AR0234M.
 +
 +
* 2023-07-31
 +
 +
Support V-by-One.
 +
 +
*2023-04-27
 +
 +
Support Jetpack5.1.1.
 +
 +
* 2023-04-16
 +
 +
Remove flip function.
 +
 +
* 2023-03-29
 +
 +
Add opencv samples.
 +
 +
*2023-03-37
 +
 +
Add description about MV-MIPI-IMX287M.
 +
 +
*2023-02-22
 +
 +
Support Jetpack5.1
 +
 +
*2022-12-11
 +
 +
Add description about MV-MIPI-IMX264M.
 +
 +
* 2022-10-14
 +
 +
Add description about MV-MIPI-IMX296M and MV-MIPI-IMX265M.
 +
 +
* 2022-08-31
 +
 +
Support Jetpack5.0.2
 +
 +
*2022-06-23
 +
 +
Add ADP-N4 related descriptions.
 +
 +
*2022-05-20
 +
 +
Release 1st version.<br />

Navigation menu