Profile cover photo
Profile photo
Martin Samuelsson
Martin's posts

333 [4909, 4920, 320, 320, 359, 319, 319, 358]
4999 [350, 4879, 4920, 4920, 4878, 4919, 4920, 4880]
333 [4864, 4919, 4919, 320, 319, 358, 319, 319]

I'm trying to do something interesting with my laptop camera, a "04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)", a UVC device which seem fairly impossible to find any detailed specifications for. One interesting thing it allows is to set the exposure time manually, between 33.3 and 499.9 milliseconds. That makes it possible to control how much light the sensor capture, and produces potentially useful images for post-processing purposes.

The above lines start with the exposure time I set via V4L2_CID_EXPOSURE_ABSOLUTE (after, of course, setting V4L2_CID_EXPOSURE_AUTO to V4L2_EXPOSURE_MANUAL), and continue with the time required to capture one frame without further processing.

One thing stands out: There's a lag of up to three frames between setting the exposure time, and the camera actually using it. That's a nuisance, but it's possible to work around fairly reliably by comparing actual capture time to the set exposure time. Or, it would be possible if not for the following:

333 [4903, 4919, 558, 599, 561, 600, 599, 560]

That's what happens if I capture a dark scene. The 33.3 millisecond exposure time I requested is automatically and beyond my control increased to up to 60 milliseconds!

How is anyone supposed to be able to use hardware for interesting things if it doesn't obey what you explicitly tell it?

Post has attachment
I must confess that I feel just a bit reassured, imagining that there's at least one thing Google doesn't know about me. Sneaky.


I'm having some problems that I suspect could be due to fluctuating power supply. I've looked around a bit, but found no evidence of the Black being able to monitor and report its internal voltages. Is that correct?

Post has attachment

"2.2 Wiring

The terminals of the IF-module are marked with a (-) and b (+). The marking complies with the RS485 standard. Nevertheless some manufacturers of automation equipment are using the opposite marking of a and b. This may cause communication issues."

Noooo, you don't say? May?

Post has attachment
Ooohhh... I'd love to see how Steven Frank would have interpreted this over at


Today's Mission: Impossible; finding an efficient way to convert YUYV (4:2:2) to BGR in Python.

Or, there are several ways, but I can't find simple ones with minimal dependencies.

Post has attachment
This actually doesn't feel helpful at all. And I still would prefer to handle GNOME Shell extensions through a GNOME preferences application, rather than through a web browser plugin that may or may not be able to connect to the internal GNOME magic.


Post has attachment
“Maledicis me, malum caput? Crucifigaris!”

Some stuff to work into your games, +Kristoffer Holmén?

I seem to have misplaced about 13 kg of old harddrives...

Ohwell, they'll turn up sooner or later.

Wait while more posts are being loaded