Changes

Jump to navigation Jump to search
Line 4: Line 4:  
The mv_mipi_i2c.sh script is a tool set for configuring MV MIPI  series cameras through the I2C.
 
The mv_mipi_i2c.sh script is a tool set for configuring MV MIPI  series cameras through the I2C.
   −
This script is essentially an access to registers. For registers, please refer to [[MV Series MIPI Camera Register Map]].
+
This script is essentially an access to registers. For registers, please refer to [[MV Series MIPI Camera Register Map|MV Series and RAW Series MIPI Camera Register Map]].
   −
=== Raspberry Pi Only, Set IO config ===
+
=== Raspberry Pi on Legacy mode Only, Set IO config ===
 
Running
 
Running
   Line 14: Line 14:     
first,it will config IO pin. Then you can run mv_mipi_i2c.sh.
 
first,it will config IO pin. Then you can run mv_mipi_i2c.sh.
 +
 +
=== Prepare ===
 +
<code>cd mv_tools_rpi/sources/</code>
 +
 +
<code>./make.sh</code>
 +
 +
<code>cd ..</code>
 +
 +
<code>chmod +x *</code>
    
=== mv_mipi_i2c.sh USAGE ===
 
=== mv_mipi_i2c.sh USAGE ===
Line 40: Line 49:  
    -d [i2c addr]                  i2c addr if not default 0x3b
 
    -d [i2c addr]                  i2c addr if not default 0x3b
   −
Please open this srcipt and read the COMMENT on top for support functions and samples
+
Please open this srcipt and read the COMMENT on top for support functions and samples.
    
===i2c bus number on different board===
 
===i2c bus number on different board===
Line 58: Line 67:     
===== manufacturer =====
 
===== manufacturer =====
<code>./mv_mipi_i2c.sh -r -f manufacturer</code>
+
<code>./mv_mipi_i2c.sh -r -f manufacturer -b your_i2c_bus_number</code>
    
Get the manufacturer name, which is  '''VEYE'''.
 
Get the manufacturer name, which is  '''VEYE'''.
    
===== model =====
 
===== model =====
<code>./mv_mipi_i2c.sh -r -f model</code>
+
<code>./mv_mipi_i2c.sh -r -f model -b your_i2c_bus_number</code>
   −
Get the product model, such as MV-MIPI-IMX178.
+
Get the product model, such as '''MV-MIPI-IMX178M''' /  '''MV-MIPI-SC132M'''.
    
===== version =====
 
===== version =====
<code>./mv_mipi_i2c.sh -r -f version</code>
+
<code>./mv_mipi_i2c.sh -r -f version -b your_i2c_bus_number</code>
    
Get the Controller version number and Logical version number.  
 
Get the Controller version number and Logical version number.  
    
The system has two main control chips that serve the control and logic functions respectively.
 
The system has two main control chips that serve the control and logic functions respectively.
 +
 +
===== serialno =====
 +
<code>./mv_mipi_i2c.sh -r -f serialno -b your_i2c_bus_number</code>
 +
 +
Get the unique serial number of this module.
    
===== timestamp =====
 
===== timestamp =====
<code>./mv_mipi_i2c.sh -r -f timestamp</code>
+
<code>./mv_mipi_i2c.sh -r -f timestamp -b your_i2c_bus_number</code>
    
Time after system startup in Milliseconds.  
 
Time after system startup in Milliseconds.  
Line 82: Line 96:     
===== errcode =====
 
===== errcode =====
<code>./mv_mipi_i2c.sh -r -f errcode</code>
+
<code>./mv_mipi_i2c.sh -r -f errcode -b your_i2c_bus_number</code>
    
System error code, each bit represents an error type.
 
System error code, each bit represents an error type.
Line 95: Line 109:     
bit6: Authorization failure.
 
bit6: Authorization failure.
 +
 +
===== fmtcap =====
 +
<code>./mv_mipi_i2c.sh -r -f fmtcap -b your_i2c_bus_number</code>
 +
 +
Capbility of data formats supported by the camera.
 +
 +
bit0: Mono8
 +
 +
