public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Koeller <thomas.koeller@baslerweb.com>
To: "Éric Piel" <Eric.Piel@lifl.fr>
Cc: linux-kernel@vger.kernel.org, alan@lxorguk.ukuu.org.uk,
	linux-mips@linux-mips.org,
	"Thomas Köller" <thomas@koeller.dyndns.org>
Subject: Re: [PATCH] Image capturing driver for Basler eXcite smart camera
Date: Mon, 14 Aug 2006 21:26:29 +0200	[thread overview]
Message-ID: <200608142126.29171.thomas.koeller@baslerweb.com> (raw)
In-Reply-To: <44E09C7E.204@lifl.fr>

On Monday 14 August 2006 17:53, Éric Piel wrote:
> 08/12/2006 07:27 PM, Thomas Koeller wrote/a écrit:
> Hello,
>
> Maybe I just completely misunderstood you point, in which case I
> apologize... However from what it seems, you are proposing a kernel
> driver for the hardware which is inside the product described on the
> webpage. This driver will run on a processor embedded into this camera.
> It will allow some user-space programs which also run on this processor
> to acquire pictures generated by the captor. Am I right so far?

Exactly.

>
> If so then the Video4Linux2 API is still the best way to implement the
> protocol to pass data between the user-space programs and the driver.
> The V4L2 API doesn't says that the camera must be far away from the
> processor, it can work for USB webcams, for Firewire video camera, PCI
> TV tuners, and probably also for your device. Using the V4L2 not only
> has the advantage of being a well tested API for communicating video
> related information with the user-space but it also buys you the fact
> that any program available on Linux for video should be able to directly
> detect and use the captor!

Sorry, but no. The camera has been designed to be used in industrial
control applications, such as quality assurance. Think of an automated
inspection of a certain product, where the inspection is integrated
into the production process. Faulty products are sorted out. For this to
work it is absolutely necessary to get the maximum speed (image frames
per second) out of the hardware, so image acquisition and processing
must be carried out in parallel. The way to achieve this is have the
driver manage a queue of image buffers to fill, so it will continue
grabbing images even if no read operation is currently pending. Also,
the ability to attach user-specific context information to every buffer
is essential.

Another reason to choose this API was to ease customer migration from
PC-based solutions involving IEEE-1394 and Gigabit Ethernet cameras
(of which my employer is a major manufacturer) to the eXcite platform.
These devices ship with driver software that implements a very similar
API, and we provide user-space libraries that allow for writing generic
software that will run on the eXcite platform as well as on a PC with
a dumb camera attached via FireWire or GigE. There is an entire
software framework, of which this driver is just a small component.

Finally, the camera already ships with the software as is, so changing
the API is out of the question, as it would break customer applications.

>
> That said, thank you already very much for submitting your driver to the
> Linux kernel. Your code seems already good quality and conformant with
> the coding style of the kernel. Still, some people will review your
> code, and let you know what they think might be problematic. This is the
> normal process for driver acceptance, for the good both of your driver
> and of the kernel. When you have answered the different suggestion,
> please resubmit your new version of the driver with the change. I
> suggest also CCing video4linux-list@redhat.com :-)
>
> See you,
> Eric
>
> > I am not subscribed to lkml, so please cc my address thomas at koeller
> > dot dyndns dot org on all replies.
>
> Please, also keep the CC: in your answers.

Thanks for taking the time to look at the code!

Thomas

-- 
Thomas Koeller, Software Development

Basler Vision Technologies
An der Strusbek 60-62
22926 Ahrensburg
Germany

Tel +49 (4102) 463-390
Fax +49 (4102) 463-46390

mailto:thomas.koeller@baslerweb.com
http://www.baslerweb.com

  reply	other threads:[~2006-08-14 19:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-10 21:18 [PATCH] Image capturing driver for Basler eXcite smart camera Thomas Koeller
2006-08-11 19:35 ` Randy.Dunlap
2006-08-11 20:09 ` Alan Cox
2006-08-12 17:27   ` Thomas Koeller
2006-08-14 15:53     ` Éric Piel
2006-08-14 19:26       ` Thomas Koeller [this message]
2006-08-17 15:31         ` Pavel Machek
2006-08-17 20:30           ` Thomas Koeller
2006-08-18  8:27             ` Pavel Machek
2006-08-18 13:19             ` Bill Davidsen
2006-08-22 21:36               ` Thomas Koeller
2006-08-11 20:48 ` Dave Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200608142126.29171.thomas.koeller@baslerweb.com \
    --to=thomas.koeller@baslerweb.com \
    --cc=Eric.Piel@lifl.fr \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=thomas@koeller.dyndns.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox