Difference between revisions of "CaspaPX"

From Gumstix User Wiki
Jump to: navigation, search
Line 2: Line 2:
  
 
== Quickstart ==
 
== Quickstart ==
The first steps are important to verify your hardware setup and so you know how to test your customizations later.
+
The first steps are important to verify your hardware setup and to test your customizations later.
  
=== Pre-built Image ===
+
=== Install Pre-built Kernel ===
  
The easiest way to get started is to save these somewhere on your build machine and copy them to a COM running an existing image using scp.
+
The easiest way to get started is to replace the kernel and modules of an existing image. This method was tested on an Overo Fire with a Tobi expansion board using the desktop image available [http://www.sakoman.com/feeds/omap3/glibc/images/overo/201011150741/ here].
  
 
Get the kernel and modules.
 
Get the kernel and modules.
Line 25: Line 25:
 
  $ ssh root@overo 'shutdown -r now'
 
  $ ssh root@overo 'shutdown -r now'
  
 +
This method is especially convenient for making modifications to the driver or kernel. See the customization section for more information.
  
The easiest way to get the camera working is to download a pre-built image from [http://somelink here]. Once your image has booted do one of the following from the serial console:
+
=== Test ===
 +
 
 +
From the serial console:
  
 
  # export -DISPLAY :0.0
 
  # export -DISPLAY :0.0
Line 33: Line 36:
 
  # mplayer tv:// -tv driver=v4l2:device=/dev/video0
 
  # mplayer tv:// -tv driver=v4l2:device=/dev/video0
  
Or you can open cheese:
+
From the desktop:
  
 
  <left-click on desktop> Applications > Multimedia > Cheese
 
  <left-click on desktop> Applications > Multimedia > Cheese
  
 
=== Bitbake ===
 
=== Bitbake ===
If you want a more control over the packages included in your image, you can modify the bitbake recipe used to generate the pre-built image.
 
  
$ nano ~/overo-oe/org.openembedded.dev/recipes/images/caspapx-image.bb
+
To
  <make your modifications>
+
$ bitbake caspapx-image.bb
+
  
 
== Customization ==
 
== Customization ==
Line 54: Line 54:
 
=== MT9V032 Driver ===
 
=== MT9V032 Driver ===
  
 +
If you want to take advantage of an unimplemented sensor feature, change defaults, etc., you need to modify the driver source. First, make sure that you
  
 +
You can write scripts to make it even faster.
  
  

Revision as of 11:07, 8 February 2011

The MT9V032 sensor at the heart off the CaspaPX is not yet supported in the kernel, so a little work is necessary to get the camera up and running.

Quickstart

The first steps are important to verify your hardware setup and to test your customizations later.

Install Pre-built Kernel

The easiest way to get started is to replace the kernel and modules of an existing image. This method was tested on an Overo Fire with a Tobi expansion board using the desktop image available here.

Get the kernel and modules.

$ mkdir ~/caspakernel
$ cd ~/caspakernel
$ wget cumulus.gumstix.org/images/caspapx/uImage
$ wget cumulus.gumstix.org/images/caspapx/lib.tar.gz

Extract the modules.

$ tar -xf lib.tar.gz

Copy them to an Overo already running the image that you want.

$ scp lib/* root@overo:/lib/
$ scp uImage root@overo:/boot/uImage;
$ scp uImage root@overo:/media/mmcblk0p1/uImage

Reset the overo.

$ ssh root@overo 'shutdown -r now'

This method is especially convenient for making modifications to the driver or kernel. See the customization section for more information.

Test

From the serial console:

# export -DISPLAY :0.0
# gst-launch v4l2src ! xvimagesink

or

# mplayer tv:// -tv driver=v4l2:device=/dev/video0

From the desktop:

<left-click on desktop> Applications > Multimedia > Cheese

Bitbake

To

Customization

Hardware Overview

The OMAP35X processors have dedicated hardware for capturing and processing data from image sensors. The CaspaPX camera sensor outputs raw 10-bit Bayer images which is transfered to the Image Signal Processor (ISP) via a parallel interface. The ISP contains a previewer module that converts the Bayer data to YUYV. This data is accessible as a V4L2 device in /dev/video0.

Image Signal Processor

To get the best performance from the camera under other lighting conditions we need to get our hands dirty in the kernel source.

MT9V032 Driver

If you want to take advantage of an unimplemented sensor feature, change defaults, etc., you need to modify the driver source. First, make sure that you

You can write scripts to make it even faster.


These steps will allow you to customize the camera driver and kernel for your own application.

2.6.34

Get the kernel source that is used in the Gumstix kernel recipe (~/overo-oe/org.openmebedded.dev/recipes/linux/linux-omap3_2.6.34.bb) and create a new branch from the recipe SRCREV.

$ cd ~
$ git clone git://www.sakoman.com/git/linux-omap-2.6.git
$ cd linux-omap-2.6
$ git checkout cb89736af28f583598e49a05249334a194d00f1d
$ git checkout -b 2.6.34

Make a copy of the default kernel configuration to use as a starting point for your customizations.

$ cp ~/overo-oe/org.openembedded.dev/recipes/linux/linux-omap3-2.6.34/defconfig ./
$ cp defconfig .config