bit1: Mono10
 +
 +
bit2: Mono12
 +
 +
bit3: Mono14
 +
 +
bit4: UYVY
    
===== factoryparam =====
 
===== factoryparam =====
<code>./mv_mipi_i2c.sh -w -f factoryparam</code>
+
<code>./mv_mipi_i2c.sh -w -f factoryparam -b your_i2c_bus_number</code>
    
All parameters restored to factory default values.
 
All parameters restored to factory default values.
    
===== paramsave =====
 
===== paramsave =====
<code>./mv_mipi_i2c.sh -w -f paramsave</code>
+
<code>./mv_mipi_i2c.sh -w -f paramsave -b your_i2c_bus_number</code>
    
Save all parameters to flash, and they will not be lost when power off.
 
Save all parameters to flash, and they will not be lost when power off.
    
===== reboot =====
 
===== reboot =====
<code>./mv_mipi_i2c.sh -w -f reboot</code>
+
<code>./mv_mipi_i2c.sh -w -f reboot -b your_i2c_bus_number</code>
    
Reboot the camera.
 
Reboot the camera.
    
===== i2caddr =====
 
===== i2caddr =====
<code>./mv_mipi_i2c.sh -w -f i2caddr -p1 [new]</code>
+
<code>./mv_mipi_i2c.sh -w -f i2caddr -p1 [new] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f i2caddr</code> <br />This module support i2c address changed by software, i2c address range[0x3,0x77].  
+
<code>./mv_mipi_i2c.sh -r -f i2caddr -b your_i2c_bus_number</code> <br />This module support i2c address changed by software, i2c address range[0x3,0x77].  
    
Will really take effect only after paramsave and reboot .
 
Will really take effect only after paramsave and reboot .
 +
 +
===== slavemode =====
 +
<code>./mv_mipi_i2c.sh -w -f slavemode -p1 [0/1] -b your_i2c_bus_number</code>
 +
 +
<code>./mv_mipi_i2c.sh -r -f slavemode -b your_i2c_bus_number</code>
 +
 +
Whether the sensor is operating in slave mode. In slave mode, the camera relies on external signals to provide XVS and XHS. 
 +
 +
Writing this parameter will cause the camera to automatically save the current settings and reboot.
 +
 +
Currently, only RAW-MIPI-IMX462M support this function.
 +
 +
===== mcubypass =====
 +
<code>./mv_mipi_i2c.sh -w -f mcubypass -p1 [0/1] -b your_i2c_bus_number</code>
 +
 +
<code>./mv_mipi_i2c.sh -r -f mcubypass -b your_i2c_bus_number</code>
 +
 +
For Raw series camera,set SDA(Sensor Direct Access) mode.
    
==== Image Acquisition ====
 
==== Image Acquisition ====
    
===== imgacq =====
 
===== imgacq =====
<code>./mv_mipi_i2c.sh -w -f imgacq -p1 [0/1]</code>
+
<code>./mv_mipi_i2c.sh -w -f imgacq -p1 [0/1] -b your_i2c_bus_number</code>
    
Start/Stop acquisition
 
Start/Stop acquisition
Line 131: Line 178:  
Writing 0 will stop the output image and enter the standby state.
 
Writing 0 will stop the output image and enter the standby state.
   −
===== trgmode =====
+
===== trgmode* =====
<code>./mv_mipi_i2c.sh -w -f trgmode -p1 [0,2]</code>
+
<code>./mv_mipi_i2c.sh -w -f trgmode -p1 [0,2] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f trgmode</code>
+
<code>./mv_mipi_i2c.sh -r -f trgmode -b your_i2c_bus_number</code>
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 150: Line 197:  
See product manual for details.
 
See product manual for details.
   −
===== trgsrc =====
+
===== trgsrc* =====
<code>./mv_mipi_i2c.sh -w -f trgsrc -p1 [0,1]</code>
+
<code>./mv_mipi_i2c.sh -w -f trgsrc -p1 [0,1] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f trgsrc</code>
+
<code>./mv_mipi_i2c.sh -r -f trgsrc -b your_i2c_bus_number</code>
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 165: Line 212:  
|}
 
