MIPI Cameras¶
The MitySOM-QC6490 Devkit supports image and video capture via the MIPI CSI interfaces ( Note that currently CSI0 is the only MIPI CSI interface supported. Support for CSI1-CSI4 will be added in a future software release).
Development Board Configuration¶
Ensure that Switch S8 is set properly.- Switch 1 should be set to enable the 1V8 CSI from the DC supply
- Switch 2 should be not set to disable the 1V8 CSI from the SOM
- Switch 3 should NOT be set for Rev 1 or 2 of the Development Board as 3.3V from the SOM may actually be a higher volage. See MitySOM-QC6490 Development Kit Datasheet for further details
- Switch 4 should be set to enable the 3V3 CSI from the DC supply
Known Working Cameras¶
Note that Waveshare OV9281-120 Mono Camera was used to validate the MIPI CSI interface.
Capturing Single Images¶
- Ensure the qcom-multimedia-image has been flashed onto the MitySOM-QC6490.
- You can verify which image you are working with via the following command:
root@qcs6490-mitysom-devkit:~# cat /etc/buildinfo | grep IMAGE_BASENAME IMAGE_BASENAME = qcom-multimedia-image
- You can verify which image you are working with via the following command:
- The following Gstreamer pipeline will allow you to capture a single JPEG image:
gst-launch-1.0 qtiqmmfsrc camera=0 exposure-mode=0 manual-exposure-time=1333333 ! jpegenc snapshot=true ! identity error-after=2 ! filesink location=snap.jpg
- Note that this pipeline uses manual exposure. The value after manual-exposure-time= is the exposure time in nanoseconds.
- Further details on the qtiqmmfsrc Qualcomm GStreamer plugin and what properties are supported can be found here
Capturing Video¶
- Ensure the qcom-multimedia-image has been flashed onto the MitySOM-QC6490.
- You can verify which image you are working with via the following command:
root@qcs6490-mitysom-devkit:~# cat /etc/buildinfo | grep IMAGE_BASENAME IMAGE_BASENAME = qcom-multimedia-image
- You can verify which image you are working with via the following command:
- The following Gstreamer pipeline will allow you to capture an MP4 encoded video:
gst-launch-1.0 -e qtiqmmfsrc name=camsrc camera=0 ! \ video/x-raw,format=NV12,width=1280,height=720,framerate=30/1,\ interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc \ capture-io-mode=4 output-io-mode=5 extra-controls="controls,video_bitrate=6000000,\ video_bitrate_mode=0;" ! h264parse ! mp4mux ! filesink location=mux_avc.mp4
- Once the video capture begins a timer will be displayed. Use
Ctrl+C
to end video capture. - Upon ending capture an MP4 video named
mux_avc.mp4
can be found in your current working directory.
- Once the video capture begins a timer will be displayed. Use
Troubleshooting¶
- Double check the camera module connection to the FPC connector at CSI0.
- Restart the camera server with the following command:
systemctl restart cam-server
- After restarting the cam-server, or rebooting, search the kernel log for a successful probe of the camera module by running the following command:
journalctl | grep -i "probe suc"
- If the sensor is properly connected and its I2C management interface is operational, the camera driver will successfully probe the camera module resulting in the following output:
qcs6490-mitysom-devkit kernel: CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 939: Probe success,slot:1,slave_addr:0xc0,sensor_id:0x9281, is always on: 0
- If the sensor is properly connected and its I2C management interface is operational, the camera driver will successfully probe the camera module resulting in the following output:
Go to top