FireFly MV USB on OSX

Hi everybody,

My new firefly camera arrived just this morning but I’m stuck getting it to work on osx (leopard).

It’s a Firefly camera from Point Grey with usb interface (no firewire).

There’s some info on getting it to work with firewire (libdc1394) and I tested it. But with the examples that come along I got: no cameras detected.
http://sourceforge.net/projects/libdc1394/

For now it seems there is no solution getting the usb interface to work on osx, or am I mistaking? Or am I mixing up libraes for usb/firewire. I am pretty new to this :slight_smile:

Is there anybody out there who can help me with this one?

Thank you very much in advance.

Kind regards,

ive got a firewire firefly so read a lot about it on the forum but i haven’t heard of anyone getting the USB firefly working on OSX, just firewire using the libdc1394. be interested to know if there is a way of getting it work…

Well, libdc1394 supports usb for some cameras apparently, but I’m not sure if it works under OSX…at least you would need libusb. I don’t have one of these cameras so I can’t test it unfortunately…

http://www.ptgrey.com/support/kb/printable.asp?q=17

Thanks for the response guys.

I am still in the dark I’m afraid.

This is where I am now:

  1. I run Leopard (not snow)

  2. I /configure and then make/install libusb-10.0.8
    http://www.libusb.org/

  3. I ./configure libdc1394 with modifications in the file located at dc1394/usb/control.c
    It seems you have to add some entries in this file for the software to recognize the Firefly 13SC2 model.

Edit the USB/control.c file, located in the libdc1394 source directory, by adding the camera vendor ID and camera ID to struct vendor_product_t as follows:
{ 0x1e10, 0x2002 }, // Point Grey High Res Firefly MV Color
{ 0x1e10, 0x2003 }, // Point Grey High Res Firefly MV Mono

http://sourceforge.net/projects/libdc1394/
http://www.ptgrey.com/support/kb/index.-…-ontrol%2Ec

  1. When I try to ./configure make the libdc1394 I get this message at the end:
    libraw1394 support (Linux legacy): Disabled (Linux not detected)
    Juju support (Linux new): Disabled (Linux not detected)
    Mac OS X support: Enabled
    Windows support: Disabled (Windows not detected)
    IIDC-over-USB support: Disabled (libusb-1.0 not found)

Look at the last line… It says libusb-10.0 not found. But it’s there…
I have usr/local/include/libusb-1.0/libusb.h for instance.

  1. I make/install the libdc1394 but the examples still say ‘no cameras detected’

Thanks for your help!

Cheers,

Well, somehow the configure script is not finding libusb. You will need to have that detected by the installation before it will work…probably it’s some path issue…not sure.

Thx guys,

I managed to get something working now :slight_smile:

It seemed that when configuring the dc1394, pkg config is needed in order for the dc1394 to recognise libusb. Phew…

