Difference between revisions of "5m mipi i2c user guide"

From wiki_veye
Jump to navigation Jump to search
(Created page with "<big><big><big><big>veye5_mipi_i2c.sh user guide</big></big></big></big>")
 
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[5m mipi i2c user guide/zh|查看中文]]
 +
 
<big><big><big><big>veye5_mipi_i2c.sh user guide</big></big></big></big>
 
<big><big><big><big>veye5_mipi_i2c.sh user guide</big></big></big></big>
 +
===Overview===
 +
This script is an open source program to configure the camera module by direct access to i2c registers.
 +
 +
Applicable models: VEYE-MIPI-IMX335
 +
 +
===veye5_mipi_i2c.sh help===
 +
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
 +
 +
-d [i2c addr]   i2c addr if not default 0x3b
 +
===i2c bus number on different board===
 +
Please refer to the following article to determine which -b parameter you need to use.
 +
 +
[http://wiki.veye.cc/index.php/I2c_bus_number_and_video_node i2c bus number on different boards]
 +
=== Functions list===
 +
The part in  square brackets [param] in the following code indicates the variable.
 +
=====manufacturer=====
 +
<code>./veye5_mipi_i2c.sh -r -f manufacturer</code>
 +
 +
Read manufacturer information, always returns:
 +
 +
Manufacturer is VEYE
 +
=====model=====
 +
<code>./veye5_mipi_i2c.sh -r -f model</code>
 +
 +
Read the device model, for example: VEYE_MIPI_IMX335
 +
=====version=====
 +
<code>./veye5_mipi_i2c.sh -r -f version</code>
 +
 +
Reads the version number, for example:
 +
 +
control version is 01.03 , isp version 01.00
 +
=====timestamp=====
 +
<code>./veye5_mipi_i2c.sh -r -f timestamp</code>
 +
 +
Gets the time in milliseconds calculated from the moment the module starts up, incremented cyclically.
 +
=====factoryparam=====
 +
<code>./veye5_mipi_i2c.sh -w -f factoryparam</code>
 +
 +
All parameters revert to their default values.
 +
=====paramsave=====
 +
<code>./veye5_mipi_i2c.sh -w -f paramsave</code>
 +
 +
Save parameters. After all parameters are modified, this command must be executed for the parameters to be saved in flash and no longer lost when power off.
 +
=====reboot=====
 +
<code>./veye5_mipi_i2c.sh -w -f reboot</code>
 +
 +
reboot the camera.
 +
=====errcode=====
 +
<code>./veye5_mipi_i2c.sh -r -f errcode</code>
 +
 +
Get the camera error code. It should be 0 normally.
 +
=====i2caddr=====
 +
<code>./veye5_mipi_i2c.sh -w -f i2caddr -p1 [new i2caddr] -d [old i2c addr]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f i2caddr -d [current i2c addr]</code>
 +
 +
The camera i2c address,run '''paramsave''' and '''reboot'''  to takes effect .
 +
=====i2cport=====
 +
<code>./veye5_mipi_i2c.sh -w -f i2cport -p1 [i2c port]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f i2cport</code>
 +
 +
The camera i2c port,run '''paramsave''' and '''reboot'''  to takes effect .
 +
{| class="wikitable"
 +
!value
 +
!description
 +
!Interface Position
 +
|-
 +
|0x00
 +
|use i2c port on FFC cable
 +
|'''[[VEYE-MIPI-IMX335 Data Sheet#Connector Pinlist|J1:IIC]]'''
 +
|-
 +
|0x01
 +
|use alternate i2c port
 +
|'''[[VEYE-MIPI-IMX335 Data Sheet#Connector Pinlist|J5:IIC AUX]]'''
 +
|}
 +
=====daynightmode=====
 +
<code>./veye5_mipi_i2c.sh -w -f daynightmode -p1 [0,2]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f daynightmode</code>
 +
 +
Day and night mode configuration
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x00
 +
|Color mode
 +
|-
 +
|0x01
 +
|White and Black mode
 +
|-
 +
|0x02
 +
|Trigger mode
 +
|}
 +
