Display and grab pictures from sonix webcams (sn9c10x)
* How to use sonix
Click on the icon! The interface is now organized with 2 panels: control and
settings. The latter manages saving and FTP parameters (and gives information
about the webcam as well). Once configured, maybe filling the configuration
file, you will just use the control panel, that allows to modify live the
display and the action to apply on each image, choosing an acquisition mode.
New in version 0.40 :
- Added gain/brightness support
- Possible to save file locally
- Added the possibility of incremental saving
- Reworked the GUI to manage changes above
- Source code is provided: I wanted to do that a long time ago but as it was
an investigation project, the code was not clean enough. I spent time
to make it better. I hope that will help. Don't hesitate if you have ideas
or want to contribute. Files are kept in an svn repository so I can apply
patches or even give access to it to people really interested.
I would like to thank my friend K-L who encouraged me to implement these
features and you know what? I think this app is usable only now for real
use cases. For example, you can send a picture on a website and save it with
an incremented filename, what allows you to make a movie afterwards.
I mainly worked on this feature during the Alchimie show, at mi-october, 2012.
Each time I was stuck about how to organize changes, K-L came to me and
motivated me, until the end of the night. It was challenging!
* An USB webcam driver !
This program / driver can be used (has been tested) with these webcams :
o Sweex 100K :
- VendorID = 0x0c45, ProductID = 0x6009 (sensor pas106b)
- VendorID = 0x0c45, ProductID = 0x6005 (sensor tas5110c1b)
o Trust SpaceCam 150 Portable
- VendorID = 0x0c45, ProductID = 0x6029
o Macally IceCam Portable
- VendorID = 0x0c45, ProductID = 0x6007
It supports both USB stacks Poseidon (on MorphOS) and Sirion
(on AmigaOS 4) and allows to display images using SDL or MUI.
It has been tested with success on Linux too (SDL frontend only).
Sources will be provided to help those that would be interested to
learn some things, develop other drivers, enhance the code or give ideas.
- The picture size can't be changed at the moment
* Short story
A long time ago, I tried several times to create webcam drivers with the help
of Linux drivers. But I found that the USB mode isochronous
(used for data streaming) was not supported by our systems.
Then, among all my webcams I found one that was supporting the mode bulk
(raw data transfer).
I finally succeeded to catch images (yeah !) and I shew this work in progress
at the Huno party, in spring 2008. This old webcam was very hard to find and
one day there were some available on eBay. What is the interest if I am
the only guy that can use this driver ? So I bought 3 webcams for the Amiga
Just trying one of them ... I saw that of course the chipset was different !
Let's come back to work, after some time it was working with these webcams
The program used SDL and was able to save JPEG images. It was rather
a developer program with poor GUI and interactive actions to understand
the behaviour of the beast.
Finally, I started to write a MUI application that you can try today !
* Technical note
Trying to work cleanly, the program is split in several modules :
- the main program with MUI
- a dedicated subclass MUIC_Sonix
- the driver layer using the libusb API
- the real USB access, with one file per USB stack (Poseidon and Sirion)
* Previous releases
New in version 0.30 :
- Read FTP settings (url and user) from sonix.cfg file
- Get initial RGB values from the config file as well
- Now works on the 2 Macally Icecam I've tested
(it one previously black with one of these webcams, due to the lack
of an initialization sequence)
- Refreshed when reopened after iconification
New in version 0.20 :
- Added FTP support
- The tiny webcam Macally Icecam Portable also works
New in version 0.12 :
- Support of Trust SpaceCam 150 Portable
- Working R, G and B sliders
- Compression has been tested expecting higher frame rate but
it is longer ... maybe the webcam needs much time to compress !
- If other webcams (with different chipset) will be supported, the program name