Changes

Jump to navigation Jump to search
Line 23: Line 23:  
|MV series
 
|MV series
 
|MV-MIPI-IMX296M
 
|MV-MIPI-IMX296M
 +
|Done
 +
|-
 +
|MV series
 +
|MV-MIPI-IMX287M
 
|Done
 
|Done
 
|-
 
|-
 
|MV series
 
|MV series
 
|MV-MIPI-IMX265M
 
|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 57: Line 78:  
|-
 
|-
 
|AGX Orin  
 
|AGX Orin  
|Coming soon
+
|Done
 +
|-
 +
|Orin NX
 +
|Done
 +
|-
 +
|Orin Nano
 +
|Done
 
|}
 
|}
   Line 63: 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.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 79: Line 110:  
MV series cameras require an adapter board to access the Jetson platform. The following table shows the support status.
 
MV series cameras require an adapter board to access the Jetson platform. The following table shows the support status.
 
{| class="wikitable"
 
{| class="wikitable"
 +
!Camera Model
 
!Jetson Board
 
!Jetson Board
 
!adapter board
 
!adapter board
! camera number
+
!FFC(to adapter board)
!Power
+
!FFC(to Jetson board)
 +
!camera number
 +
!extra power
 
|-
 
|-
 +
| rowspan="10" |MV Series
 
|Nano A02
 
|Nano A02
 
|ADP-MV1
 
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 
|1
 
|1
 
|5V DC(Required)
 
|5V DC(Required)
 
|-
 
|-
 
|Nano B01
 
|Nano B01
| ADP-MV1
+
|ADP-MV1
|1
+
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 +
|2
 
|5V DC(Required)
 
|5V DC(Required)
 
|-
 
|-
 
|Nano 2GB
 
|Nano 2GB
 
|ADP-MV1
 
|ADP-MV1
|2
+
|30pin Opposite-side contacts FFC
| 5V DC(Required)
+
|15pin Opposite-side contacts FFC
 +
|1
 +
|5V DC(Required)
 
|-
 
|-
 
|TX2 NX
 
|TX2 NX
 
|ADP-MV1
 
|ADP-MV1
 +
|30pin Opposite-side contacts FFC
 +
|15pin Opposite-side contacts FFC
 
|2
 
|2
 
|5V DC(Required)
 
|5V DC(Required)
Line 106: Line 149:  
|XAVIER NX
 
|XAVIER NX
 
|ADP-MV1
 
|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
 
|2
 
|5V DC(Required)
 
|5V DC(Required)
 
|-
 
|-
| TX2 Devkit
+
|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
 
|ADP-N4
 +
|30pin Opposite-side contacts FFC
 +
|board-to-board connector
 
|6
 
|6
 
| 5V or 12V DC (Required)
 
| 5V or 12V DC (Required)
 
|-
 
|-
|AGX Xavier
+
|AGX Orin
 
|ADP-N4
 
|ADP-N4
 +
|30pin Opposite-side contacts FFC
 +
|board-to-board connector
 
|6
 
|6
 
|5V or 12V DC (Required)
 
|5V or 12V DC (Required)
 
|-
 
|-
|Orin series
+
| rowspan="10" |RAW-MIPI-SC132M
| ADP-N4
+
|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
 
|6
| 5V or 12V DC (Required)
+
|N/A
 +
|-
 +
|AGX Orin
 +
|ADP-N5
 +
|15-to-22 pin Same-side contacts FFC
 +
|board-to-board connector
 +
|6
 +
|N/A
 
|}
 
|}
   −
==== Connection of MV-MIPI-CAM and ADP-MV1 ====
+
==== MV series cameras use the ADP-MV1 connection ====
The two are connected using 0.5 mm pitch*30P FFC cable with opposite direction. The cable must be inserted with the silver contacts facing outside.
  −
[[File:ADP-MV1-MV-MIPI-X 01.jpg|alt=ADP-MV1 to MV-MIPI-X|center|thumb|800x800px|ADP-MV1 to MV-MIPI-X]]
  −
<br />
     −
==== Connection using ADP-MV1 ====
+
===== 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 =====
 
===== Power supply =====
 
The ADP-MV1 requires a separate 5V power supply and can be powered directly from the Jetson board using a Dupont cable.
 
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]]
 
[[File:ADP-MV1-MV-MIPI-X 07.jpg|alt=ADP-MV1 power supply|center|thumb|800x800px|ADP-MV1 power supply]]
<br />
     −
==== Connection with Nano and NX using ADP-MV1 ====
+
===== Connection with Nano and NX using ADP-MV1 =====
 
The Nano Series and  NX Series are connected in this way.
 
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]]
 
[[File:MV camera and Xavier NX connection.jpg|alt=MV camera and Xavier NX connection|center|thumb|800x800px|MV camera and Xavier NX connection]]
<br />
     −
