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 |