=====ircutdir=====
 +
<code>./veye5_mipi_i2c.sh -w -f ircutdir -p1 [0,1]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f ircutdir</code>
 +
 +
Controls whether the IRCUT control pin level reverse.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
!Remarks
 +
|-
 +
|0x00
 +
|Default direction
 +
|'''[[VEYE-MIPI-IMX335 Data Sheet#Connector Pinlist|J3:IRCUT Control Functional specifications]]'''
 +
|-
 +
|0x01
 +
|Reverse IRCUT control pin level
 +
|
 +
|}
 +
=====irtrigger=====
 +
<code>./veye5_mipi_i2c.sh -w -f irtrigger -p1 [0,1]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f irtrigger</code>
 +
 +
Trigger signal high and low level configuration in ''Trigger mode''.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
!Remarks
 +
|-
 +
|0x00
 +
|Low level for black and white mode, high level for color mode.
 +
| rowspan="2" |'''[[VEYE-MIPI-IMX335 Data Sheet#Connector Pinlist|J4 : Day/Night  External Trigger]]'''
 +
|-
 +
|0x01
 +
|Low level for color mode, high level for black and white mode.
 +
|}
 +
=====sensor_reg=====
 +
<code>./veye5_mipi_i2c.sh -r -f sensor_reg -p1 [sensor reg addr]</code>
 +
 +
Read sensor register.
 +
=====videomode=====
 +
<code>./veye5_mipi_i2c.sh -w -f videomode -p1 [video mode]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f videomode</code>
 +
 +
Camera resolution configuration.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x01
 +
|5M 2592x1944@20fps
 +
|-
 +
|0x02
 +
|5M 2592x1944@12.5fps
 +
|-
 +
|0x03
 +
|4M 2560x1440@25fps
 +
|-
 +
|0x04
 +
|4M 2560x1440@30fps
 +
|}
 +
=====test_pattern=====
 +
<code>./veye5_mipi_i2c.sh -w -f test_pattern -p1 [test_enable] -p2 [type]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f test_pattern</code>
 +
 +
Image test mode configuration.
 +
=====awb_mode=====
 +
<code>./veye5_mipi_i2c.sh -w -f awb_mode -p1 [0,1]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f awb_mode</code>
 +
 +
AWB mode configuration.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x00
 +
|auto
 +
|-
 +
|0x01
 +
|oneset,write once to trigger a white balance operation
 +
|}
 +
=====antiflicker=====
 +
<code>./veye5_mipi_i2c.sh -w -f antiflicker -p1 [0,1]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f antiflicker</code>
 +
 +
Whether the anti-flicker function is on or not.
 +
=====agc_max=====
 +
<code>./veye5_mipi_i2c.sh -w -f agc_max -p1 [0,0xf]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f agc_max</code>
 +
 +
The upper limit of the auto gain function.
 +
=====ae_target=====
 +
<code>./veye5_mipi_i2c.sh -w -f ae_target -p1 [0,0x64]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f ae_target</code>
 +
 +
The target brightness of the automatic exposure.
 +
=====ae_speed=====
 +
<code>./veye5_mipi_i2c.sh -w -f ae_speed -p1 [0,0x64]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f ae_speed</code>
 +
 +
The adjustment speed of automatic exposure.
 +
=====agc_speed=====
 +
<code>./veye5_mipi_i2c.sh -w -f agc_speed -p1 [0,0x64]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f agc_speed</code>
 +
 +
The adjustment speed of auto gain.
 +
=====exp_val=====
 +
<code>./veye5_mipi_i2c.sh -r -f exp_val</code>
 +
 +
Current exposure value.
 +
=====agc_val=====
 +
<code>./veye5_mipi_i2c.sh -r -f agc_val</code>
 +
 +
Current gain value.
 +
=====mshutter=====
 +
<code>./veye5_mipi_i2c.sh -w -f mshutter -p1 [0,0x0A]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f mshutter</code>
 +
 +
Whether manual exposure is on and manual exposure configuration.
 +
 +
