VEYE-MIPI-290/327 i2c/
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,sensorid,wdrmode,videoformat,mirrormode,denoise,agc,lowlight,daynightmode,ircutdir,irtriggerhutter
cameramode, nodf, capture, csienable,saturation,wdrbtargetbr,wdrtargetbr, brightness ,contrast , sharppen, aespeed,lsc,boardmodel,yuvseq,i2cauxenable,i2cwen
4 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
5 Functions list
5.1 devid
./veye_mipi_i2c.sh -r -f devid
value | description |
---|---|
0x06 | VEYE-MIPI-X series,IMX327 IMX462 IMX385 |
5.2 hdver
./veye_mipi_i2c.sh -r -f hdver
value | description |
---|---|
0xXX | Version |
5.3 sensorid
./veye_mipi_i2c.sh -r -f sensorid
Print sensor type and board information.
5.4 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 |
5.5 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 | frame rate |
---|---|---|
PAL | PAL(50Hz) | 25fps |
NTSC | NTSC(60Hz) | 30fps |
5.6 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) |
5.7 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 |
5.8 agc
./veye_mipi_i2c.sh -r -f agc
./veye_mipi_i2c.sh -w -f agc -p1 [value]
agc indicated max gain of AE mode.
Agc stands for auto gain control. It is a part of auto exposure, in different light intensity, will try to adjust the gain of sensor to achieve the same image brightness.
value | description |
---|---|
0x00~0x0F | AGC intensity |
5.9 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 the set value is the minimum frame rate value and the actual frame rate value is affected by the automatic exposure algorithm.
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) |
5.10 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 of VEYE-MIPI-327 or J2 pin1 of VEYE-MIPI-IMX327S.
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.
5.11 ircutdir
./veye_mipi_i2c.sh -r -f ircutdir
./veye_mipi_i2c.sh -w -f ircutdir -p1 [value]
IR_CUT pins control direction. value could be 0 or 1.
5.12 irtrigger
./veye_mipi_i2c.sh -r -f irtrigger
./veye_mipi_i2c.sh -w -f irtrigger -p1 [value]
Polarity setting of the day/night switching external trigger mode pin.
value | description |
---|---|
0x0 | default value,refer to datasheet of different boards. |
0x1 | Reversed. |
5.13 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 |
5.14 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.
5.15 nodf
Requirements:hdver >= 0x3, effective in Stream mode
Number of dropped frames
It is a method of framerate control, output one frame,discard nodf frames,output next frame, and so on.
actual framerate = original framerate /(1+nodf)
For example,if the original framerate is 30fps, set nodf to 2, then actual framerate is 10fps.
./veye_mipi_i2c.sh -r -f nodf
./veye_mipi_i2c.sh -w -f nodf -p1 [value]
ntof range is [0-0xFF], default 0.
5.16 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.
5.17 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.
5.18 brightness
./veye_mipi_i2c.sh -r -f brightness
./veye_mipi_i2c.sh -w -f brightness -p1 0x32
AE Target Brightness,rang: [0,0x64]
5.19 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]
5.20 contrast
./veye_mipi_i2c.sh -r -f contrast
./veye_mipi_i2c.sh -w -f contrast -p1 0x32
Contrast,range: [0,0xFF],default: 0x80.
5.21 saturation
./veye_mipi_i2c.sh -r -f saturation
./veye_mipi_i2c.sh -w -f saturation -p1 0x32
Saturation, range: [0,0x64].
5.22 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]
5.23 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.
5.24 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.
5.25 boardmodel
./veye_mipi_i2c.sh -r -f boardmodel
Requirment: hdver >=4.
Read the board number of the board, which can be used to distinguish between VEYE-MIPI-327 and VEYE-MIPI-IMX327S.
5.26 i2cwen
./veye_mipi_i2c.sh -r -f i2cwen
./veye_mipi_i2c.sh -w -f i2cwen -p1 [0/1]
Requirment: hdver >=4.
Whether to enable the i2C write register function of the camera, enabled by default. It is used for register write protection in special cases.
5.27 i2cauxenable
./veye_mipi_i2c.sh -r -f i2cauxenable
./veye_mipi_i2c.sh -w -f i2cauxenable -p1 [0/1]
Requirment: hdver >=4.
Whether to enable auxiliary i2C. If enable auxiliary i2C, the primary i2C on the FFC cable cannot be used. Used for bus conflict resolution in special cases.
5.28 awbgain
./veye_mipi_i2c.sh -r -f awbgain
Read the Rgain and Bgain of the current white balance status , parameter range [0,0xFF].
5.29 wbmode
./veye_mipi_i2c.sh -r -f wbmode
./veye_mipi_i2c.sh -w -f wbmode -p1 [value]
White balance mode setting.
value | description |
---|---|
0x18 | Auto white balance |
0x1B | Manual white balance |
5.30 mwbgain
./veye_mipi_i2c.sh -r -f mwbgain
./veye_mipi_i2c.sh -w -f mwbgain -p1 [rgain] -p2 [bgain]
Rgain and Bgain setting in manual white balance mode.arameter range [0,0xFF].
5.31 yuvseq
./veye_mipi_i2c.sh -w -f yuvseq -p1 YUYV
./veye_mipi_i2c.sh -w -f yuvseq -p1 UYVY
./veye_mipi_i2c.sh -r -f yuvseq
Set yuv seq of camera.
Note: only supported on hdver >= 0x4