Difference between revisions of "VEYE-MIPI-290/327 i2c/"

From wiki_veye
Jump to navigation Jump to search
(14 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
===Overview===
 
===Overview===
There are 4 files: camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh。
+
There are 4 files: camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh
  
 +
===RaspberryPi Only, Set IO config===
 
Running  
 
Running  
  
Line 15: Line 16:
  
 
Then you can run veye_mipi_i2c.sh.
 
Then you can run veye_mipi_i2c.sh.
===camera_i2c_config USAGE===
+
====camera_i2c_config USAGE====
  
 
*for standard RPI, just run
 
*for standard RPI, just run
Line 65: Line 66:
 
!description
 
!description
 
|-
 
|-
|0x02
+
|0x06
|MIPI, 2Lane
+
|VEYE-MIPI-290/327
|-
 
|0x13
 
|LVDS,3Lane
 
 
|}
 
|}
 
=====hdver=====
 
=====hdver=====
Line 97: Line 95:
 
|-
 
|-
 
|0x03
 
|0x03
|WDR Enable
+
|DOL WDR Enable
 
|}
 
|}
 
=====videoformat=====
 
=====videoformat=====
Line 190: Line 188:
 
  <code>./veye_mipi_i2c.sh -r -f agc
 
  <code>./veye_mipi_i2c.sh -r -f agc
 
  ./veye_mipi_i2c.sh -w -f agc -p1 [value]</code>
 
  ./veye_mipi_i2c.sh -w -f agc -p1 [value]</code>
 +
agc indicated max gain of AE mode.
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 200: Line 199:
 
  <code>./veye_mipi_i2c.sh -r -f lowlight
 
  <code>./veye_mipi_i2c.sh -r -f lowlight
 
  ./veye_mipi_i2c.sh -w -f lowlight -p1 [value]</code>
 
  ./veye_mipi_i2c.sh -w -f lowlight -p1 [value]</code>
 +
In the case of low illuminance, the camera module can prolong the exposure time and reduce the frame rate by configuring this parameter to achieve a better effect of low illuminance.
 +
 +
Note that it is not suitable for use in a sports scene.
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 279: Line 281:
 
value is exposure time(seconds)
 
value is exposure time(seconds)
  
If value  is greater than or equal to 0x4B, it enters slow shutter mode.
+
If value  is greater than or equal to 0x4B, it will reduce framerate.
 
{| class="wikitable"
 
{| class="wikitable"
 
|+
 
|+
Line 347: Line 349:
 
|0x53
 
|0x53
 
|1/30 (25) *30
 
|1/30 (25) *30
|}<br />
+
|}
 +
 
 +
=====cameramode=====
 +
Requirements:hdver >= 0x3
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f cameramode</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f cameramode -p1 [value]</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x0
 +
|Stream mode
 +
|-
 +
|0x1
 +
|Capture mode
 +
|}Stream mode:  stream output
 +
 
 +
Caputre mode: output the next frame each '''capture''' cmd.
 +
=====notf=====
 +
Requirements:hdver >= 0x3, effective in Stream mode
 +
 
 +
Number of dropped frames
 +
 
 +
It is a method of framerate control, output one frame,discard '''notf''' frames,output next frame, and so on.
 +
 
 +
''actual framerate = original framerate /(1+notf)''
 +
 
 +
For example,if the original framerate is 30fps, set '''notf''' to 2, then ''actual framerate'' is 10fps.
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f notf</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f notf -p1 [value]</code>
 +
 
 +
'''ntof''' range is [0-0xFF], default 0.
 +
=====capture=====
 +
Requirements:hdver >= 0x3, effective in Capture mode
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f capture</code>
 +
 
 +
Output the next frame. This cmd does not interfere the sensor,  it just output the next frame (the newest frame).
 +
 
 +
So it is not trigger mode, there will be a delay[0,1/framerate] between the cmd and the frame exposure.
 +
 
 +
It is applicable to those that do not require a high level of real-time performance.
 +
=====csienable=====
 +
Requirements:hdver >= 0x3
 +
 
 +