|}
   −
===== trgnum =====
+
===== trgnum* =====
<code>./mv_mipi_i2c.sh -w -f trgnum -p1 [1,255]</code>
+
<code>./mv_mipi_i2c.sh -w -f trgnum -p1 [1,255] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f trgnum</code>
+
<code>./mv_mipi_i2c.sh -r -f trgnum -b your_i2c_bus_number</code>
    
The number of image frames output by one trigger signal in trigger mode.  
 
The number of image frames output by one trigger signal in trigger mode.  
   −
===== trginterval =====
+
===== trginterval* =====
<code>./mv_mipi_i2c.sh -w -f trginterval -p1 [us]</code>
+
<code>./mv_mipi_i2c.sh -w -f trginterval -p1 [us] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f trginterval</code>
+
<code>./mv_mipi_i2c.sh -r -f trginterval -b your_i2c_bus_number</code>
    
Trigger interval in normal trigger mode, in microseconds. Range:[0.0xFFFFFF].
 
Trigger interval in normal trigger mode, in microseconds. Range:[0.0xFFFFFF].
    
===== trgone =====
 
===== trgone =====
<code>./mv_mipi_i2c.sh -w -f trgone</code>
+
<code>./mv_mipi_i2c.sh -w -f trgone -b your_i2c_bus_number</code>
    
Software trigger command.One execution will perform a soft trigger.
 
Software trigger command.One execution will perform a soft trigger.
    
===== trgcount =====
 
===== trgcount =====
<code>./mv_mipi_i2c.sh -r -f trgcount</code>
+
<code>./mv_mipi_i2c.sh -r -f trgcount -b your_i2c_bus_number</code>
    
Trigger count statistics.
 
Trigger count statistics.
Line 191: Line 238:  
Get the total number of triggers and the number of trigger loss.
 
Get the total number of triggers and the number of trigger loss.
   −
<code>./mv_mipi_i2c.sh -w -f trgcountclr</code>
+
<code>./mv_mipi_i2c.sh -w -f trgcountclr -b your_i2c_bus_number</code>
    
Clear trigger count.
 
Clear trigger count.
    
==== IO Control ====
 
==== IO Control ====
<br />
+
For RAW series cameras, the input IO supports trigger edge and trigger delay, and does not support trigger filtering function. The output IO is the strobe out pin of the sensor that leads directly.
 +
 
 +
===== trgdelay* =====
 +
<code>./mv_mipi_i2c.sh -r -f trgdelay -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f trgdelay -p1 [us] -b your_i2c_bus_number</code>
 +
 
 +
Trigger delay, effective under both soft trigger and hard trigger mode.
 +
 
 +
range: 0 to 1000000 (unit: microsecond)
 +
 
 +
===== trgedge* =====
 +
<code>./mv_mipi_i2c.sh -r -f trgedge -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f trgedge -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Effective trigger edge in hard trigger mode.
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|Rising edge
 +
|-
 +
|1
 +
|Falling edge
 +
|}
 +
 
 +
===== trgfilter_enable* =====
 +
<code>./mv_mipi_i2c.sh -r -f trgfilter_enable -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f trgfilter_enable -p1 [0,2] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|No filtering
 +
|-
 +
|1
 +
|Rising edge filtering (filtering out low-level interference signals)
 +
|-
 +
|2
 +
|Falling edge filtering (filtering out high level interference signals)
 +
|-
 +
|3
 +
|Both rising edge and falling edge filtering
 +
|}
 +
 
 +
===== trgfilter_time* =====
 +
<code>./mv_mipi_i2c.sh -r -f trgfilter_time -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f trgfilter_time -p1 [us] -b your_i2c_bus_number</code>
 +
 
 +
Trigger signal filtering window width.
 +
 
 +
range: 1 to 1000000 (unit: microsecond)
 +
 
 +
===== trgexp_delay* =====
 +
<code>./mv_mipi_i2c.sh -r -f trgexp_delay -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f trgexp_delay -p1 [us] -b your_i2c_bus_number</code>
 +
 
 +