<nowiki>#</nowiki>0,auto; others, manual value
 +
{| class="wikitable"
 +
! rowspan="3" |mshutter value
 +
(manual value)
 +
! colspan="5" |Exposure time
 +
|-
 +
! rowspan="2" |4M 30FPS
 +
! rowspan="2" |4M 25FPS
 +
! colspan="2" |5M 20FPS
 +
! rowspan="2" |5M 12.5FPS
 +
|-
 +
!antiflicker=0
 +
!antiflicker=1
 +
|-
 +
|0x00
 +
|AUTO
 +
|AUTO
 +
|AUTO
 +
|AUTO
 +
|AUTO
 +
|-
 +
|0x01
 +
|1/30
 +
|1/25
 +
|1/30
 +
|1/40
 +
|1/25
 +
|-
 +
|0x02
 +
|1/60
 +
|1/50
 +
|1/60
 +
|1/80
 +
|1/50
 +
|-
 +
|0x03
 +
|1/120
 +
|1/100
 +
|1/120
 +
|1/160
 +
|1/100
 +
|-
 +
|0x04
 +
|1/240
 +
|1/200
 +
|1/240
 +
|1/240
 +
|1/200
 +
|-
 +
|0x05
 +
|1/480
 +
|1/400
 +
|1/480
 +
|1/480
 +
|1/400
 +
|-
 +
|0x06
 +
|1/1000
 +
|1/1000
 +
|1/1000
 +
|1/1000
 +
|1/1000
 +
|-
 +
|0x07
 +
|1/2000
 +
|1/2000
 +
|1/2000
 +
|1/2000
 +
|1/2000
 +
|-
 +
|0x08
 +
|1/3000
 +
|1/5000
 +
|1/5000
 +
|1/5000
 +
|1/5000
 +
|-
 +
|0x09
 +
|1/5000
 +
|1/10000
 +
|1/10000
 +
|1/10000
 +
|1/12375
 +
|-
 +
|0x0A
 +
|1/10000
 +
|1/76923
 +
|1/76923
 +
|1/76923
 +
|1/50000
 +
|-
 +
|0x0B - 0x0F
 +
|1/30
 +
|1/25
 +
|1/20
 +
|1/20
 +
|1/12.5
 +
|}
 +
 +
=====mirrormode=====
 +
<code>./veye5_mipi_i2c.sh -w -f mirrormode -p1 [0,0x03]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f mirrormode</code>
 +
 +
Video flip configuration.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x00
 +
|Normal
 +
|-
 +
|0x01
 +
|Mirror
 +
|-
 +
|0x02
 +
|V-flip
 +
|-
 +
|0x03
 +
|Mirror and V-flip
 +
|}
 +
=====denoise_2d=====
 +
<code>./veye5_mipi_i2c.sh -w -f denoise_2d -p1 [0,0x3]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f denoise_2d</code>
 +
 +
2D noise reduction intensity.
 +
=====denoise_3d=====
 +
<code>./veye5_mipi_i2c.sh -w -f denoise_3d -p1 [0,0x3]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f denoise_3d</code>
 +
 +
3D noise reduction intensity.
 +
=====sharppen=====
 +
<code>./veye5_mipi_i2c.sh -w -f sharppen -p1 [0,0x0f]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f sharppen</code>
 +
 +
Sharpening intensity configuration.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0x10
 +
|close
 +
|-
 +
|0x19
 +
|low
 +
|-
 +
|0x1B
 +
|middle
 +
|-
 +
|0x1D
 +
|high
 +
|}
 +
=====saturation=====
 +
<code>./veye5_mipi_i2c.sh -w -f saturation -p1 [0,0x0A]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f saturation</code>
 +
 +
saturation setting,default value: 0xA.
 +
=====extra_color_gain=====
 +
<code>./veye5_mipi_i2c.sh -w -f extra_color_gain -p1 [0,0xFF]</code>
 +
 +
<code>./veye5_mipi_i2c.sh -r -f extra_color_gain</code>
 +
 +
extra color gain setting,default value: 0xC0.<br />

Latest revision as of 10:52, 3 January 2024

查看中文

veye5_mipi_i2c.sh user guide

1 Overview