==== Connection of MV-MIPI-CAM and ADP-N4 ====
+
===== Connection with Orin Nano and NX using ADP-MV1 =====
The two are connected using 0.5 mm pitch*30P FFC cable with same direction. The cable must be inserted with the silver contacts facing outside.
+
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]]
 
[[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 />
 
<br />
==== Connection using ADP-N4 ====
   
===== Power supply =====
 
===== Power supply =====
 
The ADP-N4 requires power supply. It supports two types of power supply, any one of them will work.
 
The ADP-N4 requires power supply. It supports two types of power supply, any one of them will work.
Line 154: Line 369:  
* 12V DC is connected to J11, which needs to be powered by an external adapter.
 
* 12V DC is connected to J11, which needs to be powered by an external adapter.
   −
===== Connection with TX2 Devkitand AGX Series using ADP-MV1 =====
+
===== 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 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 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]]
 
[[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 ===
 
=== 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]].
 
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]].
Line 169: Line 400:  
# Added support for trigger mode.
 
# Added support for trigger mode.
   −
==== Description of raw data image format ====
+
=== 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.
 
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.
   Line 218: Line 449:  
|V4L2_PIX_FMT_TX2_Y12
 
|V4L2_PIX_FMT_TX2_Y12
 
|}
 
|}
=====XAVIER=====
+
=====XAVIER and Orin=====
 
{| class="wikitable"
 
{| class="wikitable"
 
!Depth
 
!Depth
Line 311: Line 542:     
<code>export FPS=45</code>
 
<code>export FPS=45</code>
=== v4l2-ctl Application Examples ===
+
 
 +
*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=====
 
=====Install v4l2-utils=====
Line 389: Line 660:     
<code>User Controls</code>
 
<code>User Controls</code>
  −
<code>                horizontal_flip 0x00980914 (bool)   : default=0 value=0</code>
  −
  −
<code>                  vertical_flip 0x00980915 (bool)   : default=0 value=0</code>
      
<code>                   trigger_mode 0x00981901 (int)    : min=0 max=2 step=1 default=0 value=0 flags=volatile, execute-on-write</code>
 
<code>                   trigger_mode 0x00981901 (int)    : min=0 max=2 step=1 default=0 value=0 flags=volatile, execute-on-write</code>
Line 425: Line 692:     
Each of them is described below:
 
Each of them is described below:
======horizontal and <small>vertical</small> flip======
  −
  −
*horizontal flip
  −
  −
<code>v4l2-ctl --set-ctrl horizontal_flip=1</code>
  −
  −
*<small>vertical flip</small>
  −
  −
<code>v4l2-ctl --set-ctrl <small>vertical_flip</small>=1</code>
   
======Trigger Mode======
 
======Trigger Mode======
 
<code>v4l2-ctl --set-ctrl <small>trigger_mode=[0-2]</small></code>
 
<code>v4l2-ctl --set-ctrl <small>trigger_mode=[0-2]</small></code>
Line 521: Line 779:     
<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>
 
<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>
  −
For the image format, please refer to the section above: Description of raw data image format.
      
====== MV-MIPI-SC130M ======
 
====== MV-MIPI-SC130M ======
Line 537: Line 793:  
====== MV-MIPI-IMX296M ======
 
====== MV-MIPI-IMX296M ======
   −
*raw8格式
+
*raw8
    
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
Line 543: Line 799:  
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1472x1088.raw</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格式
+
*raw10
    
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1440x1088.raw</code>
 
<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=====
 
=====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:
 
The camera can be previewed in real time using the following command:
   −
====== MV-MIPI-IMX178M ======
+
<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>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2816,height=2064,pixelformat=UYVY</code>
   Line 556: Line 917:  
The maximum width supported by UYVY mode is 2880.
 
The maximum width supported by UYVY mode is 2880.
   −
====== MV-MIPI-SC130M, MV-MIPI-IMX296M,  MV-MIPI-IMX265M ======
+
* 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-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=UYVY</code>
   Line 562: Line 924:     
<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>
 
<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 ====
 
==== Trigger mode ====
   Line 573: Line 943:  
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
   −
If useMV-MIPI-IMX178M, 3088*2064:
+
Set proper preferred_stride if necessary.
 +
 
 +
For MV-MIPI-IMX178M,3088*2064:
    
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 
<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 =====
 
=====Software trigger mode =====
 
======Set mode======
 
======Set mode======
Line 592: Line 968:     
<code>v4l2-ctl --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1280x1024.raw</code>
 
<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 ======
 
====== Perform soft trigger operation ======
 
In other shell terminals, you can execute the following command multiple times for multiple triggers.
 
In other shell terminals, you can execute the following command multiple times for multiple triggers.
Line 701: Line 1,105:     
<code>./yavta -c1 -Fy10-1280x1024.raw --skip 0 -f XY10 -s 1280x1024 /dev/video0</code>
 
<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.
 
For the image format, please refer to the section above: Description of raw data image format.
Line 709: Line 1,210:  
===References===
 
===References===
 
===Document History===
 
===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
 
* 2022-08-31

Navigation menu