Aptina mt9v034 sensor V4L2 based linux driver

From IGEP - ISEE Wiki

Revision as of 12:52, 4 April 2013 by Eballetbo (talk | contribs) (linux-2.37.y status)

Jump to: navigation, search

Overview

IMPORTANT NOTE: This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The goal of this article is provide mt9v034 open source driver for our camera boards.

General testing notes

To manipulate the Media controller device node, you can use Laurent’s "media-ctl" command line tool, which you can find here.

To capture data from sensor, you can use Laurent's "yavta" tool, which you can find here.

To see live display from sensor, you can use Laurent's "live" tool, which you can find here.

To convert raw bayer images to user viewable format, you can use "raw2rgbpnm" tool, which you can find here.

Mainline status

Submitted: Oct. 5, 2012

Permalink: /patch/1552451/

Status: Needs to revisit.

linux-3.6.y status

Repository: linux-3.6.y-mt9v034

git clone git://git.isee.biz/pub/scm/linux-omap-2.6.git -b linux-3.6.y-mt9v034

Status: Working

Testing notes

Use Laurent’s "live" command line tool,

modprobe omap_vout
live

Source code: http://git.ideasonboard.org/omap3-isp-live.git

Known Issues

(None for the moment)

linux-2.37.y status

Repository: linux-2.37.y-mt9v034

git clone git://git.isee.biz/pub/scm/linux-omap-2.6.git -b linux-2.37.y-mt9v034

Status: Working

Testing notes

Use Laurent’s "media-ctl" and yavta command line tool,

Configure pipeline to SENSOR -> CCDC OUTPUT

media-ctl -r
media-ctl -l '"mt9v034 2-005c":0->"OMAP3 ISP CCDC":0[1]'
media-ctl -l '"OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
media-ctl -f '"mt9v034 2-005c":0 [SGRBG10 752x480]'
media-ctl -f '"OMAP3 ISP CCDC":1 [SGRBG10 752x480]

Capture data with,

yavta -p -f SGRBG10 -s 752x480 -n 4 --capture=3 /dev/video4 --file=img-#.bin

Convert to a viewable format with,

raw2rgbpnm -f SGRBG10 -s 752x480 img-000000.bin img-000000.pnm

Configure pipeline to SENSOR -> CCDC -> PREVIEWER -> RESIZER

media-ctl -r
media-ctl -l '"mt9v034 2-005c":0->"OMAP3 ISP CCDC":0[1]'
media-ctl -l '"OMAP3 ISP CCDC":2->"OMAP3 ISP preview":0[1]'
media-ctl -l '"OMAP3 ISP preview":1->"OMAP3 ISP resizer":0[1]'
media-ctl -l '"OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]'

media-ctl -f '"mt9v034 2-005c":0[SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP CCDC":0 [SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP CCDC":2 [SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP preview":1 [UYVY 752x480]'
media-ctl -f  '"OMAP3 ISP resizer":1 [UYVY 752x480]'

Capture data with,

gst-launch v4l2src device=/dev/video8 ! ffmpegcolorspace ! fbdevsink

Notes

Pipeline for previewer

media-ctl -r
media-ctl -l '"mt9v034 2-005c":0->"OMAP3 ISP CCDC":0[1]'
media-ctl -l '"OMAP3 ISP CCDC":2->"OMAP3 ISP preview":0[1]'
media-ctl -l '"OMAP3 ISP preview":1->"OMAP3 ISP preview output":0[1]'
media-ctl -d /dev/media0 -f '"mt9v034 2-005c":0 [SGRBG10 752x480]'
media-ctl -d /dev/media0 -f '"mt9v034 2-005c":0 [SGRBG10 752x480]'
media-ctl -d /dev/media0 -f '"OMAP3 ISP CCDC":2 [SGRBG10 752x480]'
media-ctl -d /dev/media0 -f '"OMAP3 ISP preview":1 [UYVY 752x480]'

Pipeline for resizer

media-ctl -r
media-ctl -l '"mt9v034 2-005c":0->"OMAP3 ISP CCDC":0[1]'
media-ctl -l '"OMAP3 ISP CCDC":2->"OMAP3 ISP preview":0[1]'
media-ctl -l '"OMAP3 ISP preview":1->"OMAP3 ISP resizer":0[1]'
media-ctl -l '"OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]'

media-ctl -f '"mt9v034 2-005c":0[SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP CCDC":0 [SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP CCDC":2 [SGRBG10 752x480]'
media-ctl -f  '"OMAP3 ISP preview":1 [UYVY 752x480]'
media-ctl -f  '"OMAP3 ISP resizer":1 [UYVY 752x480]'