Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Using 1D U8 data format with 6561

I am trying to use the write name wave form vi with a PXI-6561.   It is giving the error [Error -1074118592 occurred at niHSDIO Write Named Waveform (1D U8).vi
] however if I use the vi with the WDT format it works.   Does the 6561 only accept wdt format data?  Is a document that outlines the difference between using the HSDIO drivers for the PXI-6551 as a opposed to 6561?  It seems that some driver vis will work with one but not the other, for instance configure voltage doens't (obviously) work with the 6561 but does with the 6551.

Thanks,
Brian
0 Kudos
Message 1 of 4
(3,569 Views)
To be more specific 1d U8-U32 doens't work with the 6561, just WDT.  When trying to use a 6551 the U8 format doesn't work, so I guess that is my other question.  Why doesn't the U8 format work with the 6551?  I will attach my vi that I am trying to make general enough to work with both the 6551 and 6561.

Brian
 
Win XP LBV 7.1

Message Edited by BrianPack on 09-29-2005 02:15 PM

0 Kudos
Message 2 of 4
(3,566 Views)

Hey Brian.  The 656x will accept U16 binary data, as well as WDT.  I believe the problem you're running into has to do with data width.  The fetch and write functions are closely tied to the data width attribute.  A 16-channel device (such as the 656x) will default to a data width of 2 bytes, thus you must use a U16 flavor of fetch or write (U8 or U16 will return an error).  You've probably noticed that most of our examples check the data width before determining which fetch/write function to use - this is because they were written to work on devices of different data widths.  Data width is user adjustable in the acquisition session, but is read-only in a generation session.  WDT will work because it only checks to see that the number of signals in the waveform are the same as the number of channels configured.

Documentation for most attributes and functions explain which devices they are valid on, or if there are device-specific default values.  I checked our documentation on WriteNamedWaveform, and we have a gap in that we don't discuss data width there.  We will correct this in a subsequent release.  There aren't many others that have differences, and generally the differences are caused by inherent differences in HW capabilities (i.e. LVDS vs. programmable voltages, different number of channels, different possible values for sample rates, etc).  A few differences that maybe aren't so obvious

- the 656x doesn't support tristate as a valid selection for initial/idle states (see documentation). 

- the 656x is the only device that allows double-data rate (DDR) mode (again, see documentation for details). 

- you can choose if you want PFI3 of the 656x to be LVDS or signle-ended LVCMOS.

- the 656x has some extra restrictions when using on data delay (see documentation)

- the 656x does not have programmable input impedance

In general, however, configuring timing, triggers, events, TClk, scripting, static I/O, etc are almost identical for all SMC-based HSDIO devices (654x, 655x, 655x).  We also try really hard to provide descriptive error messages so that if you do try to do something that isn't supported, we'll help guide you in the right direction.

I hope this information helps.  I apologize for not having the data width information better documented in the WriteNamedWaveform function - we'll fix that.

Chris

 

 

0 Kudos
Message 3 of 4
(3,548 Views)

Thanks for the information!

Brian

0 Kudos
Message 4 of 4
(3,543 Views)