Introduction to Programming FireWire Devices in VISA

NI-VISA

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]::<vendor ID>::<chip ID>::INSTR". Currently, the only valid options for the board are 0 or None (that is, FIREWIRE0::<vendor ID>::<chip ID>::INSTR or FIREWIRE::<vendor ID>::<chip ID>::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}".