Exposure delay, i.e. the time to turn on the Strobe signal in advance.
 +
 
 +
range: 1 to 1000000 (unit: microsecond)
 +
 
 +
The difference between trgexp_delay and trgdelay, see manual for details.
 +
 
 +
===== gpios_status =====
 +
<code>./mv_mipi_i2c.sh -r -f gpios_status -b your_i2c_bus_number</code>
 +
 
 +
Get TriggerIN_IO, OUT_IO1 and OUT_IO2 status.
 +
 
 +
===== outio1_mode =====
 +
<code>./mv_mipi_i2c.sh -r -f outio1_mode -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio1_mode -p1 [0,1] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|strobe
 +
|-
 +
|1
 +
|user out
 +
|}
 +
strobe: High level active.
 +
 
 +
user out: defined by '''outio1_usr.'''
 +
 
 +
===== outio1_usr =====
 +
<code>./mv_mipi_i2c.sh -r -f outio1_usr -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio1_usr -p1 [0,1] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|low
 +
|-
 +
|1
 +
|high
 +
|}
 +
 
 +
===== outio1_rvs =====
 +
<code>./mv_mipi_i2c.sh -r -f outio1_rvs -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio1_rvs -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Reverse OUT_IO1 high and low levels if set to 1.
 +
 
 +
===== outio2_mode =====
 +
<code>./mv_mipi_i2c.sh -r -f outio2_mode -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio2_mode -p1 [0,5] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|strobe
 +
|-
 +
|1
 +
|user out
 +
|-
 +
|2
 +
|trigger wait
 +
|-
 +
|3
 +
|XVS
 +
|-
 +
|4
 +
|XHS
 +
|-
 +
|5
 +
|Effective trigger signal (Sony's global shutter sensor only)
 +
|}
 +
strobe: High level active.
 +
 
 +
user out: defined by '''outio2_usr.'''
 +
 
 +
trigger wait: High level active. Indicate that the camera is not busy now, able to respond to the trigger signal.
 +
 
 +
XHS, XVS: The signal from the corresponding pin of the sensor. (For rolling shutter only).
 +
 
 +
===== outio2_usr =====
 +
<code>./mv_mipi_i2c.sh -r -f outio2_usr -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio2_usr -p1 [0,1] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|low
 +
|-
 +
|1
 +
|high
 +
|}
 +
 
 +
===== outio2_rvs =====
 +
<code>./mv_mipi_i2c.sh -r -f outio2_rvs -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f outio2_rvs -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Reverse OUT_IO1 high and low levels if set to 1.
    
==== Image Features ====
 
==== Image Features ====
    
===== maxwh =====
 
===== maxwh =====
<code>./mv_mipi_i2c.sh -r -f maxwh</code>
+
<code>./mv_mipi_i2c.sh -r -f maxwh -b your_i2c_bus_number</code>
    
Get the maximum supported resolution of the sensor.
 
Get the maximum supported resolution of the sensor.
    
===== maxfps =====
 
===== maxfps =====
<code>./mv_mipi_i2c.sh -r -f maxfps</code>
+
<code>./mv_mipi_i2c.sh -r -f maxfps -b your_i2c_bus_number</code>
    
The maximum frame rate supported in the current mode.
 
The maximum frame rate supported in the current mode.
Line 212: Line 427:  
Depending on the configured ROI, the maximum frame rate will be different. This parameter supports decimals.
 
Depending on the configured ROI, the maximum frame rate will be different. This parameter supports decimals.
   −
===== fps =====
+
===== fps* =====
<code>./mv_mipi_i2c.sh -w -f fps -p1 [framerate]</code>
+
<code>./mv_mipi_i2c.sh -w -f fps -p1 [framerate] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f fps</code>
+
<code>./mv_mipi_i2c.sh -r -f fps -b your_i2c_bus_number</code>
    
Configure the actual frame rate of the camera in the current mode.   
 
Configure the actual frame rate of the camera in the current mode.   
Line 223: Line 438:  
In video streaming mode, this parameter determines the actual frame rate.
 
In video streaming mode, this parameter determines the actual frame rate.
   −
