Re: [libdc1394-devel] Re: Triggering a pixelink A741 camera
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Johann S. <j.s...@ir...> - 2006-03-22 21:48:46
|
Hi Aravind Serial ports normally have outputs that swing between -12V and +12V. You need to check whether your trigger inputs might be hurt by the negative voltage swing. I don't know how to get round that without an external circuit. It does not have to be complex, just a diode and a resistor: serial output ---3k3------- trigger input(s) | - ^ | 0V (signal ground) where the "3k3" is a 3300 ohm resistor and the "^" is a signal diode (make sure it is connected the right way round). This will limit the negative voltage swing to -0.6V which should be safe. If your serial port only outputs TTL levels (unlikely for a desktop computer but it does happen) then you will need a driver chip too (eg. MAX-232, LT1130, LT1080). Look in any introductory electronics book for more information. I don't know what causes your linker error. Good luck, Johann Aravind Sundaresan wrote: > hi everybody, thanks for the many suggestions. > > johannes, what is the voltage output level for the serial port: can it > be set to 12V? i need a square pulse whose levels are 0V and 12V (maybe > > 8V will do, but not TTL). > > i'm trying to avoid external circuitry if possible. > > i need to be able to control the frequency, so that rules out the 555 > timer. > > when i tried to use the GetCameraAdvControlRegister() function, the > linker gives an error. i have included the dc1394_register.h file and > also the libdc1394 library. the other dc1394* functions are linked just > fine. this error happens if i use other functions in dc1394_register.c > such as GetCameraROMValue() as well. this error persists even when i > directly use /home/fmccall/src/dc1394- > 2.0.0-20060207/libdc1394/dc1394_register.o from the compiled sources. > > [fmccall@keck00 pixelink]$ make gpo2 > g++ -g -O2 -Wall -I/opt/libdc1394-2.0.0-20060207/include/dc1394 -o gpo2 > gpo2.c options.o common.o -lm -lstdc++ > -L/opt/libdc1394-2.0.0-20060207/lib/ -L/usr/local/lib -lraw1394 -ldc1394 > /tmp/ccIikbKr.o(.text+0xde): In function `main': > /home/fmccall/aravind/pixelink/gpo2.c:55: undefined reference to > `GetCameraAdvControlRegister(__dc1394_camera*, unsigned long long, > unsigned int*)' > collect2: ld returned 1 exit status > make: *** [gpo2] Error 1 > > [fmccall@keck00 pixelink]$ ls /opt/libdc1394-2.0.0-20060207/lib/ > libdc1394.a libdc1394.la <http://libdc1394.la> libdc1394.so > libdc1394.so.20 libdc1394.so.20.0.0 > > [fmccall@keck00 pixelink]$ g++ -g -O2 -Wall > -I/opt/libdc1394-2.0.0-20060207/include/dc1394 -o gpo2 gpo2.c options.o > common.o /home/fmccall/src/dc1394-2.0.0-20060207 > /libdc1394/dc1394_register.o -lm -lstdc++ > -L/opt/libdc1394-2.0.0-20060207/lib/ -L/usr/local/lib -lraw1394 -ldc1394 > /tmp/ccMvvI6t.o(.text+0xde): In function `main': > /home/fmccall/aravind/pixelink/gpo2.c:55: undefined reference to > `GetCameraAdvControlRegister(__dc1394_camera*, unsigned long long, > unsigned int*)' > collect2: ld returned 1 exit status > > i'll be grateful for any help. > > thanks, > aravind. > > On 3/19/06, *Johann Schoonees* < j.s...@ir... > <mailto:j.s...@ir...>> wrote: > > > Aravind Sundaresan wrote: > > We have 8 pixelink a741 cameras in our lab and would like to > trigger them > > synchronously. it is possible to trigger them using one of the > cameras > > themselves (GPO- general purpose output) pins. i wonder if > anybody has had > > any luck using the GPO on the pixelink cameras on linux. > > > > Alternatively, does anybody have a PCI based DAC card or > something similar > > to produce a square wave of desired frequency and voltage (0-12V) > that can > > be set using a C program? > > I don't know about using an a741 to generate trigger outputs, but it > is very easy to make a square wave with your PC. You don't need a > DAC. Just program one of the serial port output control lines (eg. > DTR) to go up and down periodically. There is example code in the > libdc1394 FAQ under the question about measuring latency. > > Johann -- Johann Schoonees Research Engineer Industrial Research Ltd, PO Box 2225, Auckland, New Zealand Phone +64 9 9203679 Fax +64 9 3028106 www.irl.cri.nz This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. MailScanner Supplied by ITS-HelpDesk. ext 4001 or email hel...@ir...-- |