So

  1. install pkg config (http://pkg-config.freedesktop.org/wiki/)
  2. install libusb (http://www.libusb.org/)
  3. install libdc1394 (http://sourceforge.net/projects/libdc1394/)

Then I try to compile one of the sample programs in the libdc1394 distribution and bingo!
This is the output I get:

Using camera with GUID b09d01009ae2ba
------ Features report ------
OP - one push capable
RC - readout capable
O/OC - on/off capable
AC - auto capable
MC - manual capable
ABS - absolute capable

and so on…

In this example the output is a *.pgm grayscale image file. When I open this with Photoshop it’s a greyish gradient picture.
When I try a color picture which is a *.ppm file the image (in Photoshop) is black.

I do not have a lens yet installed on the firefly.
So the questions are:

  1. Is the output (a black image) the result of not having a lens on the firefly?
    (if you use the firefly without a lens what doe you normally see?)
  2. What would be a good lens to start of with for general purposes.

Thank you very much in advance!

Kind regards,

It’s workingi jeeee

but…

I’ve tested the camera with a Computar M0814 8mm F1.4 lens.
And this is what I’ve got.

So yes the Firefly USB works on Mac.

The problem:

  1. I don’t have a lens. I used this one on the spot at the university in Gent.
    But there was not enough time to do extended testing.

  2. It’s blurry and I wasn’t able to get a color picture…

  3. The image is produced with examples coming from the DC1394 lib. I didn’t get it to work within Quicktime → OpenCV, OpenFrameWorks, Processing, Flash,… nada, nothing, zilch. It should be possible but see point 4…

  4. I am thinking about NOT buying a 200$ lens when actually a 50$ sony ps3 is good enough.

  5. So I guess my 300$ Firefly cam will be stuck on my shelve for now…

did you try it with Pierre’s ofxVideoGrabber yet?

that does libdc1394 in OF.

Hi guys,

I followed your suggestions (I also have a Firefly USB) in this way:

  1. install (./configure;make; make install) pkg config (http://pkg-config.freedesktop.org/wiki/)
  2. install (./configure;make; make install) libusb (http://www.libusb.org/)
  3. install (./configure;make; make install) libdc1394 (http://sourceforge.net/projects/libdc1394/)
  4. I modified control.c adding
    { 0x1e10, 0x2002 }, // Point Grey High Res Firefly MV Color
    { 0x1e10, 0x2003 }, // Point Grey High Res Firefly MV Mono

Unfortunately, when trying to do ./configure;make; make install for libdc1394 I get:

libraw1394 support (Linux legacy): Disabled (Linux not detected)
Juju support (Linux new): Disabled (Linux not detected)
Mac OS X support: Enabled
Windows support: Disabled (Windows not detected)
IIDC-over-USB support: Disabled (libusb-1.0 not found)

which then results in “camera not detected” when I try to run one of the precompiled codes for image grabbing.

Do I do something wrong in 1., 2. o 3. in the way I install those libraries? SHould I use some specific command of pkg config?

Thanks for your help!

@ wimvanhenden,

Try the fireflymv with ofxVideoGrabber, but you will need to replace my packaged libdc1394 library with the one you have compiled, as I didn’t compile for libusb, and see if that works…

hi guys
just wondering if anyone ended up successfully editing ofxVideoGrabber to incorporate USB fireflies for OSX. If so, would be great for this to end up in the main release (we just ordered a USB one by accident so will now have to exchange it :wink:
cheers.

Not sure if you need to change anything in ofxVideoGrabber, but you will need to recompile lib1394 to support USB on OSX…

I don’t have such a camera so I can’t test it unfortunately.

alrighty. will try find some time tomorrow to compile a new
./libs/osx/lib/libdc1394.a
and try that with the existing ofxVideoGrabber before we exchange cams
will post back if i have any success

*EDIT*

okay, so i had a crack:
-I installed pkg config and lib usb. then to be able to compile libdc i had to run the following in terminal:
export LIBUSB_LIBS=/usr/local/lib
-i then copied the new libdc1394.a from /usr/local/libs into my ofxVideoGrabber
project to replace the original. but then when i go to compile the project I get a warning saying

ld: warning: in ./libs/osx/lib/libdc1394.a, file is not of required architecture

and then 46 similar errors starting with…

  
  "_dc1394_get_color_coding_from_video_mode", referenced from:  
      Libdc1394Grabber::initCamera(int, int, dc1394video_mode_t, dc1394framerate_t, dc1394color_coding_t)in Libdc1394Grabber.o  

symbols(s) not found :frowning:

Sounds like you are very close. You need to match the library you compile with the versions of OSX you are compiling to in XCode…or something like that…or make a universal binary.

You can select in XCode which target versions of OSX you are compiling for, try different versions see what you get.

The error btw is a linking error. The compiler can’t find the right functions in the lib1394.a that you have referenced in your code, and in this case it seems to be due to a versioning problem.

ah thanks. i’ve actually been compiling in terminal but will suss out options there before trying in xcode. should get a chance to have another solid crack within the next couple days. cheers.

wimvanhenden: if you have the camera and are on a budget, buy a cheap lens from ebay for 15$ just make sure its CS mount.

hey so it seems that libdc compiles for 10.4. I am on snow leopard and not able to use 10.4 as a base sdk anymore so assume this may be the prob. however, the libdc configure scripts says that it auto detects the system if 10.5 or newer and sets that as the deployment target. but whenever i run configure it incorrectly sets the build system to 10.4. i have tried exporting variables and editing the makefile directly to override this but have had no luck. has anyone else compiled for a different target? (it tells you what it’s doing in the first few lines of the ./configure output)

I realise this is an old post… but it’s the closest to what I’m looking for… and my new post hasn’t had any replies yet. Hopefully this should give a bit of the background…

I’ve just bought a Point Grey Firefly MV FMVU-13S2C - the 1.3MP, USB, colour one
and am trying to get it working in oF 0071/Xcode 4.3.2 on OSX 10.7.4…

Anyone got any recent experience with this camera or other Point Grey USB models on OSX?

I’m going to follow the suggestions in this thread… but the last posting was 2 years ago… and I’m not sure these steps will still apply in the current versions of oF, OSX and Xcode… it talks about an OS X 10.4 SDK for example.

Any advice would really appreciated…

Best

L

i’ve never used a usb camera on osx with libdc, only on windows.

but i would say that all the instructions in this thread are relevant to your current situation. libsc1394 hasn’t really changed in the last two years. you’re just going to need to download and compile from source with the right (+usb, +universal) configuration. if you haven’t done it before, it can be kind of a pain the first time.

maybe also try messaging nay directly to see if he ended up with a working library?

OK… with the help of Elliot Woods (much appreciated Elliot) this is now working…

With no github account yet I’ve uploaded ZIPs of the working example and adjusted library folders to my public Webdisk - http://phd.lewissykes.info/webdisk/FireflyMV-USB/

On my set up - oF 0071/Xcode 4.3.2/OS X 10.7.4 - the example folder is in the ‘of_0071_osx_release > apps > myApps’ folder and the library - which includes the alternate libdc1394.a and libusb-1.0.a files recompiled for USB support and 32-bit - in an ‘of_0071_osx_release > addonsOther’ folder…

This is a basic working version… the left hand side shows the raw capture stream - the right hand side a colour stream processed through openCV…

Any advice on optimising this code would be appreciated…

I’m working up an ofxUI interface version which gives accesses to some of the camera functionality which I’ll post shortly…