<code>./veye_mipi_i2c.sh -r -f csienable</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f csienable -p1 [value]</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x0
 +
|suspend csi output
 +
|-
 +
|0x1
 +
|enable csi output
 +
|}default: 0x1
 +
 
 +
Note: This is not low power mode, the camera is still working.
 +
=====brightness=====
 +
<code>./veye_mipi_i2c.sh -r -f brightness</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f brightness -p1 0x32</code>
 +
 
 +
AE Target Brightness,rang: [0,0x64]
 +
=====aespeed=====
 +
<code>./veye_mipi_i2c.sh -r -f aespeed</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32</code>
 +
 
 +
AE adjust speed,p1 is agc speed, p2 is shutter speed,Slow to Fast: [0,0x64]
 +
=====contrast=====
 +
<code>./veye_mipi_i2c.sh -r -f contrast</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f contrast -p1 0x32</code>
 +
 
 +
Contrast,range: [0,0xFF],default: 0x80.
 +
 
 +
=====saturation=====
 +
<code>./veye_mipi_i2c.sh -r -f saturation</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f saturation -p1 0x32</code>
 +
 
 +
Saturation, range: [0,0x64].
 +
 
 +
===== sharppen =====
 +
<code>./veye_mipi_i2c.sh -r -f sharppen</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f sharppen -p1 [val1] -p2 [value]</code>
 +
{| class="wikitable"
 +
!param1 value
 +
!description
 +
|-
 +
|0x0
 +
| sharppen disable
 +
|-
 +
|0x1
 +
| sharppen enable
 +
|}default: 0x1
 +
 
 +
param2: sharppen strength, range [0x0-0xA]
 +
=====wdrtargetbr=====
 +
<code>./veye_mipi_i2c.sh -r -f wdrtargetbr</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wdrtargetbr -p1 0x80</code>
 +
 
 +
The overall AE target value in WDR mode.
 +
 
 +
Takes effect in WDR mode. range:  [0-0xFF], default : 0x80.
 +
=====wdrbtargetbr=====
 +
<code>./veye_mipi_i2c.sh -r -f wdrbtargetbr</code>
 +
 
 +
<code>./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80</code>
 +
 
 +
The AE target value of the bright area in WDR mode.
 +
 
 +
Takes effect in WDR mode. range:  [0-0xFF], default : 0x80.
 +
<br />

Revision as of 11:17, 27 October 2020

查看中文

VEYE-MIPI-290/327 I2C.sh user guide

1 Overview

There are 4 files: camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh

2 RaspberryPi Only, Set IO config

Running

./enable_i2c_vc.sh

./camera_i2c_config

first,it will config IO pin.

Then you can run veye_mipi_i2c.sh.

2.1 camera_i2c_config USAGE

  • for standard RPI, just run

./camera_i2c_config

  • for RPI Computer Module

./camera_i2c_config [cameranum]

cameranum description
0 CAM0
1 CAM1


3 veye_mipi_i2c.sh USAGE

./veye_mipi_i2c.sh

Usage: ./veye_mipi_i2c.sh [-r/w] [-f] function name -p1 param1 -p2 param2 -b bus

options:

-r read

-w write

-f [function name] function name

-p1 [param1] param1 of each function

-p2 [param1] param2 of each function

-b [i2c bus num] i2c bus number

support functions: devid,hdver,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtrigger,mshutter

Pi3B / Pi3B+ / 3A / 4B(1G/2G/4G),we use i2c0

Compute Module/ CM3,we use i2c1,please add -b 1 option.

3.1 devid
./veye_mipi_i2c.sh -r -f devid
value description
0x06 VEYE-MIPI-290/327
3.2 hdver
./veye_mipi_i2c.sh -r -f hdver
value description
0xXX Version
3.3 wdrmode
./veye_mipi_i2c.sh -r -f wdrmode
./veye_mipi_i2c.sh -w -f wdrmode -p1 [value]
value description
0x00 Back Light Mode OFF
0x01 Back Light Mode ON, LOW
0x02 Back Light Mode ON, HIGH
0x03 DOL WDR Enable
3.4 videoformat
./veye_mipi_i2c.sh -r -f videoformat
./veye_mipi_i2c.sh -w -f videoformat -p1 [value]

