The i.MX8QXP processor provides an Image Sensor Interface (ISI) module that interfaces up to 5 pixel link sources to obtain the image data for processing in its pipeline channels. There are two pixel links that provide connectivity for the CSI and MIPI camera interfaces.

Using the camera

Identify the camera

When the camera is connected to the ConnectCore 8X SBC Pro and it has been enabled in the device tree, the system identifies the camera sensor on the I2C bus and assigns a video device node /dev/videoX to it where X is an integer number. You can determine the device index assigned to the camera on the kernel boot-up messages:

Registered mxc_isi.0.capture as /dev/video0
created link [mxc_isi.0] => [mxc_isi.0.capture]
created link [mxc-parallel-csi] => [mxc_isi.0]
The following examples assume the camera is /dev/video0.

Preview a camera image using gstreamer

Capture the camera image and preview it using gstreamer and Wayland or framebuffer sink:

~# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=15/1 ! waylandsink

~# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=15/1 ! fbdevsink

Take a picture with the camera using gstreamer

Capture a still image with the camera and save it using gstreamer:

~# gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 ! video/x-raw,width=320,height=240,framerate=15/1 ! jpegenc ! filesink location=sample.jpg

Record a video with the camera using gstreamer

Capture a moving image with the camera and save it using gstreamer:

~# gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=90 ! video/x-raw,width=320,height=240,framerate=15/1 ! avimux ! filesink location=output.avi