This script is an open source program to configure the camera module by direct access to i2c registers.

Applicable models: VEYE-MIPI-IMX335

2 veye5_mipi_i2c.sh help

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

-d [i2c addr]  i2c addr if not default 0x3b

3 i2c bus number on different board

Please refer to the following article to determine which -b parameter you need to use.

i2c bus number on different boards

4 Functions list

The part in square brackets [param] in the following code indicates the variable.

4.1 manufacturer

./veye5_mipi_i2c.sh -r -f manufacturer

Read manufacturer information, always returns:

Manufacturer is VEYE

4.2 model

./veye5_mipi_i2c.sh -r -f model

Read the device model, for example: VEYE_MIPI_IMX335

4.3 version

./veye5_mipi_i2c.sh -r -f version

Reads the version number, for example:

control version is 01.03 , isp version 01.00

4.4 timestamp

./veye5_mipi_i2c.sh -r -f timestamp

Gets the time in milliseconds calculated from the moment the module starts up, incremented cyclically.

4.5 factoryparam

./veye5_mipi_i2c.sh -w -f factoryparam

All parameters revert to their default values.

4.6 paramsave

./veye5_mipi_i2c.sh -w -f paramsave

Save parameters. After all parameters are modified, this command must be executed for the parameters to be saved in flash and no longer lost when power off.

4.7 reboot

./veye5_mipi_i2c.sh -w -f reboot

reboot the camera.

4.8 errcode

./veye5_mipi_i2c.sh -r -f errcode

Get the camera error code. It should be 0 normally.

4.9 i2caddr

./veye5_mipi_i2c.sh -w -f i2caddr -p1 [new i2caddr] -d [old i2c addr]

./veye5_mipi_i2c.sh -r -f i2caddr -d [current i2c addr]

The camera i2c address,run paramsave and reboot to takes effect .

4.10 i2cport

./veye5_mipi_i2c.sh -w -f i2cport -p1 [i2c port]

./veye5_mipi_i2c.sh -r -f i2cport

The camera i2c port,run paramsave and reboot to takes effect .

value description Interface Position
0x00 use i2c port on FFC cable J1:IIC
0x01 use alternate i2c port J5:IIC AUX
4.11 daynightmode

./veye5_mipi_i2c.sh -w -f daynightmode -p1 [0,2]

./veye5_mipi_i2c.sh -r -f daynightmode

Day and night mode configuration

value description
0x00 Color mode
0x01 White and Black mode
0x02 Trigger mode
4.12 ircutdir

./veye5_mipi_i2c.sh -w -f ircutdir -p1 [0,1]

./veye5_mipi_i2c.sh -r -f ircutdir

Controls whether the IRCUT control pin level reverse.

value description Remarks
0x00 Default direction J3:IRCUT Control Functional specifications
0x01 Reverse IRCUT control pin level
4.13 irtrigger

./veye5_mipi_i2c.sh -w -f irtrigger -p1 [0,1]

./veye5_mipi_i2c.sh -r -f irtrigger

Trigger signal high and low level configuration in Trigger mode.

value description Remarks
0x00 Low level for black and white mode, high level for color mode. J4 : Day/Night External Trigger
0x01 Low level for color mode, high level for black and white mode.
4.14 sensor_reg

./veye5_mipi_i2c.sh -r -f sensor_reg -p1 [sensor reg addr]

Read sensor register.

4.15 videomode

./veye5_mipi_i2c.sh -w -f videomode -p1 [video mode]

./veye5_mipi_i2c.sh -r -f videomode

Camera resolution configuration.

value description
0x01 5M 2592x1944@20fps
0x02 5M 2592x1944@12.5fps
0x03 4M 2560x1440@25fps
0x04 4M 2560x1440@30fps
4.16 test_pattern

./veye5_mipi_i2c.sh -w -f test_pattern -p1 [test_enable] -p2 [type]

./veye5_mipi_i2c.sh -r -f test_pattern

Image test mode configuration.

4.17 awb_mode

./veye5_mipi_i2c.sh -w -f awb_mode -p1 [0,1]

./veye5_mipi_i2c.sh -r -f awb_mode

