Hello,
Just wondering is there going to be Linux kernel V4L2 driver for CMUcam5? It would be conventional way for using camera and it wouldn’t be hard to do (at least if everything needed is in libpixyusb).
Hello Tuukka,
I think you are the first person to ask this question! We don’t have any plans for this. Is there anyone that has experience with interfacing to the backend of V4L? I assume it’s kernel mode?
Edward
Hello,
Yes it’s kernel mode. I have little experience in kernel coding and I took a small peak in v4l2 and it’s not that difficult but need some guidance in CMUCAM5 usb interface (ok I know there is the code but…). I didn’t look what output CMUCAM gives but I asume it’s something like YUV. Only thing that I’m wondering is the real fish: who to get those XY-boxes to user with kernel driver. Should there we virtual serial driver or do the evdev events device work in this? I don’t know I this worth of doing…
Hello I just got my pixy cam I am also interested in V4L2 support, I dont have experience writing kernel modules but I will be happy to learn and help
Hi Mario,
That would be great Let us know how we can help!
Edward
Having kernel driver would definitely help Pixy’s world take over. I lost my Pixy but I know how to make kernel driver. Most difficult part would be port exist Pixy USB code to kernel (libusb to kernel USB URB) and generate some kind of interface (HID?) that tells user what happens in Pixys vision.
a good starting point would be to build a fake device driver, i think that what Edward was talking about when he suggested starting with a “module that outputs just a pure green frame”
Should I setup small Github project with skeleton module V4L2-driver we can start with?
Sure! It’s up to you though. We like github. You might also see what Mario is up to. (Did you see this thread? http://cmucam.org/boards/9/topics/6565)
Edward
Ok I’ve formed small module from Kernel usb skeleton. It doesn’t do nothing. For V4L information I thing best is: https://www.kernel.org/doc/Documentation/video4linux/v4l2-pci-skeleton.c
This is also ‘simple’ real world example how V4l2 works: https://github.com/umlaeute/v4l2loopback/blob/master/v4l2loopback.c