WARNING:THIS FUNCTION MUST BE CALLED BEFORE ANY video applications

value description
PAL PAL(50Hz)
NTSC NTSC(60Hz)
3.5 mirrormode
./veye_mipi_i2c.sh -r -f mirrormode
./veye_mipi_i2c.sh -w -f mirrormode -p1 [value]
value description
0x00 Normal
0x01 Mirror
0x02 V-Flip
0x03 Mirror And V-Flip(180 Degree Rotate)
3.6 denoise
./veye_mipi_i2c.sh -r -f denoise
./veye_mipi_i2c.sh -w -f denoise -p1 [value]
value description
0x00 NR 2D Mode = OFF; NR 3D Mode = OFF
0x01 NR 2D Mode = OFF; NR 3D Mode = LOW
0x02 NR 2D Mode = OFF; NR 3D Mode = MIDDLE
0x03 NR 2D Mode = OFF; NR 3D Mode = HIGH
0x04 NR 2D Mode = LOW; NR 3D Mode = OFF
0x05 NR 2D Mode = LOW; NR 3D Mode = LOW
0x06 NR 2D Mode = LOW; NR 3D Mode = MIDDLE
0x07 NR 2D Mode = LOW; NR 3D Mode = HIGH
0x08 NR 2D Mode =MIDDLE; NR 3D Mode = OFF
0x09 NR 2D Mode =MIDDLE; NR 3D Mode = LOW
0x0A NR 2D Mode = MIDDLE; NR 3D Mode = MIDDLE
0x0B NR 2D Mode = MIDDLE; NR 3D Mode = HIGH
0x0C NR 2D Mode =HIGH; NR 3D Mode = OFF
0x0D NR 2D Mode =HIGH; NR 3D Mode = LOW
0x0E NR 2D Mode = HIGH; NR 3D Mode = MIDDLE
0x0F NR 2D Mode = HIGH; NR 3D Mode = HIGH
3.7 agc
./veye_mipi_i2c.sh -r -f agc
./veye_mipi_i2c.sh -w -f agc -p1 [value]

agc indicated max gain of AE mode.

value description
0x00~0x0F AGC intensity
3.8 lowlight
./veye_mipi_i2c.sh -r -f lowlight
./veye_mipi_i2c.sh -w -f lowlight -p1 [value]

In the case of low illuminance, the camera module can prolong the exposure time and reduce the frame rate by configuring this parameter to achieve a better effect of low illuminance.

Note that it is not suitable for use in a sports scene.

value description
0x01 1/2*(FRAME RATE)
0x03 1/4*(FRAME RATE)
0x05 1/6*(FRAME RATE)
0x07 1/8*(FRAME RATE)
0x09 1/10*(FRAME RATE)
0x0B 1/15*(FRAME RATE)
0x0D 1/20*(FRAME RATE)
0x0F 1/25*(FRAME RATE)
0x11 1/30*(FRAME RATE)
0x00 Fixed frame rate (25/30)
3.9 daynightmode
./veye_mipi_i2c.sh -r -f daynightmode
./veye_mipi_i2c.sh -w -f daynightmode -p1 [value]
value description
0xFF Color Mode
0xFE Black&White Mode
0xFC Trigger Mode

IR-CUT (Infrared cut-off filter) is a mechanical shutter design. It is placed between the lens and the image sensor, and is controlled by a motor or an electromagnet.

IR-CUT has two status: Block or Deliver the infrared.

  • Color Mode

Image is Color Mode and IR_CUT status Block infrared.

  • Black&White Mode

Image is Black&White Mode and IR_CUT status Deliver infrared.

  • Trigger Mode

Trigger pin : J3 pin1.

Trigger pin High(3.3~12V),Image is Black&White Mode and IR-CUT status Deliver infrared.

Trigger pin Low(GND),Image is Color Mode and IR-CUT status Bolck infrared.

3.10 mshutter

close AE, use manual shutter

./veye_mipi_i2c.sh -r -f mshutter