===== roi =====
+
===== roi* =====
<code>./mv_mipi_i2c.sh -w -f roi -p1 [x] -p2 [y] -p3 [width] -p4 [height]</code>
+
<code>./mv_mipi_i2c.sh -w -f roi -p1 [x] -p2 [y] -p3 [width] -p4 [height] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f roi</code>
+
<code>./mv_mipi_i2c.sh -r -f roi -b your_i2c_bus_number</code>
    
ROI(region of interest) is the sensor output area, and the default is full screen output.  
 
ROI(region of interest) is the sensor output area, and the default is full screen output.  
Line 238: Line 453:  
The minimum ROI resolution will be different for different sensors.  
 
The minimum ROI resolution will be different for different sensors.  
   −
For example, IMX178 minimum  resolution is: 376*320.
+
For example, MV-MIPI-IMX178M minimum  resolution is: 376*320;MV-MIPI-SC130M minimum resolution is 64*64.
    
The camera will make necessary adjustments to the user parameters to meet the parameter requirements.  
 
The camera will make necessary adjustments to the user parameters to meet the parameter requirements.  
Line 245: Line 460:     
===== imgdir =====
 
===== imgdir =====
<code>./mv_mipi_i2c.sh -w -f imgdir -p1 [0,3]</code>
+
<code>./mv_mipi_i2c.sh -w -f imgdir -p1 [0,3] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f imgdir</code>
+
<code>./mv_mipi_i2c.sh -r -f imgdir -b your_i2c_bus_number</code>
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 267: Line 482:     
===== pixelformat =====
 
===== pixelformat =====
<code>./mv_mipi_i2c.sh -w -f pixelformat -p1 [0,2]</code>
+
<code>./mv_mipi_i2c.sh -w -f pixelformat -p1 [0,2] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f pixelformat</code>
+
<code>./mv_mipi_i2c.sh -r -f pixelformat -b your_i2c_bus_number</code>
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 286: Line 501:  
|UYVY
 
|UYVY
 
|}
 
|}
Note that for the MV-MIPI-IMX178, the AD bits of the sensor is always 12 bits, and the logic unit performs data rounding to achieve a different pixel format.
+
Note that for the MV-MIPI-IMX178M, the AD bits of the sensor is always 12 bits, and the logic unit performs data rounding to achieve a different pixel format.
    
===== blacklevel =====
 
===== blacklevel =====
<code>./mv_mipi_i2c.sh -w -f blacklevel -p1 [blacklevel]</code>
+
<code>./mv_mipi_i2c.sh -w -f blacklevel -p1 [blacklevel] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f blacklevel</code>
+
<code>./mv_mipi_i2c.sh -r -f blacklevel -b your_i2c_bus_number</code>
    
This black level value will be set directly to the sensor.
 
This black level value will be set directly to the sensor.
 +
 +
===== blcmode =====
 +
<code>./mv_mipi_i2c.sh -w -f blcmode -p1 [0/1] -b your_i2c_bus_number</code>
 +
 +
<code>./mv_mipi_i2c.sh -r -f blcmode -b your_i2c_bus_number</code>
 +
 +
Black level calibration modes:
 +
 +
0: Sensor automatic calibration or use default black level.
 +
 +
1: Manually specify black level.
    
===== testimg =====
 
===== testimg =====
<code>./mv_mipi_i2c.sh -w -f testimg -p1 [0,2]</code>
+
<code>./mv_mipi_i2c.sh -w -f testimg -p1 [0,2] -b your_i2c_bus_number</code>
   −
<code>./mv_mipi_i2c.sh -r -f testimg</code>
+
<code>./mv_mipi_i2c.sh -r -f testimg -b your_i2c_bus_number</code>
 
{| class="wikitable"
 
{| class="wikitable"
 
!value
 
!value
Line 312: Line 538:  
|Test image 2
 
|Test image 2
 
|}
 
|}
 +
 +
===== lanenum* =====
 +
<code>./mv_mipi_i2c.sh -w -f lanenum -p1 [2/4] -b your_i2c_bus_number</code>
 +
 +
