<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: I2C Digital Waveform (IDW) in Components</title>
    <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/893639#M152</link>
    <description>&lt;P&gt;Hi David, &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I installed IDW library 1.1 in 11/08, but Close.vi with sample quantum option is not updated. Not being able to reinstalling, can you give me a copy of source file so I can manually update it in my system? &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Anne&lt;/P&gt;</description>
    <pubDate>Tue, 21 Apr 2009 16:26:19 GMT</pubDate>
    <dc:creator>Anne_Z</dc:creator>
    <dc:date>2009-04-21T16:26:19Z</dc:date>
    <item>
      <title>I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/799046#M68</link>
      <description>&lt;P&gt;&lt;FONT size="2"&gt;Please provide feedback, comments, and questions on&amp;nbsp;the &lt;/FONT&gt;&lt;A href="http://zone.ni.com/devzone/cda/epd/p/id/6080" target="_blank"&gt;&lt;FONT size="2"&gt;I2C Digital Waveform Reference Library&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size="2"&gt; in this thread.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV class="message-edit-history"&gt;
&lt;P&gt;&lt;FONT face="Arial" size="2"&gt;- David&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;SPAN class="edit-author"&gt;&lt;FONT face="Arial" size="2"&gt;(posted by Christian on behalf of David)&lt;/FONT&gt;﻿&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 May 2011 18:56:48 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/799046#M68</guid>
      <dc:creator>Christian_L</dc:creator>
      <dc:date>2011-05-24T18:56:48Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/802989#M71</link>
      <description>&lt;P&gt;I just started a contract today where I need to implement the I2C/SMB bus with a NI-6552 HSDIO PXI instrument.&amp;nbsp; I feel like I just hit a grand slam when I found this code.&amp;nbsp; I will be implementing this code to formulate I2C packets in the days to come.&amp;nbsp; I will let you know how it turns out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyone out there have any experience implementing or additional comments concerning the implementation of I2C using HSDIO?&amp;nbsp; In particular, I am interested in the handshaking aspect--using the ACK or NACK to trigger the transmit of the next packet content from the master. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;James Hannah&lt;/P&gt;&lt;P&gt;RF Test and Measurement Solutions &lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2008 02:40:07 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/802989#M71</guid>
      <dc:creator>jahannah</dc:creator>
      <dc:date>2008-11-04T02:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803320#M72</link>
      <description>&lt;P align="left"&gt;Hi jahannah - &lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;I just posted that article yesterday