AWB mode configuration.

value description
0x00 auto
0x01 oneset,write once to trigger a white balance operation
4.18 antiflicker

./veye5_mipi_i2c.sh -w -f antiflicker -p1 [0,1]

./veye5_mipi_i2c.sh -r -f antiflicker

Whether the anti-flicker function is on or not.

4.19 agc_max

./veye5_mipi_i2c.sh -w -f agc_max -p1 [0,0xf]

./veye5_mipi_i2c.sh -r -f agc_max

The upper limit of the auto gain function.

4.20 ae_target

./veye5_mipi_i2c.sh -w -f ae_target -p1 [0,0x64]

./veye5_mipi_i2c.sh -r -f ae_target

The target brightness of the automatic exposure.

4.21 ae_speed

./veye5_mipi_i2c.sh -w -f ae_speed -p1 [0,0x64]

./veye5_mipi_i2c.sh -r -f ae_speed

The adjustment speed of automatic exposure.

4.22 agc_speed

./veye5_mipi_i2c.sh -w -f agc_speed -p1 [0,0x64]

./veye5_mipi_i2c.sh -r -f agc_speed

The adjustment speed of auto gain.

4.23 exp_val

./veye5_mipi_i2c.sh -r -f exp_val

Current exposure value.

4.24 agc_val

./veye5_mipi_i2c.sh -r -f agc_val

Current gain value.

4.25 mshutter

./veye5_mipi_i2c.sh -w -f mshutter -p1 [0,0x0A]

./veye5_mipi_i2c.sh -r -f mshutter

Whether manual exposure is on and manual exposure configuration.

#0,auto; others, manual value

mshutter value

(manual value)

Exposure time
4M 30FPS 4M 25FPS 5M 20FPS 5M 12.5FPS
antiflicker=0 antiflicker=1
0x00 AUTO AUTO AUTO AUTO AUTO
0x01 1/30 1/25 1/30 1/40 1/25
0x02 1/60 1/50 1/60 1/80 1/50
0x03 1/120 1/100 1/120 1/160 1/100
0x04 1/240 1/200 1/240 1/240 1/200
0x05 1/480 1/400 1/480 1/480 1/400
0x06 1/1000 1/1000 1/1000 1/1000 1/1000
0x07 1/2000 1/2000 1/2000 1/2000 1/2000
0x08 1/3000 1/5000 1/5000 1/5000 1/5000
0x09 1/5000 1/10000 1/10000 1/10000 1/12375
0x0A 1/10000 1/76923 1/76923 1/76923 1/50000
0x0B - 0x0F 1/30 1/25 1/20 1/20 1/12.5
4.26 mirrormode

./veye5_mipi_i2c.sh -w -f mirrormode -p1 [0,0x03]

./veye5_mipi_i2c.sh -r -f mirrormode

Video flip configuration.

value description
0x00 Normal
0x01 Mirror
0x02 V-flip
0x03 Mirror and V-flip
4.27 denoise_2d

./veye5_mipi_i2c.sh -w -f denoise_2d -p1 [0,0x3]

./veye5_mipi_i2c.sh -r -f denoise_2d

2D noise reduction intensity.

4.28 denoise_3d

./veye5_mipi_i2c.sh -w -f denoise_3d -p1 [0,0x3]

./veye5_mipi_i2c.sh -r -f denoise_3d

3D noise reduction intensity.

4.29 sharppen

./veye5_mipi_i2c.sh -w -f sharppen -p1 [0,0x0f]

./veye5_mipi_i2c.sh -r -f sharppen

Sharpening intensity configuration.

value description
0x10 close
0x19 low
0x1B middle
0x1D high
4.30 saturation

./veye5_mipi_i2c.sh -w -f saturation -p1 [0,0x0A]

./veye5_mipi_i2c.sh -r -f saturation

saturation setting,default value: 0xA.

4.31 extra_color_gain

./veye5_mipi_i2c.sh -w -f extra_color_gain -p1 [0,0xFF]

./veye5_mipi_i2c.sh -r -f extra_color_gain

extra color gain setting,default value: 0xC0.