Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | W9966 Camera driver, written by Jakob Kemi (jakob.kemi@telia.com) |
| 2 | |
| 3 | After a lot of work in softice & wdasm, reading .pdf-files and tiresome |
| 4 | trial-and-error work I've finally got everything to work. I needed vision for a |
| 5 | robotics project so I borrowed this camera from a friend and started hacking. |
| 6 | Anyway I've converted my original code from the AVR 8bit RISC C/ASM code into |
| 7 | a working Linux driver. |
| 8 | |
| 9 | To get it working simply configure your kernel to support |
| 10 | parport, ieee1284, video4linux and w9966 |
| 11 | |
| 12 | If w9966 is statically linked it will always perform aggressive probing for |
| 13 | the camera. If built as a module you'll have more configuration options. |
| 14 | |
| 15 | Options: |
| 16 | modprobe w9966.o pardev=parport0(or whatever) parmode=0 (0=auto, 1=ecp, 2=epp) |
| 17 | voila! |
| 18 | |
| 19 | you can also type 'modinfo -p w9966.o' for option usage |
| 20 | (or checkout w9966.c) |
| 21 | |
| 22 | The only thing to keep in mind is that the image format is in Y-U-Y-V format |
| 23 | where every two pixels take 4 bytes. In SDL (www.libsdl.org) this format |
| 24 | is called VIDEO_PALETTE_YUV422 (16 bpp). |
| 25 | |
| 26 | A minimal test application (with source) is available from: |
| 27 | http://hem.fyristorg.com/mogul/w9966.html |
| 28 | |
| 29 | The slow framerate is due to missing DMA ECP read support in the |
| 30 | parport drivers. I might add working EPP support later. |
| 31 | |
| 32 | Good luck! |
| 33 | /Jakob Kemi |