Difference between revisions of "5m mipi i2c user guide"
Line 2: | Line 2: | ||
<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==== | ||
+ | [http://wiki.veye.cc/index.php/VEYE_CS_Camera_for_Jetson_TX2#Video_Control_Toolkits_Manual bus number on jetson platform] | ||
+ | ====Format description==== | ||
+ | The part in square brackets [param] in the following code indicates the variable. | ||
+ | ====Details==== | ||
+ | ====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 | ||
+ | |- | ||
+ | |0x00 | ||
+ | |use i2c port on FFC cable | ||
+ | |- | ||
+ | |0x01 | ||
+ | |use alternate i2c port | ||
+ | |} | ||
+ | =====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 | ||
+ | |- | ||
+ | |0x00 | ||
+ | |Default direction | ||
+ | |- | ||
+ | |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 | ||
+ | |- | ||
+ | |0x00 | ||
+ | |Low level for black and white mode, high level for color mode. | ||
+ | |- | ||
+ | |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 | ||
+ | |2592x1944@20fps | ||
+ | |- | ||
+ | |0x02 | ||
+ | |2592x1944@12.5fps | ||
+ | |- | ||
+ | |0x03 | ||
+ | |2560x1440@25fps | ||
+ | |- | ||
+ | |0x04 | ||
+ | |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,0x0B]</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 | ||
+ | =====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 | ||
+ | |- | ||
+ | |0x00 | ||
+ | |close | ||
+ | |- | ||
+ | |0x09 | ||
+ | |low | ||
+ | |- | ||
+ | |0x0B | ||
+ | |middle | ||
+ | |- | ||
+ | |0x0C | ||
+ | |high | ||
+ | |}<br /> |
Revision as of 11:37, 10 January 2022
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
2.1 i2c bus
2.2 Format description
The part in square brackets [param] in the following code indicates the variable.
2.3 Details
2.4 manufacturer
./veye5_mipi_i2c.sh -r -f manufacturer
Read manufacturer information, always returns:
Manufacturer is VEYE
2.4.1 model
./veye5_mipi_i2c.sh -r -f model
Read the device model, for example: VEYE_MIPI_IMX335
2.4.2 version
./veye5_mipi_i2c.sh -r -f version
Reads the version number, for example:
control version is 01.03 , isp version 01.00
2.4.3 timestamp
./veye5_mipi_i2c.sh -r -f timestamp
Gets the time in milliseconds calculated from the moment the module starts up, incremented cyclically.
2.4.4 factoryparam
./veye5_mipi_i2c.sh -w -f factoryparam
All parameters revert to their default values.
2.4.5 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.
2.4.6 reboot
./veye5_mipi_i2c.sh -w -f reboot
reboot the camera.
2.4.7 errcode
./veye5_mipi_i2c.sh -r -f errcode
Get the camera error code. It should be 0 normally.
2.4.8 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 .
2.4.9 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 |
---|---|
0x00 | use i2c port on FFC cable |
0x01 | use alternate i2c port |
2.4.10 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 |
2.4.11 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 |
---|---|
0x00 | Default direction |
0x01 | Reverse IRCUT control pin level |
2.4.12 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 |
---|---|
0x00 | Low level for black and white mode, high level for color mode. |
0x01 | Low level for color mode, high level for black and white mode. |
2.4.13 sensor_reg
./veye5_mipi_i2c.sh -r -f sensor_reg -p1 [sensor reg addr]
Read sensor register.
2.4.14 videomode
./veye5_mipi_i2c.sh -w -f videomode -p1 [video mode]
./veye5_mipi_i2c.sh -r -f videomode
Camera resolution configuration.
value | description |
---|---|
0x01 | 2592x1944@20fps |
0x02 | 2592x1944@12.5fps |
0x03 | 2560x1440@25fps |
0x04 | 2560x1440@30fps |
2.4.15 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.
2.4.16 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 |
2.4.17 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.
2.4.18 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.
2.4.19 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.
2.4.20 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.
2.4.21 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.
2.4.22 exp_val
./veye5_mipi_i2c.sh -r -f exp_val
Current exposure value.
2.4.23 agc_val
./veye5_mipi_i2c.sh -r -f agc_val
Current gain value.
2.4.24 mshutter
./veye5_mipi_i2c.sh -w -f mshutter -p1 [0,0x0B]
./veye5_mipi_i2c.sh -r -f mshutter
Whether manual exposure is on and manual exposure configuration.
#0,auto; others, manual value
2.4.25 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 |
2.4.26 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.
2.4.27 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.
2.4.28 sharppen
./veye5_mipi_i2c.sh -w -f sharppen -p1 [0,0x0f]
./veye5_mipi_i2c.sh -r -f sharppen
Sharpening intensity configuration.
value | description |
---|---|
0x00 | close |
0x09 | low |
0x0B | middle |
0x0C | high |