<?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 Quadrature encoder programming using DDK or DAQmx base in Driver Development Kit (DDK)</title>
    <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/275397#M258</link>
    <description>I spent sometime trying to get my Quad encoder working on a 6229 using either RLP or DAQmx Base. &lt;BR /&gt;&lt;BR /&gt;On the RLP side I did the following modifications base on NI suggestions:&lt;BR /&gt;&lt;BR /&gt;in gpctex1.cpp - simpleEventCountConfigGPCT0()&lt;BR /&gt;board-&amp;gt;G0_MSeries_Counting_Mode.writeG0_MSeries_Alternate_Synchronization(1); // uncomment this line&lt;BR /&gt;board-&amp;gt;G0_Counting_Mode.writeG0_Encoder_Counting_Mode(4); // add this line&lt;BR /&gt;&lt;BR /&gt;No luck the GPCT0 value remains at 0x00000000&lt;BR /&gt;&lt;BR /&gt;if I comment the second line (...writeG0_Encoder_Counting_Mode) &lt;BR /&gt;   the GPCT0 value increase, (or decrease as specified by setG0_Up_Down()) &lt;BR /&gt;But conting/deconting does not work!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I've hacked DAQmx base to reflect the above modification, without success. &lt;BR /&gt;In DAQmxBase Start Task MSeries.vi I forced 'Operation' to be 'position' (not 'CountEdges') and added [G0EncoderCountingMode] + [G0MSeriesAlternateSynchronization] (see the attached picture). Again no luck.&lt;BR /&gt;&lt;BR /&gt;I've checked that I got pulses at both PFI8 (A) and PFI10 (B)&lt;BR /&gt;&lt;BR /&gt;I must be missing *something* in the board configuration! &lt;BR /&gt;&lt;BR /&gt;Your help is welcome&lt;BR /&gt;&lt;BR /&gt;Chris</description>
    <pubDate>Fri, 07 Oct 2005 14:12:58 GMT</pubDate>
    <dc:creator>_Chris</dc:creator>
    <dc:date>2005-10-07T14:12:58Z</dc:date>
    <item>
      <title>Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/275397#M258</link>
      <description>I spent sometime trying to get my Quad encoder working on a 6229 using either RLP or DAQmx Base. &lt;BR /&gt;&lt;BR /&gt;On the RLP side I did the following modifications base on NI suggestions:&lt;BR /&gt;&lt;BR /&gt;in gpctex1.cpp - simpleEventCountConfigGPCT0()&lt;BR /&gt;board-&amp;gt;G0_MSeries_Counting_Mode.writeG0_MSeries_Alternate_Synchronization(1); // uncomment this line&lt;BR /&gt;board-&amp;gt;G0_Counting_Mode.writeG0_Encoder_Counting_Mode(4); // add this line&lt;BR /&gt;&lt;BR /&gt;No luck the GPCT0 value remains at 0x00000000&lt;BR /&gt;&lt;BR /&gt;if I comment the second line (...writeG0_Encoder_Counting_Mode) &lt;BR /&gt;   the GPCT0 value increase, (or decrease as specified by setG0_Up_Down()) &lt;BR /&gt;But conting/deconting does not work!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I've hacked DAQmx base to reflect the above modification, without success. &lt;BR /&gt;In DAQmxBase Start Task MSeries.vi I forced 'Operation' to be 'position' (not 'CountEdges') and added [G0EncoderCountingMode] + [G0MSeriesAlternateSynchronization] (see the attached picture). Again no luck.&lt;BR /&gt;&lt;BR /&gt;I've checked that I got pulses at both PFI8 (A) and PFI10 (B)&lt;BR /&gt;&lt;BR /&gt;I must be missing *something* in the board configuration! &lt;BR /&gt;&lt;BR /&gt;Your help is welcome&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Fri, 07 Oct 2005 14:12:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/275397#M258</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-07T14:12:58Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276511#M264</link>
      <description>&lt;P&gt;Try setting the A and B source using the G0_MSeries_ABZ register&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; board-&amp;gt;G0_MSeries_ABZ.setG0_A_Select(9);&amp;nbsp;&amp;nbsp;&amp;nbsp; //PFI8=9,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; board-&amp;gt;G0_MSeries_ABZ.setG0_B_Select(21);&amp;nbsp; //PFI10=21&lt;/P&gt;
