09-29-2005 01:38 PM
09-29-2005 02:14 PM - edited 09-29-2005 02:14 PM
Message Edited by BrianPack on 09-29-2005 02:15 PM
09-30-2005 01:42 PM
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
09-30-2005 02:00 PM
Thanks for the information!
Brian