<code>./mv_mipi_i2c.sh -r -f lanenum -b your_i2c_bus_number</code><br />For modules that support lane number configuration, use this register to modify the lane number.
 +
 +
===== mipidatarate =====
 +
<code>./mv_mipi_i2c.sh -r -f mipidatarate -b your_i2c_bus_number</code>
 +
 +
he MIPI datarate for each lane, measured in Kbps.
    
==== ISP ====
 
==== ISP ====
<br />
     −
==== Special Functions ====
+
===== Special Note =====
 +
Generally, only manual exposure and manual gain are supported by RAW series cameras in this section. However, RAW-MIPI-AR0234M does support AEC control.
 +
 
 +
Commands supported by RAW-MIPI-AR0234M include:
 +
 
 +
expmode,metime,gainmode,mgain,aatarget,aemaxtime,exptime,curgain,aaroi,aaroienable.
 +
 
 +
===== gamma =====
 +
<code>./mv_mipi_i2c.sh -r -f gamma -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f gamma -p1 [gamma] -b your_i2c_bus_number</code>
 +
 
 +
Range (0,4.0],accurate is 0.01.
 +
 
 +
For now, gamma only works on 8bit depth image.
 +
 
 +
===== gammaenable =====
 +
<code>./mv_mipi_i2c.sh -r -f gammaenable -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f gammaenable -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Enable/Disable gamma function.
 +
 
 +
===== dpcenable =====
 +
<code>./mv_mipi_i2c.sh -r -f dpcenable -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f dpcenable -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Enable/Disable DPC(Defect Point Correction) function.
 +
 
 +
===== lutenable =====
 +
<code>./mv_mipi_i2c.sh -r -f lutenable -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f lutenable -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
Enable/Disable LUT(Look-Up-Table) function.
 +
 
 +
===== lut =====
 +
<code>./mv_mipi_i2c.sh -r -f lut -p1 [lutfilename] -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f lut -p1 [lutfilename] -b your_i2c_bus_number</code>
 +
 
 +
Import or export a lut curve to a file, refer to the provided lut_linear.txt for the file format.
 +
 
 +
===== expmode =====
 +
<code>./mv_mipi_i2c.sh -r -f expmode -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f expmode -p1 [0,2] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|ME: manual exposure
 +
|-
 +
|1
 +
|AE once: auto exposure once
 +
|-
 +
|2
 +
|AE: auto exposure continuous
 +
|}
 +
Both ME and AE are easy to understand.
 +
 
 +
AE once: Execute automatic exposure in the set range once, then stop the adjustment.
 +
 
 +
RAW-MIPI-AR0234M do not support AE once mode.
 +
 
 +
===== metime =====
 +
<code>./mv_mipi_i2c.sh -w -f metime -p1 [us] -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -r -f metime -b your_i2c_bus_number</code>
 +
 
 +
Range (0,1000000/fps].Because of <u>Note1</u> and range limitation, please read back to confirm the real metime take effect.
 +
 
 +
===== gainmode =====
 +
<code>./mv_mipi_i2c.sh -r -f gainmode -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f gainmode -p1 [0,3] -b your_i2c_bus_number</code>
 +
{| class="wikitable"
 +
!value
 +
!description
 +
|-
 +
|0
 +
|MG: manual gain
 +
|-
 +
|1
 +
|AG once: auto gain once
 +
|-
 +
|2
 +
|AG: auto gain continuous
 +
|}
 +
Both MG and AG are easy to understand.
 +
 
 +
AG once: Execute automatic gain in the set range once, then stop the adjustment.
 +
 
 +
RAW-MIPI-AR0234M do not support AG once mode.
 +
 
 +
RAW-MIPI-AR0234M can not enable AG in ME mode.
 +
 
 +
===== mgain =====
 +
<code>./mv_mipi_i2c.sh -w -f mgain -p1 [gain] -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -r -f mgain -b your_i2c_bus_number</code>
 +
 
 +
Range [0,MAX_Gain],MAX_Gain varies from sensor to sensor, for example, IMX178 is 48dB.
 +
 
 +
Read back to confirm the real mgain take effect.
 +
 
 +
