Note

  • The latest Raspberry PI OS(Kernel 5.4)driver already support cam-mipi327raw; 

  • Current vcmipidemp program is not fully supported pi4 due to frame buffer;

  • Drivers difference between Inno-maker and raspberry pi os;

Inno-maker driver

Raspberry PI OS driver
Mode0 1920×1080 30fps,SRGGB10P
Mode1 1920×1080 60fps, SRGGB10P.
Mode2 1920×1080 50fps, SRGGB12P.
Mode0 1920×1080 30fps,SRGGB10P 





Use Inno-Maker Driver

Install Drivers And System Setup

You will see below information that means successful

You will see below information

Mode Instruction
This module support 3 work modes.
Mode0: 1920x1080 30fps, SRGGB10P (option,with 37.125MHZ OSC)
Mode1: 1920x1080 60fps, SRGGB10P
Mode2: 1920x1080 50fps, SRGGB12P
Note : by default this module’s hardware with 74.25MHZ OSC so it can’t work at Mode0.
Make setmode1 to set this module work in mode1.

Test For Linux Kernel Under 5.4

It will show you a frames-per-second information of your module,press ctrl+c to stop.

It can setting the shutter and gain value of this module and capture the frame into frame buffer or PPM file.
It will setting the shutter to 3ms ,gain value to 0x88 and copy the capture frame into framebuffer.
More detail please use ./vcmipidemo --help
-s: setting the shutter : range: 29us to 1S ,unit us
-g: setting the sensor gain: range 0-----240d

Capture y12 format output into file while module work in mode2
-s: setting the shutter : range: 8721ns to 8721*885ns ,unit ns
-g: setting the sensor gain: range 0-----254d
-h: horizon flip
-v:vertical flip
-c:capture count
More detail please use ./v4l2_capture_y12 --help

Capture y10 format output into file while module work in mode0 or mode1
-s: setting the shutter : range: 29us to 1S ,unit us
-g: setting the sensor gain: range 0-----240d
-h: horizon flip
-v:vertical flip
-c:capture count
More detail please use./v4l2_capture_raw10 --help

tools to handle y10 captured file into 8bit gray formate
./raw10p2raw8 <file_input> <file_output>

Test For Linux Kernel Above 5.4

It will show you a frames-per-second information of your module,press ctrl+c to stop.

It can setting the shutter and gain value of this module and capture the frame into frame buffer or PPM file.
It will setting the shutter to 3ms ,gain value to 0x88 and copy the capture frame into framebuffer.
More detail please use ./vcmipidemo --help
-s: setting the shutter : range: 29us to 1S ,unit us
-g: setting the sensor gain: range 0-----240d

Capture y12 format output into file while module work in mode2
-s: setting the shutter : range: 8721ns to 8721*885ns ,unit ns
-g: setting the sensor gain: range 0-----254d
-h: horizon flip
-v:vertical flip
-c:capture count
More detail please use ./v4l2_capture_y12 --help

Capture y10 format output into file while module work in mode0 or mode1
-s: setting the shutter : range: 29us to 1S ,unit us
-g: setting the sensor gain: range 0-----240d
-h: horizon flip
-v:vertical flip
-c:capture count
More detail please use./v4l2_capture_raw10 --help

tools to handle y10 captured file into 8bit gray formate
./raw10p2raw8 <file_input> <file_output>

Use Raspberry PI OS Driver(Default Driver)

System Setup For Raspberry PI OS

Step1 Download tools

#Add Below To the last line then save
dtparam=i2c_vc=on
dtoverlay=imx290,clock-frequency=74250000     

#Add Below To the last line then save
cma=128M

#Then you'll see video0 

Test 

It will show you a frames-per-second information of your module,press ctrl+c to stop

It can setting the shutter and gain value of this module and capture the frame into frame buffer or PPM file.
More detail please use ./vcmipidemo-1028 --help

Usage: ./vcmipidemo-1028 [-s sh] [-g gain] [-i nr] [-f] [-a] [-o]
-s, Shutter Time.
-g, Gain Value.
-i, This Number of Images will be recorded, else continuously.
-b, Buffer Count to use.
-f, Output Capture to framebuffer /dev/fb0.
-o, Output Captures to file in PGM or PPM format (openable by e.g. GIMP)
-a, Suppress ASCII capture at stdout.
-d, Video device ID: /dev/videoX, default for X: 0
-w, Followed by White Balance Settings as Triple (each [1..255]): 'wr wg wb'
or 0 0 0 to determine these values by recording a white surface - adjust
the shutter time so that all measured values are smaller than 200.
For example: -w '123 145 167'
Note that you may need also apply an IR filter for better visual colors.
-r, Region of interest: (Left,Top)/WidthxHeight'
For example: -r '(0,0)/640x480'
Attention: The ROI setting will only work properly if
Platform specific and Module specific Limitations are satisfied!
and the ROI setting stays changed after the program ends.

Remark:

How to get the shutter range and sensor gain:$v4l2-ctl -l

User Controls

exposure 0x00980911 (int) : min=45 max=1121 step=1 default=1121 value=300
gain 0x00980913 (int) : min=0 max=238 step=1 default=0 value=104
horizontal_flip 0x00980914 (bool) : default=0 value=0
vertical_flip 0x00980915 (bool) : default=0 value=0

-s: 
-g: 
-h: horizon flip
-v: vertical flip
-c: capture count
More detail please use ./v4l2_capture_y12 --help

Usage: ./v4l2_capture_y12 [-s sh] [-g gain] [-h f] [-v f] [-c cnt]

-s, Shutter Time.
-g, Gain Value.
-h, horizen flip.
-v, vertical flip
-c, capture count


-s: 
-g: 
-h: 
-v:
-c:
More detail please use./v4l2_capture_raw10 --help

Usage: ./v4l2_capture_raw10 [-s sh] [-g gain] [-h f] [-v f] [-c cnt]

-s, Shutter Time.
-g, Gain Value.
-h, horizen flip.
-v, vertical flip
-c, capture count

tools to handle y10 captured file into 8bit gray formate
./raw10p2raw8 <file_input> <file_output>