&lt;DIV&gt;I also verified that these register fields are available in the M Series MHDDK in LabVIEW and C.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;FYI: (there is also a register field for G0_Z_Select if you are using a Z index.&lt;/DIV&gt;</description>
      <pubDate>Tue, 11 Oct 2005 20:22:45 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276511#M264</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2005-10-11T20:22:45Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276515#M265</link>
      <description>Also, since you are hacking NI-DAQmx Base, please note that the "position" cases are entirely untested since NI-DAQmx Base does not really support position measurements.&amp;nbsp; The code was written by copying other code and could have errors.&amp;nbsp; None of the top level NI-DAQmx VIs (create&amp;nbsp;channel, start task, etc.) ever traverse the position code path.&amp;nbsp; Just post back if you find any unexplained behavior and we'll try to figure out what's going on.
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 11 Oct 2005 20:30:49 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276515#M265</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2005-10-11T20:30:49Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276733#M268</link>
      <description>Thanks for your reply,&lt;BR /&gt;&lt;BR /&gt;Setting the A and B source might have helped going in the right direction, but it is not enough. &lt;BR /&gt;I still have GPCT0 counting only in one direction despite the encoder going in both directions.&lt;BR /&gt;&lt;BR /&gt;This triggered a question regarding the difference between the setxx and the writexx instructions. It looks like that after a setxx, a flushxx is required (it is used to have all the setxx operations commited at the same time?) while the writexx does write directly to the registers. &lt;BR /&gt;So I added   " board-&amp;gt;G0_MSeries_ABZ.flush(); "  Unfortunatly it did not help my quest.&lt;BR /&gt;&lt;BR /&gt;I've look at what DAQmx does, but the interesting part is hidden in nilvaiu.dll. I would be interresting to know what is performed within DAQmxCreateCIAngEncoderChan()&lt;BR /&gt;&lt;BR /&gt;So I would love to get a working example. I'm sure we can go on trying to play with one register after the other, but it sounds quite unefficiant.</description>
      <pubDate>Wed, 12 Oct 2005 12:56:05 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276733#M268</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-12T12:56:05Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276996#M270</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I hacked DAQmx Base to get this working.&amp;nbsp; I was missing a few things earlier.&amp;nbsp; Attached is a screenshot of the hack I made to DAQmxBase Start Task MSeries.vi and then tested running the Count Digital Events.vi example.&amp;nbsp; I did not get a chance to&amp;nbsp;create a new example for the C MHDDK but hope to soon.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The changes should essentially be:&lt;/DIV&gt;
&lt;DIV&gt;//Set Counting Mode&lt;BR /&gt;board-&amp;gt;G0_MSeries_Counting_Mode.setG0_MSeries_Alternate_Synchronization(1);&lt;BR /&gt;board-&amp;gt;G0_MSeries_Counting_Mode.setG0_MSeries_Encoder_Counting_Mode(1); //1 for X1 encoder counting&lt;BR /&gt;board-&amp;gt;G0_MSeries_Counting_Mode.flush();&lt;BR /&gt;&lt;BR /&gt;//Enable Input Pins&lt;BR /&gt;board-&amp;gt;G0_MSeries_ABZ.setG0_A_Select(9); //PFI8=9,&lt;BR /&gt;board-&amp;gt;G0_MSeries_ABZ.setG0_B_Select(21); //PFI10=21&lt;BR /&gt;board-&amp;gt;G0_MSeries_ABZ.flush();&lt;BR /&gt;&lt;BR /&gt;// Set counter to use HW signal for up/down selection&lt;BR /&gt;board-&amp;gt;G0_Command.writeG0_Up_Down(2): // Software_Down=0, Software_Up=1, Hardware=2, Hardware_Gate= 3 &lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;board-&amp;gt;G0_Input_Select.setG0_Source_Select(20); //PFI8=9, 0=20 MHz&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by Malcolm on &lt;SPAN class="date_text"&gt;10-12-2005&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;04:51 PM&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2005 21:47:44 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/276996#M270</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2005-10-12T21:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/277253#M271</link>
      <description>Works like a charm &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Thanks Malcolm!&lt;BR /&gt;&lt;BR /&gt;I've propagated the hacks from the DAQmx base lower VIs to the top level ones. I'll post it tomorrow. For sure NI solution will be different, but at least one could read Quadrature encoder. &lt;BR /&gt;&lt;BR /&gt;Again Thanks Malcolm</description>
      <pubDate>Thu, 13 Oct 2005 14:31:21 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/277253#M271</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-13T14:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/277668#M272</link>
      <description>As promised here is the modified DAQmx base VIs to implement Quadrature encoder on M-Series board, please note that:&lt;BR /&gt;&lt;BR /&gt;- THIS IS NOT AN OFFICIAL NI PRODUCT &lt;BR /&gt;- You should do a backup prior to install these VIs&lt;BR /&gt;- NI will most likely implement the quadrature encoder support differently&lt;BR /&gt;- The modifications involved change the structure and the behavior of some DAQmx Base VIs, do a backup&lt;BR /&gt;- The implementation is not complete, i.e. Z channel is not supported&lt;BR /&gt;- usual blabla about your responsibility when using this code, do a backup&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;See the ReadMe file to learn where to put the modified VIs/Typedefs&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Fri, 14 Oct 2005 10:40:21 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/277668#M272</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-14T10:40:21Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/278271#M273</link>
      <description>Let's play with the Z channel. Here is the C equivalent of my G programming.&lt;BR /&gt;&lt;BR /&gt;I've added &amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;     board-&amp;gt;G0_MSeries_ABZ.setG0_Z_Select(10);&amp;nbsp; //PFI9=10 &lt;BR /&gt;&lt;BR /&gt;I need to tell CTR0 to reset when the index go low, I tried to use&lt;BR /&gt;&lt;BR /&gt;     board-&amp;gt;G0_MSeries_Counting_Mode.setG0_MSeries_Index_Enable(1); &lt;BR /&gt;     board-&amp;gt;G0_MSeries_Counting_Mode.setG0_MSeries_Index_Phase(1); &lt;BR /&gt;&lt;BR /&gt;Then CTR0 constantly reset, conting only to one or two.&lt;BR /&gt;&lt;BR /&gt;So what do I need to add to have CTR0 correctly reset when the Z goes to 0?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Mon, 17 Oct 2005 12:17:40 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/278271#M273</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-17T12:17:40Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/278908#M274</link>
      <description>&lt;DIV&gt;The three relevant bits from the Counting Mode register are below.&amp;nbsp; You probably need to adjust the Index_Phase&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;G0_Index_Phase&amp;nbsp; bit: 6..5&amp;nbsp; &lt;BR /&gt;This bitfield determines the state of the A and B quadrature signals, and is where the index (or Z signal) is acted upon. The Z index can span multiple phases of the quadrature, but you should reload the counter in only one of the phases. &lt;BR /&gt;0: A low, B low&lt;BR /&gt;1: A low, B high&lt;BR /&gt;2: A high, B low&lt;BR /&gt;3: A high, B high&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;G0_Index_Mode&amp;nbsp; bit: 4&lt;BR /&gt;The effect of setting this bit depends on the counting mode. &lt;BR /&gt;Quadrature Mode:&amp;nbsp; The index (Z) reloads the counter in the phase determined by the value of G1_Index_Phase when the Z input is high.&lt;BR /&gt;Two-Pulse Mode:&amp;nbsp; The counter reloads while Z is active.&lt;BR /&gt;Fast Gate Mode:&amp;nbsp; The gate is synchronized to the counter clock.&lt;BR /&gt;Synchronous Source Mode:&amp;nbsp; Disables edge detection on the source pin, allowing it to be asynchronous.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;G0_Counting_Mode&amp;nbsp; bit: 2..0&lt;BR /&gt;This field determines the counting mode to use to interface to different encoders and applications. &lt;BR /&gt;0: Normal counting mode&lt;BR /&gt;1: Quadrature Mode X1&lt;BR /&gt;2: Quadrature Mode X2&lt;BR /&gt;3: Quadrature Mode X4&lt;BR /&gt;4: Two-Pulse Mode&lt;BR /&gt;5: Fast Gate Mode&lt;/DIV&gt;</description>
      <pubDate>Tue, 18 Oct 2005 16:16:41 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/278908#M274</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2005-10-18T16:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279276#M275</link>
      <description>Thanks,&lt;BR /&gt;&lt;BR /&gt;Something elese must be missing. Since I can't reset CTR0 when the Z index goes to 0.&lt;BR /&gt;&lt;BR /&gt;In DAQmx base I've set the set G0_MSeries_Encoder_Counting_Mode to &lt;BR /&gt;&lt;BR /&gt;   0b1010011 = A high - B low (10)| index one (1) |bit 3 unused (0)| X4 mode (011)&lt;BR /&gt;&lt;BR /&gt;do I need to set G0_MSeries_Counting_Mode.setG0_MSeries_Index_Enable to 1? what else?&lt;BR /&gt;&lt;BR /&gt;What is the difference between G0_MSeries_Index_Enable and the bit 4 of Encoder_Counting_Mode ?&lt;BR /&gt;&lt;BR /&gt;Thanks for you enlightenment&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Wed, 19 Oct 2005 14:03:56 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279276#M275</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-19T14:03:56Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279526#M276</link>
      <description>&lt;P&gt;First - setG0_MSeries_Index_Enable is the correct name for bit 4.&amp;nbsp; I was looking at some older documentation that call the same bit _Index_Mode,&lt;/P&gt;
&lt;P&gt;Second -&amp;nbsp;I'm guessing that you need to adjust the G0_MSeries_Index_Phase value.&amp;nbsp; This Z index behavior of your encoder will vary depending on type.&amp;nbsp; There is a good description in the M Series Help file.&amp;nbsp; For the encoder I am using I set the Index_Phase to&amp;nbsp;0 for A low, B low.&amp;nbsp; All of your other settings (from your 17Oct post) look good.&amp;nbsp; Those are the only three changes I made to my LabVIEW program.&amp;nbsp; Other than that, it could be signal connections (just need A, Z, and B):&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class="Bordered"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="Bordered"&gt;&amp;nbsp;Counter/Timer Signal&amp;nbsp;&lt;/TH&gt;
&lt;TH class="Bordered"&gt;&amp;nbsp;Default Connector 0 Pin Number (Name)&lt;SUP&gt;*&lt;/SUP&gt;&amp;nbsp;&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 SRC&lt;/TD&gt;
&lt;TD class="Bordered"&gt;37 (PFI &lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 GATE&lt;/TD&gt;
&lt;TD class="Bordered"&gt;3 (PFI 9)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 AUX&lt;/TD&gt;
&lt;TD class="Bordered"&gt;45 (PFI 10)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 OUT&lt;/TD&gt;
&lt;TD class="Bordered"&gt;2 (PFI 12)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 A&lt;/TD&gt;
&lt;TD class="Bordered"&gt;37 (PFI &lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 Z&lt;/TD&gt;
&lt;TD class="Bordered"&gt;3 (PFI 9)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="Bordered"&gt;CTR 0 B&lt;/TD&gt;
&lt;TD class="Bordered"&gt;45 (PFI 10)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 19 Oct 2005 22:06:09 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279526#M276</guid>
      <dc:creator>Malcolm</dc:creator>
      <dc:date>2005-10-19T22:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279762#M278</link>
      <description>Ok my mistake! &lt;BR /&gt;&lt;BR /&gt;I did not look carefully enough at my Z pulse. In fact the Z index is active low! That explains my previous founding of allways having CTR0 to reset when the Z channel was enable. It was the correct behavior since the Z channel was always high!  &lt;BR /&gt;&lt;BR /&gt;It doesn't look like I can select the Z channel polarity by software, right ? &lt;BR /&gt;&lt;BR /&gt;I'll add NAND gate on my print to fix this &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks Malcolm&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Thu, 20 Oct 2005 13:29:36 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/279762#M278</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2005-10-20T13:29:36Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/426183#M682</link>
      <description>The provided hack does not work as is for DAQmx base 2.1 (and probably 2.0)&lt;BR /&gt;&lt;BR /&gt;You have to modify the "MSeries.Global.vi" manually to&lt;BR /&gt;    add the "MSeries.Typedef.CTRTaskABZ.ctl" to the "MSeries.Typedef.CTRTask.ctl"&lt;BR /&gt;&lt;BR /&gt;Also you have to also modify the "MSeries.CTR.Preread.vi" as follow:&lt;BR /&gt;    change the case  "CountEdges" into  "CountEdges", "Position" &lt;BR /&gt;&lt;BR /&gt;that's should be it&lt;BR /&gt;&lt;BR /&gt;Lets hope that NI will kindly add this modification to the next release of DAQmx base &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Wed, 11 Oct 2006 13:54:24 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/426183#M682</guid>
      <dc:creator>_Chris</dc:creator>
      <dc:date>2006-10-11T13:54:24Z</dc:date>
    </item>
    <item>
      <title>Re: Quadrature encoder programming using DDK or DAQmx base</title>
      <link>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/498644#M824</link>
      <description>&lt;SPAN class="noindex"&gt;Can anybody help me with programming M-series DAQ board for quadrature encoder ?&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="noindex"&gt;I have PCI-6259 DAQ device and I'm writing programm under QNX6 operating system.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="noindex"&gt;The only more or less suitable example I found in nimseries DDK, is &lt;BR /&gt;"Count pulses from an external source using an external signal to control&lt;BR /&gt;the count direction" (nimseries\Examples\gpctex2.cpp).&lt;BR /&gt;But this example is not working correctly with Quadrature Encoders&lt;BR /&gt;(encoders with&amp;nbsp; two shifted on 90 degrees phases A&amp;amp;B).&lt;BR /&gt;i.e. in case of using this example code I get some extra count while encoder is on vibrant motor&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="noindex"&gt;What initalization procedure I need to work with Quadrature Encoders?&lt;BR /&gt;(something like "simpleEventCountConfigGPCT0 (...)" function in &lt;/SPAN&gt;&lt;SPAN class="noindex"&gt;gpctex2.cpp)&lt;/SPAN&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 28 Mar 2007 11:28:29 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/Driver-Development-Kit-DDK/Quadrature-encoder-programming-using-DDK-or-DAQmx-base/m-p/498644#M824</guid>
      <dc:creator>alexey_3269</dc:creator>
      <dc:date>2007-03-28T11:28:29Z</dc:date>
    </item>
  </channel>
</rss>

