04-20-2010 06:36 AM - edited 04-20-2010 06:37 AM
Hi all,
I'm hoping to try and use the above pxi card to communicate (read/write registers) with a 1394 device.
Unfortunately, this particular PXI card (and to be honest, all NI 1394 solutions) appear to be very camera orientated.
All the documentation points me towards the IMAQ 1394 driver. However, even just to establish an IMAQ 1394 session I need to have a camera ID/camera file.
Is it possible, and if so how would can I use this card for sending custom packets onto the 1394 bus?
Many Thanks
Steve
04-20-2010 09:38 AM
The IMAQ software is of course for camera acquisition. NI-VISA is what you want if you just want raw access to the bus.
http://joule.ni.com/nidu/cds/view/p/id/1605/lang/en
Eric
04-20-2010 10:44 AM
Thanks Eric,
Do you happen to know of any examples for 1394 using Visa? I have no Visa resource that refers to a 1394 port (I'm using a 8104 controller and only have Com1 and LPT1 in the drop down).
Regards,
Steve
04-21-2010 04:11 AM
Hi Steve
Here are some steps that should help you:
Step 1: Configuring NI-VISA to Recognize an INSTR FireWire Device
Each
FireWire device must have a kernel-level driver associated with it;
this is done in Windows via an .inf file. For NI-VISA to recognize your
device, you must run the VISA Driver Development Wizard, available via
the Start menu under National Instruments»VISA.
The wizard first
prompts you for basic information NI-VISA needs to properly locate your
FireWire instrument. This includes the following:
Instrument
Prefix: The VXIplug&play or IVI instrument driver prefix for the
device.
Unit Specification ID: The 24-bit value that identifies the
specification to which the FireWire-based device adheres.
Unit
Software Version: The 24-bit value that identifies the Unit Specification
version to which the FireWire-based device adheres.
In text
boxes where numerical information is required, preceding the number with
0x designates a hexadecimal value. The wizard assumes all other numeric
entries are decimal values.
When you are done, the VISA Driver
Development Wizard generates a Windows Setup Information (.inf) file.
Before a FireWire device is visible to NI-VISA, you must use the .inf
file to update the Windows system registry. To manually install the .inf
file, open the appropriate .inf file in a text editor and follow the
instructions on the first few lines at the top. Alternately, you can let
the wizard install the .inf file before the wizard exits.
Step
2: Introduction to Programming FireWire Devices in VISA
Users
who are writing an application for a FireWire device can use NI-VISA to
gain full access to all the device's registers. NI-VISA currently
supports the FireWire interface on Windows and LabVIEW RT (Phar Lap ETS).
A FireWire resource
is uniquely identified in NI-VISA by two characteristics: the FireWire
vendor ID and the FireWire chip ID. Both IDs are extracted from the
64-bit GUID, which comes in two 32-bit halves. The vendor ID is the
upper 24 bits of the upper half of the GUID. The chip ID is a
combination of the lower 8 bits of the upper half of the GUID and the 32
bits of the lower half of the GUID. The canonical resource string you
pass to viOpen() for a FireWire device is "FIREWIRE[board]::::::INSTR". Currently, the only valid options for the
board are 0 or None (that is, FIREWIRE0::::::INSTR
or FIREWIRE::::::INSTR).
If you do
not know the resource string, you can query the system with viFindRsrc()
and use or display the resource(s) returned from that operation. You
can create a query to search for devices of a particular attribute
value. For example, if the FireWire vendor ID for National Instruments
is 0xBE1394, you could find all National Instruments 1394 devices by
calling viFindRsrc() with the expression
"FIREWIRE?*INSTR{VI_ATTR_FIREWIRE_VENDOR_ID==0xBE1394}".
I hope this helps.
04-21-2010 04:14 AM
Dear Steve
Here is also a link where you can downlaod the latest version of NI-VISA
http://joule.ni.com/nidu/cds/view/p/id/1605/lang/en