A new version of this artical is HERE.Please refer to that arical.
Introduction
We provide a Shell script to set params of VEYE-MIPI-290 on RaspberryPI, which is open source.
Download:i2c_cmd on github
Which I2C
We will use I2C-1 to communicate with VEYE Camera Module on RP3b/b+、CM3. I provide camera_i2c_config script to set the pin multiplexing.
In case you do not know how to use I2C-1, I provide you [How to open I2C-0] below.
### Open [i2c-dev0] device file
1. /boot/config.txt
```shell
dtparam = i2c_arm = on
dtparam=i2c_vc=on
```
2. /etc/modules
`i2c-dev `
3. i2c-0 devices will appear
`ls /dev/i2c-0`
4. Check VEYE-MIPI-290/327 i2c address
`i2cdetect -y 0`
the address is 0x3b
HOWTO: veye_mipi_i2c.sh
Introduction
There are four files:camera_i2c_config、i2c_read、i2c_write、veye_mipi_i2c.sh.
Run camera_i2c_config first to set Pin mux, then veye_mipi_i2c.sh.
camera_i2c_config USAGE
Computer Module
Hardware Connection :
Use Enhanced Interface Board We provided to attach VEYE Camera Module to CM3.
Attach a VEYE Camera (to CAM1)
Attach CD1_SDA (J6 pin 37) to GPIO2 (J5 pin 5).
Attach CD1_SCL (J6 pin 39) to GPIO3 (J5 pin 7).
Attach a VEYE Camera (to CAM0)
Attach CD0_SDA (J6 pin 45) to GPIO44 .
Attach CD0_SCL (J6 pin 47) to GPIO45 .
Software
Download dt-blob.bin from here, rename it to dt-blob.bin and place it in /boot/,then
./camera_i2c_config [cameranum]
Other Boards
./camera_i2c_config
veye_mipi_i2c.sh USAGE
Usage: ./veye_mipi_i2c.sh [-r/w] [-f] function name -p1 param1 -p2 param2
options:
-r read
-w write
-f [function name] function name
-p1 [param1] param1 of each function
-p2 [param1] param2 of each function
function list and param,ref to [veye_mipi_290_isp_function_and_param.pdf]
support functions: devid,hdver,wdrmode,videoformat,mirrormode,denoise,agc,lowlight
Details
- devid
./veye_mipi_i2c.sh -r -f devid
value | description |
---|---|
0x02 | MIPI, WDRDisable, 2Lane |
0x22 | MIPI, WDREnable, 2Lane |
0x13 | LVDS,WDRDisable,3Lane |
0x33 | LVDS,WDREnable,3Lane |
- hdver
./veye_mipi_i2c.sh -r -f hdver
value | description |
---|---|
0xXX | Version |
- 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 | WDR Enable |
- 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) |
- 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) |
- 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 |
- agc
./veye_mipi_i2c.sh -r -f agc
./veye_mipi_i2c.sh -w -f agc -p1 [value]
value | description |
---|---|
0x00~0x0F | AGC intensity |
- lowlight
./veye_mipi_i2c.sh -r -f lowlight
./veye_mipi_i2c.sh -w -f lowlight -p1 [value]
| ———— | ———— |
| 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) |
– 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 |