./veye_mipi_i2c.sh -w -f mshutter -p1 [value]

value is exposure time(seconds)

If value is greater than or equal to 0x4B, it will reduce framerate.

value description
NTSC(PAL)
0x40 auto mode
0x41 1/30 (25)
0x42 1/60(50)
0x43 1/120(100)
0x44 1/240(200)
0x45 1/480(400)
0x46 1/1000
0x47 1/2000
0x48 1/5000
0x49 1/10000
0x4A 1/50000
0x4B 1/30 (25) *2
0x4C 1/30 (25) *4
0x4D 1/30 (25) *6
0x4E 1/30 (25) *8
0x4F 1/30 (25) *10
0x50 1/30 (25) *15
0x51 1/30 (25) *20
0x52 1/30 (25) *25
0x53 1/30 (25) *30
3.11 cameramode

Requirements:hdver >= 0x3

./veye_mipi_i2c.sh -r -f cameramode

./veye_mipi_i2c.sh -w -f cameramode -p1 [value]

value description
0x0 Stream mode
0x1 Capture mode

Stream mode: stream output

Caputre mode: output the next frame each capture cmd.

3.12 notf

Requirements:hdver >= 0x3, effective in Stream mode

Number of dropped frames

It is a method of framerate control, output one frame,discard notf frames,output next frame, and so on.

actual framerate = original framerate /(1+notf)

For example,if the original framerate is 30fps, set notf to 2, then actual framerate is 10fps.

./veye_mipi_i2c.sh -r -f notf

./veye_mipi_i2c.sh -w -f notf -p1 [value]

ntof range is [0-0xFF], default 0.

3.13 capture

Requirements:hdver >= 0x3, effective in Capture mode

./veye_mipi_i2c.sh -w -f capture

Output the next frame. This cmd does not interfere the sensor, it just output the next frame (the newest frame).

So it is not trigger mode, there will be a delay[0,1/framerate] between the cmd and the frame exposure.

It is applicable to those that do not require a high level of real-time performance.

3.14 csienable

Requirements:hdver >= 0x3

./veye_mipi_i2c.sh -r -f csienable

./veye_mipi_i2c.sh -w -f csienable -p1 [value]

value description
0x0 suspend csi output
0x1 enable csi output

default: 0x1

Note: This is not low power mode, the camera is still working.

3.15 brightness

./veye_mipi_i2c.sh -r -f brightness

./veye_mipi_i2c.sh -w -f brightness -p1 0x32

AE Target Brightness,rang: [0,0x64]

3.16 aespeed

./veye_mipi_i2c.sh -r -f aespeed

./veye_mipi_i2c.sh -w -f aespeed -p1 0x32 -p2 0x32

AE adjust speed,p1 is agc speed, p2 is shutter speed,Slow to Fast: [0,0x64]

3.17 contrast

./veye_mipi_i2c.sh -r -f contrast

./veye_mipi_i2c.sh -w -f contrast -p1 0x32

Contrast,range: [0,0xFF],default: 0x80.

3.18 saturation

./veye_mipi_i2c.sh -r -f saturation

./veye_mipi_i2c.sh -w -f saturation -p1 0x32

Saturation, range: [0,0x64].

3.19 sharppen

./veye_mipi_i2c.sh -r -f sharppen

./veye_mipi_i2c.sh -w -f sharppen -p1 [val1] -p2 [value]

param1 value description
0x0 sharppen disable
0x1 sharppen enable

default: 0x1

param2: sharppen strength, range [0x0-0xA]

3.20 wdrtargetbr

./veye_mipi_i2c.sh -r -f wdrtargetbr

./veye_mipi_i2c.sh -w -f wdrtargetbr -p1 0x80

The overall AE target value in WDR mode.

Takes effect in WDR mode. range: [0-0xFF], default : 0x80.

3.21 wdrbtargetbr

./veye_mipi_i2c.sh -r -f wdrbtargetbr

./veye_mipi_i2c.sh -w -f wdrbtargetbr -p1 0x80

The AE target value of the bright area in WDR mode.

Takes effect in WDR mode. range: [0-0xFF], default : 0x80.