===== aatarget =====
 +
<code>./mv_mipi_i2c.sh -r -f aatarget -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f aatarget -p1 [1,255] -b your_i2c_bus_number</code>
 +
 
 +
The target brightness of AE and AG algorithm.
 +
 
 +
Within the set range, the algorithm will prioritize the increase in exposure time,
 +
 
 +
and increase the gain if the exposure time reaches the maximum and still cannot reach the set target brightness value.
 +
 
 +
===== aemaxtime =====
 +
<code>./mv_mipi_i2c.sh -r -f aemaxtime -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f aemaxtime -p1 [16,1000000/fps] -b your_i2c_bus_number</code>
 +
 
 +
Maximum exposure time in AE mode.Range[16,1000000]. <u>Note1.</u>
 +
 
 +
Please read back to confirm the real metime take effect.
 +
 
 +
===== agmaxgain =====
 +
<code>./mv_mipi_i2c.sh -r -f agmaxgain -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -w -f agmaxgain -p1 [0,maxgain] -b your_i2c_bus_number</code>
 +
 
 +
Maximum value of auto gain. The range and step vary according to the model.
 +
 
 +
Most sensors have a gain step of 0.1dB, some are 0.3dB.
 +
 
 +
Note:For RAW-MIPI-AR0234M, agmaxgain cannot be configured and remains fixed at 24dB.
 +
 
 +
===== exptime =====
 +
<code>./mv_mipi_i2c.sh -r -f exptime -b your_i2c_bus_number</code>
 +
 
 +
Get the current exposure time. This command is valid in any exposure mode.
 +
 
 +
===== curgain =====
 +
<code>./mv_mipi_i2c.sh -r -f curgain -b your_i2c_bus_number</code>
 +
 
 +
Gets the current gain. This command is valid in any exposure mode.
 +
 
 +
===== aaroienable =====
 +
<code>./mv_mipi_i2c.sh -w -f aaroienable -p1 [0,1] -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -r -f aaroienable -b your_i2c_bus_number</code>
 +
 
 +
Whether to enable AAROI statistics function, not enable means full ROI statistics.
 +
 
 +
===== aaroi =====
 +
<code>./mv_mipi_i2c.sh -w -f aaroi -p1 [x] -p2 [y] -p3 [width] -p4 [height] -b your_i2c_bus_number</code>
 +
 
 +
<code>./mv_mipi_i2c.sh -r -f aaroi -b your_i2c_bus_number</code>
 +
 
 +
The AAROI coordinates are relative coordinates within the ROI area. So the area must be smaller than the image ROI.
 +
 
 +
===== aeag_run_once_save =====
 +
<code>./mv_mipi_i2c.sh -w -f aeag_run_once_save -b your_i2c_bus_number</code>
 +
 
 +
Execute AE&AG once operation and save the results to the camera as manual values!<br />This is a function that is useful when the camera is installed.
 +
 
 +
Please make sure that the image preview has already been started before executing this command.
 +
 
 +
It performs the following operations:
 +
 
 +
# Set AE and AG range to MAX.
 +
# Run AE once and AG once.
 +
# Wait 5 seconds.
 +
# Check AE once and AG once result.
 +
# Save the previous result to manual mode.
 +
#Run paramsave,save to flash.
 +
 
 +
===== snsreg =====
 +
<code>./mv_mipi_i2c.sh -r -f snsreg -p1 [sensor reg addr] -b your_i2c_bus_number</code>
 +
 
 +
Read the sensor's register indirectly via the camera controller unit.
 +
 
 +
==== Notes ====
 +
Note1: All parameters of exposure time are in microseconds. However, due to the properties of the sensor, the actual exposure time unit of the sensor is 1 line, can not be accurate to 1us.
 +
 
 +
Note2: AE: Auto exposure; AG: Auto Gain; AA: AE and AG.
 +
 
 +
Note3: The AAROI coordinates are relative coordinates within the ROI area.
 +
 
 +
Note4: For RAW Series, there are some functions that are not supported, please refer to the register list for details.
 +
 
 
<br />
 
<br />

Navigation menu