:)&amp;nbsp; Glad to see it's going to be useful out there.&amp;nbsp; I'm also working on
a Reference Application for using the IDW library with a PXI-6552 to
conduct a parametric test on the I2C bus.&amp;nbsp; I'll link it from here when
it's done, though I have to admit that it could be awhile.&amp;nbsp; In the
meantime, if you have any specific questions about how to use that
device to get your test running, feel free to post them here.&amp;nbsp; I'll
help out as I can.&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;In direct response to the ACK/NACK
question, I haven't gotten to look into this too much yet.&amp;nbsp; But I
anticipate simply using the Hardware Compare (HWC) engine on the 6552
to find out whether the slave ACK'd.&amp;nbsp; You can use the &lt;STRONG&gt;Hardware Compare - Response Only&lt;/STRONG&gt;
example VI to see how to check the slave's response.&amp;nbsp; If you transmit a
packet and no error shows up afterward, the slave ACK'd and you can
build/send the next packet.&amp;nbsp; If an error pops up, you know it NACK'd
and can act accordingly.&amp;nbsp;&amp;nbsp; If you want more resolution than just the &lt;EM&gt;presence&lt;/EM&gt; of an error, you can use the &lt;STRONG&gt;niHSDIO HWC Fetch Sample Errors&lt;/STRONG&gt; VI to get the actual sample location of any given error.&amp;nbsp; This tells you &lt;EM&gt;when&lt;/EM&gt; the slave(N)ACK'd.&lt;/P&gt;&lt;P align="left"&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="left"&gt;If this is an ATE system, you may also consider building packets that don't listen to the slave's response message.&amp;nbsp; The &lt;STRONG&gt;Add Data Byte&lt;/STRONG&gt; VI will add a compare sample for every bit when used in &lt;STRONG&gt;Rx&lt;/STRONG&gt; mode.&amp;nbsp; If you put it into &lt;STRONG&gt;Tx&lt;/STRONG&gt; mode with &lt;FONT face="courier new,courier"&gt;0xFF&lt;/FONT&gt;
as the data though, it'll omit that sample and just tristate the line
during the bit times.&amp;nbsp; This lets the slave send its data while the
master ignores it.&amp;nbsp; It also reduces the number of compare samples you
have to generate, which will decrease your memory requirement on the
6552.&amp;nbsp; Here's an image of the edits you'd make to the &lt;STRONG&gt;IDW Receive - Multi Byte&lt;/STRONG&gt; VI to do this. &lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by David S. on &lt;/SPAN&gt;&lt;SPAN class="local-date"&gt; 11-04-2008&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt; 10:06 AM&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 04 Nov 2008 16:06:24 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803320#M72</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2008-11-04T16:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803577#M74</link>
      <description>&lt;P&gt;David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to post a reply, but it does not look like it made the trip.&amp;nbsp; This is a retry.&amp;nbsp; Attached is my current (preliminary) code for Multi-Byte Write.&amp;nbsp; It works great.&amp;nbsp; However, it ignores the acknowledge, and I don't want it to.&amp;nbsp; To get this code to work, I took your example and changed the enum on the BD from ListenACK to SendNACK, which was required to get the L's out of the write pattern.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I specifically need from NI, is for you to look at page 11 of the TSL2560 data sheet (last item) at&amp;nbsp;&lt;A href="http://www.taosinc.com/ProductDetail.aspx?product=23" target="_blank"&gt;http://www.taosinc.com/ProductDetail.aspx?product=23&lt;/A&gt;&amp;nbsp; and provide working examples of Write Byte with ACK and Read Byte with ACK.&amp;nbsp; I will also read and write words, but I can use the byte VIs as a template.&amp;nbsp; Please post the code to this forum, look up NI Service Request Number 1268003 to get my phone number, and call me to let me know when the code is available. (I will be away from my email client during business hours.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is time critical, so any help that you can provide will be appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2008 23:43:05 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803577#M74</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2008-11-04T23:43:05Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803578#M75</link>
      <description>&lt;P&gt;David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I forgot to mention that I am using a PXI-6552.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;</description>
      <pubDate>Tue, 04 Nov 2008 23:44:19 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/803578#M75</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2008-11-04T23:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804089#M77</link>
      <description>&lt;P&gt;Paul,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the missing code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;</description>
      <pubDate>Wed, 05 Nov 2008 16:13:59 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804089#M77</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2008-11-05T16:13:59Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804100#M78</link>
      <description>&lt;P&gt;Paul,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I changed the Close VI to append conditionally.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;James&lt;/P&gt;</description>
      <pubDate>Wed, 05 Nov 2008 16:22:17 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804100#M78</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2008-11-05T16:22:17Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804152#M79</link>
      <description>&lt;P&gt;&amp;nbsp;Hi "Anne" &lt;IMG id="smileywink" class="emoticon emoticon-smileywink" src="https://forums.ni.com/i/smilies/16x16_smiley-wink.gif" alt="Smiley Wink" title="Smiley Wink" /&gt; -&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It may be that my recommendation on ignoring the &lt;EM&gt;data&lt;/EM&gt; coming from the slave was confused with the &lt;EM&gt;acknowledge bit&lt;/EM&gt; coming from the slave.&amp;nbsp; The latter should absolutely be checked with a compare sample, to make sure the slave is responding to the master appropriately.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you send a NACK to the slave device, the master is controlling the SDA line.&amp;nbsp; It doesn't make sense to listen to that line with a compare sample, since you already know its value will be Z when the master sends NACK.&amp;nbsp; It only makes sense to compare the line's state against an expected value when the &lt;EM&gt;slave&lt;/EM&gt; is sending ACK/NACK.&amp;nbsp; In this situation, choose the &lt;STRONG&gt;Listen ACK&lt;/STRONG&gt; or &lt;STRONG&gt;Listen NACK&lt;/STRONG&gt; state for that VI. If you look at the &lt;SPAN class="noindex"&gt;&lt;STRONG&gt;IDW Transmit - Multi Byte&lt;/STRONG&gt;&lt;/SPAN&gt; example, you can see that I'm listening for an ACK from the slave in every byte.&amp;nbsp; This inserts an "L" sample into every ACK bit, as expected.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Although I'm absolutely looking for feedback on this component library and want to help people understand how to use it, I won't be able to write code for your slave for you.&amp;nbsp; If you need hired help developing your project, I recommend contacting one of NI's &lt;A href="https://www.ni.com/en/partners.html" target="_blank" rel="noopener"&gt;Alliance Members&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Apr 2025 13:53:50 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/804152#M79</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2025-04-15T13:53:50Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/816227#M82</link>
      <description>&lt;P&gt;Hello Christian,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks for that library, it is very usefull. &lt;/P&gt;&lt;P&gt;But how can I receive data over I2C with your library? &lt;/P&gt;&lt;P&gt;Can you give me a small example or explain how I have to implement that?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2008 21:27:33 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/816227#M82</guid>
      <dc:creator>Brueller</dc:creator>
      <dc:date>2008-11-28T21:27:33Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/816314#M84</link>
      <description>&lt;P&gt;Hi Brueller - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The example program &lt;STRONG&gt;IDW Receive - Multi Byte.vi &lt;/STRONG&gt;that's installed by the component builds a waveform that compares the slave's message against an expected response.&amp;nbsp; As I explained to jahannah &lt;A href="http://forums.ni.com/ni/board/message?board.id=Components&amp;amp;message.id=72#M72" target="_blank"&gt;above&lt;/A&gt;, you can look at the HSDIO examples to learn how to fetch the locations of sample errors. Then simply compare them against your expected message to determine the data that came back from the slave.&amp;nbsp; I recommend using 0x00 as your expected byte, so every error is known to be a '1'. This lets you rebuild the response packet without having to check each bit against the expected value.  &lt;/P&gt;</description>
      <pubDate>Sat, 29 Nov 2008 20:25:36 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/816314#M84</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2008-11-29T20:25:36Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/848908#M104</link>
      <description>I saw your I2C VI suite and and would like to try talking to a device using them. How do I direct the DWDT waveform to physical digital I/O pins of a DAQmx device?</description>
      <pubDate>Sun, 08 Feb 2009 03:43:34 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/848908#M104</guid>
      <dc:creator>fr@nk</dc:creator>
      <dc:date>2009-02-08T03:43:34Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849583#M106</link>
      <description>&lt;P&gt;Hi Frank - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The IDW library was designed for use with the NI 655x devices.&amp;nbsp; Specifically, it takes advantage of two features on these boards:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Per-cycle tristate: To fully communicate on an I2C bus, you have to be able to drive an &lt;STRONG&gt;open-collector output&lt;/STRONG&gt; and read an input on the same pin.&amp;nbsp; The buffers on the 655x can be tri-stated in a single clock cyce, allowing them to both drive data passively and sample on the very next clock cycle.&lt;/LI&gt;&lt;LI&gt;Hardware compare: IDW builds waveforms that use single-bit compare states (H and L) to check a slave's response on the bus.&amp;nbsp; This offloads processing the response data from the system software, making the application much more efficient.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;You may be able to edit the IDW source code to work with a DAQmx-based device, but you'll have to work with only a subset of the functionality.&amp;nbsp; Here are some pitfalls and workarounds I can see:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The only other clocked DIO device that supports open-collector outputs is the 6534.&amp;nbsp; If you use a DAQ (E-, M-series, etc.) or another 653x device, you'll be stuck with actively driven outputs.&amp;nbsp; This means that you won't be able to listen to the slave's responses (data and ACK) while the DO session is active.&lt;/LI&gt;&lt;LI&gt;No other device supports the compare and tristate states (L, H, X, Z, V, T) in a waveform.&amp;nbsp; You'll have to either edit the IDW code to generate an active-drive waveform (1 and 0 only) or write a find-and-replace function that changes the Z's to 1's.&lt;/LI&gt;&lt;LI&gt;Without per-cycle tristating, you'll have to tell the DO session to tristate the buffers immediately after generating each segment of the waveform, so you don't interfere with the DUT's attempt to respond with an ACK bit or a data byte.&lt;/LI&gt;&lt;LI&gt;You can trigger the acquisiton (DI) task off the generation (DO) task to capture an ACK bit after you've sent data -- or to capture a data byte after the first ACK bit.&amp;nbsp; Because of the above requirement of ending the DO session after generating the waveform though, this means that you'll have to stop-and-restart the sessions to transfer every byte.&amp;nbsp; Some chips have a maximum limit to the amount of time between clock pulses; make sure you won't violate it waiting for the software to restart the sessions.&lt;/LI&gt;&lt;LI&gt;Without hardware compare, you'll have to write a bit-banging funciton to parse the acquired waveform and extract the valid bits that were sent by the slave.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;It's not an impossible task, but it's largely simplified by the 655x's features. &lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2009 20:49:25 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849583#M106</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2009-02-09T20:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849603#M107</link>
      <description>&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the response. I think I'll use a micro with hardware I2C for this, sounds like it will be easier but I have a question. I downloaded the 3 examples ( IDW Transmit, Receive and Combined and opened all of the VIs to see what was going on. Each of the VIs add&amp;nbsp;the locis state and timing information for an I2C function (Start, Ack, etc.) and append it to&amp;nbsp;'Data Type of Wire and when all the functionality&amp;nbsp;has been appended the data is converted to a waveform and displayed. Where is the interface to the actual hardware I/O port lines for the SCL and SDA signals implemented?&amp;nbsp;I didn't see any hardware&amp;nbsp;task or physical channel hooks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Frank&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2009 21:30:34 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849603#M107</guid>
      <dc:creator>fr@nk</dc:creator>
      <dc:date>2009-02-09T21:30:34Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849624#M108</link>
      <description>&lt;P&gt;Hi Frank - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There aren't any.&amp;nbsp; I had to scope this project to some degree, and since there are so many hardware options and two different drivers (NI-DAQmx and NI-HSDIO) available for a task like this, I decided to provide a tool that &lt;SPAN style="text-decoration: underline"&gt;just helps you build a digital waveform (DWDT) for this protocol&lt;/SPAN&gt;.&amp;nbsp; It doesn't do any of the work of configuring your specific hardware with your preferred driver; making an encompassing tool for all the existing permutations alone would be really hard.&amp;nbsp; And supporting such a tool for future releases of NI hardware and drivers would require me to quit my day job. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will admit my plan to publish one or two examples that utilize this component in a hardware-based application.&amp;nbsp; I can't promise a delivery date on those, as they get prioritized against lots of other tasks, but the first such example should be up "soon".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;</description>
      <pubDate>Mon, 09 Feb 2009 21:42:24 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/849624#M108</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2009-02-09T21:42:24Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/852411#M109</link>
      <description>&lt;P&gt;Hi all - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;An update to IDW has been released and can be downloaded on the &lt;A href="http://zone.ni.com/devzone/cda/epd/p/id/6080" target="_blank"&gt;main page&lt;/A&gt;.&amp;nbsp; Changes (bug fixes and new features) in &lt;SPAN style="font-weight: bold"&gt;v1.1.0&lt;/SPAN&gt; are listed in the readme file. &lt;/P&gt;</description>
      <pubDate>Thu, 12 Feb 2009 23:04:26 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/852411#M109</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2009-02-12T23:04:26Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869133#M127</link>
      <description>&lt;P&gt;I&amp;nbsp;adjust timing parameters tSU;DAT and tHD;DAT to find the minimum required values by device. But when the parameters are set below 100 nS, output waves&amp;nbsp;stop responding to the settings, the setup and hold time are&amp;nbsp;measured 100 nS regardless of the settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I remove or reduce the 100 nS overhead?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anne&lt;/P&gt;</description>
      <pubDate>Wed, 11 Mar 2009 22:12:49 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869133#M127</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2009-03-11T22:12:49Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869560#M130</link>
      <description>&lt;P&gt;Hi Anne - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's your device's sample rate?&amp;nbsp; And what are your desired timing settings?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you post the code that doesn't work? &lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2009 14:37:29 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869560#M130</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2009-03-12T14:37:29Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869686#M131</link>
      <description>&lt;P&gt;Thanks, David.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The attachment is a simplfied version of the current program. &lt;/P&gt;&lt;P&gt;Vih - controls bus voltage using NI-4130 or an external power supply. Vil is set by NI-6552.&lt;/P&gt;&lt;P&gt;I2C clock - sets CLK frequency. Default value is 400K.&lt;/P&gt;&lt;P&gt;Timing parameters&amp;nbsp;are listed&amp;nbsp;at the bottom of front panel.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I edited Mode Timing.dat so the program can pass timing validation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anne&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2009 16:16:04 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869686#M131</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2009-03-12T16:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869725#M132</link>
      <description>&lt;P&gt;Hi Anne - &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking at the default values in your controls and indicators, and at this snippet of code that configures the sample rate fo your HSDIO device:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="text-align: center"&gt;&lt;IMG src="http://forums.ni.com/ni/attachments/ni/Components/132/1/CropperCapture%5B1%5D.Png" border="0" width="391" height="270" align="middle" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I suspect that it's getting configured to a rate of 10 MHz or less. On a 10 MHz sample clock, waveform samples are spaced 100 ns apart.&amp;nbsp; This limits the edge placement resolution to multiples of 100 ns.&amp;nbsp; To increase the resolution, you have to increase the sampling rate.&amp;nbsp; (20 MHz ---&amp;gt; 50 ns, 50 MHz --&amp;gt; 25 ns, 100 MHz, 10 ns)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Remember that the 655x uses divide-down sampling of a 200 MHz onboard oscillator to generate the sample clock.&amp;nbsp; This means that not all configured rates are actually achievable. For example, if you try to configure the board to run at 10.2 MHz, it'll coerce the rate to 10 MHz (200/20).&amp;nbsp; To find out what the actual rate is -- and, if you want, change your selection dynamically based on that information -- query the &lt;SPAN style="font-weight: bold"&gt;Timing &amp;gt;&amp;gt; Sample Clock &amp;gt;&amp;gt; Rate&lt;/SPAN&gt; property from the HSDIO session.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;------------------------- &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something else I noticed, too:&amp;nbsp; You wrote an algorithm that appends samples to the I2C waveform in order to coerce its length to a multiple of 2 for the HSDIO board.&amp;nbsp; This functionality is already present in v1.1.0 of the IDW.&amp;nbsp; Just wire a value of "2" into the &lt;SPAN style="font-weight: bold"&gt;Sample quantum&lt;/SPAN&gt; input on the &lt;SPAN style="font-weight: bold"&gt;IDW:Close&lt;/SPAN&gt; VI. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by David S. on &lt;/SPAN&gt;&lt;SPAN class="local-date"&gt; 03-12-2009&lt;/SPAN&gt;&lt;SPAN class="local-time"&gt; 11:58 AM&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 12 Mar 2009 16:58:31 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/869725#M132</guid>
      <dc:creator>David S.</dc:creator>
      <dc:date>2009-03-12T16:58:31Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Digital Waveform (IDW)</title>
      <link>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/870017#M133</link>
      <description>&lt;P&gt;David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your suggestion of&amp;nbsp;resetting sample rate worked. I am very pleased, though realize that I won't&amp;nbsp;be able to set a near 0 nS setup time. Current sample clock is 98.5M hz. The minimum displayed setup time is 10nS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I downloaded the IDW 1.1.0. Is "Dig Waveform to Prepend" in Close.vi the same terminal you&amp;nbsp;call Sample quantum?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anne&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2009 22:36:44 GMT</pubDate>
      <guid>https://forums.ni.com/t5/Components/I2C-Digital-Waveform-IDW/m-p/870017#M133</guid>
      <dc:creator>Anne_Z</dc:creator>
      <dc:date>2009-03-12T22:36:44Z</dc:date>
    </item>
  </channel>
</rss>

